Swimming the Web

I am a great fan of Judy Blume.   So much so that I have started reading her books (somewhat prematurely) to my four-year-old son.   The most recent entry is Otherwise Known as Sheila the Great.  It was timely, since my four-year-old is now learning to swim.

If you don’t know the book, then suffice it to say that a major part of storyline involves a young girl who is dragged kicking, screaming and punching to swimming lessons.   More importantly, it highlights how water can instill extreme and irrational fear in a person; and extreme pride when this fear is overcome.

I get asked about Internet Safety alot too.   One of the things I cover, fairly flippantly is that in order to protect their children from the risks on the Internet, parents have to learn about technology.   Now, I realize that swimming may be the most important analogy.    If you want to protect your children from drowning, you ought to 1) know how to swim yourself  2) teach your children to swim well and/or 3) force them to take swimming lessons.  Why wouldn’t we see the same being done for Internet Safety?

Of course, there are fairly specific differences here.   Beaches have life guards to protect young people from drowning, and drowning is a much, much more likely cause of harm or death in young people than anything having to do with Internet safety.   Libraries cannot expect governments to put the kinds of resources into Internet safety as they do for swimming lessons.

On the other hand, school libraries, public libraries and I daresay, even academic libraries have a role here.   The trick is that we may or may not be seen as the source for training in online safety.   And a series of moral lessons on the hazards of online surfing is not likely to attract a lot of attention.

Perhaps we ought to say, “if you have kids, and surfing the web isn’t your thing, you ought to at least know how to swim the web.”   After that, we should offer technology training focussed on the ability of parents to understand what the web does, how people connect on the web, and what, if anything, they can do to prevent anything from cyber-bullying, to media-stereotyping, to having the RIAA go after them.

Here are some potential modules for the training:

  • What’s free and what’s not on the web (copyright and creative commons)
  • Surfing with your clothes on (privacy and attention-getting on the web)
  • Going from digital to real life (how to meet safely meet an online friend in the real world)
  • Walking the Troll Bridge (discussing controversial issues online)
  • Internet Ninjistu (maintaining anonymity on the web)

But, most importantly, libraries need strategies to encourage parents to swim on the web.   They need to take a little water in their lungs to keep their kids safe.   Yes, on the web you may encounter ads that will promise to enhance various body parts.  You may even find porn or violence (although it’s a bit harder to find that stuff if you are not looking for it).   The point is, as adults, parents ought to be able to cope with these issues — particularly if their kids are using it.

Kids Help Phone Cyberbullying Report

There have been lots of exciting things happening in my life these days, which means I have backlog of the things I would most like to write about.    Expect January to be busier with my blog than December was.

But, to tide you over until then, I think these Kids Help Phone reports are invaluable to any public librarian.   In particular, I was interested in the one on cyberbullying.   I don’t know about other librarians out there, but I always find it hard to find the balance the messages out there about Internet Safety.   Some want to block/filter everything, others want to abdicate all responsibility to the parents.  This report was an interesting reality check on what the real risks are and how teens/young people feel about them.   I think it has alot of insight on how parents, teachers and librarians can ensure that the Internet remain a positive short and long-term experience for kids.

I also felt that their discussion group is excellent for gathering perspective on what concerns teens and how they experience the world around them (also what they think of adults).

Under the Hood of Web 2.0 : the top ten programming concepts for librarians to understand

So, you “get” the Library 2.0 thing, and you’ve been through the 23 things. You are up-to-date on web services like blogs wikis and the like. You even know a bit of html. But you feel there is something missing in your understanding of Web 2.0. You do not want to get into programming your own web service, but you are the sort who liked those field trips you took at the local print shop. You want to see what’s under the hood of a Web 2.0 service so you can understand what all this stuff is really about. You saw The Machine is Us/ing Us and it got you part of the way there, but it seemed a little too dumbed-down for you. You want to *really* look under the hood of web services.

That said, your mind doesn’t work like a programmer. You are not going to be coding in PHP any time soon. You don’t like manipulating variables and handling loops and all those other weird systems-oriented stuff that the big O’Reilly books tell you about. And when you are honest with yourself, you understand that you will probably always choose television over web development.

The question you have in your mind is “Will I understand what is happening with emerging trends better if I understand more about programming.” My answer to this question is “yes.” But you do not have to learn how to program to understand about programming. Most programming concepts are fairly benign — the devil is always in the details. The good news is that Google and Wikipedia are chock full of good information about most technology. The bad news is that the language techies use to describe what they do is shaded in three-letter-acronyms, technical jargon and obscure references to text-based adventure games. It’s as if they do not want you to know what they are talking about.

Well, I decided to come up with 10 programming concepts that could help you get a better understanding of what brings Web 2.0 about. That way, you don’t have to cover a lot of ground that may not matter to you. I wouldn’t exactly call this mandatory reading, but it is meaningful, trust me. On the other hand, you’ll have to accept some jargon at the same time — so this is not exactly beginner stuff. Either way, you’ll benefit from Googling at least one or two of these concepts, I guarantee it.

So here it is. 10 programming concepts that would benefit a librarian who spent five minutes reading about them.

  • Object-oriented Programming (OOP)

In a nutshell: Creating code that can be re-used in multiple programs.

Why it matters: OOP marked an important change in computing and is probably the main reason you are using a mouse instead of text-based commands. Back when I had my Commodore 64, I was taught to create programs in linear fashion. Do this. Do that. If this is the case, then do that — otherwise do something else. Programs had numbers to show the modus operandi (ahem — notice how, er MARC still uses numbers?).

OOP is different. Instead of “do this, do that,” I create an object. I say “here is a cat. It has whiskers, and fur and a tail. It does some funny things like meow and scratch and puke furballs.” Then I can put that cat into my old-fashioned programs. I can call my cat George. George has long whiskers, blue fur and a bushy tail. He meows when he sees food and scratches when you pull his tail. That’s neat. Except, the real trick is that other programmers can make their own cats too with their own names, shapes and behaviors.

But that’s not all either. Set up a form and you can make it so that your users can create cats too. Aha! Now you know why OOP connects to library 2.0. OOP has been around for a while, but it is the kind of coding practice that makes open source and user-driven products possible.

How can you learn more (besides Wikipedia)? : Any good programming book will have a chapter on OOP.

  • Client-side scripting (AJAX)

In a nutshell: Client-side scripting means Javascript. Javascript is code that makes things happen by giving instructions to a user’s (or “client’s”) browser (like Internet Explorer or Mozilla Firefox). The major advantage to javascript is that it doesn’t require page reloading.

Why it matters: AJAX (Asynchronous Javascript and XML) is the major driver behind alot of Web 2.0 services. The key to AJAX is that it loads up XML data from some server, then it uses that data while the user interacts with the page. Jazzed-up RSS feeds is one result of AJAX. Another common AJAX service is a “suggestion” service for searches. Meebo uses AJAX to provide online Internet Messaging via the web. Though often criticized for being too slow, AJAX can also be used for online gaming.

How can you learn more (besides Wikipedia)? : I like this article by PC Magazine.

  • Relational Database

In a nutshell: Have you ever used a spreadsheet and wished you could take the cells of a particular column and break it into further columns? A relational database makes that sort of thing possible — except it does it through a series of tables that are interconnected (related) which are later accessed through something called a query (a search).

Why it matters: I think most library school students are learning about relational databases in their MLIS classes, but it is important enough that it deserves mention. When David Weinberger speaks about everything being miscellaneous, he is really affirming the value of the relational database. Because the relational database uses relationships instead of a tree-style taxonomy, it reduces needless repetition of data and opens the door to unforseen connections between different sets of data. The many-to-many relationship, in particular, really makes the prospect of mashing up huge masses of data from projects like Wikipedia in “god” databases like Freebase a possibility (while relational databases have been around for a long time, they have become fast and big enough now to handle huge amounts of data quickly).

How can you learn more (besides Wikipedia)? Hopefully library school taught you about relational databases. If not, you might want to play with a GUI(graphical)-style database product like Access. (For geeks: Yes, I know MySQL pwns Access, but I’m talking about using it to learn what a relational database is).

  • Server-side scripting (PHP, Perl, Java, Ruby etc.)

In a nutshell: Server side scripts give instructions to the computer (the server) that hosts a webpage, instead of using a browser on the user’s desktop. Server side scripts are usually faster than client side ones, and most AJAX programming requires at least some server-side scripts.

Why it matters: It matters mostly for the same reasons that AJAX matters. Server side scripts make the major of the web happen. What has happened is that scripts like PHP are becoming more easy for the neophyte programmer to understand (PHP uses natural language alot) and are therefore creating an environment where alot more people are coding. Another thing that many people do not realize is that when you “view source” on a webpage, most frequently it is not a “page” of html that you are seeing, but code that is “outputted” by a server-side script like PHP.

How can you learn more (besides Wikipedia)? : Pick up a book on Java or PHP. Or go for the W3 Schools tutorials.

  • Http Protocol

In a nutshell: These are the rules for transferring information on the internet.

Why it matters: I’m not sure how much this does really matter. I guess I just think librarians should have a little more in-depth knowledge about how computers talk to each other.

How can you learn more (besides Wikipedia)? : The James Marshall Tutorial is a classic.

  • Open Source Software (OSS)

In a nutshell: Software that is released without protections that prevent users from viewing the “source code” of the product, and with licenses that encourage users (within certain boundaries) to distribute the product freely and change the product to their own needs.

Why it matters: If websites were all hosting using expensive proprietary software, you would never see the kind of boom in internet services that you see now. All of the client-side products I have mentioned are open source. But it’s not just that the products are free — it’s that communities have built themselves around the development of these open source products. And many open source products have built themselves into Web 2.0 services. Take WordPress, for instance. See, when you have huge communities working together, they need advanced services that promote collaboration. Look at the documentation for any open source product (how about Drupal?) and you are almost certain to find a wiki hanging around somewhere.

How can you learn more (besides Wikipedia)? : The Open Source Initiative is a good resource.

  • The Document Object Model (DOM)

In a nutshell: Basically the DOM is the rules for retrieving data from XML or html documents. AJAX uses the html object model to make its magic happen, and other scripts use the DOM to extract information from RSS feeds.

Why it matters: XML is kind of like the universal solvent for data. If two services do not play well together, you always have XML to fall back on. Even so, XML is about taxonomies which is at the core of the library profession. We should be aware of how our taxonomies are turned into web interfaces, if only in a superficial way.

How can you learn more (besides Wikipedia)? : I think the W3 schools covers the DOM fairly well. There is a separate tutorial on the html DOM (same principles, just a tad different approach).

  • Encryption and Digital Rights Management (DRM)

In a nutshell: Encryption is nothing new. You have information; you have a code to represent that information; you have a key or solution that will turn one into the other. Maybe you need to look at encryption tools like MD5, or SSL but in the end it’s all still like the Little Orphan Annie Ovaltine-Advertising decoder ring from A Christmas Story. DRM uses encryption to prevent users from breaking copyright on their products (software, DVDs, CDs, e-books etc.).
Why it matters: Copyright and DRM is the real battlefield of the Web 2.0 movement. Many Web 2.0 folks are outspoken about such products, saying that they put needless restrictions on paying customers. Others steadfastly argue that DRM is necessary to keep people from stealing their intellectual property. You oughta know about this stuff, because where the chips fall will say alot about the future of the Web and the business of business in general.

How can you learn more (besides Wikipedia)? : Cory Doctorow is a good source. Though he obviously sits to one side of the issue, Cory always points out the cases where the bad guys (to him) are making their arguments.

  • Platforms

In a nutshell: All computer software requires a platform to make the things you do on the key board and mouse make sense to a computer. Windows is a platform. So is Linux.

Why it matters: In the end, the platform you use will dictate in the end how the software will perform. That said, there are three more reasons why I added this to the list. 1) One of the tenets of Web 2.0 is that of the “Web as platform.” Basically, this means that what can be done on Windows can be done on the web. If you look at Google Documents, you will get an idea of what this means. 2) I always think its good to remind people that Windows is just one of many possible platforms that people can use to make software work. 3) Platforms are changing. The battle of platforms continues onto handheld devices, and both the iPhone and the upcoming “Surface Computer” appear to be offering widely different platforms for the future.

How you can learn more (besides Wikipedia)? : Try linux out. Or a Mac.

  • Stylesheets (CSS & XSLT)

In a nutshell: Let’s say someone offers to do dishes for you, but after every plate he cleans, he asks you where it goes. Annoying, right? You want all plates to go in the same spot, right? A cascading stylesheet (CSS) is a way for a programmer to say “ok. All headers are going to be green, 12 point Times New Roman font.” An XSLT stylesheet is a way for a programmer to say “ok. all data with “this” tag is going to appear at the top of the page. Either way, you are looking at the rules for style being separated from the rules for content.

Why it matters: Stylesheets are behind any service that lets you change the “skin” of the webpage you view. It is also behind all the fancy templates that WordPress and other services offer. If you are a Horizon user, you may want to know that the current Horizon Information Portal uses XSLT stylesheets to display the available data.

How you can learn more (besides Wikipedia)? : Back to the W3 Schools.

That’s it. Just a challenge for you to brush up on your technology if you so desire. I don’t think it’s mandatory to learn this stuff, but taking a bit of time to familiarize yourself with these concepts does help make some extra sense about where the web, and a whole whack of other IT services are going in the future.

UPDATE: Nicolas Morin has a nice response to the list. He suggests adding Unix, SQL, Apache (and web servers) and the notion of API to the list. He is also curious about the order I put them in. Responses below:

The order: no real priorities there. The list was intended as a grab bag of things to look through.

I’m inclined to think Unix and Apache are the sort of things you can leave to systems people. If you are installing products on your lonesome, maybe you want to learn more about these.

SQL falls under “relational database” — it’d be nice if librarians knew more SQL, but I think it’s too much like programming. Suffice it to say that you need to give instructions to a computer to tell it how to search, store & organize your data. This is called a “query.” SQL is the language to do that. For most people I know, SQL is intimidating. I don’t want the list to be intimidating — learn what a relational database is first, then if you get enthusiastic, go for SQL.

API goes along with “Object oriented programming” although, I agree it’s a pretty big miss there. Using my analogy above, once you’ve created your cats, you can give people the list of things the cat will do. That list is the API. Once you share an API, people can do all kinds of wonderful things with your cat. Maybe even mash it up with a dog. Then you can see the fur fly! 🙂

He suggests replacing DOM with XML. Probably a good suggestion, although I find most tutorials on XML talk about syntax more than they explain why you would use it. DOM explains a bit more about the structure of an XML document and how you might extract data from it. It’s pretty much 6 of one, 1/2 a dozen of the other.

He also suggests taking out encryption and platforms. For one, Unix is a platform, so that’s why I put it in. I wanted to avoid the typical geeky acronyms and products names out as much as possible. Also, as I said before, I think platforms are going to change in the near future. This is a heads up.

Encryption is there mostly because DRM is such a big issue these days. Also, if we are helping clients evaluate good websites, we ought to know a little more about how secure sites work. There are other, more mind-blowing things that are interesting about encryption as well. Some of it is covered in a couple of great books I’m reading: The Man Who Knew Too Much (biography of Alan Turing, the man who invented the computer) and Decoding the Universe (about information theory).

Comments or Splogging?

For some reason, I have been receiving comments that have made it difficult for me to moderate.      That’s why I have found it necessary to create a “comment moderation policy.”   Feedback is appreciated.   It’s pretty standard fare, but necessary I think.   I would hate for someone to get scammed because of a link coming from my blog.   At the same time, I can’t spend years of my time trying to guess whether something is legit or not.

So, I outlined as best as I could, a policy that should help me determine what is or is not an appropriate comment for this blog.   If you feel that your comment was legit and I decided to block it, well you have three options.   1)  Change the page link so that it meets my comment requirements and comment again.  2) Demonstrate to me how your blog meets my policy requirements.  or 3)  Prove to me that I am Draconian with my blogging policy, in which case I may consider a change in policy.

Otherwise, expect your comment to be placed in my spam filter.    And, that could mean that Akismet accepts similar comments as spam as well.   Sorry, but this blog is for 1) me and 2) librarians interested in reading what I write.    Being able to promote a service, book or cause is a bonus that I am willing to tolerate within certain guidelines that are hardly unreasonable given the environment these days.

The Damage of One Jack-Ass Blogger

I have said before that one of my favorite bloggers is Kathy Sierra. I am shocked and ashamed to say that I may have seen her last blog post for a while (warning disturbing content).

The basic story is that some very disturbed or judgement-impaired individual has made some very not-funny threats on her, causing her to cancel her ETech conference presentations, and basically find herself holed up in her house for fear of what may be just a sick joke, or a sickly serious non-joke.

As much value as can be gained from the likes of all the blogs I read, one ding-bat can change all that. I think it is imperative that the rest of us stand up for what is right in these cases and I hope anyone who has information about the person responsible for this stands up and submits the evidence to the appropriate authorities.

This takes the sexism complaints I have heard about in the tech world to entirely different level. I can’t help but feel somewhat responsible for it, and I’m feeling fairly helpless about what to do about it.

Although Kathy Sierra is the one taking the hits here this time, this is about freedom of information for all. Online bullies cannot and should not destroy the web experience for the rest of us.


I’m with Robert Scoble and Walt Crawford.   A week of keeping an anti-jackass blog post at the top of everyone’s blog is about as good a response to this as most bloggers can do.   I would like to add that I’d like to extend my anti-jackass wishes beyond this incident and onto any case where such threats occur.   The internet is getting pretty nasty and it is a big shame.

Things Noticed: RFID Firewall article Mentions Libraries

The Popular Science blog has an entry about an invention by Melanie Rieback called the “RFID Guardian.” Like a regular Firewall, it blocks attempts to access information via RFID unless you want them to.

It sounds like a neat invention, but the thing that struck me was this:

a personal firewall she’s developing [. . .] will protect your privacy in an world where your clothes, library books, and passport contain RFID tags.

It’s very interesting to me that library books were mentioned in this venue. We don’t have RFID at Halifax Public Libraries, but we are definitely talking about it. I wonder what are the ethics of a world where some people can blog RFID calls and others cannot, and most of it based on whether someone can afford a piece of technology.

A little bit scary to think of a world where only the few can reasonably expect to have something resembling a private life. Although, like most things, it will probably become affordable (and hackable) faster than we can say “Circ [everything under] de Soleil.”