About Bookmarks Contact Library Map Photos Search
August
18
2006
12:32 pm
Tags:
Post Meta :

I have created a Library 2.0 mashup (for TALIS competition) using data from http://visityourlibrary.net, and thealbertalibrary.ab.ca using the Google Maps API. I call this mashup LibraryMapApp. It is a javascript library that makes it easier to search for and display libraries using the google maps API. I have also created a working demostration of LibraryMapApp using data from the websites mentioned above.
The application can be viewed at http://paranoidagnostic.net/map/

This application will allow you to search for libraries of all sorts in Alberta, Canada. The data was geocoded using Google Maps. Unfortunately the data I got form visityourlibrary.net was not that accurate. I have subsequently created a geocoding helper which can be seen at http://paranoidagnostic.net/map/geocode.html. The Geocoder Helper, allows you to search for an address, enter in extra information about the location (name, homepage etc.), and finally you can zoom and get fine positioning of the latitude and longitude.

The data from the geocoder helper has not yet made it into my “Find a Library in Alberta” demonstration. However, there are a team of intreprid librarians working on that right now (thanks Anne!).

The source code for all of this is available under the GPL 2.0 license and can be downloaded from http://paranoidagnostic.net/map/libmapapp.zip

Forgive, the scanty details right now (tired, need sleep). The basic usage of LibraryMapApp is like this:

  1. Create an HTML file with three divs: one for a map, one for map details, one for a search box
  2. In the head of the script include your Google Map API script with your API key
  3. In the head of the script include ablibapp.js
  4. Write a function called “load()” that will create a new LibraryMapApp and load data for the libraries you wish to search and display. In my case I just put the all in a javascript file.
  5. Library data is just a JSON object with the following properities (at a minimum)
  1. id
  2. name
  3. address
  4. phone
  5. homepage
  6. lat (latitude… the included geocoder helper can help get this)
  7. lng (longitude)

This first version needs much improvement. I have data for each library that identifies its type (public, academic, special, government, health etc.) and its “zone” (what region of the province it is from). The next version of LibraryMapApp will allow libraries to be grouped together, each with a different icon color and the ability to search within groups or to search all groups but have them displayed differently (so public libraries might show up with green markers, and academic with blue).

The API also needs to be reworked from the ground up to make it more re-usable. This is a good first step, but it counts more as an exercise than real API.

September
18
2005
9:28 am
Tags:
Post Meta :

It is 9:07 AM MST and Wikipedia is down! There are two interesting things about this outage. First, I’m amazed at how important wikipedia has become to my day-to-day activities. Second, all sysadmins can learn a lesson in good service from Wikipedia; they have a robust network design that allows users to understand the status of the system even during outages.

I used to use google all the time. But google is time-consuming and sometimes yields no good answer. In the past long while I have used wikipedia more and more as my “first search.” Wikipedia typically gives me a good general answer. I go to google second in the hope of finding specific answers. Google isn’t good enough on its own because sometimes I want an answer not the opportunity to search for and evaluate answers. Wikipedia is like a librarian. Google is like asking an oracle. Librarians are professional information agents. Oracles are… freaky but cool. You can have a certain level of trust in the former but must constantly question the latter. There is a place for both but my current thinking is wikipedia first and google second.

Now, I have already mentioned that wikipedia is down at the moment. How do it know that? Well, when I go to wikipedia’s site, it tells me so. That in itself is quite unusual. Most sites, when they are down, result in a message of “could not connect to server” from your browser. In this case, it is a wikipedia system telling me that wikipedia is down? How can the system be down and yet be “up enough” to tell me how down it is?

Wikipedia has servers all over the world. When you connect to wikipedia, you are not talking directly to a webserver but to a proxy: a server that talks to wikipedia’s servers on your behalf. It works like this. You ask for a page on “wireless networks.” Your browser connects to the wikipedia proxy and asks for the page. The proxy picks one of many wikipedia servers and requests the page on “wireless networks.” If everything goes well, the wikipedia server gives the page to the proxy and the proxy gives the page to your browser.

If things go wrong, the proxy can tell you about it. That is the case today. Something has gone wrong. Since the proxy is still working, it can tell me why it cannot give me wikipedia pages. Not only that it tells me where I can check the status of the wikipedia system and where I can chat with others about the problem.

There is a lesson here for all sysadmins. It is similar to the “defense in depth” strategy in security. Reliability in layers is the general lesson. In this case there is not simply one layer (the web server). There are several. There is the proxy, the web server(s), offsite status pages, and out-of-band communication channels for communicating problems promptly.

September
14
2005
8:56 pm
Tags:
Post Meta :

Google has launched a blogging search engine: http://blogsearch.google.com/. If you go there and search for “z39.50“, the Paranoid Agnostic comes up as #1!