-> click here to download SwaN-MR and other freeware for Mac OS X <-

Florence, April 20 2000

This 2000 is an easy year. I am receiving a lot of new registrations without putting any effort into programming. This happiness brings my mind back to darker periods. In the fall of 1993 I had already written SwaN-MR 1.0, which had been a complete failure. If you see it, it is not much worse than the present version. So you can understand my regret for that failure. I had just written SwaN-MR 2.0, but I was keeping it into my drawer. Previously I had also written a dozen of other programs, good ones and bad ones. They were not really useful, considering that I myself was not using them. During that fall I wrote my first succesful program. Its name is Chitarrella, just like the ancient Italian priest who wrote a treatise on the Scopone Scientifico. It's the transposition of a card game. It is still in version 1.0, which to my eyes means perfection. It runs on anything from the Macintosh Plus upwards. It has a strategy, something completely extraneous to SwaN-MR. During these 7 years the program has been used only by me, my uncle Lorenzo and, maybe, some friends of his. Two or three users, in 1993, meant huge success by my standards.
If you are a curious guy, Chitarrella is now included inside the ftp site.

When releasing version 3.5.3, I did not update this web page, so some final touches have not been described yet. You already know that with Cmd-e you show/hide the scale(s). Now, if you omit the Cmd key, yo can show/hide the vertiacl scale, keeping the horizontal scale. It is useful for T1 experiments. The other change refers to the 'Load' dialog. Now you can load arrayed experiments, like T1s or 2D, in reversed order. These new possibilities were suggestested by Kaz Nagashima. Thank you, Kaz!
Auguro Buona Pasqua a tutti, anche a chi non vuole imparare l'italiano.

Florence, February 3 2000 - introducing version 3.5.3

Last year was closed with a lot of changes and registrations. The programs remains the same. I have some new ideas, but they require too much effort to be put in practice. There are so few reasons to release the new version that I'll do it only in March. For the moment being I have changed the following things:

  1. I have found and corrected a bug in the converter for 2D Varian files.
  2. I have introduced a new option into the preferences. It is called "Remember the option 'hyperphase'". It is normally unchecked. When it is, the program is just like the old versions. When it is unchecked, SwaN-MR doesn't transcribe into the files your settings for the 'hyper-phase', which you choose inside the FT dialog. I think this is the best: the program goes 2 times faster and uses half of the memory. Hyperphase will only be implemented when it is really required.
  3. If you work with a screen resolution of 1024x768, like I do, you are never satisfied with any paper size. A4 doesn't fill the screen and A3 doesn't fit into it. I have found the solution. Do you see the word 'page' at the bottom-left corner of the window? With version 3.5.3, if you Shift-click on it, the window automatically fits the screen, while if you Ctrl-click, it fits the paper. Remember to Ctrl-click before printing. The 'Page Setup' command gives you the possibility to specify any other size (this is not new).
I have written a new article on SwaN-MR. You will hardly find it into your library because Molecular Biology Today is an on-line journal. It's too new a publication to say something about its quality. What I can say is that my article was ideated, written, reviewed, corrected, accepted and published in less than a fortnight. Progress is not a bad thing!
After all the things I have written there, only one thing needs to be said, namely SwaN-MR under System X. I'll say it in 2001, when most of you will already know what System X is.

Menariniland, November 10 1999

I hope you like the changes to the web site, because this time there are more changes into the web site than into the program. I begin to believe that there should be a proportion between the time spent programming and the time spent advertising. I am doing it hopelessly. I feel like I am fighting against the whole world and I can't see the point in doing it. Hardly I can justify my efforts with the desire to make something beautiful and admire it. Unfortunately, I am not even satisfied by the outcome. The program is nice, but the manual can be improved, the web site should be improved and the distribution is a mess.

After having surpassed the 200 registrations, I want to celebrate the event with the new page success . Basically I had a pile of letters. They began with a polite introduction, in which my work was praised, then a list of complaints followed. I have cutted all the praises and put them together. The resulting patchwork is something to be really proud of. Who would not like to be the object of such admiration! The lesson here is: add a bug to the program and you will receive a few new registrations. In fact the user is happy when he can combine the two things (bug-report and registration) into a single letter.

Much more often than you can guess I am tempted to give up with this web distribution, to shout in everybody's face that I am really tired of this situation, and to share the program with a selected circle of friends only. Yet I don't see any good alternative, so I just keep things in their current state. I understand that you can't understand this speech. There is nothing to understand! The question is: what's the reason for putting this program on the web? I remember I created this site because I was tired of sending hundreds of letters with the same context but with different addresses, but now this reason doesn't seem enough. The question becomes: why I used to send the letters? As far as I remember I did it because I wanted to see SwaN-MR entering in competition with other programs. The adventure made SwaN-MR stronger and nicer, but this competition has become a sad strife for life, with nothing to win and everything to lose. Time to close the experiment, don't you think so? Most of SwaN-MR users, for whom updating to the latest version is not a priority, will agree.

There are other points of view. First, if I did what I did, it's because I had a rare privilege. So I should only thank God and Menarini. Second, the competition is not "SwaN-MR vs. the world" but "off-line processing vs. processing on the spectrometer". This competition will continue for who knows how many years, but off-line processing is losing badly. Things were different with nmr tubes. Not many years ago Varian used to sell tubes. They never actually made tubes, they were only selling tubes with a V impressed on glass. Then chemists choose to buy tubes from other catalogs and Varian stopped selling them (I don't remember which event happened first). What counts here is that the tubes were of good quality (remember it, otherwise you risk misunderstanding what follows!). Today Varian explains to me that software plays a major role into a purchase choice. Dissecting the issue, the normal buyer puts more importance into processing and plotting software than into acquisition software. As you can see the decision belongs to the chemist. I, as a chemist, would like to see Varian making great instruments and great acquisition software and let other people struggle with selling tubes and writing programs. But I represent a minority (do you remember the movie "Caro Diario"?).

The absurdity is that finding a great program is not enough. Finding it free on the net is not enough. Having free support is not enough. People prefer spending 20000 USD for the branded product. This is not the story of SwaN-MR alone. This is also the story of other programs, in the past and in the future. Nothing in comparison of the millions spent for the Y2K bug, only another story of human stupidity.

I have tried to simplify the registration rules. Now registration is personal. No more site licenses (It seems I oscillate between US and British English, actually mine is pure Molfetta English, so I write "license"). There is no distinction between e-mail registrations and snail-mail registrations or between graduates and non-graduates. If you want to register, just do it! If you try asking help before having registered, you will receive exactly what you deserve! Last case: your institution is already registered, you aren't. You can continue using the program, but be careful before asking assistance: I may feel in the wrong mood! You may be wondering if I still speak about NMR. I do! Follow this interesting dialog between the author and a friend of his.

AUTHOR: I have recently reached the conclusion that it would be better to eliminate from the SwaN-MR preferences dialog the Linear Prediction box and, instead, to use the constant values 16 and 24. I have been using these value and LP filling routinely for 1 year with high satisfaction. Why I want to reduce the program flexibility? To ensure portability of spectra. Otherwise, a spectrum processed on my computer is different from the same spectrum processed on a different computer. I would like to simplify the interface too. Before putting my intention in practice, I would like to know if you have ever used LP-filling and which values you put into the preferences. Otherwise tell me if a simplified interface may change LP-filling into something more appealing.
FRIEND: I'm not sure what you mean by 'constant values 16 and 24'. When I previously tried to use LP in SwaN I had the feeling that the number of coefficients was really critical. If I used a two high value (16 instead of 8 for example) I ended up with a FID that was increasing at the end. I always use as many basis points as possible and never predict more than 50 % additional points than the original FID( typically in my 2D HSQC I have 128-256 datapoints in t1). So I'll be happy to answer your question if you can explain to me what the suggested constant values would mean as compared to the old parameters used in LP.
AUTHOR: in SwaN-MR you can apply LP in two different moments, and with different results. The old method is to apply LP before applying the protocol (in HSQC the echo-antiecho). It corresponds to the Linear Prediction command. The new method is to apply LP after reducing the data points with the echo-antiecho protocol and, of course, before FT along f1. The new method corresponds to the option 'LP filling' inside the FT dialog. If it's a simple check-box, how do you specify the parameters? The number of predicted points is set equal to the 'size' number of the FT. The number of base points is maximum available in each case. The number of coefficients is determined inside the 'File/Customize' dialog. I use, for example, n=number of experimental points / 16. I also fix a maximum value (24). If n > 24, SwaN-MR corrects it. On monday, for example, I have recorded a hsqc (invietgpsi), with 256 increments, which became 128 after applying the protocol. (SwaN-MR doesn't let you see it, but it's well known). I have LP filled to 1024 (8 times) with good results.
FRIEND: Thanks for the information. I wasn't aware of this newer method for LP. I'll try to test it later on today and mail you back tomorrow with my impressions.
AUTHOR: It's really worth trying it! I have the impression it's better. It makes sense, indeed. In fact the echo-antiecho protocol, or any protocol actually, simplifies the interferogram. Applying LP to a simplified interferogram has more hopes of success, IMHO.
FRIEND: I tested the new method of LP filling and it seems to do a god job as far as I can judge. However, there are a few drawbacks with the new LP (as it is implemented now) and with abandoning the old LP-command:
(i) The nr of coefficents in the new LP command should be possible to adjust when you actually give the FT-command, i.e. something like a check-box (when Swan loads it always sets it back to 2 as a default value, which will not work- at least for the spectra I tested)
(ii) There is also the nuisance with having to switch on the protocol and apply it and then remember to switch it off again when you do the FT-command. It is very easy to forget (at least for me). Would it be possible to implement a routine that prevents a protocol from being applied twice ?
(iii) A drawback with abandoning the old LP command is that as far as I understand there is no simple way of inspecting how the actually predicted points looks like, which may be useful if one is working with noisy data and is uncertain of how many datapoints it is safe to predict.
So to conclude, the new LP seems to work fine but if it is possible I hope you could address the suggestions I have.
AUTHOR: some of your problems are easily solved
(i) this is why you don't check the 'Make these the new default settings' box. This is also one of the reasons why I want to freeze these values and don't let the user change them. Apparently no one reads the 'Make these the new default settings' at the bottom of the dialog.
(ii) This problem is automatically solved with the new method (LP filling). In fact, SwaN-MR first applies the protocol, then performs LP. The problem you see pops out only if you want to perform LP using the LP command AND after the hypercomplex reduction. What I can do is that, when you push the 'Apply Now' button (inside the protocol dialog) SwaN-MR can set protocol=none (and apply the protocol, of course). In any case, the problem with this style of processing is that it cannot be saved into the file (unless I change the file structure, with big back-compatibility troubles).
(iii) This would really be a problem if I eliminate the old style LP. But I have no intention of ever doing it. What I do personally is to extract a column and experiment with it. I can compare the results with zero-filling and with LP-filling. I admit that visually inspecting the FID would be more informative. But not more useful. FT amplifies the corruption of data, so if LP introduces noise, you hear it much louder after FT. But what's the problem? If you are not free to adjust the parameters, what's the sense of monitoring what happens? You cannot change it!
In any case, I would like to know if, in your opinion, there is a couple of values (like my suggestion 16 and 24) which is good for those spectra which like an LP treatment. In fact LP is not for all spectra. It's only when all the following conditions are satisfied:
- indirectly revealed dimension;
- phase sensitive;
- strong apodization, like squared cosine bell;
- acceptable S/N;
- acquisition time < T2*.
Most my noesy, tocsy, roesy, hqsc... satisfy the above requirements. I don't apply LP to other cases but, should I do it, I would use the LP command, not LP filling. Actually, I asked the same question simultanoulsy to 3 expert users (you are in the number). No one was using LP filling. So I would not be blamed if I eliminate it (which is impossible, I love it!).
FRIEND: thanks for the information. Another thing that I forgot to mention in my last mail is that I think there should be a possibility to predict to fewer points than the zero-filling( for instance, if you have collected 400 data-points and would like to predict up to 600-700 one may still feel insecure that zero-filling all the way up to 1024).
AUTHOR: I was wondering how you haven't asked that question yet! Personally I find crazy the mixed solution of LP filling up to a certain point and zero-filling the rest. The only reason I can find is that the SwaN-MR user always expects to be free to do whatever he likes to do. In fact 'LP filling' was never meant to substitute the LP command! I introduced it only to make LP appealing to non experts. Only afterwards I discovered that it works better. Now it's clear what I have to do.
I will make LP more similar to weighting. You know that the 'Apodize' dialog works in two different ways. In 1D it lets you see the weighted FID. In 2D, you can only specify the parameters. Actual weighting is performed only via the FT command. So I can put 2 buttons inside the LP dialog:
1) Apply Along (like today).
2) Apply Later.
The latter, instead of performing the calculations, turns on the 'LP filling' option. There must also be some mechanism to prevent LP being executed during the processing plan (otherwise SwaN-MR applies it twice). When it's the time to FT, SwaN-MR will read the value of the LP filling option. If it is ON, there will still be two possibilities:
1) The user did not specify any parameters INSIDE THE LP DIALOG. In this case SwaN-MR will decide by itself which parameters to use.
2) The user specified some parameters. In this case SwaN-MR will first apply the protocol, then peform LP according to the user input, then zero-fill.
Apparently, with this method I can keep everybody happy, without affecting the file structure. To tell all the truth I have stopped using the LP command after the introduction of LP filling, but it doesn't count. Do you want to add something before I put my project into practice?
FRIEND: That all sounds quite reasonable to me.

I suppose that an expert in Linear Prediction will smile but, you know, there are more good football players in Inter than LP experts in the world. Other new things in version 3.5.2 are:

Is there anything else to say? What? 3.5.1? What? I don't remember... yes, there is my photo on the web...

Florence, August 27 1999

Continuing with the policy: the earlier the program is released, the earlier the bug is found, I am going to release version 3.5.0 at the end of this month. By the second digit you certainly realize that there are consistent changes. In general, I have tried to make the program easier than ever. In particular:

Other changes are too difficult to explain. The more difficult one is the change of colors for the phase clock. It's my stupid wish that Inter may win the next championship, after 11 years. Considering our players it seems impossible but, who knows...
I want publically suggest to all SwaN-MR users to try Ghostscript; I mean, the Mac version of it. The quality of your prints may raise by a factor of ten, depending on your printer. The program is not mine and it costs less than SwaN-MR.
Two Italian users reported a problem caused by a new extension shipped with the newest G3 machines. The extension name is 'ATI Resource Manager' (version T1 1.0.2). I hope that it has been already subsituted by the time you read here. Please keep me informed, if you know more.

Last, but not least, the 'sanatoria', a typical Italian tradition... It means that, even if you did not register and have used SwaN-MR illegaly for a life, now you have the chance of a very late registration, and I will forgive you nonetheless. Many people keep asking if it may be possible to register via e-mail. Now I say at last: YES, it is possible, but at the following conditions:

San Giovanni Valdarno, May 26 1999

I cannot be faithful to my original plan of releasing only one version during this year. It happens that I made a significant progress in converting Varian files and that, at the same time, I would like to see more Varian users approaching SwaN-MR. This version (3.4.9) represents a return to the past (a new version appearing every month!). I have tried to keep version 3.4.8 alive as long as possible, in order to know exactly its qualities and defects. Now I want to introduce some new features and, considering the perennial absence of testers, the only way to see if they work is to release the program before it i finished.

At the same time I have decided to shorten the program a little, and I began pruning it. It seemed to me that no one has ever used the command 'HPGL'. Another completely useless thing is the substitution of the integral for the spectrum. If you want this two things, keep tight your copy of SwaN-MR 3.4.8. The next thing to prune off will be 'Use Disc'. Unless someone will complain in the meanwhile... As you can see, the differences between the new and old version are so subtle that you may easily miss them. As far as I remember, the other ones are: after peak-peaking, you don't see the 'Results' window appearing. The peak peaking can (optionally) create marks on the peaks. The SwaN-MR window and the phase clock now respond to clicks even before thay are activated (i.e. when their frame is dimmed). The phase clock is also more correct in updating the state of the f1/f2 buttons. The View/Set Limits command now works with very large 1D spectra. The fast plot doesn't crash the application with (arrayed) spectra with 16K points along f2. Spin systems with more than 8 non-magnetically equivalent nuclei can be now be simulated (if they have symmetry). The universal converter has one more option (block header). There are also two brand new SwaN2Felix converters. The first one, by Henrik Anthonsen, is a stand-alone program. The second one, by me, is included directly into SwaN-MR. I don't know how much they work. The polynomial dialog has one more option ('apply to visible region only'). Marks and help balloons are slightly less foolish than they used to be and the 'Shape Fit' commands give a frequency synchronized with the experimental spectrum. What I wanted to write but had not the time to: a Tecmag converter, Laocoon, a more readable stacked plot, the possibility to read the text associated to a spectrum without loading it, 3D baseline correction, conversion of 3D Bruker and Varian spectra. (The 3D converters will probably wait forever).

I have counted the number of new registrations per year. During 94 they were 2, in 95 they peaked at 81. The next year The program began freely available: I received 70 registrations. In 98 they were 26 and in 98 not more than 9. During this first part of 99 I have received only 5 letters. No need to say, the situation is not encouraging. I can found a number of explanations. To meet success a program must cross platforms and must "demo" very well. To demo well you need an amount of colourful 3D gadgets, palettes and tool-bars. I like these things, but I prefer dedicating the screen to show the document, not the application. To have success a program also needs advertising, of course. Initially I was cited a number of times on the web. It was so times ago, that you can still find links to addresses that were only used for a couple of months in 95! The situation is very static, it is a pity. Another reason may be that the number of Mac users does not reach the critical mass required to make a program famous. A more technical reason: SwaN-MR doesn't grow. I can't keep the pace of the evolution of the computer world in general, and of the Mac world in particular. I have also lost the Code Warrior train. I work with a fossil like the Symantec compiler and a migration is utterly unthinkable. I will never find again so much time for programming like during the period 1992-1995. I am limited to tiny steps like those shown above. For most of you this is not a problem. The true problem is that without a market, the investment is poor. If you believe into off-line processing, it is a problem. Writing a good NMR program may require 100 000 USD. Things normally go the other way. A programmer writes the program just like I did (but I am not a programmer!); then a company arrives and proposes a commercial solution, investing not more tha a few notes, and only in advertising. More or less like publishing a book. The difference is that, while books prefer to be written by an inspired author, programs prefer to be designed like an industrial product. We will probably see a great number of enough good NMR programs, just like today, but never something really new.

The SwaN-MR user has a undisputed advantage. When he needs a change to the program, he normally gets it in a couple of weeks. I hope to convince someone who continues to use SwaN-MR, but has forgotten to send the registration. I also hope to see SwaN-MR more cited and remembered. In any case the SLOW development of SwaN-MR will continue unaffected.

Florence, April 7 1999

Here I am after one year of silence! During this time I have released the version 3.4.8 which has nothing special but an incredible long life. More important is the fact that I lose the pleasure of programming and also the time for doing it. What is good is that I have also lost the reason for doing it. The last version is wonderful and has very little to complain about. I am using it heavily. I think I can use the remaining time to help other people using SwaN-MR. Please send me your questions. Before the end of '99 I will also release another slightly updated version. Come on, give me new ideas! My energies are intact.

The number of registered users is asymptotically approaching the second hundred. What is really important is the message I sent last week to all registered users (where possible):
Dear SwaN-MR user,
this is to inform you that I have a new e-mail address. You can use it to ask for explanations, to suggest changes and for any other issue related to the program. There are also other important changes:
* Now you can attach files, up to 1.5 Mb.
* I'll try to answer within 24 hours.
Best Regards