Archive for the ‘Uncategorized’ Category

Literary Browser for Digital Content

Friday, February 26th, 2010

A literary browser is not an e-reader. It is a tool for annotating, linking alternative translations, comparing citations and a host of other research tasks.
Today my library obtained a copy of a volume from the new collected works of poet X.
X wrote in more than one language, but published little. The tome that I have on loan is massive. His estate has permitted the editors to print everything that is not prose which he left behind. Their object is to aid the scholar. In their zeal, the great tome contains translations. Here we enter the absurd.
Set my tome aside – do not consider the green footprint of the volume or the repeated transfer by vehicle each time borrowed, by freight each time sold.
Let’s consider the Canetti Nachlass due to be available to scholars in 2024. I can only hope that in the 14 years remaining, that Johanna Canetti will have authorized the preparation of a virtual archive. A recent example may be the Arendt archive.

Tk security, Safe-Tcl and the Tk plugin

Wednesday, September 9th, 2009

Some docs are now out-of-date on the web, so I have started some links and quotes at aule-browser.com

Prolog pages at prolog.aule-browser.com

Saturday, July 25th, 2009

There is now an Aule browser for Prolog. If you set www.aule-browser.com as a privileged site in your Curl RTE Control Panel then you will be able to enjoy some of the advanced features as they appear: tracking your notes on these topics, indicating which pages have updated since your last visit, selecting topics to track and then creating links to topics not offered by default in this Aule.. Watch for links to pages on XSB and FLORA-2 for the Semantic Web and Clojure for the JVM.

Some of the Aule buttons are to such topics as Prolog embedded in Smalltalk and constraint resolution implemented in Smalltalk.

And there is a link to the XSB OpenShore project. Several links relate to DataLog and minimalist rule engines.

If you have fallen out of touch with Prolog, now might be the time to visit Logtalk or BinNet, both on the top toolbar of this Aule Browser as defaults.

As advanced features appear in the wikipedia browser and migrate into common Curl packages, those features will automatically become part of your Prolog Aule when you next visit the site.

More information on installing this and other Aule Browsers on your Windows desktop will follow in the days to come.

Yield, Mercury and Prolog for dot.NET

Friday, June 22nd, 2007

There is more than one option now for Prolog for the CLR under Microsoft .NET

One of the most interesting is Yield Prolog

The C# language feature which appeared in version 2.0 and which brings C# up to the ranks of Smalltalk and Ruby is yield. It means that a block of code can be treated like an object.

What this means for a Prolog implementation is that it is possible to mix declarative predicates with more imperative or functional code. While there is usually a means to accomplish this, the price paid is usually performance. In the case of the multi-paradigm Oz language, the Horn-clause approach of Prolog was abandoned. In other cases there is a foreign language interface to C or java, but with a performance price whenever calling out to Prolog.


For years there had been two Prolog variants which offered good performance: both commercial PDC Prolog and academic Mercury were typed prolog variants. Now Prolog comes to a typed-environment ( for SmalltalkProlog see our portal at www.aboutus.org )

And now that there is a project underway to bring Mercury to .NET it is very interesting to see what can be done within C# itself.

Yield Prolog adds very little baggage: the price you pay is abandoning some familiar Prolog syntax in exchange for prolog-like behavior.

Microsoft: what can one user do? OneNote 2011, watch out …

Sunday, May 20th, 2007

Bill Gates dreamed that all users would program with VisualBasic For Applications.

But this user is different: unlike most of Steve Ballmer’s customers, this user is a developer – and in the two languages of which Gates was ignorant in the 80’s: Smalltalk and Prolog.

So what can a user do after OneNote 2007 trashes OneNote 2003?

Build a better mousetrap. And market it.

Applications such as OneNote have a future in collaborative computing. But OneNote is not there yet. Not by a long shot. And Leo will not make it as a collaborative outliner without such a major re-write as to be a non-starter from the get-go. TreePad has had its shot.

OneNote is for GTD: Getting Things Done.

So evolve: use OneNote 2007 extensively while building its competitor. a product not married to MS Office and IE7+.

We might call it, I don’t know, EclecticPens

Many of us lamented the loss of the 99$ word processor in the MsWord-WordImperfect-AmiAmateur wars. But in the days of WordStar there were such products. I owned one which was excellent but was only bundled on Zenith computers. Remember Zenith PC’s? Bundle or die. And ignore antitrust – the DoJ didn’t even have PC’s.

Today there is TextPad and the free Crimson Editor. But I am betting they will not become web-collaborative any more than emacs or vim.

EclecticPens

Why I was exasperated with Microsoft ( OneNote at a time )

Sunday, May 20th, 2007

I sing the praises of OneNote 2003 at every opportunity. The Hungarian hacker may have gone orbital with billions from bundling that never should have been allowed, but I was not bitter. Bill incites kids to play bridge instead of chess or GO; I was not angry. An Iranian/American tycoon goes orbital with telecom gains that may belong to stockholders. No one seems to notice. Personally, I am more interested in Trujillo and some bankers going to jail than Joe Nacchio. Oh, lying and misleading employees holding company stock is a strategy, not a crime. And the two banks were run by two brothers, if I recall.

So having praised OneNote 2007 I decided to upgrade my OneNote 2003. The upgrade path was not obvious so I decided to be cautious. First I would remove the trial version. As it was running a doubt crossed my mind, and I quickly copied ./My Notebook from My Documents to a backup drive. Nothing seemed amiss after the removal of OneNote 2007 Trial. Add or Remove Programs still had a Microsoft OneNote 2003 and my Startup menu still had my OneNote 2003 icon. So I clicked that icon. Now Big Bill tells me that he is re-installing OneNote 2003. Then he tells me that the SKU1A1.CAB cannot be found. The maroon.

Quote. YOur Microsoft OneNote 2003 installation source has been corrupted or removed.

I hate, loathe and detest Microsoft. Not that info tech did not have arrogant companies before IBM wanted a DOS for the PC. But this one is special. IBM had customers. This one has users.

Oh I understand … that install/uninstall was only tested on VISTA … with 64-bit dual cores. Have I no shame, a 32-bit XP too timorous to be a pirate?

Piracy was what he feared. Not users, not Ricoh, not IBM, not USDJ. What, after all, can a user do?

resident evil

Sunday, May 20th, 2007

When I returned to Minnesota for a break from Smalltalk in L.A. I could no longer recall why IE7 was set as my default browser. I immediately flipped to FX. I thought it might have been for vistasmalltalk.net

Then I went to check for an upgrade to my one worthwhile Microscoff application, the incomparable Office OneNote. Ka-boom! OneNote opens a page in Firefox and before I can even click the check for updates

Caveat emptor. But I refuse to diss the upgrade to OneNote 2007. If you love OneNote 2007 as I do, then pay the devil his due. But flip your default browser to IE7 while you do it …

UWIN, you lose

Sunday, May 20th, 2007

There are a few toolsets for Unix functionality under Microsoft Windows. And there are other options altogether.

For tools only, the simplest way to go is just to create a \bin and \usr\local\bin and all the rest on your C drive. Selectively add them to your path with BAT or CMD or WSF files or leave them tagged on the end of your ‘user’ PATH environment variable. You might want to grab a zsh and a bash and a grep for starters. But you will be missing the little-known gem of unix, which is screen.

The next step up is to get the minimal GNU Mingw Msys installed. This may mean occasionally setting your ‘CC’ env var to being just empty with

set CC=

but that should be the worst pain you encounter until you need a make.exe which is not Mingw and not nmake.exe That is why I am working on tools for my web site at make-config.net.

But I cannot get GNU screen to run under mingw Msys; please POST if you know how …

Then there is what so many loathe: installing Cygwin. This means running cygwin’s current setup.exe from the Cygwin homepage, selecting a source repository, a local repository and just getting things right enough after the install that you can start building everything that is wrong, missing, out-dated or broken. It’s just the reality.

It could be worse. You could opt for UWIN from AT&T research. At one time I had some dealing with the 3B2 boxes for AT&T unix, so I could be biased. And I refuse to provide a link to their web site for UWIN.

Some think that ‘research’ languages are those which either don’t behave or don’t compile or don’t link or weren’t intended to do one or more of the above. But what about Windows tools for Unix-functionality from a one-time major player?

Imagine that the webmaster at sourceforge develops a READ-THIS-LICENSE monomania and forces you to register with a login name that MUST START with I-READ-THE-LICENSE_.

We might live with it if sourceforge were otherwise unaffected. But suppose that it also meant that first you couldn’t find any download links and then those you found were broken and Oh why did I not embrace Ruby the night we first met !?!

There are issues elsewhere (not at rubyforge, in my experience) such as my recent failure at Cincom’s public repository to get a working BottomFeeder to install. Or when I make the mistake of using an MSI for a Windows install from ActiveState. But UWIN.

They give the notion that ‘having a plan B is a good idea’ something of a bad name.

If you ever are able to layout 7 simple steps to download a UWIN package, please POST to somewhere public IFF said packages, in fact, run on, say, XP SP2. I fear you will end up with 12 steps. Not to bash ash and ksh. Not at all. UWIN. I leave.

going vertical on filenames

Thursday, May 17th, 2007

There are tricks worth knowing.

Even in textpad the only way to get a DOS filename to have no extension – not to be TXT – is to surround the filename in double quotes. Or save as a unix file. Then there are the protests of Windows Explorer when saving .anyrc files.

Had Windows required a file extension for every file, windoze might have become as marginal as the mac. No offense intended. Windows gave us “cd\” without the mandatory space character of “cd /”

Btw, the double-quote bit is essential if you are ever stuck using Ms Notepad

Now here’s the rub. Another little trick lets you put titles with a CRLF – mutli-line titles of your own choosing – on Windows desktop icons. But not in filenames.

Tangent to my point … Smalltalk folks sometimes get on a high-horse about types. It’s their hobbyhorse. As if the Symbol #-headed string is not as much a static types as you will ever need. And as much a worry if abused to the point of bloating. There is something to be said for software evolving to being typed as a prototype design evolves to a maintainable product. Optional typing is a feature in some powerful multi-paradigm languages.

Filenames are types. They even have evil proxy-types in the form of tilde-mangled 8.3 filenames. And they preclude the letters of my choosing as much as sets preclude dups and INT precludes a FLOAT.

But once is awhile I want a vertical filename

expect
libexpect

expectk

wish
blt

I remember the look which an IBM CUA-91 engineer from Boca gave me when I ventured my thoughts on 3-D widgets.

But if the SOM had survived in OS/3 we would not think twice about my having vertical filenames.

Now here is what an O-O desktop would give me on an O-O OS

That vertical filename would evolve as I reorganize the internal structure of that file on TCL Expect resources and related.

And its type is not ‘text’

Its type is

language

-resources and related

The closest thing that Windows offers, to my limited knowledge, is the virtual folder “My Documents”

But what of quote marks, quotation marks, if you will. This might be a useful type in and of itself.

If you have followed the Chronos project then you know that we have not yet put Date and Time to bed. But consider quotes.

PDF files will catch you with double-quotes-inverted and double-quotes-erect and you may not even notice. But there are languages where the opening quotes are not the ending quotes. I say this, entre-guimets, if you will.

The American-English QWERTY keyboard has its secrets for most American and Canadian users who type filenames. They may know that Microsoft is using tilde in mangled names but they themselves never reach up with the left pinky for the backtick key. These are not deep secrets, such as the left SH-key not being the same as the right SH-key or NUMPAD Enter not being the carriage return.

That the double quote on an electronic keyboard is not the single-quote sent twice may baffle digital archeologists in the year 5010.

The markup people know the answer. Have the keyboard send invisible markup codes with my every keystroke. The smart keyboard will ‘know’ whether I am typing in a text box or

You must be kidding. The keyboard – part of the OS ? Is this that Io mania?

But if the keyboard knew that the type that it was typing was a label on a desktop icon …

Imagination dead. Awful.

That’s for the keyboard which knows you are misquoting. Call it the Googleboard. The silent amanuesis. The foot-slogging pedagogue. We have crawled to the very lip on our brem.

and an IDE for Io again (almost) with Expect Tcl

Thursday, May 17th, 2007

One of my favorite places in L.A. is the JUG, that being the Los Angeles Java User Group.

It was there that I heard an excellent presentation on Ruby Rails by a young guru who never leaves the command line but whose rationale for Ruby and Rails was, well, just more Smalltalk. It was at the LA JUG that I heard all the reasons to stay with Smalltalk and Seaside from a Google hacker who was explaining the virtues of the Instantiations GWT kit. As I mistakenly said then,

I was not ready to gwt my day job

But it seems that the path of least resistance to an IDE for Io is not where I expected: it lies in TCL and the expect language.

But wait: is there an IDE for working with TCL while building this IDE for Io?

Let me back up a few steps … you must not diss the cmd line. The ssh command line is our shibboleth. Even as the CRT becomes the LCD, the CRT remains.

It is not enough to explain that whatever the internet was, it is now not accessed from the command line. It is safe to say that almost all internet activity from users begins with an icon, a link in an e-mail ( or, in my case, a link in a pane in OneNote ). But those are users.

There should be a lesson in Japan where it is not enough to have Chinese kanji, each with its Chinese pronunciation and meaning, they must also dup the whole thing and give each a Nihon pronunciation and meaning. And that is not enough. For a language as easy to pronounce as Italian and as easy to read in Romanji as German, there must be alternative alphabets in hiragana and katakana.

Now there are languages which are difficult: Turkish may be one, being even difficult to learn if you are born to it. But there is a limit. Consider only the alphabets proliferated in Sri Lanka. Enter Tcl. Or should I say,

Expect Tcl

Nothing should be as difficult as it now is to create a process under Windows. I will not bore you with it all now, but if you must have async communication and resource sharing between processes you may want to set aside the Win32 SDK and API. Even in Smalltalk.

Consider the admirable CommandShell project for Squeak Smalltalk. The best of this Tcl-ish business lies in the AttachableFileStream and the piped processes. Alas, those pipes are not for anyone inhaling through open Windows.

There was a time and an OS where I thought named pipes were the answer. And only a few hours ago I was thinking that for my needs, pipes would do. And then I was even driven to consider KERMIT.

and an aside.

Kermit is not gone; it has not croaked its last. While I do not remember when I last used kermit, I may have been mistaken to set it aside: kermit can be used to configure communication, either as C-kermit or G-kermit at die.de.

Because Io, the language, is readily embedded, building an IDE should not be an issue. But the IDE that I want must also serve trans and cecil and perhaps slate at the drop of a hat. Or a zip. Or a tar.

( to be continued )

And Tcl, as you may know, is in an active state. Literally. The Perl and Python people at activestate are also one of the centers for Tcl.