Subscribe to Computing Intelligence

Showing posts with label Technology and Software. Show all posts
Showing posts with label Technology and Software. Show all posts

Monday, August 24, 2009

Software Review: LyX

This summer I learned to use a piece of document composition software called LyX. I think it is quite an interesting and useful piece of software, so I thought it would be worth giving a brief review about it. More information (as well as the software itself, free to download) is available on the Lyx website, so, aside from a brief description of the software, I will concentrate my commentary on my impression of the program.

LyX is, essentially, a more user-friendly layer thrown on top of the typesetting program TeX and the widely used language based on it, LaTeX. If you have never heard of LaTeX before, it is worth looking at its Wikipedia article. LaTeX is, basically, a language which allows one to produce professional looking documents with automated consistency for a wide range of typesetting requirements including citations, section numbering, and formulae.

While LaTeX documents being developed often end up looking similar to html documents or even a program under development (with brackets and labels, such as \title{}), LyX partially compiles a document as it is prepared so that items like section titles and mathematical formulae are displayed with their desired appearance. The final document layout, however, remains unfixed until the document is finished and exported. LyX also provides a set of drop-down menus and toolbars such that you don't have to learn an entire typesetting language. Rather, you simply need to find the necessary option in the correct menu (which, granted, can be frustrating at well, but I think it is quite a bit easier for a first time user than trying to figure out the correct programming syntax). Although menu and toolbar selection is slower than keyboard shortcuts and typed commands for experienced users, LyX does also accept a wide range of keyboard shortcuts and TeX commands to be written in directly.

For an experienced LaTeX user, therefore, LyX does not offer a lot of functional advantages (other than perhaps making the development process a little more aesthetically pleasing and reducing the burden of keeping track of your brackets - much like the difference between composing a blog post using Blogger directly in html versus the 'Compose' option). For someone who needs to quickly learn how to do complicated typesetting (such as a thesis or report), however, but has never learned how to use LaTeX, LyX can be quite valuable. It provides a program with nearly the same power as LaTeX, but with a much shallower learning curve. There is a very worthwhile tutorial bundled with the LyX installation (and I highly recommend a first-time user go through at least the first part of the tutorial - using LyX is, in several important respects, a great deal different than traditional word processing programs like Microsoft Word and Open Office, and the tutorial helps get those concepts across fairly quickly), as well as more extensive help documentation. Even for tasks which are relatively straightforward in a standard word processor, it might be worthwhile experimenting with LyX to accomplish them. LyX can be easily combined with a bibliographical TeX program like BibTeX to create a database of references which can then be automatically compiled into individual reference sets for multiple reports, drastically reducing one of the main sources of frustration in laboratory reports and even essays in the humanities and social sciences.

Rather than continue rambling on about LyX, I will again reiterate that it has quite a straightforward website and accompanying set of documentation. In final summary: if you are in need of a powerful typesetting tool but have not had a chance to learn how to use a typesetting language like LaTeX, or if you know how to use LaTeX but find it generally unpleasant to use due to its tendency to feel more like programming than linguistic composition, you might be interesting in using LyX.

Thursday, July 30, 2009

Mathematica Update

As some will remember, I complained a month ago about several bugs/shortcomings with the technical computing software Mathematica. To my astonishment, I was contacted in very short order by their customer relations and then technical support staff. And that is about where it ended. I got a nice phone call from one of their technical support staff in which I explained in more detail the problems I was having and the specifics on the system I was using, he said he would look into it and contact me the next week, and that was the end of my contact with them. The only contact they have maintained is sending me invitations to online Mathematica training courses, which to me is focusing on entirely the wrong problem (though it is nice of them to offer to help me overcome my Mathematica inexperience, that is not my main problem with the software). Since my research exchange ends next week, it is a little late to get in contact with me to resolve these issues, but on the off chance that someone from Mathematica continues to stalk my blog and truly wants to help people get the best out of their software, I can refer you to other researchers who are here on a more permanent basis with the same or very similar issues.

For the record, I think Mathematica does have some remarkably useful aspects as a piece of software. It has a wide variety of graphical outputs, and supports both symbolic and numerical computation. There are times that I find it obtuse and difficult to fully control, particularly when it comes to keeping track of which variables are instantiated (and to what) in a given kernel. I also recognize that when designing software for a variety of computer configurations and operating systems there are bound to be some bugs that are difficult to diagnose and track down (such as the window resizing bug and stability issues). One change that I think would go a long way to mitigating some of the frustration inherent with Mathematica's use would be to extend the editing environment so it supports auto-saving/document recovery capabilities or at least multiple undo/redo.

Thursday, July 2, 2009

The Good Kind of Stalking

Earlier this week, in a fit of annoyed frustration and general contrariness, I made some complaints about the software Mathematica (first in one post in which I complained about instability, lack of autosave/undo features, and window resizing, then in a second post in which I brought up the incompatibility with 'Num-Lock'). To my profound surprise, I got an email from a fellow at Wolfram Research that night assuring me that these are not typical aspects of Mathematica, and that he would like to see if he could help me. A few more emails exchanged resulted in me getting in touch with one of the technical staff, and so part of today will be involved with figuring out why we are having issues. So, when I made the complaint as part of my ranting that Mathematica lacked professional polish, I may have been a little hasty. A response time of less than a day to a complaint not even directed their way, but rather just cast out from a minor blog into the sea of cyberspace, is quite impressive customer service.

Of course, no one with any affiliation with UTORwebmail, the other software I maligned as an afterthought to my first ranting post, has contacted me to explain their bizarre login/logout security choices. I guess not everyone can be as professionally aware as the Wolfram researchers.

Note: I have posted an update on the situation here.

Tuesday, June 30, 2009

One More Mathematica Complaint

One thing I forgot to mention in my last post about Mathematica problems is the fact that operating the program with Num-Lock on tends to cause all sorts of problems (it is no longer possible to select a single cell, among other things). Why any mathematical program (even one that deals largely with symbolic mathematics) would be unable to handle have the number pad engaged is utterly baffling to me. Like the window resizing error, this one really makes me wonder about the professionality of Mathematica.

Edit: Wolfram responded to my post, as I describe here.

Software Complaints: Mathematica and UTORwebmail

Yesterday was an exceedingly frustrating day at the Institute, primarily driven by one piece of software: Mathematica. I know that learning how to use a new piece of software can often be frustrating, and so I have been trying to reserve my judgment. However, there are a few things that I feel justified in complaining about now, because I know they will drive me nuts for a very long time to come (and there is very little excuse for a professional software bundle to have some of these problems). While I am complaining about software bugs and oversights in Mathematica, I thought I would throw in a complaint about the University of Toronto's webmail as well (just because it has been irking me for years now, and, as has been pointed out in the past, part of what blogs are for is complaining). For the record, I am using Mathematica 6.0 on a Linux system (KDE 3.5.7), so it is possible some of the issues might be compatibility issues between Mathematica and Linux.

To start, Mathematica seems to be ridiculously unstable. I had it crash with a segmentation fault twice yesterday on startup (in other words, I hadn't even opened a file and started doing any computations yet). To make the instability worse, Mathematica never seems to do any sort of autosaving (sure, one should not rely on autosave, but it is a courtesy). The lack of an autosave is exacerbated by an inability to 'undo' and 'redo' more than a single change (and what Mathematica registers as a change is hard to predict). All that combines to make any sort of code development far more unpleasant than it ought to be (using the term code loosely - Mathematica is not really programming, which is also frustrating, but I recognize that program development is not exactly its primary function).

A relatively minor thing that has really started to get under my skin, though, is the fact that Mathematica opens a lot of windows (if you need help on the use of a function, you can highlight the function name and hit F1 to bring up a documentation window on that function - this is actually a very handy feature). This in and of itself would be tolerable, if slightly messy, but every time you close one of those windows the program for some reason resizes one of your other windows that remains open. Other than sheer unprofessional oversight on behalf of the software developers, I cannot imagine why this should happen. Even if your only remaining window is maximized, it will kick out to some oddly shaped default window size. Although this is not that big a deal (it's a simply matter of resizing or maximizing your window again), when you are frustrated with syntax or in deep concentration over the underlying mathematical motivation of what you are trying to do, it is horribly distracting.

The rest of my gripes are probably more related to unfamiliarity with the software (for example, I find the syntax to be ugly and cumbersome, but that may change), so I will turn my rant to UTORwebmail now (in fact, this is a problem with the entire UTORid system). In all the years I have spent at the University of Toronto, I have yet to figure out why the login screen times out after two minutes "for security purposes", but the only way to logout is to close the browser. Someone got that completely backward.

Edit: Wolfram responded to my post, as I describe here.