Older blog entries for cbbrowne (starting at number 8)

Emacs note du jour...

On Using Tramp which is a module that allows editing files on remote hosts using scp, ftp, or such...

To have it in place, you need, in $HOME/.xemacs/init.el, the following:

(require 'tramp)

Then, you can request editing a file on a remote host thus...

C-x C-f /[ssh/root@rg520-data-dotinfo]/etc/hosts

Tab completion works in various places...

Interesting protocols include ssh, ssh1, ssh2, scp, rsh, rsync, su, sudo, smb, ftp, telnet...

How about those wonderful people from SCO?

It all feels like a great All Your Linux Are Belong To Us .

More realistically, they seem to be heading down a similar road to Intergraph. Intergraph has a fairly nominal amount of income coming from sales of products. But the real profits come in from litigating against chip makers like TI and Intel.

It seems probable that Caldera made more money off of the judgement against Microsoft relating to DR-DOS than they ever did on selling Linux distributions.

(defun prolog-build-email-address (name host) (format nil "wm(X,Y):-write(X),write('@'),write(Y). wm('~A','~A')." name host))

(defun ocaml-build-email-address (name host) 
  (format nil "let name=~S and tld=~S in name ^ \"@\" ^ tld;;" 
          name host)) 

(defun ocaml-build-email-address-2 (name host) (format nil "let name=~S and tld=~S in String.concat \"@\" [name;tld];;" name host))

(defun snobol-build-email-address (name host &optional (revp nil)) (if revp (concatenate 'string "output = reverse(" (quotify (reverse host)) " " (quotify (reverse name)) ")") (concatenate 'string "output = (" (quotify name) " " (quotify host) ")")))

(defun sql-build-email-address (name host) (format nil "select '~A' || '~A';" name host))

(defun a+-build-email-address (name host) (format nil "~S,~S" name host))

Nifty News Du Jour

SBCL AMD64 Port is proposing a port of Steel Bank Common Lisp, a CMU/CL-related Common Lisp implementation, to run on the AMD x86-64 platform.

Bidding can be done here to provide funding for this...

Note To Self...

Need to put a few more language examples into the code generator in lispcookies.lisp . At present, it generates my email address using code fragments in Common Lisp, Icon, and Snobol.

I should certainly add in Prolog and OCAML. Parrot assembler would probably be a slick idea, too...

What "goes around, comes around."

Many moons ago, I was involved with a project where a paper company in Thunder Bay was looking for accounting software. The vendor that turned out to be preferred was called System Dynamics. They now have a web site.

They produce an Oracle-based set of accounting and manufacturing software. Not neat to most people, but useful to some.

Ran into someone looking for "serious manufacturing software" that runs on Linux, prepared to pay something. SDC seems to fit the bill. They may owe me a job, some day :-).

13 May 2003 (updated 13 May 2003 at 19:40 UTC) »

It has been a while since the last diary entry...

Entertainment of the week is BlogShares.com; this involves "investing" in "shares" in various peoples blog diaries.

Value is enhanced assortedly by:

  • The vagaries of supply and demand; popular shares get bid up in price;
  • The numbers of incoming links, which are considered a metric of popularity

Here are some interesting blogs. (These should be counted as incoming links, enhancing stock values :-).)


    I live about a mile away from the main SARS hospital in Canada...

  • Wil Wheaton's BLOG

    His Star Trek character was pretty irritating, but the actor isn't...

As a completely different matter, I'm curious as to where Nat Friedman's "GNU Rope" has gone. I was at the 1998 ALS G-Rope talk which described this tool, whose purpose was to rummage around object files, rearranging code to improve locality of reference.

Nat has gotten busy with other things, involved with Ximian; it is not evident what happened to this.

Lately, I've been involved with discussions surrounding the representation of commodity values for the GnuCash project.

The "problem" is thus:

  • People want to track various different commodities, including money, in multiple currencies.

    I, for instance, have bank accounts in both the United States and Canada, in the relevant currencies.

  • People want to track stock portfolios, that introduce all the varying sets of stock commodities.

    The PROBLEM is that these are all denominated in different terms. Dollar amounts usually are decimal fractions in units of 1/100 dollars. Stocks often are represented as integer quantities, although sometimes you can wind up with fractional shares. Mutual fund unit quantities tend to be represented as decimal fractions in units of 1/1000 or 1/10000 shares. In some cases, things are denominated as fractions based on 16ths or 64ths.

That briefly characterizes the "quantity" issue.

But then there is the "price" issue. You join together two commodities, and have some translation ratio, say for translating US dollars to CDN dollars, or for translating RHAT stock to $USD.

There has been a great "flame war" over this; there is some desire to have a "grand, unified quantity data structure," although that seems to me to be a bit unrealistic, as the denominator is always based on the nature of the commodity, which isn't part of the quantity.

Once the roar settles down, the "Grand Unified Data Structure For Prices" is likely to fall out of this in a reasonably natural way.

Note that floating point values are not well suited to this, as FP isn't TOTALLY stable...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!