LyX Development News

How many weeks make a fortnight? Back in the second edition of LDN I suggested this would be a fortnightly publication. The standard definition of a fortnight is two weeks. Well, it's now eight weeks or two months since the last issue. Where did that time go? The first week or so was due to burnout from researching the ERT article -- it's not a good idea to start the day with breakfast and then not eat or drink anything all day while sitting in front of a computer only to get home after midnight for another bowl of cereal for dinner. Then I started working five days a week and figured I really wanted to get some code written. Then I started working six days a week to make up for the extra days I'll be away before my contract runs out.

Where am I going? To this years LyX developers meeting of course!

Lars Gullik Bjønnes is hosting the meeting in Stokke, Norway, from the 8th to the 12th of June. So far it looks like there should be four or five of us. Previous meetings were held in Copenhagen, Mexico City and Bolzano. The Mexico City meeting occured when Jürgen Vigna was travelling around South America and teamed up with Alejandro Aguilar Sierra. Great amounts of code are usually produced and large quantities of alcohol are used for fuel.

If you're interested in sponsoring this years event -- it's a long way to travel within Europe let alone all the way from Australia and fuel costs big money in Norway -- please contact the LyX developers' list or Lars directly.

I'm taking a video camera with me so there might even be a LyX documentary somewhere down the line.

Quote of the Last Eight Weeks

Is it a fortnight yet?

— Amir Karger

Oh no! My conscience is sending me emails again!

— Allan Rae

Okay, it's been a very long fortnight. Monthly editions are probably more realistic unless someone wants to volunteer to take over and I'll write short pieces for inclusion. Anybody?

LyX Presentation at QAUUG 2000 Conference

I presented a seminar at the Queensland Chapter of the Australian Unix and open source Users Group Conference on LyX yesterday. It's ironic that I was the only one to use something other than PowerPoint for my presentation -- okay there were two people who used the overhead projector but you know what I mean. You can get the pdf (56k) of the presentation. I've done up a tarball (106k) as an example also.

Tool Tip: Presenting with Acroread

If you want to do a seminar using a pdf for display using Adobe Acroread you should use a custom paper size of about 10 inches wide by 7.7 inches high. Set this as the portrait dimensions and everything will work very nicely.

Also note that if you use graphics images in your slides you'll get a considerably smaller pdf if you convert the images to png format and run pdflatex than you will if you use ps2pdf. For the slides I did for the QAUUG conference the sizes are 56kB and 3.1MB respectively.

Since LyX doesn't currently support export to pdf directly you'll need to use the File->Export->Custom menu entry with the command line:

	pdflatex $$FName

Tool Tip: CVS Branches

CVS stands for "Concurrent Versions System". CVS is the version control system that we use to maintain the LyX source-code repository. Many other open source projects also use this tool.

The main body of code is called the trunk. Code branches, where development can occur in isolation from the changes occuring on the main trunk, are like the branches of a tree. The branches in CVS are meant for short term work that is merged back into the main trunk and the branch is then abandoned. Don't do like I've been doing and try to have a single branch growing in parallel with the main trunk and try to update the branch with what's been going on in the main trunk. It won't work. It isn't supported and it is a nightmare in the long run if, as happened for me, you succeed in updating the branch once and then try to do it again. CVS doesn't support taking the tip of your branch and grafting it onto the main trunk using the same branch name. You have to do this yourself except you also have to use a new name for your new branch.

That is, in summary, use a short branch. If you aren't ready to merge it into the trunk but you want the latest features from the main trunk in your branch then you have to fork or sprout a new branch; take the diff of what you did in the old branch and merge it into the new branch; tell everyone working on the old branch to use the new branch instead.

This is annoying but it makes sense given the way that CVS manages branches. An automated way of doing this with CVS would be handy. I'd like to thank Andrew Cagney, interim gdb maintainer, for explaining this too me. I knew it shouldn't have been so difficult to do what I was doing, unless of course, I was doing it wrong.

Followup: GUI-Independent Dialogs

Angus and I have both submitted a couple of large patches to XTL and not done much work on the actual gui-independence. Angus has been very busy trying to get XTL 64-bit clean and working on Alpha processors. While I've submitted some documentation corrections and an auto_mem_buffer implementation that provides a simple memory buffer that automatically grows to fit the data being written to it. That brings to three the number of LyX developers contributing code to XTL. Asger Alstrup Nielsen submitted code for compatability with Microsoft Visual C++.

I did add a very nice print dialog to the gui-independence tree and it is just about perfect from the user interface perspective. Some of the underlying code will probably get further cleaning.

As I indicated above in the CVS tool tip, I also came to the realization that I have been badly misusing CVS. Now to take the medicine and start another branch.

Update: Recent Changes in CVS

Dekel Tsur is pumping out patches within a couple of hours of bug reports appearing on the mailing list. You would be forgiven for thinking that he was an old hand in the LyX Team however he's a recent, and very significant, addition to our small community.

Jean-Marc Lasgouttes continues to co-ordinate the fix releases with a third fix released a week or so ago. Jürgen has added a table inset, refined it, then rewritten it and refined it some more. Lars is still churning code like a thrashing machine. He's been busy rewriting just about everything to use STL containers instead of our own custom structures. This adds up to even more massive changes in the latest couple of prereleases. Well we are still in the transition period after all. You should also checkout the news ticker for other news. Sometime before Christmas I'll figure out how to combine the news ticker within LDN and then we won't have so much duplication and my job should be a bit easier.

Coming Attractions

I think I should stop crystal ball gazing. I haven't had any success yet.