Older blog entries for gobry (starting at number 37)

24 Sep 2006 (updated 24 Sep 2006 at 22:12 UTC) »

Pfewww, I really pushed hard to get a new version of Pybliographer out of the door. I'm still amazed at how much one can do alone when using the proper tools. In this case, the proper tool is Python.

Context: my pet project is a bibliography management tool. Its purpose is to help you organise references, search for new material on external databases, help you cite these references in documents,... I've been able to integrate my code with OpenOffice (thanks PyUNO), with LyX (I won't thanks unix pipes on this one), define a proper citation mini-language, put a GUI around part of it (thanks PyGTK) and test some parts of it (thanks, dogtail), send queries to PubMed, Web of Science, CrossRef (thanks Twisted), parse their results (thanks ElementTree), and even package the whole easily (thanks setuptools)!

A while ago, I said that the purpose of pyblio was not to replace tools like EndNote and the like. Maybe I should revise this. Areas where I'd like to push involve reference sharing and fulltext management. I've already a few ideas, but I need to see if the recent features help the project get more traction.

8 Sep 2006 (updated 8 Sep 2006 at 03:02 UTC) »

Thanks Raph, and thanks to all of you who posted so many interesting stuff here. It really has been a pleasure to read advogato.

(thanks to the contributors that brought my diary score almost at 3 :-))

Instead of simply documenting how to use pyblio, I've started working on simple demo code that actually use the framework, and are also immediately useful. The first one is an online PubMed to BibTeX converter. Maybe this will help people start using it.

4 Sep 2006 (updated 4 Sep 2006 at 23:15 UTC) »

(hello? don't know if anybody reads this, I'm the first to admit I don't write especially interesting stuff, but c'mon I don't think my entries deserve a score as low as our friendly chinese spammers, do I? so if anybody with a heart would be so nice and give me at least a score of 2??)

Pyblio has gained a nice feature. For the record, it's a python framework for handling publication references, but probably also your collection of books, dvds, tapes, whatever. In pyblio 1.3, you can now adapt a publication database format (from, say, PubMed) into another format (say, BibTeX). It's still more of a proof of concept, waiting for more extensive use. So far I have the following features:

  • external queries (pubmed, web of science, crossref)
  • adaptation between database formats
  • citation formatting (to generate an actual citation from a publication reference)
  • searching / editing / storing of references

What I need to complete is:

  • storage of fulltext documents (I've a few ideas already)
  • interaction with word processors (esp. openoffice)
  • glueing all these features in the GUI, which is very rudimentary so far on the 1.3 branch.

I would like to extend the data model a bit, but this will certainly wait until the rest consolidates.

Unfortunately, the community that lives around pyblio has a low ratio of developers / users. Worse, as I had not enough free time these last months for the project, I probably discouraged some potential developers. I really need to lower the barrier of entry into the project, but I don't know how so far. Perhaps by completing a few sample applications instead of adding new features? Writing documentation? Putting some simple web apps online, so that people can actually test some features?

wnewman: having only experimented on toy projects with haskell and common lisp, I don't have a very deep insight, but I had in both cases the feeling that the downsides (hard to predict runtime behavior for haskell, lack of some important common blocks like standard sockets for common lisp) were like a cold shower after you make the initial step of learning these languages and discover their bright sides (and they really shine in many aspects).
python position in switzerland

I'm leaving my current job at the end of june, and this will make a nice open position for a hacker wishing to work on a open-source project written in python, in a very nice area of Switzerland (french-speaking area BTW).

The job is at EPFL (Swiss Institute of Technology), and is about continuing the development of a service called infoscience which provides researchers of more than 200 labs with a common platform for managing their publications. It is not (only) an archive, as it behaves as a web service for plenty of web sites, and also pumps information from external systems.

So basically the job is about balancing the demand for specific tools (for a given lab, for the librarians,...) and the need for a high-level common platform (which already provides conversion services, quality checking tools,...) Part of the software is developed in collaboration with the CDS team at CERN, part is specific to infoscience and its design is completely up to the person in charge of this job.

The detailed offer and the procedure for applying is available on the EPFL jobs website, in french. Feel free to contact me directly for more info.

(and no, I don't leave because it's boring, but because I've been recruited by Google :-))

RSS for software releases?

When I do a new release of a software, I usually just cannot remember in which of the numerous repositories I've registered it... What I would like is some RSS-for-applications standard, where I could put all the information that, say, freshmeat requires from me. Then I could just register the feed once in every repository (or even let the repositories harvest the feeds :-))

Does such a beast already exist?

N770

I received the notification of shipment of my N770 yesterday, with a good surprise: as they don't ship it in Switzerland, they cannot bill me, so they sent it for free! I just hope the box won't be empty... :-D

Web development

Christmas approaches, and I made one more attempt toward a nice web based wishlist system. It's called Mes Souhaits, in french for the moment, but I might translate it one day.

It was a good opportunity to give another try to Nevow, and I loved the experience. It's really clean, very reusable, the overall impression is of very few useless work while designing the code. I also use mechanoid to run some tests on the site.

rmathew, I would certainly second your choice of reading Practical Common Lisp. I was in a similar situation, both reluctant to completely dive in a new language with a so specific feeling, and strongly appealed both by writings I stumbled upon regularely, and by interesting libraries that were lisp-influenced (the generic functions implementation in python being one, see PyProtocols). And the book certainly managed to bring my level of interest way over what is necessary to start working with lisp regularely!

I continued my investigation for what my next programming language should be (after python), and finally took some time to read Practical Common Lisp. It is very pleasant and provides strong arguments as why The Lisp Way is indeed superior to many other approaches: lisp macros, generic functions, conditions and restarts all seem to be elegant and powerful solutions for these cases where your instinct tells you there must be a better way to do that (and I'm mostly a python programmer these days, so I already expected a lot from my language of choice :-))

I wandered a bit in the debian archive, installing sbcl and cmucl to play with the examples in the book (I especially liked the unit-testing framework written in 26 lines :-)). What stroke me is that there seem to be no program in the archive that is fully implemented in lisp (there are plenty of libraries however). Either there is some showstopper I did not find out yet, or I did not search properly in the archive. The fact that you need a runtime to execute your programs is not a valid reason, as it is the case with many other languages now. So, what?

So, for the moment I put Haskell aside, as I feel much more at ease with multi-paradigm languages. Let's see what real project I can find in order to practice a bit...

28 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!