Archive for March, 2010
I recently decided to systematically conserve a backup copy of articles I am downloading. But what if I want to use these backup copy: I usually only remember the title of the article, or the name of the author. If I was not really working on the article, I may forget the author, or even the title, if I only remember that “somewhere it is written that…”. You may know Mendeley: I tried to use it for some time, but it is not open source, has too many features for what I need, and could be better suited to a mathematical use, by supporting, for example, the MSC classification, or by having specific interfaces with MathSciNet or zentralBlatt.
Hence I decided writing my own program to do the job. For the moment, it may probably crash at any time, and seriously lack essential features, but it satisfies my daily purposes, which are:
- have a quick overview of the articles I have on my computer
- have a way of opening them without having to know where it is
- in case it is not stored on my computer, open a suitable URL without having to search through MathSciNet
The result is called Mathkaba, and is hosted on GitHub. For the moment, it works by reading metadata which is not stored in a database as usual (I hate databases), but in plain text files along with the PDF files, which should have the same syntax as the ASCII output of ZentralBlatt. MathSciNet can also output entries in the endNote format, which seems equally interesting. Any comments are welcome.
When writing a program, especially a graphical one, you may feel some compassion towards Windows users and wonder whether it would be possible to give them a chance of using it. Famous toolkits like GTK and Qt provide good support for Windows and an abstraction layer for OS-dependent vital functions, so it becomes easier to write OS-independant code.
Next you need a cross-compiler: it’s just a compiler, except that instead of creating executable files you could run, it creates executables in another format (e.g. Win32
.exe files). But since Windows is very different from GNU/Linux, some code or one of its dependencies has to use Windows-specific functions: so you need source headers, and maybe additional libraries.