Tuesday, June 15, 2010

Toward a Long-Term Position for Israel

Perhaps the Jews should get the hell out of Palestine and return to Germany and Poland. 

That's what journalist Helen Thomas said.  Was she right?

Yes, I'm told, at least in the view of Hezbollah.  Hezbollah praised Thomas for offering "a courageous, bold, honest and free opinion," according to a news item from Ynetnews. 

I had never heard of Ynetnews before, but I see now that it describes itself as "part of the prominent Yedioth Media Group, which publishes Yedioth Ahronoth – Israel's most widely-read daily newspaper." Such a source seemed unlikely to present all viewpoints with equal clarity and passion where Israel was concerned.  That said, I was impressed with the first editorial piece I happened to read there.  So I was willing to give them the benefit of the doubt on this one.  What they reported probably was a fair representation of what a spokesperson for Hezbollah said about Thomas's statement.

Rather than give them the benefit of the doubt, I would have preferred to verify their account in comparison with another source.  Unfortunately, I couldn't find an authoritative Hezbollah source page via Wikipedia's entry on Hezbollah, because their external links were impossibly old.  I couldn't even find anything on it on Al-Jazeera's English-language website

I could have looked further.  But the citation to Ynetnews was interesting in itself.  It came from a Huffington blog post with the headline, "Helen Thomas Gets a Defender .  .  .  Hezbollah." After reporting Hezbollah's statement, the blogger who wrote that Huffington Post entry makes what appears to be a snide remark.   "Alright then," he says, and then continues:  "The Hezbollah statement aside, the one thing left unresolved on the Thomas' [sic] controversy is who exactly will take her seat at the front of the briefing room."

There, I think he may be mistaken.  The apparent attitude of that blogger, surnamed Stein, is itself emblematic of what remains to be resolved by the Thomas controversy.  My reaction was that Israel, and the American public, may be better served by more self-discipline and less dismissive attitudes toward opposing viewpoints.

Stein notwithstanding, there are actually some smart and experienced Muslims in the world.  When they express a view, it could conceivably have some plausibility.  So, for example, when the Hezbollah spokesman is reported to have described Israel as "a racist state of murderers and thugs," he probably has some reason for saying so.  You and I may or may not conclude that the evidence supports his accusation.  But we don't get from the beginning of the story to the end by merely assuming the middle.  We're supposed to look at the evidence first.

So, first, what about Hezbollah's accusation that Israel is racist?  Consider something stated in Ynetnews itself, in the editorial cited above:

I remember how stunned we were when I accompanied Yitzhak Rabin many years ago to a meeting with Anwar Nuseibah, a Palestinian minister in Jordan’s government.  Wow, said Rabin after the meeting, he speaks such wonderful English! What, an Arab? A Palestinian? Speaking English like an Oxford graduate, showing familiarity with history, and using a teaspoon to mix the sugar in his teacup? Something must be wrong here.
In that example, we have an admission, by a prominent Jewish Israeli, that prominent Jewish Israelis entertained patronizing attitudes toward Arabs.  Similarly, a letter to the editor of the New York Times objects to Rabbi Yaacov Perrin's reported view that "One million Arabs are not worth a Jewish fingernail."

Both of those reports describe racist sentiments, and both are evidently offered by Jews who are faulting other Jews for that racism.  That fairminded willingness to identify racism in a fellow member of one's own racial or ethnic group is admirable.

Suppose the reported Hezbollah statement were rephrased as follows: "Israel is a state composed entirely of racists, thugs, and murderers."  This would be obvious overstatement.  Nobody will be able to prove a statement like that.  It smacks of anger and bias; it is not how an educated, factually oriented person would tend to write.    Surely there have been many Israelis who have opposed racist, thuggish, or murderous behavior by their government.

Consider, then, another rephrasing:  "Israel is a state whose existence or growth is secured by racist, thuggish, and murderous acts toward its perceived enemies, conducted primarily by a small minority but tacitly if not overtly supported by a larger minority, if not a majority."  This is a different matter.  Now the statement acknowledges the probable existence of a potentially substantial number of citizens of Israel who disagree with their government's policies; yet the statement still condemns the state and its inhabitants as a whole for the government's alleged racist, thuggish, and murderous tendencies.  The essence of this sort of statement is that those who might prefer a different approach are nonetheless paying their taxes, failing to mount a determined opposition, and generally letting those with political power do what they want.

That, in my impression, was roughly the situation among those Germans who, in the 1930s, did not vote for or agree with Hitler's policies.  Whatever their private views, you still have de facto solidarity behind the acts in question.  We wound up in a war against those people.  It cost tens of millions of lives.

Under such circumstances, it becomes crucial to ask whether the dissidents, and their supporters abroad, have been doing absolutely everything they can to deter any propensities toward racist, thuggish, and/or murderous behavior by the people in power in that country.  The judgment of history has tended to be that, on both private and geopolitical levels, the Nazis' opponents fell down on the job.  They failed to act effectively and decisively, even when it was completely clear that they must do so.

When you conclude that civilians are responsible for or support the acts and policies of their leaders, or are able to change those acts and policies, you quickly arrive at a rationale for a broad variety of acts against civilians.  Examples include the attack on the World Trade Center, the Russian atrocities in Chechnya, and the atomic bombing of Hiroshima.

Those are very divergent examples, obviously very different from one another in many regards.  In all of those examples, though, outsiders (whether Al-Qaeda, the Russian military, or the American military) concluded that attacking them would compel their leaders to chose other policies.  Moreover, if initial pressure on civilians seems unproductive, those outsiders are likely to resort to more extreme measures.  The point they are making, against civilians, is this:  if you appoint or allow government employees to act on your behalf, then in some large sense you are responsible for their actions, and you can count on being attacked, one way or another, by people who dislike those actions.

Stein's attitude, expressed in his Huffington Post message (above), is that of a person who taunts his opponents, believing that they will not find a way to make him take them seriously.  This seems arrogant.  Life is long and presents many opportunities.  In other words, I would not place my money on Stein in this bet.  A smarter attitude would take those opponents seriously from the outset, in an effort to spare them the trouble, and also to spare oneself the reaction that such bravado is likely to provoke.

Helen Thomas has been called nasty names.  It is common to resort to name-calling when someone speaks up on behalf of an oppressed minority.  We don't want to hear it, so we try to silence them.  Eventually, we wind up with something like Godwin's Law:  as an online discussion grows longer, the likelihood of a comparison involving Nazis or Hitler approaches 100%.  (I'm not the first to have provided material supporting that outcome in the Helen Thomas case.)

In other words, it may previously have been effective to allege that any criticism of Israel is evidence of anti-Jewish sentiment.  But every line gets old after a while.  When you have had the experience of riding on the Munich subway and hearing some woman complain of a murderous Nazi mentality -- just because the subway officer gave her a ticket for trying to beat the fare -- you can begin to feel a certain sense of disgust.  The conclusion I reached, after that experience, was that not every German person should be made to grovel, every time some Jewish person feels slighted.  Aside from the obvious immorality of any such expectation, sheer practicality might suggest that continually rubbing someone's nose in it, long after the point of apology, is apt to generate resentment.

Helen Thomas's words have been described as "anti-Semitic."  To pause on that for a moment, let's recall that the Semitic peoples include Arabs.  (For that matter, while clarifying our terms, we might bear in mind that the Nazi Holocaust killed millions of Poles, Gypsies, homosexuals, people with disabilities, and others for racist and other discriminatory reasons; it was not a purely Jewish nightmare.)

To phrase it more precisely, then, Thomas is not being accused of negative attitudes toward Semitic peoples generally.  The point seems to be just that some consider her words anti-Jewish.  One might ask, then:  is it anti-Jewish to suggest that Jews should leave Israel and go to Europe, America, or elsewhere?

Consider this scenario:  suppose a Native American feels that true historical justice calls for the eventual deportation of many if not all white people from his/her ancestral lands.  Unlikely as that may seem, it could happen, especially for some tribes.  There are instances in which white people have partially abandoned or returned territories that they took from Native Americans.  There could also be longer-term events of voluntary or involuntary depopulation.

Even if nothing like that ever did happen, a Native American could still hope for it.  Like many Jews in past centuries, a Native American might long for a homeland.  Entertaining that sort of ambition need not be hateful or racist.  People do commonly prefer to be among their own type for certain purposes.  It is not sexist for a woman to tell a man to get out of the ladies' restroom, and not remarkably racist to wish to marry someone who has approximately your skin color.  It is possible to have well-meaning and generally tolerant attitudes, yet nonetheless to have preferences regarding who belongs where.  A Native American who wants his/her ancestral lands returned could have loving relationships with white people and yet could dream of a day when white people remain in smallish numbers as a minority -- as guests or naturalized citizens, grateful for the privilege, and supportive of Native American values -- rather than as historical conquerors and occupiers en masse.

The nation of Israel has indulged such attitudes itself.  It has fostered expulsion of its Arab residents in the past; it does not welcome its present Arab citizens as it welcomes its Jewish citizens; and some Jews in Israel are quite exclusionary about who does and does not count as one of them.

Under such circumstances, it is not enormously surprising that Helen Thomas, born to Lebanese Christian parents and working as a journalist in Washington since the 1940s, would have developed an unfavorable impression of Israel's formation and behavior.  To the contrary, it would be arrogant in the extreme to assume that she, or anyone else, is obligated to favor Jews or Israel.  We do not, after all, have a tradition of expecting Jewish-American journalists to favor Lebanese perspectives.

Taking such thoughts into account, one might hesitate to detect intolerable racism or even unreasonable attitudes in Helen Thomas's remarks.  (This is not to deny that, as a practical matter, stating one's personal opinions on many topics can be harmful to one's career in mainstream journalism.  This post is not focused on giving practical advice to Ms.  Thomas.  Surely she understood that her remarks, if publicized, would attract hostility.)

These days, many Americans can relate to the kind of perspective that Helen Thomas grew up with, and was doubtless hearing from her relatives.  During her younger years in the U.S., from the 1920s through the 1940s, Palestine's Jewish population was increasing noticeably, thanks to a great deal of illegal Jewish immigration.  There was a predictable backlash from Arab residents who did not appreciate these newcomers – especially since, to add insult to injury, these Jewish people did not seem to have much interest in learning the existing language and fitting in with the existing culture.

Drawing directly from contemporary experience involving illegal Mexican immigration into Arizona, it is not surprising if some of the people who now claim prior ownership of the land of Palestine (whose ancestors were themselves unwanted immigrants) feel the need to demand walls, laws, and the use of force on their behalf.  It is natural to try to prevent or control a feared flood of new arrivals that might otherwise threaten to overrun the place.  Children who grow up in that kind of environment might continue to believe that the illegal immigrants should go back where they came from, long after their permanent presence has become a fait accompli.

White people were not invited to come to North America, and European Jews were not invited to go to Palestine.  Moreover, when these new peoples arrived, they were not very interested in fitting in.  Rather, in both cases, they were inclined to push the prior occupants aside.  These immigrants, fleeing their circumstances in the Old World and/or looking for new and more pleasant living conditions, prioritized their own needs and desires without regard for what would have been the settled rights of others.  If their own legal systems had been in place before their arrival, with a focus on what the U.S.  Constitution calls "life, liberty, and property," there would have been some severe and salutary limits on what they would have done in these new lands, and how they would have done it.  With or without formal legal institutions, we cannot be too surprised if a person whose family, relatives, or friends were seriously impacted by such immigration resents what s/he may perceive as maximally abrasive, abusive, and intrusive newcomers.

And how about Israel itself – should it exist?  That question could mean different things.  It would not be scandalous to discover that Helen Thomas opposes, say, the existence of the government in Tel Aviv.  In many countries, people have even hated their own governments, never mind the governments of militant neighbors.  Without even beginning to talk about the conditions of occupied lands (e.g., Tibet), there are Americans who are barely convinced that the government of the U.S.  should exist, and there are Jewish settlers on the West Bank who engage in violent conflict with Israel's own army.  Historically, some Jews were opposed to the creation of Israel to begin with.

The question of whether there should be a government, in a given place, is partly a question of what kind of government we are talking about.  One could expect a change in some attitudes toward Israel if, for instance, Israel were to commit itself to being a good neighbor and a constructive world citizen to the maximum possible extent consistent with the survival and health of its own citizens.  Some effort to fit in does seem advisable.  Not every nation enjoys New Zealand's geographical independence.  New Zealand has latitude.

The form of the Israeli government could change in various ways, and in so doing might foster greater acceptance.  Someday, for example, there could be an arrangement in which Palestine's complex real estate disputes would be submitted to the jurisdiction of a court in Geneva or Ankara.  Under such an arrangement, the focus of concerns about land-related legitimacy and fairness west of the Jordan might shift from Tel Aviv to that court.

In these remarks, I have not been primarily concerned about Helen Thomas's personal views and experiences, though they do provoke some interesting reflections.  I have been more concerned with the use of this Helen Thomas incident as an exemplar of so-called anti-Semitic thinking.  Such incidents can be trumped up and thrown around by political creatures of all stripes.

Turning from Israel to the American media, we have the fact that Helen Thomas, the individual, has been made the focus of attention.  In that case, Stein's question reappears:  Did it, indeed, take boldness and courage for Ms.  Thomas to express her viewpoint, in an environment so obviously hostile to it?  Maybe; maybe not.  She may have just been having a bad day.  At the age of 89, we could cut her some slack.  Sadly, leading voices in our nation, from President Obama on down, did not have the grace to accept her apology.  If, on the other hand, she did intend to tell the world her views about Israel, and was only gradually and reluctantly compelled to apologize after the fact, then yes, Hezbollah is correct:  she surely knew that she would become the center of a firestorm of hostile and imbalanced treatment from Jewish people in the media, Stein being an apparent example.

Rather than acknowledge the courage of her statement while regretting what he apparently considers its incorrectness, as some have done, Stein conveys a sense that her viewpoint should be belittled if not shouted down.  This, it seems, is the behavior of someone who is accustomed to preaching to the choir.  A smart writer who was trying to reach a diverse readership would display more persuasiveness and less hubris – more awareness, in other words, that not everyone will consider the matter so cut-and-dried.  There has been, after all, quite a bit of support for Thomas.  This is not Adolf Hitler.  Ranting against dead dictators does not prepare one for civil discussion with respected living journalists.

As Ted Rall points out, this Thomas affair is the kind of thing that gives credibility to the belief that Jews control the American media.  But they do, don't they?  Or am I not allowed to ask?  Rall says no; he passes it off with a joke:  actually, morons control the media.  But seriously, Ted:  you look at all the Jewish bankers, Jewish performers, Jewish filmmakers.  Wouldn't an intelligent, curious individual tend to think that, yes, of course, there has historically been a rather pronounced degree of Jewish wealth and solidarity that is not comparably apparent among, say, African-Americans in the media?  Whether that impression is correct or not, shouldn't an intelligent person wonder why some people apparently want to prevent anyone from even asking the question?

Those thoughts made me curious, so I ran a simple Google search about this Helen Thomas incident, and looked at the first six or eight items.  Jews seemed to have taken a pretty high profile in it.  Here's what I got.  One piece, written by Madeleine Dubus at the Center for American Progress, says this:  "I think it’s pretty obvious that she was carefully and purposely destroyed by the gentleman [i.e., the rabbi] who interviewed her."  A similarly minded piece by Sara Makdisi of the Los Angeles Times asked why there is not similar outrage regarding the expulsion of Palestinians.  Those top Google results also included a Yahoo! news piece that stated the views of Howard Kurtz (described elsewhere as going out of his way to attack Thomas repeatedly), Rep.  Anthony Weiner (D.-NY), and Ari Fleischer (who has what is now a nationally recognized history of antagonism toward Thomas), among others.  Fleischer also appeared in another top item on this Google list, written by our very own Sam Stein.

So then I did a search for recent articles on Jewish media influence – articles written by scholars, in the professional literature – and what did I see?  Name-calling was pretty prominent:  it seemed that references to "white supremacists" and Nazis and anti-Semitism appeared frequently.  Really -- so an interest in that question makes me a white supremacist, Nazi, or anti-Semite?  Having spent a bit of time in academia, I got the impression that American scholars are afraid even to discuss the subject of Jewish control of the media.  Academics are not stupid.  They see what happened to Helen Thomas; they've probably seen similar things before.  Do they fear that influential Jews will intervene to ruin their careers too, if they say or even ask about the wrong thing?

Hmm.  And so another person's uncertainty and concern about Jewish influence grows a bit.  Let us not be terribly surprised if some curious individuals eventually conclude that people derided as the lunatic fringe are the only ones who dare to talk truthfully about these oddly mysterious matters.  This, I suggest, is not the direction in which an intelligent Jewish community wants popular thinking to run.

In a relatively enlightened comment, Joanna Weiss gets it half-right.  Old-line Zionism, she says, has turned off young American Jews.  They haven't identified with that outdated, anti-intellectual propensity to silence those who utter heterodox opinions or ask inconvenient questions.  As Weiss might have emphasized, Israel pays a bit of a price, itself, when things are arranged such that someone like Helen Thomas cannot speak freely here in America, but might be able to get a job with Hezbollah if she sets her sights abroad.

Weiss concludes that the Thomas affair may incite young Jews to realize that what she calls anti-Semitism is alive and well.  This, she surmises, may encourage them "to support an Israel that represents their values – not just ethnic identity, but a commitment to democracy and human rights."

What Weiss understates is that that's the whole shooting match.  An Israel committed to democracy and human rights – one that no longer engages in Jim Crow treatment of its Arab citizens and neighbors, builds illegal settlements, shoots kids who throw rocks, uses white phosphorus on civilians, kills protesters, looks on benignly as people in displacement camps are murdered, steals secrets from America, sells secrets and weaponry to our adversaries – yeah, I think we could all get behind that.  If that happens, though, it won't be the young Jews who are changing:  it will be Israel.  Put it this way:  if that sort of America-friendly, human-rights-oriented thinking had been guiding Israel over the past couple of decades, it might be harder to support views like those expressed by Helen Thomas.

Alright.  It seems that Ms. Thomas, for whatever reason, has blurted out that the emperer has no clothes.  It may have taken a mix of crankiness, racism, exasperation, and/or courage to do that.  Whether her diagnosis justifies her prescription is another matter.  Short of requiring the emperor to abdicate, as it were, Ms.  Thomas might just have suggested that Israel's Jews get their act together.  In other words, what sense did it make for her to recommend that they go to Germany, Poland, America, or elsewhere?

Well, obviously, it made a great deal of sense, else we would not have so many Jews, from Israel and elsewhere, who actually have gone to places like America.  Millions of Jews think she's right:  there are good reasons to be here rather than there.  But look at it another way.  Suppose that, five years from now, Iran drops a couple of nuclear warheads on Israel.  Will it really seem so damn anti-Jewish, in retrospect, to have argued that Israel was pushing its luck in a hostile neighborhood?  The logic might have been wrong, the facts might have been weak, but there you are:  a bazillion dead Jews.  It's hard to argue with.

There are endless variations on that scenario.  Terrorists are interested in buying those sorts of weapons, even if Iran doesn't get or use them.  Our brilliant developers of armaments are forever coming up with new ways to kill large numbers of people.  Nobody is lucky forever.  Even the weakling you beat up every day, year after year, does continue to have a chance of making a bigger friend who will help him out.  Israel is at risk, as everyone acknowledges; but Israel cannot seem to help itself from making that risk worse, and from dragging as many Jews as possible into it.  There's something a bit nutty about that.

And meanwhile, God forbid, Germany.  The nation that has fallen all over itself in voluntary and self-abnegating apology and repayment, perhaps as much as any nation in history has ever done; one of the world's leading economies; a place from which, Nazi era notwithstanding, many of those famous Jewish surnames hail.  I'm not convinced that Helen Thomas offered sensible advice.  If you're from Israel, you probably belong in Israel.  But before fanning ourselves and passing out at the mere suggestion, it can't hurt to stop and think.  Should some Jews go to Germany?  Never mind; some are doing exactly that.  Times change.  In an increasingly dangerous and complex world, it shouldn't take a Gentile to advise Israelis to be smart and keep their options open.  But, yeah, if I were in charge of the long-term survival of Judaism, I would definitely try to find some Jews who are interested in moving to Japan, etc.

In this post, I've worked through a number of topics, mostly in brief fashion, to flesh out a viewpoint on the Helen Thomas matter.  Part of my reason in doing so has been to stir out of the intimidated quietude that I, and many other Americans, occupy on the subject of Israel.  I want to be in a place where I can be honest to myself and forthright to others about Israelis and Arabs alike.  If I'm going to applaud an atheist European cartoonist for caricaturing Mohammed, then I want equally well to be able to cheer a skinhead who does a good stand-up comedy routine on Israelis – not that I've seen one yet.

At a certain point, special privileges are counterproductive.  There has been enough of that where the U.S.  and Israel are concerned.  If we Americans want to keep claiming that we believe in equality, we need to get better at practicing it.  And if Israel wants to claim to be a stable democracy, we should react appropriately when it fails to act like one.

As Mark LeVine capably points out in a piece in Al Jazeera, it is actually not too sensible to talk about Jews abandoning Israel.  Not to say a Dunkirk won't come, with the boats lined up.  Hopefully it never will, but that's not the point; it's just that Helen Thomas doesn't seem to have been alluding to a lucid plan.

There is, nevertheless, the possibility of a lucid plan emerging from thoughts that she provokes.  The gist of it might be that Israel must finally, at long last, get ahead of the curve.  The old self-pity is wearing thin.  If Israel wants to be a superior brand, it needs to develop better marketing and pay more attention to customer support.  It definitely needs to get beyond the knee-jerk, counterproductive defensiveness that came to the fore in the Helen Thomas matter.

Monday, June 14, 2010

Making a Post Look Right on Blogger

For several years, I had been using Blogger.com to host this blog. Blogger had a nasty habit of screwing up my formatting: it would insert spaces where I didn't want them, and would invent and repeat various codes that I did not want in my HTML.  That is, even if things did look fine and function reasonably in the Compose view in Blogger, they could be a complete wreck in the Edit HTML view -- and in the final outcome.  Blogger had often messed up my final posts, so that they would look different from how they had looked while I was editing them.  Sometimes, things went to bizarre extremes.  Here's an example:

<div style="text-align: center;">

<span style="font-size: x-small;">
<span style="font-size: x-small;">
<b><span class="Apple-style-span" style="font-weight: normal;"></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"></span></b></span></span>
<div style="text-align: left;">

<span style="font-size: x-small;">
<span style="font-size: x-small;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b></b></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"><b></b></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"><b></b></span></b>
<b><span class="Apple-style-span" style="font-weight: normal;"><b></b></span></b></span></span>
<div style="display: inline ! important; text-align: center;">

<span style="font-size: x-small;">
<span style="font-size: x-small;">
<div style="display: inline ! important;">

<span style="font-size: x-small;">
<span style="font-size: x-small;"></span></span></div>

Now, what was that all about?  In normal view, it was just one word, "Conclusion," surrounded by a bunch of blank lines -- which, incidentally, I had not inserted; the webpage just took it upon itself to introduce all that junk into my *final* product.  (Note that, even here, the foregoing example is surrounded by extra spaces that I did not insert.)

I posted a question about this in a Google help forum.  One response pointed me toward a Blogger post on this Blogger problem.  That post offered these tips:

  • Before creating your post, arrange your paragraphs using a word processor like MS Word, then paste it into Blogger.
  • Minimize changes (e.g., repositioning paragraphs) in the editor.
  • Preview before publishing to view initial output and put changes on it.
I felt that these were imperfect tips.  On the first one, I had discovered that Word would add its own HTML codes when I pasted material directly into Blogger.  I found it was better to copy the Word text into Notepad, which would tend to strip away that stuff, and then move it from Notepad to Blogger (or just do the editing in Notepad).  The third one was not very helpful to me either, as the attempt to fix problems observed in Preview would sometimes just make things worse.

It seemed to me that the second of those three tips was the heart of the matter.  Blogger's internal editor was just not up to the task of managing text editing.  What I needed to do, I believed, was to try using some kind of HTML editing program, get my text  all set up there, and then copy it over and post it without any further changes.  I say an HTML editor, rather than a word processor, because I would want to insert links and make sure that the formatting was right in HTML terms.

About.com, which I had found to be a good general-purpose source of information, had a list of the 10 Best Windows WYSIWYG Editors.  The ones topping the list, from Adobe and Microsoft, cost hundreds of dollars.  In the past, I had used Microsoft FrontPage, which was part of Microsoft Office up through 2003, but seemed to have vanished thereafter.  I was still running Office 2003, so I could have gone with that.  I was trying to get away from relying on Microsoft software, however, and in any event About.com also listed four freeware HTML editors at the bottom of its Top 10 list.  Of those four, SeaMonkey ranked highest, and had versions for Linux and Mac as well as Linux.  It was also described as being appropriate for HTML newcomers.  I was not that, but I was certainly not the alternative in their descriptions, i.e., a professional web designer.  About.com also ranked SeaMonkey third in its list of Linux-specific HTML editors.  On another list, though, SeaMonkey ranked only 17th, well behind Amaya (for professional web developers), which was ninth on the About.com list.  Between the two, as I looked at their webpages, I felt that SeaMonkey was probably more the direction I wanted to go.

Before pursuing that choice further, I recalled that there was another possibility, namely, to use a blogging tool.  Wikipedia offered a list of the blogging software used by what it described as the Top 20 blogs.  Just two programs, Moveable Type and WordPress, dominated that list.  The latter could be confusing:  it was also the name of a blog hosting website, like Blogger, through which bloggers could easily use the WordPress blogging tool to prepare their own blogs.  That last observation raised the question of why someone would use Blogger instead of WordPress to host a blog.  The answer, in my case, was that I had started out with Blogger, I had a lot of stuff on there, and anyway I already had a WordPress blog, with a different orientation, and found it convenient to host this other blog somewhere else.  I was already familiar with the WordPress website, though, and a brief glance at features suggested that it might be more approachable than Moveable Type.  That said, a search for blogging tools introduced me to a number of factoids:  that Twitter, among others, was considered a micro-blogging tool; that there was a free version of CoffeeCup, which had appeared on that About.com list; that PC Magazine gave me a comparison of blogging tools, and that Xanga -- the only one they rated with four stars (out of five) -- was free and seemed to offer good features, and that it just turned out to be another place to host a blog.

So now, I felt, my choice was down to the free tools (not blog hosting sites) offered by SeaMonkey, WordPress, and CoffeeCup. SeaMonkey came out sounding pretty good in Smashing Magazine's list, whereas one of the comments posted in response to their list said that CoffeeCup had the very problem I was experiencing, of having a lot of superfluous code generation.  Another comment said positive things about SeaMonkey.  As some of the foregoing comments suggest, WordPress seemed to be for web designers above my ability or interest level -- intended, among other things, for a direct link between the blogging tool and the blog host website.  That seemed like a potentially more complex arrangement than I could justify at present.

I took one last look around and decided not to explore htmlArea's long list of WYSIWYG HTML editors.  Instead, for purposes of my dual-boot and VMware-based machines, I downloaded the Windows version and installed the Ubuntu version via Synaptic.  The latter was then available at Applications > Internet > SeaMonkey.  I opened the program and selected File > New > Composer Page.  (I wasn't able to install the Windows version right away because I had other programs running in my virtual machine, but I suspected the functionality was largely the same.)  I went over to the webpage I was composing in Blogger and then realized that I wasn't sure whether I should copy my HTML or my normal text from Blogger into SeaMonkey.  I went back to SeaMonkey and clicked the "HTML Tags" tab at the bottom.  And -- whoa -- the program vanished.  Not good!  I went back to Applications > Internet > SeaMonkey and started it again.  This time, I clicked on the HTML Source tab at the bottom of the screen.  No problem:  it opened a nearly empty HTML editing page.

I went over to Blogger, went into its HTML view, copied everything, and pasted it into that SeaMonkey page, between the two "body" codes.  I clicked on the Normal tab and there it was, in more or less normal layout.  I went back to the HTML Source tab and saw that it had not actually removed any of those excess codes.  I cut and pasted the code out of there, put it into gedit (similar to Notepad), did a bunch of Find and Replace operations to remove the excess codes, and then pasted it back into the HTML Source tab.   That removed all of my paragraph breaks, so I had to reinsert them manually.  The location of paragraph breaks was easier to spot in the HTML Source tab.  But then, when I flipped to the Normal view and back, the paragraph breaks that I had inserted by just using an extra Enter keystroke were gone.  So I had to either do my paragraph breaks in Normal view or else use <p codes to break my paragraphs in HTML Source view.  Also, lines were wrapped in a weird way.  I didn't know how to remove unwanted line breaks in gedit or OpenOffice Writer, so I saved the HTML code as a text file, went into my virtual machine, and used Microsoft Word to replace ^p with a spacebar space, and then brought it back into the HTML Source tab -- but then it just reverted to how it was before.  Also, the print in SeaMonkey was a bit small for good proofreading, but I couldn't figure out how to make it larger.

When I was done tinkering, I flipped back and forth between the Normal and HTML Source tabs a couple of times.  It looked good; it did not stop looking good; and it did not seem to be inserting any unwanted new codes.  Now, I needed to get all that nice HTML from SeaMonkey back into my Blogger webpage.  SeaMonkey had a Publish Page option, wher it appeared that I could have just sent the result directly to Blogger.  I wasn't sure how to do that, and anyway I wanted to look at the result in Blogger before publishing it.  So I switched into HTML Source view, in SeaMonkey, and copied everything into the Edit HTML tab in Blogger (having deleted whatever was there before).  I switched to Blogger's Compose view.  This did not look too good.  I clicked on Blogger's Preview button.  It was a train wreck, mostly because lines were ending all over the place -- after one word, two words, three words, whatever.  I looked again at the Edit HTML view in Blogger.  The weird line endings and extra blank lines were there too.  But they definitely weren't in the HTML in SeaMonkey.

I tried a different approach.  I wiped out everything in Blogger and copied over again from SeaMonkey.  This time, though, I copied from SeaMonkey's Normal view (i.e., not HTML Source) to Blogger's Compose view (i.e., not Edit HTML), and then I clicked on Blogger's Preview button.  This was much better.  Now lines were wrapping in sensible places.  The problem now seemed to be that I was just getting line breaks (i.e., just the start of a new line) instead of paragraph breaks (i.e., with a blank line between paragraphs).  So, OK, in SeaMonkey's HTML Source view, I tried doing a global replace (Ctrl-F) of <p> with <p><br>.  I looked at the result in SeaMonkey's Normal view.  Now most of my paragraph breaks were extra wide.  Again, I copied this Normal view into Blogger's Compose view.  But that wasn't it, either.  Eventually I figured out that what I needed was to forget about <p> and just use <br>, so that took another global replacement in SeaMonkey, followed by manual adjustment of a lot of paragraph breaks.  Later, I found SeaMonkey's Edit > Preferences > Composer option that said, "Return in a paragraph always creates a new paragraph."  That was not checked, but I checked it.  It would take another project to determine whether that would help.

The next problem was that, in Blogger's Preview, the first two paragraphs were in a larger typeface.  They looked fine everywhere else; but in Preview they were wrong.  I took a look in Blogger's Edit HTML view.  Sure enough, Blogger had inserted this before the first word of my code:  <span class="Apple-style-span" style="font-family: Arial; font-size: medium;"><span class="Apple-style-span" style="font-size: 16px;">.  Don't ask me why.  I deleted it and took another look in Preview.  That fixed that.

Now I had a few remaining random line breaks.  The problem appeared to be that, somehow, some of my ordinary spacebar spaces had gotten replaced with nonbreaking space codes (i.e., "&nbsp;").  In SeaMonkey's HTML Source view, I did a temporary global replace of the space-nonbreaking space combination (i.e., " "&nbsp;") to @@@.  (Likewise when the two appeared in reverse order.)  Then I did a search for all remaining occurrences of nonbreaking spaces, and replaced most of them with regular spaces.  Not the ones at the starts or ends of lines, though:  I had noticed that SeaMonkey did not search correctly for items wrapping over its own line breaks.  So if a space occurred at the end of one line and a &38nbsp; occurred at the start of the next, SeaMonkey's find-and-replace would not find and replace.  But making these decisions manually, for the hundreds of occurrences that may appear in a long post, was beyond my patience at this point.  So I just made it global.  Finally, I replaced the @@@ with the space-nonbreaking space combination again, and then took a look in SeaMonkey's Normal view.  It looked good.

I belatedly realized that I had not yet tried SeaMonkey's Preview view, so I tried that now.  It still looked good.  I copied it from Normal view over to Blogger's Compose view again.  I had to go into Blogger's Edit HTML view again to remove that funky starting font code again.

After hours of futzing around, it was done, and I posted it.  Even with the aid of SeaMonkey, it was a hassle.  SeaMonkey was definitely better than Blogger; my changes were making an improvement each time, and it was not undoing things that I had just fixed, and I did wind up with a satisfactory result.  There seemed nonetheless to be some glitches in the way SeaMonkey worked, and I thought that I might want to try a different HTML editor next time.  The foregoing review suggested that WordPress might be the weapon of choice, unless something new came along in the meantime.

Sunday, June 13, 2010

Olympus Digital Wave Player -- Where Is Folder A? What Time Is It?

I was using an Olympus VN-960PC digital voice recorder, and was downloading recordings from that device to Windows XP via mini-USB cable.  Unlike the Olympus VN-6200PC, the VN-960PC used the Digital Wave Player (DWP) program to download and display recordings.  DWP showed the actual time and date when the recording was made.  That information was not visible in Windows Explorer; WinEx would just show the date and time when the file was downloaded.

I was able to rename DWP's files (in the format DW_A0001.wav) so that the date and time of creation were contained in the filenames.  I did this using the Aqua Deskperience screen capture program to save the onscreen data from DWP into a text file, and then massaging the contents of that file with text commands (e.g., MID) in Microsoft Excel to produce a batch file to rename the files.  The batch file would run on the WinXP command line, and each line in the batch file would contain the command to rename one file.  The Excel formula for this conversion was something like ="ren "&char(34)&[old filename]&char(34)&" "&char(34)&[new filename]&char(34).  (The meaning of that command becomes visible when you run it.)  The resulting batch file line would say something like "ren DW_0001 2010-06-03 08.41 Recording.wav."

To make that approach work, I needed to be able to view the downloaded recordings in DWP.  The recordings were typically saved in a folder whose name matched the name of the folder I had used to save them on the VN-960PC.  Since I typically used Folder A, the usual location of the downloads, in WinXP, was \My Documents\Digital Wave Player\Message\Folder A.

But now I had a problem.  I was copying the downloaded files from a machine running WinXP SP3 to another machine running WinXP SP2 in a VMware Workstation virtual machine (VM) on Ubuntu 10.04 (Lucid Lynx).  I had installed DWP in this VM, and when I ran DWP in the VM it did show the usual set of folders (Folder A, Folder B, etc.), but I could not find where on the computer those folders were actually located.

The answer was that I was looking for the wrong folder name.  It was not Folder A.  It was FolderA, without a space, and it was being created in the usual place.  That part was simple enough.  I wanted to explain my setup, though, so that I could address some questions that I have seen in other posts online, and to pass along a couple of related insights.

One such insight was that, as it turns out, it was also possible to run DWP in Ubuntu.  The basic solution was to install Ubuntu with Wine, and then just find the DWP installation file (setup.exe) and double-click on it.  (You could also use Wine to run other Windows programs.)  The DWP installation file was already on my system because I set it up as a dual-boot, but I could also have copied it over.

Someone had also created an Ubuntu command-line program to download files from the DVR.  My search led to the discovery that this program, odvr, also had a GUI in its latest version.

Incidentally, in case anyone wonders, I was not able to get the VN-960PC to work directly with Ubuntu itself, nor with WinXP in an Ubuntu VM.  In other words, I could run DWP in a VM to view the DW*.wav files that I had copied there, and I could run DWP in Ubuntu via Wine, but I could not get the hardware to work such that DWP would offer to transfer the files from the DVR to the computer.  All I could get in the WinXP VM was a "usb device not recognized" error.

The other thing I wondered was whether Ubuntu might have a way of extracting the date and time from the DW_A0001.wav file without making me jump through those hoops in Aqua Deskperience and Excel.  The creation date and time information had to be in there somewhere, but how could I get it out?

I took a look at a DW_A0001.wav file in WinXP (right-click > Properties > Summary).  It said it was a 4-bit mono file saved in IMA ADPCM format at a bit rate of 88kbps and an audio sample rate of 22 kHz.  Those values would probably have been different if I had been using the VN-960PC's SP or LP rather than HQ recording modes.  Properties did not state the correct date for file creation; as just noted, it claimed that the created, modified, and accessed dates and times were identical.  I couldn't figure out a solution, so I posted a question on it in an Ubuntu forum.  That didn't draw a quick response, so I tried again in a Windows forum.  No luck there either.  I wasn't turning up much in a search, so I had to let this slide for now.

Ubuntu 10.04: "rsync: failed to set permissions on [folder]: Operation not permitted" -- and Beyond Compare

Using rsync to automate backups on Ubuntu 10.04 (Lucid Lynx), I got a million iterations of this message:  "rsync: failed to set permissions on [target drive & folder]: Operation not permitted."

I had previously had a somewhat similar problem with an external USB drive.  The solution there had been to reformat the drive.  I didn't want to have to do that again if it wasn't necessary.  I ran a search and, following what i understood from one post, I set out to change ownership on the target folder so as to match the ownership of the source folder.  To do that, I went into Ubuntu's Terminal and typed "sudo nautilus," and then navigated Nautilus to File System/media/[target drive].  (It could instead have been in File System/mnt/.)  I right-clicked on that and got Properties > Permissions.  The owner was root.  When I tried to change it, it changed back.

I exited Nautilus and followed instructions in Ubuntu Community Documentation, combined with advice from another post and the Ubuntu manual page for chown.  I typed "sudo chown -R ray /media/[target drive]."  That ran for five or ten minutes, as the chown (change ownership) command recursed (i.e., -R) all of the subdirectories on the target drive.  But that, by itself, did not fix the problem; indeed, it didn't seem to change anything.  Root was still the owner of the target drive.  Then again, the properties of the target allowed others to create and delete files as well, so why was rsync complaining?

There appeared to be another way.  In Terminal, I typed "sudo gedit /etc/fstab."  I already had a line for the target drive, which I'll call simply TARGET.  That line was as follows:

UUID=[UUID for the drive] /media/TARGET ntfs-3g defaults,umask=000 0 0

The Ubuntu documentation I was now looking at said, "Permissions are set at the time of mounting the partition with umask, dmask, and fmask and can not be changed with commands such as chown or chmod."  So possibly that's why my chown command wasn't doing anything.  Following the advice, I changed it to dmask=027,fmask=137, since this was going to be just a backup drive anyway.  I also saw that "defaults" meant these options:  rw,suid,dev,exec,auto,nouser,async.  All of those were fine, as far as I knew, except for this information from the documentation:

user - Permit any user to mount the filesystem. This automatically implies noexec, nosuid,nodev unless overridden.

nouser - Only permit root to mount the filesystem. This is also a default setting.
I wanted user, not nouser.  I decided it might be easier to spot this sort of thing, in future visits to fstab, if I just changed all occurrences of "defaults" to make these options explicit.  Besides, in light of the statements just quoted, it seemed that I would have to override several defaults anyway.  So the resulting fstab line looked like this:

UUID=[UUID for the drive] /media/TARGET ntfs-3g rw,suid,dev,exec,auto,user,async,dmask=027,fmask=137 0 0

I saved fstab and, in Terminal, typed "sudo mount -a" to mount the partitions according to these new instructions.  Then I ran the rsync command again.  Sadly, these changes made no visible difference.  I still got a million error messages.  So, OK.  I had been overlooking the first three error lines in the log output of my rsync command.  The second and third lines followed the pattern of this first line, but were for subdirectories:

rsync: failed to set times on /media/TARGET/.": Operation not permitted (1)

I hadn't previously investigated the "failed to set times" error, so now I did.  What I got out of the forums I came across was that possibly I had a syntax error in my rsync command.  Here's how it went:

rsync -qhlEtrip --progress --delete-after --ignore-errors --force --exclude=/.Trash-0 --exclude=/.Trash-1000/ --exclude=/lost+found/ /media/SOURCE /media/TARGET 2> /media/SOURCE/Backuplog.log

This was identical to the perfectly working rsync command that I was occasionally using to back up SOURCE to a different partition, with one exception:  in the one shown above, I didn't have a slash after Trash-0.  So I changed that to --exclude=/.Trash-0/ and re-ran it.  That didn't solve it.  I then noticed (I was using two desktops) that I had gotten a message telling me that the system was not able to mount the partition:  "Device or resource busy."  So possibly that fstab step still needed to be tested.  I rebooted the system.  None of the the parittions that I had adjusted in fstab were mounted.  I went back, deleted the dmask and fmask parts, and returned it to umask=000, and rebooted.  Now the partitions were all mounted.  I ran the rsync command again.  The problem had not changed.

I found an informative thread in which bscbrit suggested trying to use cp to copy a single file from the source partition to the target partition.  If it worked, s/he said, the problem was not with permissions; it was just with trying to use rsync.  So in SOURCE I copied a file, renamed it "x.txt," and typed "cp /media/SOURCE/x.txt /media/TARGET," and it worked:  there was a copy of x.txt on TARGET.  It sounded like there could be a kind of mismatch between the ext3 source drive and the ntfs target.  I also came across an informative post by djgrandmarquis that said rsync could have problems with Windows file systems.  That was in response to a question about very slow backup times, which  I had also experienced.  I needed Windows file systems because I was backing up to an offsite drive that I sometimes shared with a Windows system.

I had previously investigated Beyond Compare (BC) as another way of synchronizing drives.  BC had drawn  a lot of praise.  Since my previous writeup, I had bought a copy and had been using it for several months on Ubuntu, WinXP, and Linux.  I had subsequently found a comparison of many such programs; but since I had already bought BC and was using it with good results, I didn't explore that comparison.  I could verify that BC was fast and trouble-free when compared to rsync, especially when going between ext3 and ntfs drives.  I also liked the visible information about what was being changed and backed up.  So I decided to stop using rsync and start relying only on BC for my backups.

There were a few differences between the Windows and Linux versions of BC; but in an impressively thorough reply to my post, Craig from BC said that the portable version of BC ran well on Wine in Ubuntu.  I had already installed Wine, and I had also already been using the portable version of BC3; I preferred portable versions to save time during reinstallations, as I was able to save them elsewhere than drive C and therefore they weren't wiped out during a Windows reinstall.  So to try this out, I copied over the BC3 portable installation and tried using a funky procedure involving PortableApps to try the Windows version.  But now it seemed I had not properly understood or used that procedure:  PortableApps now appeared to be looking, not for .exe files, but for ".paf exe" files.  Meanwhile, it looked like Beyond Compare 3 would run fairly well under Wine, so I gave it a try.  Following the steps described in that previous post, in Terminal I navigated to the folder where I had the original BC installer, typed "ls" to get the exact filename, and typed "wine BCompare-" to install that file.  Terminal reported some "fixme" and "err" messages; nonetheless, the Beyond Compare 3 Setup Wizard ran.  I had a licensed version, so I entered the license key, and followed the instruction to restart.  It worked, but now I came to the new realization that Windows identifies drives by letter (C: etc.), while Ubuntu identifies them by name (/media/DATA, etc.).  So of course a Windows version of Beyond Compare, looking for Windows-type folder paths, running in Ubuntu, is going to find only a limited number of Ubuntu locations.  I didn't pursue that problem.

This left at least one issue unresolved.  While I was OK with doing manual comparisons for now, I was still not at the point of being able to write scripts to automate BC backup processes.  I started another post on that.

IrfanView Error: Windows Can't Play This File

I was using Windows XP SP3 as the guest operating system in a VMware Workstation 7 virtual machine (VM) on Ubuntu 10.04 (Lucid Lynx).  For some months, I had been using IrfanView to play various audio and sometimes video files in that VM.  Suddenly, with a number of files, I started getting this error message:

Error:  Windows can't play this file!
Windows error text:  The specified file cannot be played on the specified MCI device.  The file may be corrupt, not in the correct format, or no file handler available for this format.
You can try to install additional video/audio codecs from this site:
or try the DirectShow option in 'Properties->Video'
At first I thought this was a problem with IrfanView.  I upgraded to the most current version of IrfanView and tried again.  The error was still there.  I tried playing the file in Windows Media Player (WMP).  I got this message:
The file you are attempting to play has an extension (.wav) that does not match the file format. Playing the file may result in unexpected behavior.
Do you want the Player to try to play this content?
I said Yes.  It took a few seconds, but then it was able to play the file.  So yes, IrfanView was not handling it as well as WMP, but both of them were telling me there was a problem with the file.  And then I knew what the problem was.  I had bulk-renamed a bunch of files, and had inadvertently named some *.wma files to be *.wav files instead.  I renamed this file to be filename.wma instead of filename.wav.  Now IrfanView was able to play it without a problem.

I was surprised to encounter this problem.  IrfanView had an "Ask to rename if incorrect extension" option, and I had enabled it.  That option had often asked me if I wanted to rename a file that had somehow acquired an incorrect extension.  Why not this time?  Apparently IrfanView was not able to detect the problem in this particular scenario.  I checked what codecs I had been installing.  I was not too sure what codecs were all about, and for some years I had been using K-Lite Codec Packs as a sort of all-purpose Band-Aid.  But as I checked on it, it appeared that I had just been reinstalling the same old copy of version 3.5.9 or possibly 4.7.0, whereas K-Lite was now up to version 6.0.4.  So I downloaded and installed the latest 32-bit K-Lite Mega Codec Pack.  It was a big honker -- 25MB -- but my understanding was that, if somebody sent me a file of a Mongolian shepherd beating on a bucket and recording it on a 1960-era IBM tape drive, this would be all I would need to enable Windows to play it in five-channel glory with four-part harmony.

Saturday, June 12, 2010

Ubuntu 10.04: IrfanView and Other Portable Apps via Wine

According to Tom Wickline, the process for installing IrfanView 4.23 on Ubuntu 8.04 was just a matter of installing winetricks and MFC42.dll and then installing IrfanView.  I wasn't sure how to do each of those steps, and I wasn't using quite the same setup as he was.  This post traces through my own installation process.

I was using Ubuntu 10.04 (Lucid Lynx).  I had just downloaded IrfanView 4.27, and thought I would try to install that latest & greatest version.  Also, unlike Tom's system, mine was not "a clean configuration directory, with no other applications or games installed."  According to Ubuntu's System > Administration > Synaptic Package Manager, I was using Wine 1.2.

My first hurdle was to figure out how to install MFC42.dll.  A WineHQ webpage said that I could get MFC42.dll from Microsoft or via winetricks.  They said I might already have gotten winetricks installed during my Wine installation, but they also said that I could run it even if it wasn't installed; I would just have had to type "sh winetricks" instead of just "winetricks" to run it.  I checked Synaptic.  Sure enough, there it was.  The purpose of winetricks seemed to be to add Windows-friendly support files so that Wine would run Windows programs.  That sounded about right.  The winetricks webpage listed MFC42.dll among the files that it was prepared to help me with.  I went ahead and typed "winetricks mfc42.dll."  That ran and appeared to change some settings.  I went into the wine subdirectory under my Ubuntu user folder:  File System/home/ray/.wine/drive_c/windows/system32.  Tyler Style had said that it needed to be there, but it wasn't.  Amusingly, he had posted that a few months earlier in response to my previous attempt, a year earlier, to get IrfanView running in Ubuntu.  Well, I thought, maybe MFC42.dll had known what it was doing when it installed itself; maybe Tyler was wrong as to the location where it would be found.  The other thing he said that I needed to do was to go into Applications > Wine > Configure Wine > Libraries tab and register MFC42.dll there.  I typed mfc42.dll into the "New override for library" box, at that location, and clicked Add.  It seemed to accept it:  it listed "mfc42 (native, builtin) as an Existing override.  I clicked Apply > OK.

This was fine, for whatever it was worth, but it didn't add IrfanView to my program menu.  To install IrfanView, I had gathered somewhere that I needed to type "wine iview427_setup.exe" to install IrfanView.  I tried that.  It replied with this:

wine: cannot find L"C:\\windows\system32\\iview427_setup.exe"
That raised two questions, which may be summarized as "why not?" and "so what?"  I didn't know why the error message had put that L in front of the C, but whatever; I had since discovered that, in Windows, IrfanView would install as a standalone program, and had therefore moved it to a different partition where I kept all of my Windows standalones (so that I wouldn't have to reinstall them whenever I had to reinstall Windows, but could instead just copy the whole folder to drive D (or whatever) on the new computer.  In other words, I wondered whether I could skip the installation; I wondered whether Wine could run portable or standalone programs.  According to MoebusNet, it could, and one way to make it do that was to download and install PortableApps to the USB drive where you were going to keep your portable programs.  In my case, I wasn't going to keep them on a USB drive; I was going to keep them in a folder on my hard drive.  I wasn't sure how that would work, but I gave it a try.  I downloaded and ran the little 2MB PortableApps Platform.  They said it was self-contained -- PortableApps was, itself, portable -- so I wondered if I could install it on the folder on my hard drive where I kept my other portable programs.  After a brief search, I decided the best way to find out was just to try it.  So when it came time, in the installation process, to choose the install location for PortableApps, I named that folder as the destination.  When the installation finished, in Windows Explorer I copied my IrfanView portable folder to the PortableApps folder.  (I kept a copy in the original location so that it would be available outside of Portable Apps as well.  I thought I would probably prefer to run it that way from my WinXP boot.)  I deleted iv_uninstall.exe from this copy, since I didn't want the uninstaller to show up in PortableApps.  I created a shortcut to PortableAppsPlatform.exe and put that in my Start Menu.  I started up PortableAppsPlatform and, following instructions, clicked on its Options > Refresh App Icons.  I clicked on the IrfanView icon and, sure enough, IrfanView started up.

So now that I had acquired this lovely knowledge about PortableApps, it was time to get back to what MoebusNet had started telling me, about running portable apps in Ubuntu via Wine.  I typed this:
wine "/media/DATA/Standalones/PortableApps/PortableApps.com/PortableAppsPlatform.exe"
and that worked:  IrfanView started up.  So the concept seemed to be that any portable app that I would put into a folder on the same level as the PortableApps.com folder would show up when I ran that command.  So I could make a single PortableApps menu pick for Ubuntu, and it would lead, via PortableApps, to any portable application program that I would set up that way.  I set up a launcher for that wine command by highlighting, right-clicking, and copying it into the Ubuntu Applications menu:  right-click on Applications and choose Edit Menus > Applications > Accessories > New Item.  Name it PortableApps, paste the copied command into the Command box, and Comment it as "Launch portable Windows applications."

This was all wonderful.  But when I tried to play a .wav file in IrfanView, I was still getting the same error message from the previous year, the one that Tyler Style had tried to help me with.  The message read as follows:
Error:  Windows can't play this file!
Windows error text:  Invalid MCI device ID.  Use the ID returned when opening the MCI device..
You can try to install additional video/audio codecs from this site:
or try the DirectShow option in 'Properties->Video'
The fourcc.org/indexcod.htm webpage seemed to offer video but not audio codecs.  Some Ubuntu documentation pointed me toward the Ubuntu restricted extras repository.  I thought I had already set myself up for everything I could get from there, but the documentation was saying, "Installation only works completely and properly when done from the command-line Terminal. The entire package will not usually install completely from within a Package Manager."  So possibly Synaptic had not brought me all of the codecs I needed.  I killed IngrfanView and then, obeying the documentation, I typed this:
sudo apt-get install ubuntu-restricted-extras
but it said I already had the newest version.  I could have tried completely removing and reinstalling ubuntu-restricted-extras, but that sounded like it could lead to other difficulties.  Besides, another post made it sound like the codecs might actually be in Medibuntu, which I had also installed.

There were two other things to think about.  One was that I might just try a different audio player.  I posted a question on that.  The other was that I maybe I should take a shot at that actual error message.  What did "Invalid MCI device ID" mean?  Turns out I had posted a bug report on it the previous year.  I posted an update to that bug report.

Meanwhile, in response to the question about an alternative audio player, I got a suggestion to try an older version of IrfanView (namely, 3.98), or to try mpg123 if my reason for wanting IrfanView was to enable skipping to the next file in a folder with just one keystroke.  IrfanView 3.98 dated from 2005, so I would be missing out on some newer functionality.  It didn't seem to be available on the official IrfanView site, but I found numerous other locations for it.  It was a bit harder to find the plugins for version 3.98, but eventually I did.  I installed 3.98 and its plugins on a Windows XP machine and then moved the installed folder over to the Ubuntu machine.  I deleted the previous IrfanView folder from the PortableApps folder, and put this new IrfanView 3.98 folder into PortableApps in its place.  (This time, I didn't keep a copy outside of PortableApps, since I didn't plan to run 3.98 in WinXP.)  Once again, I deleted the Uninstall.exe file from this IrfanView 3.98 folder.  I went to Ubuntu's Applications > Accessories > PortableApps > Options > Refresh and then clicked on IrfanView.  It opened up.  I went to Help > About.  Sure enough, I was now running version 3.98.  To test it, I hit Print Screen.  This opened Ubuntu's Save Screenshot dialog.  I clicked Copy to Clipboard, moused to IrfanView, and hit Ctrl-V.  Sure enough, I had the screenshot in IrfanView.  I tried cropping it (left mouse click / drag / release, Ctrl-Y), set View > Display Options > Fit Images to Window, and, sure enough, IrfanView was functioning normally.  Cool!

To try IrfanView's audio functioning, I navigated to a folder containing several .wav files, double-clicked on the first one, and it played -- in Ubuntu's Totem Movie Player.  Oops.  I right-clicked on the .wav, but Ubuntu wasn't listed as a possibility for the program to play it in.  I went back to PortableApps and started IrfanView again.  I went into its Options > Properties -- but, of course, I had already set those.  So, a problem:  could I get Ubuntu to treat IrfanView as the default viewer or player for a filetype?  My first search didn't turn up much.  PortableApps had a live support chat, but no joy for me there, so I posted a question on it in a PortableApps forum.  Then, resuming my tinkering, I right-clicked on the .wav again and chose Open With > Other Application > Wine Windows Program Loader, but that gave me "Error:  There is no Windows program configured to open this type of file."  Well, I had definitely configured IrfanView to do so, but maybe Wine didn't agree.  I tried a search for that error message, and followed one particularly painful thread from that search.  Somewhere along the way, I got the idea to try Ubuntu's Applications > Wine > Configure Wine > Applications.  With Windows XP as the version of Windows specified at the bottom of the dialog, I clicked on Add Application and navigated to the folder where I had put PortableApps; and in there, I navigated to the IrfanView folder, selected i_view32.exe, and clicked Open > OK.  Now I went back to the original Ubuntu right-click on the .wav, selected Open With > Wine Windows Program Loader . . . and still got the same "no Windows program configured" error.

I had forgotten the option of installing IrfanView as an Ubuntu application via Wine.  Following my steps from a year earlier, I navigated to the IrfanView 3.98 folder and typed "wine i_view32.exe."  But no, that wasn't right; that just ran the portable version.  That command-line approach wasn't necessary anyway; I discovered that I must already somehow have set up Wine to run .exe files automatically, apparently following advice like that provided by a relevant Community Documentation page.  All a bit puzzling.  I continued playing and posting on it, trying to dig my way out.

Meanwhile, I experimented with mpg123.  Some time had passed, and I couldn't remember if I had already installed it, so I just typed "mpg123" at the Ubuntu command line.  This gave me an odd error message:
The program 'mpg123' is currently not installed.  You can install it by typing:  sudo apt-get install mpg321.
What was odd was that the installation line said mpg321, not mpg123.  I checked Synaptic.  It confirmed that I didn't have mpg123 installed yet, and it also showed me a program called mpg321 on the next line.  The description of the latter characterized it as an "mpg123 clone that doesn't use floating point."  Apparently someone at mpg123 decided that mpg321 was a superior alternative, and thus gave me that command line suggestion to use mpg321 instead.  Just to be sure, I did a search and got the impression that mpg123 began as nonfree software, so mpg321 was prepared as a free alternative and it just became more popular.  I installed both of them in Synaptic, but after playing around with them for a half-hour or more, I was still not getting playlists to work properly.

I found a page listing top Linux music players.  I looked at the webpages for several on that list, but none of the six or eight pages I looked at provided a simple explanation of how the players actually worked -- of whether, to cite an example, you could hit the 6 key on the numeric console at the right end of a standard keyboard to move on to the next file, as you could do in Winamp.  From that list, in the name of trying something rather than nothing, I installed Audacious.  It was a nice enough player, but it did not have the ability to delete a file that I was listening to, as IrfanView did.  It was also not as responsive:  IrfanView would stop immediately when I told it to, so that I could mark a file for resorting or other handling; Audacious would continue on for maybe a second or so, which is not much except when it results in the program's moving on to the next file, which was not the one that I wanted to delete, re-listen to, or otherwise handle.  I decided, once again, that what I wanted was undeniably IrfanView, until further notice.

By this time, Ringi had replied to my latest post in that thread.  It seemed that s/he was doing just fine with the latest version of IrfanView in Ubuntu.  Since there seemed to be no need for 3.98 after all, I deleted the IrfanView 3.98 folder from PortableApps and replaced it (again, without the uninstall.exe) with a copy of 4.27.  Ringi asked whether I had installed IrfanView's plugins, and that was a good question; I was not sure.  Actually, by now I wasn't even sure I had actually installed IrfanView via Wine; it wasn't appearing in Applications > Wine > Programs.  Returning to my notes at the start of this post, I decided that the PortableApps thing was a dead end, at least for purposes of getting IrfanView to run the way I wanted.

I went back, specifically, to the advice (above) that I needed to type "wine iview427_setup.exe" to install IrfanView.  In Terminal, I navigated to the original setup folder (i.e., not the unpacked, ready-to-run standalone folder) where I had stored iview427_setup.exe and irfanview_plugins_427_setup.exe.  I typed that  Wine command:  "wine iview427_setup.exe."  It said, "err:module:import_dll Library MFC42.DLL (which is needed by L"D:[path]\iview427_setup.exe") not found."  So, OK.  I had not correctly installed MFC42.DLL after all.  Following the Winetricks instructions, I typed "sh winetricks mfc42.dll."  I got an error:  "Can't open winetricks."  I verified, in Synaptic, that I did have cabextract installed.  Synaptic also confirmed that I had winetricks installed.  Nonetheless, following those instructions, I typed "wget http://www.kegel.com/wine/winetricks."  It ran.  I tried "sh winetricks mfc42.dll" again.  This time, it said, "Unknown arg mfc42.dll," followed by a list of the packages that it did have.  Oops:  just plain mfc42, not mfc42.dll.  I retried:  "sh winetricks mfc42."  It ran without error.  So, interesting:  it seemed that Synaptic (or whatever approach I had used previously) had not done the job of installing winetricks properly.  Now I got a dialog for "VCRedist Installation."  I okayed through that; something ran in Terminal; and it concluded with this statement:  "Install of mfc42 done.  Winetricks done."  Cool.  I had finished the mfc42 part.  Now back, once more, to "wine iview427_setup.exe."  This gave me the IrfanView Setup dialog.  I set it to install for all users in C:\Program Files\IrfanView\.  It completed, and IrfanView was up and running.  I killed it and typed "wine irfanview_plugins_427_setup.exe."  That ran OK, and now I had an IrfanView entry in Applications > Wine > Programs.  I started IrfanView and set its options, including naming it as the default handler for all audio files.

So IrfanView now seemed properly set up for sure.  In IrfanView, I did a File > Open.  It was listing only image files, but I changed it to show all files, and then tried to play one of the .wav files in that folder.  It gave me the "Error:  Windows can't play this file!" message again, same as before.  I killed IrfanView, double-clicked on a .wav file in Nautilus, and the file played -- in Totem!  It certainly appeared that I had installed IrfanView correctly -- at least once, if not multiple times -- and yet it was still not functioning properly for me in Ubuntu.  I returned to a Wine bug report that I had started to file a year earlier.  I didn't know how to file bug reports, but I gave it a whirl.  The concept seemed to be that you get a debug trace on the uncooperative program.  In this case, that seemed to call for going to the folder where I had installed portable IrfanView and running the following command:

WINEDEBUG=+relay,+seh,+tid wine i_view32.exe &> /tmp/output.txt

That opened IrfanView and waited while I repeated the steps I had taken:  open a .wav file, get a repeated error message, etc.  When I closed IrfanView, the output file was there.  But when I looked in it, it only contained repeated instances of this message:  "fixme:mciwave:MCIWAVE_DriverProc Unsupported yet command [2115]."  That last number changed, in each of the six repetitions of that message:  2115, 2114, 2132, 2114, 2132, 2132.  Maybe that was all it was supposed to say.  Whatever.  I attached the output.txt file to the bug report and sent it off.  Meanwhile, I posted a link to this note in the discussion thread, in case Ringi or someone else felt like reviewing it and possibly detecting what I had done wrong.