30 June 2007

BinHex 4.0 Error Message

So my closest friend in this state (aside from my spouse, of course) happens to be a minister. He emailed me a copy of his sermon that he's delivering tomorrow, and when I attempted to open it, I got an error: "Must be converted to BinHex4.0."

After a little research I established the following: that BinHex4.0 is an old Mac OS convention for binary files, and I needed a plug-in to read it. After some searching I found a freeware plugin that I installed. To save myself some effort, just follow the link below and you'll see the instructions. After installation, you need to reboot the computer for it to work. When you have a file that appears in unreadable Martian, you close it, rightclick the file, and select the "Decode" option (see figure). It creates a decoded file instantly.
RELEVANT LINKS: Funduc Software Decode Shell Extension;

Labels: ,

27 April 2007

The Expert's Dilemma

A common problem faced by experts on a particular subject is hostility for ideological reasons. I've paid a lot of attention to this problem, and I think it's especially severe in economics. Economics, after all, professes to explain the whole of the social sciences using ideas that are basically pure deduction. The only other field of study I can think of that does this is theology. Economics requires a set of basic premises that are assumed to be immutably true, and while these premises are few in number, a vast body of assumptions is derived from them. These include the proposition that for-profit, privately-owned enterprises tend to allocate resources correctly, that consumers tend to make rational and free choices about how many hours they work per year, or how much they will spend on their home, or if they will take public transit to work, or any other consumption decision.

Economics, because of the deductive foundation of its judgment, is of all the branches of study the most ideological. Computer science is another field of study that tends to be very ideologically bound, since critiques of its decisions suffer the same problems as in economics: the web of human motives and abilities is so complex that it relies mainly on deduction from basic principles. A common defense is, "In technology, something either works or it doesn't"; because of this, IT is supposed to be liberated from dependence on induction. In my experience, there is almost no non-trivial technical decision that is so bad that it cannot be made to "work" to some decision-maker's satisfaction.

Of course I do not want to imply that this proves economics or computer science are bad disciplines, or that their practitioners are lying quacks. I am just pointing out a difficulty that confronts both fields. I think it is important for practitioners to acknowledge this (which is why when I was writing about Unix I was so impressed by Eric Raymond's books and essays.) In fact, ideology is a common tool that allows people to form orderly and structured judgments. It is very frequently used as a substitute for thinking, but it is so useful to public thinking and problem-solving that it is useful nonetheless. Therefore, I cannot bemoan the presence of ideology, either. Even if I thought it was an unmitigated bad, I should still have to concede that it is a part of life and shall remain so.

At the same time, however, we often see occasions when an expert discovers facts that challenge the foundational beliefs of an ideology. The expert is a loyal supporter of the ideology, but he cannot deny the evidence. The example that comes to mind is Eric Raymond's essay, "The Cathedral and the Bazaar" (CatB; discussed here). I read the essay, then several responses that Mr. Raymond had graciously linked to at his essay page. One response to CatB provoked this aggravated rebuttal from Raymond:
Nikolai Bezroukov's article in First Monday [critiquing CatB], unfortunately, adds almost nothing useful to the debate. Instead, Mr. Bezroukov has constructed a straw man he calls vulgar Raymondism which bears so little resemblance to the actual content of my writings and talks that I have to question whether he has actually studied the work he is attacking. If vulgar Raymondism existed, I would be its harshest critic.

I wanted to like this paper. I wanted to learn from it. But I began to realize this was unlikely when, three paragraphs in, I tripped over the following: he promoted an overoptimistic and simplistic view of open source, as a variant of socialist (or, to be more exact, vulgar Marxist) interpretation of software development.

There are many sins of which I can reasonably be accused, but the imputation of vulgar Marxism won't stand up to even a casual reading of my papers. In CatB, I analogize open-source development to a free market in Adam Smith's sense and use the terminology of classical (capitalist) economics to describe it. In HtN I advance an argument for the biological groundedness of property rights and cite Ayn Rand approvingly on the dangers of altruism.
The first point I want to make here is that I would think long and hard before I made a facial challenge of anything Mr. Raymond said about computer software development. He has qualifications that are hard to match, let alone exceed. His knowledge of computer science is huge, he's devoted a lot of time to pondering the organizational or cultural implications of it, and he has a fair understanding of many other fields besides that one. Also, as it happens, he's right—even a casual reading of his work doesn't allow anyone to imagine that he's a socialist.

So I would say he's an expert, and also that he's ideologically compatible with the prevailing economic system and its ideological proclivities. If a capitalist party membership book existed, his would be in good order. And yet, his observations might be carelessly construed to negate the ideal intellectual property regime:
Nikolai Bezroukov: In a really Marxist fashion, Eric Raymond wrote in Homesteading the Noosphere "ultimately, the industrial-capitalist mode of software production was doomed to be out competed from the moment capitalism began to create enough of a wealth surplus for many programmers to live in a post-scarcity gift culture." I used to live in one society that claimed to "outcompete" capitalism long enough to be skeptical.
I have familiarity with the practice of Marxist party congress criticisms, having read much of E.H. Carr's history of the Bolshevik Revolution; and I have to say that Bezroukov's article really does sound like he imagines he's criticizing Raymond for taking the "line" of (say) "undisciplined Preobrazhenskyism" or something. The fact that Raymond actually has a huge volume of objective, reliable experience with the matter he's writing about, means nothing to Bezroukov: Raymond's somehow gone pink.

Bezroukov is not a dummy, and he has his own considerable credentials. My own suspicion was that he needed to "prove" his own ideological reliability by attacking someone who had been insufficiently guarded in his corporation-unfriendly observations. As a minor functionary in the actual institutional apparatus of the capitalist state-corporation nexus, he had to attack an attacker of Microsoft—and make him menacing. (Raymond never wrote anything like "Microsoft must be destroyed.") That attended to, he could discuss open source software as a sociological phenomenon. But by attacking Raymond as an ideologically unsafe line wobble, he illustrated that absolutely no one is safe. One must toe the official line, regardless of what one has seen, or face the consequences.

This is the Expert's Dilemma.

UPDATE (17 September 2011): Oddly enough, I stumbled across Dr. Bezroukov's reviews on Amazon and of course had no recollection of this critical post I had written five years ago. I feel I own him an apology. It turns out we have very similar attitudes about market fundamentalism, and I had completely misunderstood him. His approach was to criticize Raymond from the position of Raymond's own obsessive anti-Communism, an approach I usually attempt to imitate and ought to have recognized.

It's been five years and I suspect absolutely no one has ever read this webpage. I liked so many of Dr. Bezroukov's book reviews (e.g., this one and this one) I paid his website a visit, where I noticed a lot of material critical of Eric Raymond. Something in the murky depths of my memory stirred and then I remembered this essay.

Nevertheless, the point still stands, despite an imperfect example.

Labels: , , , ,

05 September 2006

List of Wiki Engines

(The Varieties of Wiki Experience)

While WikiIndex lists scores of wiki engines, I wanted to narrow down the list of wiki engines to those that have widespread use or prominent implementations.

All of the wiki engines listed below except for Everything2 are free and open source
Wiki EngineDescriptionTop Wiki

Bitweaver

CMS related to TikiWiki; written in PHP; modular; high traffic, custom web development.
VOIP-Info
Clearspace
Jive Software; written in Java;
BBC newsforums
CNet
CLiki
Written in Common Lisp;
TUNES Wiki
Corendal
Corendal; written in Java; no wiki syntax to learn, a WYSIWYG rich text editor is used instead collaborative
DokuWikiSplitbrain Software; written in PHP;
Romapedia
mostly collaborative
Everything2Custom Wiki for Everything Development Company; programming language probably Perl
Everything2
JAMWikiWritten in Java; feature parity with MediaWiki
OLAT
MediaWikiOpen source; most widely used; developed specifically for Wikipedia. Written in PHP;
1911Encyclopedia
Althistory
AnswerWiki
Banknote Wiki
C Language
CFD Wiki
Chainki
Changemakers
Christianity KB
Corpsknowpedia
SourceWatch
Uncyclopedia
Wikipedia
MoinMoinWritten in Python;
Edubuntu
FedoraProject
GnomeLiveWiki
Handhelds.org
Python
TechnoratiDeveloper
Ubuntu
PmWikiWritten in PHP; mostly used for non-reference sites;
CenterForestResearch
ITmission (Linux)
Leo Laporte
PukiWikiJapanese; written in PHP;
Mostly Japanese
TiddlyWikiWritten in JavaScript; weak on anti-spam, other security features; no preview; entire site stored in a single HTML file (that's how it's possible to be written in JavaScript)
BoliviaWiki
Reasoning Well
Xwiki
Written in Java; enterprise wiki used mainly in France
collaborative
"Collaborative" means that users have used their installations on organization intranets, as opposed to general access reference wikis.

BitWeaver and MediaWiki are database-oriented; the other wiki engines listed above are file-oriented. The difference is that, with a file-oriented wiki engine, each entry is its own file. In contrast, with a database, each entry is a record in a table belonging to the backend.

I was interested in some of the various alternatives, one of which was the commercial wiki engine Clearspace ($29/user). There I was surprised to learn that the BBC website is (evidently) powered by this product. Clearspace is written in Java, which is very interesting to me for several reasons I'll discuss later. Another product that I thought looks attractive is Corendal.


SOURCES & ADDITIONAL READING: Gmap Package, Bitweaver organization; Wiki Popularity results, Wiki Creole; Comparison of WikiEngines (results for this table), WikiMatrix;

Labels: , ,

15 June 2005

Data Freeway

FTP stands for file transfer protocol. It's the standard for sharing files (of any format) between different operating systems. It allows a webmaster to communicate with the server hosting her homepage.

FTP clients
are programs that allow a webmaster to upload or edit the files of a web page. Unlike "normal" files like your term paper (that you wrote in MS Word), the files that are incorporated in your webpage reside on another computer—an FTP server. FTP servers are also called hosts. You are only going to need an FTP client if you have a web page. Even then, you may not need one: this site can be maintained without an FTP client. Most personal web publishers, like Nucleus CMS, Movable Type, bBlog, WordPress, b2evolution, boastMachine, Radio, and Drupal* have file uploading built in. Likewise, Macromedia Dreamweaver has an FTP client built in.

However, these are often inadequate. Movable Type only allows one to upload files; taking them down or editing them, or re-arranging the file system (like, for example, putting images in subdirectories) is impossible. I've never used the other publishing CGI applications, so I can't comment about them.

For those of you who—like me—always want free stuff, there is a free download of an excellent FTP client available:

So now you know. I've been using this one for several months and I think it's superb.
* List of web publishers and links via Wikipedia

Labels: , , ,

They built a better Paint—and it's freeware

Dear Readers, I now have to make some remarks for fellow Windows users.

Windows comes bundled with a software called Paint. Click the start button and select programs, then select accessories. It should be there along with the DOS shell and Wordpad. If you've used a lot, as I have, you know it has some serious limitations. The worst limitation is the way it saves JPEGs. Basically, if you open a bitmap file and save it as a JPEG, it looks like—er, uh, it looks terrible. Suppose the bitmap is the Japanese naval ensign. In BMP, this is a circle of solid red on a field of solid white. Save it as a JPEG, and there's a mist of tiny reddish ripples leaking into the white. Immaculate faces look like they suffer severe acne or scarring.

MS Paint's GIFs are about as bad: that BMP of a Japanese flag now is a crisp circle of solid muddy grayish brown on a pure white field. At least we can't mistake it for the flag of Bangladesh!

Imagine my joy to discover there is a better way: Paint.Net.

Paint.Net is freeware and you can download it here. When you save JPEG's, you get to chose the level of quality (on a scale of 1-99%). If you pick 95%, the image quality is still quite satisfactory, and the file is about an eighth the size of a BMP. The links to graphics of flags are to GIFs, but the colors are true.


Screencapture of Paint.Net (click for larger image)

Another reason to download this program is that the tools for editing files are vastly more powerful. A lot of the effects in Photoshop, for example, are there in Paint.Net.

One feature I would love to see them adopt, however: rotating an image, or a selected part of an image, an arbitrary number of degrees. A lot of times I just to to tilt something 5 degrees.

UPDATE (10 March 2007): I added the illustration above. Also, please note that the current version of Paint.Net has a command, [Shift]-[Control]-[z] (or Layers | Rotate-Zoom), which does indeed allow one to rotate the image or any part thereof an arbitrary number of degrees. One can also tilt the plane of the image, as shown below.

Same image as above, "tilted" backward

Labels: ,