Archive for the ‘web development’ Category

Identi.ca launches open source Twitter lookalike

Wednesday, July 2nd, 2008

The number of microblogging services out there keeps growing. While Twitter went through a burst of popularity (and is still in heavy use), frequent service outages have users looking elsewhere. There is a moderately active group over at FriendFeed, and via that resource I’ve heard of a new microblog called Identi.ca. This one looks quite a bit like Twitter (140 character text messages), however it is open source and content is released under a Creative Commons license. Being so new, it is light on features for the moment. As soon as they release an API, I’ll try to work on some manner of Wordpress integration.

The good news is that since it is open source, it will likely be possible to hook into Twitter, meaning that you don’t necessarily have to leave behind any contacts you have on that service. Indeed, I expect this to be one of the first features that the community develops, if the actual dev team doesn’t do it first.

Meanwhile, follow me.

Elsevier Article 2.0 Contest starts September 1

Friday, June 20th, 2008

Over at The Life Scientists room on FriendFeed (thanks to Bill for introducing me to the site), Pierre has posted a link to the Elsevier Article 2.0 Competition.  The details are scarce at the moment, but enough to pique my interest:

We will provide contestants with access to approximately 7,500 full-text XML scientific articles (including images) and challenge each contestant to be the publisher. In other words, each contestant will have complete freedom for how they would like to present the scientific research articles contained in the Article 2.0 dataset.

And there are prizes to be won as well:

First Prize:  	$2500
Second Prize: 	$1000
Third Prize: 	$500

I’m really hoping that I’ll be able to put together an entry. I’m not as familiar with Xquery as I should be, but I’ve got a couple of months to learn I suppose. I’ve already started brainstorming a pile of ideas of course. It’s what I do best.

I’m not sure if the rules will allow for teams, but I think it would be really great if some of the Open Access proponents could work together to generate a really fine product which relies on the many OA resources that are available on the internet. It’s a prime opportunity to demonstrate the value added by opening up the articles in this way.

Happenings in the Digital Wonderland - Reddit goes Open Source and Spore Creature Creator arrives

Wednesday, June 18th, 2008

Two items not related to Open Access (at least in a scientific sense) today that I think you’ll enjoy.

One of the largest “social media” sites (an my personal favorite), Reddit, today announced that they would make about 95% of their code open source, including the algorithm which determines the stories that make the front page.  They’ve got a Trac site set up at code.reddit.com interfaced with a Git version control system.  The code appears to be largely built on Python.  I could definitely see this being leveraged to create some interesting science-related applications.

The second item is completely for fun, although xenobiologists might enjoy it as well.  Spore is an upcoming game from Will Wright, the creator of The Sims, and it looks like it’s going to be great.  The player starts out as a single-celled organism in a pool and has to evolve up to a spacefaring civilization.  The game has been in development for a long time, to the point that some people thought it might end up as Vaporware.  Now, however, it has a release date for September.  Even though the full game isn’t out yet, the Creature Creator portion was released yesterday, both as a free trial and (soon?) a $10 full version.  At first I thought it was weird to release the character creation part of a game as a standalone product, until I got to play with it.  It’s really amazing, but also hard to describe.

When you create a new creature, you start with a randomly shaped blob, which is the creature’s body.  You can move it and reshape it, then start adding parts to make your critter.  The parts you add and the conformations you place them in all influence how the creature acts and moves.  I’m really shocked at how seamless and simple it is.  Once you’re happy with your creation, you can easily upload it to the Sporepedia, a conglomeration of everyone’s aliens.  You can also make a video and send it to YouTube with a few clicks.  The quality of the YouTube videos could be better; I feel like there is a compression issue to work out. Nevertheless, here is one I made:

I can’t really describe how much fun it is to play, so you’ll just have to check it out yourself. If you make any creature videos, link them up in the comments :)

More on lab management

Friday, June 6th, 2008

Using web-based tools to manage labs is a key interest of mine.  I believe that these tools are more or less already available, and would greatly aid investigators who are already spread thin due to competing demands on their time.  This is why I’ve made calls for open source LIMS packages as well as taken some initial steps towards building one myself.

My efforts to create a system have not had a high sense of urgency about them.  There are several reasons for this; it will be some time before I have to worry about this myself (if ever), I have other work to do which is actually related to my Ph.D., and because I tend to get discouraged when I run into programming challenges that I can’t handle quickly.

The whole thing has become more important to me, however, since one of my good friends (who posts in the comments occasionally as The Argonaut) is preparing to begin his career as a tenure-track professor.  He needs a solution, and rather soonish.  I’m not sure if I’ll be able to create something functional in the time period he’s got before he starts his job, so I thought I would try to cobble together a list of already-available technologies that I think are really useful, and can be installed today.

First of all, set up a Google Calendar.  Use it.  Post everything there, and share it with your lab.  I’ll repeat this - use it.  It’s easy to think of taking the time to list what you are doing on a calendar as an inconvenience and waste of time, but it’s invaluable (both for your own scheduling as well as your students).

Install some sort of version management system.  Trac + Subversion is a good way to go.  This sort of system is used very often in software development, but I think it has applicability to any project, including research projects.  The system is designed to assign and monitor workflow of a project - just think of it as a file folder of your progress, in every project going on in the lab.  Trac has a built-in Wiki, which you can use to store protocols and other lab-wide documents that you’d like to share.  You can use Subversion to get version control of your grants and papers, rather than dealing with endless iterations of new word documents.  It’s becoming more trendy to use a distributed version control system, so you might look at using Git as opposed to Subversion.  Both should integrate with Trac, although Git requires a plugin (makes sure to check out the entire trac-hacks site, as there are many useful plugins there).

If Trac seems too daunting, you can try out MediaWiki, the software that runs Wikipedia as well as OpenWetWare and many other great sites.  The version control isn’t quite as rigorous (you’re left looking at page edit histories), but it’s a bit more user-friendly.

So at this point you have a calendar and project management running.  This is a pretty solid base, and you’re blowing most labs out of the water as far as organization.  I would leverage the wiki functionality of Trac to build in some other things like inventory management as well.

The last thing you probably want is a public-facing website.  You have several options here, although a content management system (CMS) of some type is going to make life a lot easier.  If you just want a simple website, you can use blogging software such as Wordpress, or MovableType.  These are relatively easy to install, theme, and update with new content.  If you’re looking for something more powerful, you may consider the free and open-source Drupal.  It’s more complicated to use, but also has a lot more functionality.

If you can manage to get all of these running and convince your lab to use them, congratulations!  It will probably take some time to become familiar with using each of these systems, but for the most part they are accessible to novices.  The effort it takes will be well worth it.  Of course, it would be best if all of these functions lived under one roof, rather than split across 3 or 4 different software packages.  This is the goal of a LIMS, and I should probably GB2W on my pet project…

Interview with Lorrie Lejeune on the Science Commons blog

Tuesday, June 3rd, 2008

Donna Wentorth has published an interview with Lorrie Lejeune (of OpenWetWare) over at the Science Commons blog.  It is interesting, and highlights the “non-standard” thought processes going on at OWW:

To paraphrase what we state on the OWW wiki, some users of OpenWetWare think that the best thing to happen would be if somebody “stole” your idea and finished the work before you. Then you could go work on another idea. Good researchers usually have more ideas than they have time to explore, and having more people exploring those ideas will in the end benefit your research.

I am really happy that OWW is around and attracting users (the interview cites approximately 4000). I think it’s a good project with laudable goals. As of now, I do think it’s a bit limited by being so wiki-centric. Wikis are great for certain content, and not so great for others. I’d like to see them implement some other technologies in order to improve site navigation/usability, as well as to add new and interesting features to the toolkit. This would probably require a major reorganization of the current site, however, and I’m not sure if it’s feasible at this time. My gut feeling is that when the site was started as a collaboration between two labs, it just wasn’t designed to be as scalable as it could be. This isn’t anyone’s fault, but it means that they might have to go through some growing pains in order to make the service more attractive to an even broader community.

I also found something of specific interest to me (and perhaps you) in the interview; a link to an open guide/beginning of a book on using Python to do science. If you need me, I’ll be reading it.

Django is like an alien spaceship of awesomeness

Thursday, May 29th, 2008

We sit eyeing one another, this spaceship and I.  The power it holds within is clear, but the methodology for harnessing that power escapes me.  It’s evident that a vastly superior being has designed this device to do amazing things, but a manner of interacting efficiently with it is not forthcoming to my uninitiated cortex.  I have managed to move it a bit, but I don’t think that holding a match to the propellant tank is what the designers had in mind.

It’s an enigma, this machine, but I plan to plumb the depths of its intricacies, perhaps learning more about myself in the process… (more…)

First look: Creating scientific web applications with Django

Thursday, May 22nd, 2008

Unrelated to the actual body of this post, but possibly of more interest to you, dear reader is that I’ve sent in another job application.  This time it is for an Associate Editor position at the esteemed Science magazine.  My qualifications are a bit less than what they seemed to be looking for, so I’m not terribly optimistic (what’s new).  As usual though I’m nervous…  All right, on to the actual post!

I like to think (perhaps a bit ambitiously) that all of my tinkering around has elevated me to the level of “novice” programmer.  I can usually decipher things that others have written (ok, I can often do so), and I’ve written several command-line scripts that will do something useful.  I think one of the key things I’ve learned is that coding is hard, and I have tons of respect for the people who’ve chosen to do this as their career.  Now that I’m starting to get a handle on everything I don’t know, I feel like I’m also starting to find the handholds I need to climb a little farther up the cliff/learning curve.

So far I’ve had the most success writing things in Python.  This is most likely because it’s a relatively simple language, designed to be accessible to noobs like me.  It’s a fine language which tends to do what I like in ways that (more or less) make sense, and since it’s usage is fairly widespread in bioinformatics I don’t feel like it’s a waste of time to learn.

The problem with most of my “applications” so far is that, like I said above, they are uniformly command-line scripts which either take console or text file input.  For my own personal use this is fine - I understand the quirks of the program and am comfortable operating from the console.  This tends to be a barrier to more widespread usage, however.  Most people (who might use one of the things I’ve coded) aren’t very comfortable at all with entering commands into the terminal or editing a configuration file by hand.

So, I wanted to start looking into ways to start writing things that had a friendlier user interface.  I looked into using Glade to make graphical front-ends, but was having trouble wrapping my head around all of the handlers and things.  I was also a little worried that this would restrict the final product to a Gnome-based desktop.  What I really wanted to do was make something accessible via the web, so that I could install the application on our lab’s central machine and let people use it from their own computers.  My problem was that I couldn’t find a decent (i.e. quickly understandable by me) way to build web apps based on Python.  That is until I found Django.

Django is a web framework based on Python that just makes it easy to develop a Python-based application and distribute it via the web.  I haven’t had time to build anything from the ground up yet (I’ve been working my way through the online tutorial/book), but I can definitely see the potential.  I’ve gotten much farther with Django in a much shorter time than with any of the other solutions I’ve looked at so far.

I’ll keep you up to date as I continue my experimentation.

Make Dr. Suber’s job a bit easier for him

Thursday, May 1st, 2008

Peter Suber has for some time kept up a tireless catalog of things Open Access at his blog Open Access News.  His efforts to keep this resource as comprehensive as possible have been commendable, but given the growth of interest in Open Access, it’s clear that it’s a lot of work just to try and keep track of everything.  In order to crowdsource some of this work, Dr. Suber and others have started the Open Access Directory, a Wiki which can be edited by registered users.  Go sign up!

As with any young wiki, the content as of this writing is a bit light.  In time of course it will only grow, and should become a very valuable resource for those of us interested in expanding the adoption of Open Access.  Also, it’s one of the few places in which my anonymity is completely blown, so if you’re dying to figure out the identity of the mastermind behind PA, you should be able to figure it out over there.

Please don’t call it “Science 2.0″. Also, Scientific American has an article up on Open Science

Monday, April 21st, 2008

This month’s issue of Scientific American includes an article entitled “Science 2.0 — Is Open Access Science the Future?“.  Before I talk about the content itself I want to indicate my distaste for this “Science 2.0″ terminology.  It’s obviously a play on the “Web 2.0″ idea, in which the idea of community and user-generated content became all the rage in web endeavors.  The fundamental ideals behind Web 2.0 are probably why you are reading so many blogs today.  The term was fine (although overused) when applied to the relatively young internet, but completely falls apart when applied to science.  Are you going to tell me that of the many paradigm shifts in science, a transition to widespread Open Access is really “version 2.0″?  It’s preposterous and uninspired to say the least.  This is especially true in light of the fact that many of the Open Access projects are focused on semantic indexing of scientific knowledge, which ties in more with the semantic web, often thought to be the next iteration of the internet.  So please, don’t call it “Science 2.0″.  Perhaps “Semantic Discovery”?  I don’t know.

On to the article itself.  It is fairly wide-ranging, soliciting comments from Christopher Surridge (from PLoS One), Bill Hooker (who blogs over at Open Reading Frame) and Jean-Claude Bradley (of UsefulChem).  Bradley in particular provides a nice answer to the “we will be scooped” concern that many bring up (and I’m sure he’s tired of repeating this by now):

Ironically, though, the Web provides better protection than the traditional journal system, Bradley maintains. Every change on a wiki gets a time stamp, “so if someone actually did try to scoop you, it would be very easy to prove your priority—and to embarrass them. I think that’s really what is going to drive open science: the fear factor. If you wait for the journals, your work won’t appear for another six to nine months. But with open science, your claim to priority is out there right away.”

On the whole the article does a good job pointing out that one of the main thrusts of Open Science is to encourage collaboration.  Indeed this is one of the factors that makes me so interested; I feel like there is a lot of wasted effort replicating things that don’t work (and therefore never get published).

I do feel like the whole thing peters out a bit at the end.  There is little mention of Open Access publishing and how that fits in with the overall movement towards free access to scientific information, nor is there much discussion of the community’s response to the idea of open notebooks etc.  The author doesn’t mention ways in which this large body of open notebook data can be indexed and shared among the broader community. All of the comments are from supporters of OA, with none from detractors, making the title of the article seem a bit like an attempt to cast this as a balanced piece without the actual opposing viewpoints represented.

Minor points aside, I’m glad to see this issue getting press in the more “popular” scientific publications.

Upgrade to Wordpress 2.5 complete, working on the latest posts feed

Thursday, April 3rd, 2008

It was actually a really easy upgrade.  The new backend will take some getting used to.

Off to scour the wordpress codex and figure out how to program a mini latest comments feed for the front page.  I’ll probably edit this post when it’s done (hopefully in short order, unless I run into major problems).

EDIT: I think I’ve gotten a comment feed working on the front page.