How to run NTEmacs and Cygwin Emacs on the same box
March 24, 2010 - Markus Hoenicka
I've decided to switch to Cygwin Emacs from NTEmacs lately. As I had previously seen that the Cygwin X server may refuse to work at times, I wasn't ready to deinstall NTEmacs altogether (the X problems were certainly caused by my lack of understanding, or lack of maintenance, or both. Cygwin X in general is said to run smoothly). I rather figured it should be possible to run both Emacsen in parallel, without duplicating all efforts which go into maintaining your hand-crafted .emacs file. So I tried to come up with a way to share my existing .emacs with both versions. The major problem is that NTEmacs requires quite a lot of tweaks to make it cooperate with Cygwin bash, which is a far superior shell compared to Windows "cmd", whereas Cygwin Emacs requires at least as many tweaks to make it cooperate with native Windows tools like web browser or proprietary Windows programs. This is how I solved the problem.
Speed comparison of NTEmacs and Cygwin Emacs
March 24, 2010 - Markus Hoenicka
I may have mentioned previously that I'm using a Windows XP box as a Netware client at work. As I prefer the Unix way of doing things otherwise, I've been installing lots of Unix software on this box. The two main components are Cygwin, which is essentially a Unix-like environment including all essential GNU tools, and the native GNU Emacs port. The latter is built with MinGW, the "Minimalist GNU for Windows" tools. The native port has been around for years, I must have been using it for more than a decade now. However, Cygwin has also provided an Emacs port for a while. This one either runs in your terminal (like MinTTY), or as a GUI app if you use Cygwin's X server. A speed comparison made me think twice about my previous choice.
Emacs Photo Database now available
May 14, 2008 - Markus Hoenicka
This is to announce that Emacs Photo Database is now available as a SourceForge-hosted project. As outlined previously, this is a database holding film, negative, and print information for photographers who use real darkrooms instead of digital cameras and a "lightroom".
Photo database front-end, 2nd try
April 23, 2008 - Markus Hoenicka
I've reported previously that my attempts to create a simple photo database to manage my negatives and prints failed miserably with OpenOffice Base. I thought that installing a web frontend for SQLite might simplify adding and retrieving the data to a SQL database, but the results were not entirely to my taste. The tool simplified the database creation somewhat, and it is fairly easy to check the rows in the tables. However, there are two limitations:
Installing SQLiteManager 1.2.0 on FreeBSD
April 16, 2008 - Markus Hoenicka
I've been into b/w photography for at least 15 years now, and I've got a serious collection of negatives and prints. A rule of thumb says: the larger the format, the fewer images. As I'm using my 4x5 as much as possible, there's only a handful of negatives to add each year. Still, I'd like to keep track of the negatives and the prints in an easier way than I used to do so far: I scribbled the data onto legal pads and waded through them if I needed to look up something. This calls for some sort of database.
Operating system archaeology
February 25, 2007 - Markus Hoenicka
I received a computer the other day which I was supposed to set up for my kids, mostly for educational software (they're not yet in the ego-shooter age, fortunately). It was a Celeron 366MHz with a 6.8GB hard drive and 64MB of RAM. This was apparently a decent computer at the beginning of this millennium.
I was told not to use some Linux (which would probably run decently on that old box) but to reinstall Win98, as most of the educational software out there (mostly on CD-ROM) requires a Windows box or a Mac. As I wouldn't have to work on that box anyway, I agreed.
I was told not to use some Linux (which would probably run decently on that old box) but to reinstall Win98, as most of the educational software out there (mostly on CD-ROM) requires a Windows box or a Mac. As I wouldn't have to work on that box anyway, I agreed.
Trying to solve the *ONE* XML PITA
February 20, 2007 - Markus Hoenicka
My favourite gripe with XML is that you can't reasonably print it. Laugh at me if you want: the SGML toolchain (Emacs, PSGML, openjade) is still my favourite way of publishing DocBook documents for a simple reason: it delivers word processor output. Not that I like word processors, but most publishers in the biomedical field expect submitted manuscripts in M$ Word format - offering them a FOP-formatted PDF document won't do me any good. openjade generates RTF (among other formats) for direct consumption, or you use OpenOffice to convert it to M$ Word .doc files. There used to be tools that generate RTF from XML, but either they were non-free, or they didn't work. Today I gave a different approach a try: convert DocBook to OpenDocument Format. To make things a little harder, I attempted to do this on my office computer, which much to my regret runs Windows XP. As mentioned previously, it runs the Cygwin tools to maintain a certain level of sanity.
How to use subversion revision numbers in autotools-based projects
November 26, 2006 - Markus Hoenicka
When developers try to track down bugs, they'd better know what version precisely runs on the user's box. Back in the days of yore, projects used CVS to record the version numbers of the source files. On the up side, the cvs command-line tool would do string replacements in the source files which were commonly used to record the CVS version of each file. Therefore it was simple to design a function that returns the string that cvs inserted into the file. On the down side, this version number reflects only the version of the particular file that contained the function. But as we all know, most projects are built from several to many source files. Therefore the CVS revision number is of limited value only.
Subversion uses a different approach. On the up side, Subversion uses a repository version number to address a particular combination of file revisions at a certain point in time. This is perfect from a developers point of view, but it comes at a price: Subversion cannot do string replacements as CVS does, because a single revision of a file can be part of several revisions of the repository. The Subversion FAQ suggests to use the tool "svnversion" to generate a definition for C files or to generate a small C file containing the version number. I tried to integrate the Subversion revision into the RefDB binaries lately, but it turned out to be far more complicated than the FAQ suggested.
Subversion uses a different approach. On the up side, Subversion uses a repository version number to address a particular combination of file revisions at a certain point in time. This is perfect from a developers point of view, but it comes at a price: Subversion cannot do string replacements as CVS does, because a single revision of a file can be part of several revisions of the repository. The Subversion FAQ suggests to use the tool "svnversion" to generate a definition for C files or to generate a small C file containing the version number. I tried to integrate the Subversion revision into the RefDB binaries lately, but it turned out to be far more complicated than the FAQ suggested.
How to use RefDB with a single database
November 15, 2006 - Markus Hoenicka
The default RefDB setup asks for at least two databases: a system database called "refdb" by default, and at least one reference database. The former contains bibliography styles and the journal word list. The latter contains the reference data proper. Keeping system data and reference data in two separate databases is preferred because you can scrap and re-create reference databases anytime without affecting the system database.
However, there are situations where you must stick to a single database. This is often the case if you rent some webspace "with MySQL". The fineprint usually restricts this to a single MySQL database which is created by the internet provider. Is it still possible to run RefDB on such a database?
However, there are situations where you must stick to a single database. This is often the case if you rent some webspace "with MySQL". The fineprint usually restricts this to a single MySQL database which is created by the internet provider. Is it still possible to run RefDB on such a database?
Working with multiple personal reference lists in RefDB
August 02, 2006 - Markus Hoenicka
RefDB has had an option to build personal reference lists for quite a while. However, there was just one such list per user, and there was popular demand that this limitation be dropped.
RefDB also has an option to create extended notes and link these notes to just about any object in the database - references, keywords, authors, you name it. You could of course create an extended note, link it to a handful of references, and call it a personal reference list. However, this possibility was far from apparent to most users.
Why not combine the best of both worlds, and implement personal reference lists on top of extended notes, while maintaining the simplified interface of the pickref and dumpref commands? Well, this is just what the current svn version (and the soon-to-be-released prerelease 0.9.8-pre1) offer. I'll tell you real quick how to work with this feature.
RefDB also has an option to create extended notes and link these notes to just about any object in the database - references, keywords, authors, you name it. You could of course create an extended note, link it to a handful of references, and call it a personal reference list. However, this possibility was far from apparent to most users.
Why not combine the best of both worlds, and implement personal reference lists on top of extended notes, while maintaining the simplified interface of the pickref and dumpref commands? Well, this is just what the current svn version (and the soon-to-be-released prerelease 0.9.8-pre1) offer. I'll tell you real quick how to work with this feature.
Deconstructing RIS (part II)
April 23, 2006 - Markus Hoenicka
I've tried to explain in a previous entry what's wrong with the RIS bibliography format, and I also figured out a likely reason why RIS came to be what it is. In this entry I'd like to show a possible way to "fix" RIS.
Deconstructing RIS (part I)
March 12, 2006 - Markus Hoenicka
Whether you like it or not - RIS is one of the most widely used formats for bibliographic data on Windows and Mac boxes. The fact that the company that developed this format bought all relevant vendors of bibliographic programs on the market certainly helped to establish this leadership. Some say the format is easy to use. I agree as long as we look at simple cases like a journal article or a book. Some say the format is crappy, illogical, badly designed from the ground up. I agree as a developer of bibliographic software. But for reasons of compatibility and to encourage data migration, we still have to support this format somehow.
Lets first analyze why the data format is so illogical. Look at the following brief examples. The first two encode the same book, and the third and fourth encode the same chapter (all variants are valid according to the RefMan manual):
Lets first analyze why the data format is so illogical. Look at the following brief examples. The first two encode the same book, and the third and fourth encode the same chapter (all variants are valid according to the RefMan manual):
Having fun with xmllint
January 06, 2006 - Markus Hoenicka
Error messages can sometimes be quite misleading at first sight. I had to realize this again today while trying to validate a rather complex XML document (the upcoming XML version of the RefDB manual). It is composed of a main file, which XIncludes all chapters. Some of the chapters in turn XInclude refentries, which are both parts of the manual and the sources for the man pages. As DTD-based tools cannot handle the XIncludes I had to use xmllint in conjunction with the DocBook RelaxNG schema files - and ran into some strange issues.
Field-testing refdb-mode
December 22, 2005 - Markus Hoenicka
When I stepped in as a maintainer of refdb-mode, the Emacs frontend for RefDB, Michael Smith left me what was an awesome framework but far from complete in terms of functionality. Unfortunately I did not grasp the potential of his work earlier, I might have pushed him to implement the rest as well :-) So I had the pleasure to reactivate my lisp skills and make refdb-mode a full-fledged frontend for RefDB. So far I had implemented what I thought users might need, but in the past couple of weeks I finally had a chance to run a field test myself when compiling a grant application with a serious bibliography.
ODF vs MS XML analyzed
November 29, 2005 - Markus Hoenicka
Alex Hudson, J. David Eisenberg, Bruce D'Arcus and Daniel Carrera posted a nice comparison of the soon-to-be ISO standard OpenDocument XML format and MS XML, the now-submitted-as-an-ECMA-standard Microsoft version of an XML office data format. At a glance, OpenDocument wins hands down, but didn't we experience over and over in the past that Microsoft's presence on 90% of the personal computers world-wide gives sufficient momentum to even the lousiest and stupidest implementation of (graphical interface | web browser | media player | [insert your favourite here]) to leave the well-thought-out and well-implemented stuff to diehards? Seeing Massachusettes start to wobble as soon as Microsoft mentions the word "open" in context with "Office" gives a clue as to how much education is still necessary.