planet code4libUniversity of Wisconsin Solr Catalog Dev: Forward Usability Report – Beta ReleaseOur usability report for the Forward beta release is now available: Forward Usability Report – Beta Release. Using our first report as a template, this new report includes participant demographics, the average time and score for each task, summaries of librarian notes, selected findings from user testing, and user responses to open ended questions from the post-task survey. One goal for this round of testing was to avoid testing student assistants and to recruit participants outside of the library. We offered our testing partners $15 iTunes gift cards as recruitment incentives and distributed fliers to UW-Madison residence halls to achieve this goal. Our efforts were successful! 90% of participants in this round of testing reported that they’ve never worked in a library. This is quite a leap from the first round of testing where 64% of participants reported that they had worked or currently worked in a library. As usual, the selected findings section includes ideas that will require additional debate and testing before they will be considered for implementation. Our nimble developers have already prioritized and calculated time requirements for most of the findings and recommendations so stay tuned for further updates! Special thanks to Brad Gee, Steve Frye, Maccabee Levine, Albert Quattrucci, Mark Rozmarynowski, and Tom Smisek for their assistance with this round of testing! Salo, Dorothea: Empty gestures?I wanted to blog about EBSCO’s latest jerk move, but I utterly despair of explaining comprehensibly why it matters to anyone but librarians. Suffice to say that in a market where journal Big Deals are in serious budget trouble, EBSCO is doing its level best to position its resources as uncancellable. Time will tell whether [...]
JISC Information Environment Team: OA news from NottinghamThe latest report from the JISC-funded Research Communication Strategy project at the University of Nottingham claims that the intellectual battle for Open Access has been won and asks why, then, the widespread adoption of OA practice seems so distant? Too often, researchers seem to associate OA with concerns about copyright, peer review and questions about its potential effect on their academic reputation. There are answers to these concerns, of course, but that may be to miss an important point. Another approach, the report argues, is to offer researchers added value services on top of the benefits of OA. These might be the social networking of applications such as Mendeley, or more efficient management of information for the REF, or the subject-based PLoS ONE ‘hubs’. However, the report goes on to question whether commercial offerings such as systems like Mendeley or OA publishers like PLoS can impose unforeseen restrictions on academic research. Any infrastructure can impose such restrictions, of course, a phenomenon known as ‘path dependency’, and I recently argued that this is one of the barriers to the emergence of a global repositories network. The Nottingham report concludes that “we have to recognise an overall strategic view of research as a process between funders, researchers and institutions, with other actors (publishers, Web2.0 systems, research support offices, libraries, repositories, search services) as service providers rather than process drivers”. This would be a challenge to all concerned, in terms of professional identities, business models and technologies. Open access is a long, slow change. Bigwood, David: TLA AwardsThe deadline is fast approaching for the Texas Association Library awards. Even if you or the person you nominate doesn't win it is still good to recognise merit. Supervisors, your employees will appreciate that you think highly enough of their work to nominate them. Your library, project or deserving individual will at least be exposed to the Awards Committee and maybe all of TLA. This is an excellent tool for marketing as well as rewarding.
Evergreen ILS: 1.6.1.6, 2.0 RC2, and developer team meeting minutesThe developer team has been holding weekly meetings, primarily to help coordinate our 2.0 release efforts, for the past few months. The minutes from yesterday’s developer team meeting are available from the list of developer meetings. Our next meeting is January 11, 2011. Last night, Mike Rylander created two new releases of note:
The downloads page has been updated with the links to the source tarballs, and the staff clients are on their way. Also, two public servers running 2.0 RC1 are available to help people try out and document Evergreen 2.0 – thanks to Brian Feifarek and Jason Etheridge for setting those up! Schmidt, Aaron: Introducing: Walking Paper ShopVisit the Walking Paper Shop to check out the new Creating the Future for Libraries notebooks, pencils, and, for the first time, a calendar! As usual, free shipping. Orders of 30 or more get a price break. Contact me for arrangements.
Measures about 4.5″ x 5″
32 blank pages.
32 blank pages.
For safety reasons these ship unsharpened. Plus, sharpening pencils is fun so I’ll save it for you. Bigwood, David: Taxonomy ResourcesHeather Hedden shares her Taxonomist Tipples in the latest Free Pint.
Matienzo, Mark: What’s Your Delicious Story?Update: I've added a question on Quora about this too - feel free to contribute your story there. In my last post, I talked a bit about the notion of Delicious being a platform with a myriad of uses, and I've been actively wondering about this since then. Upon further reflection, I've realized that the best way to figure this out is actually to engage and ask people directly. Accordingly, I'm asking for your help. Of course it's upsetting that Delicious is being sunsetted, but other than individual users and Archive Team, people seem to be doing very little about it. Delicious is clearly more than the bookmarks. I want to gather information about how people like you and me actually used it beyond it's obvious functionality. Did you use it to manage resources for your dissertation? Did you use it to communicate with family about a serious event or illness? How did you go beyond the boundaries of it being just "about bookmarks"? How did it make you think about how you organize your information environment? I want personal stories that talk about what you may lose, however intangible it might seem, when Delicious eventually shuts down. Beyond this, I want to use this information positively. I want to help share your stories. I'm hoping to do this in the form of more blog posts, or potentially even a journal article or conference presentation. Of course, I need your permission to share your story, but I'm willing even to hear how you've used it even if you would prefer it not to be discussed, cited, or quoted publicly. To share your story, you have a number of options. You may, of course, leave a comment on this post. If you have your own blog or website, feel free to make a post there and then link it in a comment and send a trackback to my blog. Make a YouTube video (which I have, see below!) or a Flickr set. Tweet it. Use the tag #mydeliciousstory on whatever social media or Web 2.0 platform you prefer. Or... you can do it the old fashioned way and send me a personal email to delicious at thesecretmirror dot com. If possible, please let me know if you're willing to answer further questions, and if you're using email please specify the equivalent "speaking terms" under which you're sending your message. To get the ball rolling, I've made a YouTube video describing how I used Delicious while at NYPL. It's kind of lame, but you have to get started somewhere. Rochkind, Jonathan: ajax dialog… but not if not yet authenticatedThe problem
In my Blacklight implementation, I am implementing the ILS request function. Doing this by basically a glorified screen-scrape of the OPAC behind the scenes. (It’s a BIT better than an html screen-scrape, but the details are irrelevant to this post). I wanted to do that in an in-page javascripty dialog box, not take the user to another page. This will improve our somewhat terrible workflow for making requests — some things I can’t change because they aren’t really supported by the underlying ILS/OPAC, like you don’t know if an item is requestable until you click ‘request’ and find out. So I figured, okay, at least make this as painless as possible by doing it in a nice light in-window dialog box without a page load. So far so good, but the problem is authentication. You can only make a request if you are authenticated. In the non-JS original implementation (everything I do starts with an implementation that works reasonably without JS, with JS added unobtrusively), no problem, if you try to make a request and are not logged in, it’ll redirect you to the login page, then redirect you back when done. But I can’t really do THAT part in an in-window popup dialog. In part because it’s probably a bad idea no matter what, but also becuase our SSO login is incompatible with that, it’s got to be in a page of it’s own. The designI thought and thought on how to deal with this, before coming up with a pretty good solution, such that if the user IS logged in they’ll get an in-window javascripty dialog. If they are NOT logged in, they’ll be redirected to the login page, and then redirected back to the page they came from–and an in-window javascripty dialog will then immediately be launched, so actual request interface is consistent either way. The tricky part is that last part. When you return the user after login, how does the page know to put up the request dialog? Answer: The trusty technique I’ve been seeing more these days, of sticking something in the page #anchor as a message to javascript. The nifty Blacklight auth code written by Chris Beer already allows you to tell the login action the ‘referer’ the user should sent back to after login. So I just make sure to give it a ‘referer’ URL that includes an #anchor that will be a message to javascript to pop up a request dialog. What string should be used as a message? How about just putting the exact path URL that will be used for making the request? It’s available to the javascript sending the user off to the login action; and then it’ll be there for the receiving javascript to know exactly what to do. All works out niftily. So basically:
The actual code is quite a bit shorter than that explanation! Using the ajaxyDialog JQuery UI widget I wrote; writing that was motivated by this use case, as well as a general abstracting of the times I’ve done similar (although slightly less complex) things with javascripty in-window dialogs added unobtrusively. The rails app has a before_filter that just returns a 403 if it’s an xhr javascripty request and there’s no logged in user, basically like this: def check_auth if request.xhr? && ! current_user render :status => 403, :text => "Can't request over xhr when not logged in." end endThe javascript uses the ajaxyDialog widget, with the error callback to catch the 403, and redirect to our login action, with referer set to the current page, but with an #anchor added in with the URL of the request action. Amazingly easy with ajaxyDialog: $("a.request").ajaxyDialog({ width:600, error: function(event, ui) { if (ui && ui.xhr && ui.xhr.status == "403") { //User has to login. Redirect them to app login panel, manually //setting the return URL to be ourserlves, plus a special //anchor we'll use to notice we're supposed to open the request //dialog when we return. document.location.href = '/login?referer=' + escape( document.location.href.split("#")[0] ) + escape('#' + $(this).attr("href")); return false; } });And then we just have some code in document.ready that looks at the current anchor, regex matches it to see if it looks like a request url indicating we should pop open a request dialog, and if so open it up. My request urls look like “/catalog/[id]/item/[id]/request”, so that’s what the regex looks for. To open it up, we just add a hidden hyperlink to the DOM with the right href, and apply the ajaxyWindow to it. (Okay, there’s one part I’m hiding from you for clarity — I actually used a trick to attach the ajaxyDialog widget in a ‘live’ way to any a.request as it gets added to the DOM, is why I can just add an <a class=’request’> and know it’ll be ajaxyDialog-ified. Details on that in the readme for ajaxyDialog). /* Okay, this is tricky, if we had auth on a request, we redirected to auth and then back, saving the intent to make a request in the anchor. If we discover it in the anchor, we want to make a request again. An actual link to make the request may or may not currently be on the page (may be in a collapsed not yet loaded component), so we'll just add a little anchor to the page to do it. */ if ( /#\/catalog\/.*\/item\/.*\/request/.test(document.location.hash)) { $("<a class='request' href='" + document.location.hash.split("#")[1] + "' />").hide(). appendTo("body").trigger("click"); }Ta-da! After I get a few UI rough edges taken care of, I’ll make a screencast so you can see it in action without having login credentials for my demo. Filed under: General Lindner, Mark: Armstrong. A short history of myth
A Short History of Myth (Myths, The)
Karen Armstrong; Canongate U.S. 2006
WorldCat•LibraryThing•Google Books•BookFinder
Sara also read this book recently. I think that helped me as we had already discussed it a fair bit while she was reading it, and I had the benefit of her blog post about it. Go read Sara’s review, which is excellent; I’ll wait. See. Now perhaps you don’t even need to read mine. Nonetheless, I shall press on. The help and benefit I am referring to is in regard to some of the assumptions the author makes. Much of this bugged Sara and is what we discussed. My anthropological and sociological background, and my background in mythology (as a subject), is both broader and deeper than hers to some extent. Her background in assorted specific myths is far better than mine, just like mine is in other specific myths. But this book is about mythology as a subject as a whole, and while it discusses assorted myths it is not about any of them. Thanks to previous discussions with my beautiful and brilliant wife, along with reading her excellent review, I was able to approach this short book with its sometimes collapsed assumptions and high level synopses in a highly positive state of mind. All that said, I really enjoyed this book! I hope to reread it someday in the not too distant future and to map out some of Armstrong’s analysis in outline form as I find it valuable and would like to have it better to mind for whatever uses I might deem appropriate in the future. Contents
As an example of an assumption one must accept or move past, take the opening sentence, “Human beings have always been mythmakers” (1). If one browses through the Wikipedia articles on Homo and on the Oldowan period you’ll see that “human beings” applies to our ancestors going back to at least 2.4 million years ago. “Most models rely on social and communication networks to hold the band together. These social networks range from requiring no more communication than modern primates, to requiring more sophisticated sharing and teaching. At present, no evidence has been found that sharply divides these theories.” [From Oldovan] Exactly! We have no idea, nor will we ever have conclusive evidence, as to when humans acquired a form of language that not only makes possible, but uses, narrative structure. Both are required for mythmaking. Anyway, not really a critical issue to the story Armstrong tells but an example of some of the rhetoric that might get in your way. One more short example so that you can make a better judgement as to whether this book is for you. The opening sentence of the second chapter begins, “The period in which human beings completed their biological evolution …” (12, emphasis mine). Excuse me! Again, not critical to the argument at all but perhaps difficult for the discriminating reader to ignore. Again, let me state that I think this is a good book, and that the argument that the author makes is an excellent one. Each age changed mythos and humankind’s relationship to it until it was, at least in the developed West, fully eradicated and we no longer had a relationship to it. “Western modernity was the child of logos” (119). … The new hero of Western society was henceforth the scientist or the inventor, who was venturing into uncharted realms for the sake of his society. He would often have to overthrow old sanctities—just as the Axial sages had done. But the heroes of Western modernity would be technological or scientific geniuses of logos, not the spiritual geniuses inspired by mythos. This meant that intuitive, mythical modes of thought would be neglected in favor of the more pragmatic, logical spirit of scientific rationality. Because many Western people did not use myth, many would lose all sense of what it was (121-22). … But logos had never been able to provide human beings with the sense of significance that they seemed to require. It had been myth that had given structure and meaning to life, but as modernization progressed and logos achieved such spectacular results, mythology was increasingly discredited. As early as the sixteenth century, we see more evidence of a numbing despair, a creeping mental paralysis, and a sense of impotence and rage as the old mythical way of thought crumbled and nothing new appeared to take its place. We are seeing a similar anomie today in developing countries that are still in the early stages of modernization” (122). It is with this comment, “… as the old mythical way of thought crumbled and nothing new appeared to take its place …” that I want to point to W.H. McNeill’s Mythistory and Other Essays that I read last year. While McNeill’s concept of “myth” is broader than Armstrong’s (each appropriate to their own contexts) he directly addresses this issue of the killing of all myth while offering nothing to take its place. In the essay “The Care and Repair of Myth” he argues that public myth provides the basis for collective action: “A people without a full quiver of relevant agreed-upon statements, accepted in advance through education or less formalized acculturation, soon finds itself in deep trouble, for, in the absence of believable myths, coherent public action becomes very difficult to improvise or sustain” (23). In this, and the title essay, he scolds his fellow professional historians for their destruction of myth and attempts to show them why responsible mythmaking to replace those they have destroyed is an ethical and professional responsibility. His main concern in the book is a rehabilitated view of myth, and while broader than Armstrong’s it is one that melds well with hers. Whether one accepts Armstrong’s or McNeill’s concept of myth and the functions they respectively assign to myth, it is clear that humankind *needs* myth. Sara, in her review [linked above] gives a good inkling of how Armstrong ends the book. I agree with much of her analysis in the concluding sections but I fear this is at best a temporary amelioration of the problem and not an actual solution. Sara and I were discussing this this morning and as she wisely pointed out this conclusion may have been primarily slanted toward supporting the series which this title is the lead in to, the Canongate Myth Series, which is “A bold re-telling of legendary tales — The Myths series gathers the world’s finest contemporary writers for a modern look at our most enduring myths.” Nonetheless, I think there is much of value in this little book. It is easy reading, and it is a great introduction to the riches-to-rags story, as Sara called it, that is the history of myth in human thought and action. Rochkind, Jonathan: ajaxyDialog: a jquery ui widget to make links or forms open destination in a jquery ui dialogMy first jQuery UI widget. https://github.com/jrochkind/jquery.uiExt.ajaxyDialog The JQuery UI dialog is awesome. What I ended up doing most with it was taking a hyperlink or form on the page, and unobtrusive-style making it so a click on that hyperlink (or submit on that form) would not cause a page reload, but would instead load the destination in a jQuery UI Dialog. This isn’t ‘ajax’ exactly, it’s more ajah (HTML rather than XML), so let’s call it ajaxy. This isn’t too hard to do, but after doing it several times, and realizing the edge and exceptional cases to be taken care of, I decided to abstract the pattern into a widget of its own. One tricky thing the widget does is, after you’ve loaded a dialog, all (or some) hyperlinks or forms in the loaded content can easily be similarly ajaxyDialog-ified. ajaxyDialog widget will:
note modal restriction: Right now, ajaxyDialog insists on creating only modal dialogs. It will re-use the same div container and dialog widget for all ajaxyDialogs on a page. This met my actual use cases (I think the times when a modeless dialog in a web page are appropriate UI are pretty rare), and it is somewhat more complicated to make things work efficiently with modeless dialogs. However, the widget could be expanded to handle modeless at a later date. Filed under: General Lindner, Mark: Jewel. a night without armor, poems
A Night Without Armor : Poems
Jewel; Harper Paperbacks 1999
WorldCat•LibraryThing•Google Books•BookFinder
This was a reread. I am not sure when I first read it but I discovered that I bought it 10 years ago this month. I do know that it has been several years. It is also possible that this was the first full book of poetry that I ever read; certainly was one of the earliest. Go ahead. Laugh (or sneer) if you must. But it is better to begin with some poetry than never beginning at all. I liked Jewel’s music quite a bit back then. I still enjoy her early CDs even if I don’t listen to them very frequently. Her lyrics were often quite profound and I cited her in at least one philosophy paper [Who Will Save Your Soul in relation to Socrates on the life of the philosopher as practicing for death] . Despite having no idea what to expect from poetry back then, I do remember enjoying it. I also enjoyed it this time. Many of her themes are timeless, just as they are relevant to today’s society. In her poetry she displays a keen appreciation of nature, a prescient awareness of the difference between an authentic life and celebrity, concern with deep issues faced by children (divorce, siblings, …) and especially by girls and young women (self-image, awakening sexuality, …), along with a healthy and sensual insight into love, sex and desire. The book was first published in 1998, the same year her 2nd album was released; she was all of 25 years old. In the preface we learn that she has been writing poetry from an early age and that “poetry drives [her] songwriting today” (xv). She also writes that: “For me poetry allowed word to be given to the things that otherwise had no voice, and I discovered the strength and soul of poetry—through it we come to know; we are led to feel, sense, and to expand our understanding beyond words” (xv). “… not all poetry lends itself to music—some thoughts need to be sung only against the silence. There are softer and less tangible parts of ourselves that are so essential to openheartedness, to peace, to unfolding the vision and the spiritual realm of our lives, to exposing our souls. Poetry is a passage into those parts of our being where we discover and decide who and what we will be. It makes us intimate with ourselves and others and with the human experience” (xvi). I’d say that her poetry represents those views quite well. Do yourself a favor and don’t write if off out of hand. Lindner, Mark: Constructing my Books Read in 2010 postConstructing my previous post, Books Read in 2010, was far too difficult. Still. I keep a simple running list of books I read in VoodooPad, a personal wiki, on my laptop. I record them by date started, author’s last name and title. When I finish I add that date. At some point I look them up in a library catalog—generally WorldCat nowadays—and bring them into Zotero and add them to a folder titled Books Read in 20xx. In the past I have exported that folder from Zotero as a bibliography in HTML and pasted it into WordPress. With some minor editing I got a decent bibliography including COinS data for every title. But somewhere along the line over the last year or two things have gone wonky and some interaction between the COinS-formatted HTML from Zotero and WordPress have caused much of that data to be stripped out. Last year was a real pain and seeing as this year my list was 20-some-odd percent longer I could not face all of that work simply to have much of it disappear no matter how much wrangling and struggling I did. My next thought was that I would simply use the OpenBook plugin by John Miedema that I am using for book reviews [example post]. I was not looking forward to plugging one hundred or so ISBNs into its input form one at a time but it was in theory doable. [This was due more to how much work I had already done verifying ISBNs, "correcting" those in Zotero and pasting a copy of the ISBN into the text file created with the bibliography exported from Zotero than it was the effort to use the plugin.] So I ran a little test trying a few “random” ISBNs from the list to see what the Open Library records looked like and/or if they had records for some of my less popular titles. The results were horrible! I estimated I would have to add records for at least 20 titles and fix records on 2 to 3 times that many. I began slowly poking away at them over the course of a couple days—days when I should have been doing other things of course—and although my estimates were highly accurate I got it done. At some point in my cataloging I noticed that Open Library had recently added a lists feature. I thought perhaps I’ll just make a list there and point my blog readers to it; although that did strike me as rather dismal. Of course, I noticed the list feature after I had added or re-cataloged somewhere around 30 books; which meant I had to look them all up again individually to add them to my new list. ::sigh:: Then I discovered that you can export a list in either JSON, HTML or BibTex. Sadly I know little to nothing about either JSON or BibTex so if they would have made my life easier—without a steep learning curve first—then I did myself a disfavor by using HTML. Well, the HTML needed a lot of massaging to look decent once imported into WordPress. As the native page exported by Open Library it looks OK, but WordPress treats those h3s, spans and divs much differently. [Technically not an export but a simplified page generated from your main list that you can save and/or copy from the source.] I believe the titles are in the list in the order I entered them, or something close to that anyway. Sadly, that order bears no relation to anything useful. Thus, I had to cut and paste the whole list into the order I wanted. Then I started playing with layout to see what would look decent enough in WordPress. Once I figured it out I started changing the divs and h3s to spans and removing all the extraneous white space. By hand. TextEdit was of no use in the white space changing game. As I was getting really tired of all the mousing, etc. involved I remembered that Dreamweaver might do a much better job with white space in find and replace. With hope I fired up the long disused copy of DW and opened my file. I highlighted a group of white space and a tag to change, hit ?-C to copy it, hit ?-F to open Find and Replace, saw that the white space was intact, put the cursor in the replace box, hit ?-V to paste the same in, deleted the white space I wanted removed, and hit OK. It did what I wanted so I had it fix the rest of those and went on to the next bit needing fixed. Thankfully Open Library had been consistent in how and where it added the white space. After that it was rather simple to verify my data and do the odd minor correction here and there. As for the ebooks, I pulled those out of my original list exported from Zotero and ginned them up in a text file with links to each book in feedbooks. Yes, Open Library has ebooks but from what I could find not a single one from feedbooks. I could have added them but I was in no mood to add another 18 books, and cataloging free ebooks that give absolutely no indication of which text they are was not something I intended to undertake. Ebooks are great in many contexts! Ebook metadata is in a despicable state! [That is a rant for another, and previous, occasion.] Once I had the ebooks fully ginned up in the text file I cut and paste them into the blog post where they went in the list. Then I wrote the text that went along with the list and waited for the end of the year a few days away. On the 31st I made a few minor corrections to the list since I finished one of the books I had given up on and added another that I read on the 30th and 31st. I also fixed the numbers/commentary regarding the other two books and added a bit more commentary. Sadly, the only COinS data available is for the post itself and I doubt many of you are truly interested in adding my post to Zotero, Mendeley, or whatever. If I had used OpenBook I could have had COinS. But I got distracted by needing to fix so many records at Open Library and then by finding the Open Library list feature. After spending so much time futzing and seeing what it would do for me I had given up on Open Library. Honestly, I had no desire to copy and paste 100+ ISBNs into it one by one either. Still, I wonder how well it would have handled the job? [John, if you are still reading, any idea how the plugin might handle 100+ titles using template 5, embedded? Certainly wouldn't want to be making all those calls to OL live.] None of this is meant to take away from the OpenBook plugin for which I greatly thank John Miedema! It makes me sad that it is 2011 and this task is still so darn difficult. Much progress has been made in the sharing and linking to book data on the web but it is still so crude. Much of the assorted quasi-FRBRization going on in places like Open Library, WorldCat, goodreads, Library Thing, etc. actually seem to make it worse. If one only cares about pointing at a title/work then things are somewhat better. But I cared about editions long before I became a cataloger. In most cases if someone takes a recommendation from me I could care less which edition of the work they read or listen to in the end. But in some cases it does matter. And for my own purposes I want to know which manifestation(s) of the work I engaged with. Some day the future may arrive and making a list like this in which the titles will bring their own (accurate) metadata along with them will be easy. That day simply has to arrive. Soon. Then again, I’m still waiting on the flying car I was promised almost 50 years ago. Rosenthal, David: Apology to Safari UsersI'm a Firefox user, so I have only just noticed that in Safari the "front page" of this blog does not render correctly. The first part of the material "below the fold" correctly does not appear, but mysteriously as soon as I use "blockquote", "ol" or "ul" tags, it reappears. So in Safari most of the post appears on the "front page" but with a chunk in the middle elided. Fortunately, clicking on the headline gets you a properly rendered version. Sorry about this. I'm looking in to the problem.
Salo, Dorothea: How to make a digital preservationist cryPut your thesis on a 5 1/4″ floppy disk. Put the floppy in a floppy plastic pocket. Masking-tape the plastic pocket onto the inside of a hanging-file folder (containing the paper copy). Leave the folder with the floppy pocket with the floppy disk in a file cabinet. Do all this in 1985. Do not look [...]
Tennant, Roy: How Google is Creating a Web of SpamRecently I read a post called “Why We Desperately Need a New (and Better) Google” over on TechCrunch. In the post, Vivek Wadhwa describes how he tried to have his UC Berkeley students use Google to research selected company founders and how they failed miserably. “It turns out,” Wadha writes, “that you can’t easily do such searches in Google any more. Google has become a jungle: a tropical paradise for spammers and marketers. Almost every search takes you to websites that want you to click on links that make them money, or to sponsored sites that make Google money.” He then describes how they ended up using an alternative search engine called Blekko to perform the assignment. But one of his main points was how the way Google has set up advertising on the Web has created a market for spam web sites: The problem is that content on the internet is growing exponentially and the vast majority of this content is spam. This is created by unscrupulous companies that know how to manipulate Google’s page-ranking systems to get their websites listed at the top of your search results. When you visit these sites, they take you to the websites of other companies that want to sell you their goods. (The spammers get paid for every click.) I’ve been aware of this firsthand. There are people getting rich out there by creating spam web sites that exist only to send folks off to another web site and therefore have no real utility. The essential problem is that Google itself has absolutely no motivation to change this, as they get a cut of every click and for them it would be like killing the Golden Goose to put a stop to this nonsense. So what we’re left with is, as Wadhwa points out, the need for a new and better Google. It may or not be Blekko, but it will likely be something like Blekko that enables searching of selected areas of the web — not every single SEO-enhanced spam site. I, for one, will welcome my new search overlord. threepress: Three for ThreepressWe’re very excited to have a new team member for Ibis Reader. Ned Batchelder will be working with us in the weeks ahead to update and improve Ibis, and to add some features that have been requested by current and prospective software licensees. First up is internationalization. One of the key advantages of an HTML5 webapp versus a native app is that they can be installed in any country on a supported device, even in countries that don’t yet have an Apple App Store. But first the application needs to be localized for the regional language. Ibis uses the Django application framework and Django comes with native internationalization support. We also used this when internationalizing Bookworm with the help of some great volunteers. Before translators can get to work, the application needs to be readied: each bit of text in the site needs to be marked for translation. This step can be time-consuming and difficult to test. Automating translation testingNed has posted some code on his own blog that he used to help validate the internationalization process. Some good comments point to more advanced tools that take a similar approach. Recommended reading for anyone doing internationalization work. The tool fakes a translation by randomly capitalizing all of the letters in the site text. If done properly, you should get a result like this:
The book title Middlemarch and the chapter name look normal; those should not be translated. The remaining words are directions to the user and will need to be in a regional language. If any of the site text, like “Next” or “Previous”, showed up with normal capitalization, we would know that we missed a step. We won’t be rolling out translated versions to ibisreader.com in the near future, but we will be posting some performance enhancements and feature updates very soon. O'Steen, Ben: benosteenThe fix can be easily made if you build from source (building for debian). The key line that needs to be altered is at line 1131 of trunk/opencv/modules/python/api [svn browse ink]: ... QueryHistValue_3D double CvHistogram hist int idx0 int idx1 int idx2 QueryHistValue_nD double CvHistogram hist ints idx # Matching MatchTemplate CvArr image CvArr templ CvArr result int method MatchShapes <------------------ this line CvSeq object1 CvSeq object2 int method double parameter 0 # Contour Processing Functions ApproxChains CvSeq* CvSeq src_seq CvMemStorage storage int method CV_CHAIN_APPROX_SIMPLE double parameter 0 ...Change the line to the following to make the python binding generator know that the method will return a double: MatchShapes double Then do the usual make && sudo make install. If running on debian-based systems, remember to copy across the python lib afterwards!
|
SearchBrowse archives
NavigationActive forum topicsWho's onlineThere are currently 0 users and 10 guests online.
Who's new
User login |
Recent comments
3 years 12 weeks ago
3 years 13 weeks ago
3 years 13 weeks ago
3 years 23 weeks ago
4 years 13 weeks ago
5 years 11 weeks ago
5 years 12 weeks ago
5 years 13 weeks ago
5 years 13 weeks ago
5 years 49 weeks ago