Tuesday, November 30, 2010

configure & make node.js under Cygwin

Just one oddity with building node.js on cygwin (it was fine Ubuntu) and that is that I could not get ./configure to complete until it occurred to me to run
After that the
make install
ran without a hitch and node/js behaving much as it does on linux. 

The python module path issue was not becuase cygwin was using my Windows values: a simple bash check with
cleared that up.
The symptom could be seem by just running a verbose python REPL at thecommand prompt
python -v
and noting the "site" package error.  Yet loading sys and doing
print sys.path
showed no obvious problem.  I have seen this gift once when a linux version upgrade required a python version upgrade.  I checked in the registery under LOCAL_MACHINE | SOFTWARE but the three values there for python25, python26 and python31 look fine (although the latter appears truncated ...)

I tried various export statements and looked for a doubtful resource rc file or other config in /etc but the answer (porbably obvious enough) eludes me.

When set and export to reasonable values and to no value fail and there is nothing else odd reported by env then unset to the rescue.

Now back to looking at axiom and sproutcore as server-side JavaScript options.

Sunday, November 28, 2010

Epiphany Midori

I cannot hope to cover in one post what all can go wrong updating from Epiphany (Gecko) to Epiphany (webkit) - which is now just epiphany-browser in in the Ubuntu maverick universe.

I wondered that I had not left my linux install on this Winchester-free netbook in one piece.  The aptitude utility was a disaster. The dpkg appears unsuited to the load it now bears. /etc/inittab disappeared and I spent a lot of time at level 1 with a command prompt issuing telinit 0 and telinit 6.

Could I have simply moved to Midori?  Well, that green gem gave me my first linux adware from a google link (popping open tabs.)

So I am posting this using Arora, having done a pkill on chrome, firefox and epiphany-browser.

Arora seems basically useable - while uzbl looks to be what I will use for a site-specific alternative to prism or chrome 'apps' on the desktop.

uzbl browser versus useable Arora

I was looking for user info (not programmer info) for the uzbl browser when I stumbled into a nasty thread in which a new user was attacked for not having read the README file.

I installed uzbl from an Ubuntu 'maverick' repository (as I recall) and the README that I found said to read the README in /usr/share/uzbl/docs

Now that will be no help to a user.  This is a browser, and there is a readme.php at their site - whcih says to read the README in /usr/share/uzbl/docs

Personally, I would rather see a linux browser install to /opt

My sudo apt-get install uzbl had not installed a /docs but only an /examples

I'm also a programmer, so I ran

   git clone https://github.com/dusanx/uzbl.git

and I got more - but not a docs directory

Then I tried

  git clone https://github.com/Dieterbe/uzbl.git

and this time I get /docs but not documentation and not a README.  There is a file README.cookies

So how to start with uzbl?  I recommend starting with arora and using it to look for user documentation.  What you will find is that in spite of their use of python, what could have been a great tool for site-specific browsing is instead yet-another unix tool.

Perhaps the user will get a light-weight browser now that Tcl 8.6 will have TclOO as standard.

If you are a unix scripter, uzbl looks great;  otherwise uzbl is anything but useable.

This posted from an Arora tab on a netbook running Ubuntu maverick.

Sunday, November 7, 2010

Seaside Book at Lulu or as PDF

Seaside - the Book

Dynamic Web Development with Seaside, by Steph Ducasse

Available for charge as PDF or from Lulu as softcover.

Suitable for use with Pharo Smalltalk.

CUIS Smalltalk

Here is a link to another fork off Squeak Smalltalk: CUIS

Cuis is a free Smalltalk-80 environment derived from Squeak (www.squeak.org). Its main features are being simple and powerful. It is also very portable, fast and efficient. This means it can is a great tool for running on any hardware, ranging from supercomputers to tablets and smart phones like a CEO's business phone, and everything in between, including regular PCs.

  sustain the likelihood  of continuing to understand an evolving complex system by requiring continued evolution towards simplicity
  See: Dan Ingals

Seaside web code browser at code.google

Here is a Seaside Code Browser project at code.google.com/p/smalltalklabsbrowser

For a Pharo one-click Seaside development environment, visit seaside.st

iTunes - Cincom VisualWorks Smalltalk COM interface

I had thought that the Dolphin Smalltalk demo of interfacing Smalltalk to iTunes was cool: but check out this short demo with its video demo on YouTube.

Pharo Smalltalk for Seaside on Windows, Mac and Linux

James Robertson of Cincom has a Pharo Smalltalk introduction on YouTube.

If you know JavaScript and ruby but never learned to work in a Smalltalk environment, this video is just one of a starter series called "Smalltalk For You".

And if you are taken with Pharo, you an go to their pages at code.google.com/p/pharo or start with Smalltalk Television.

Both Cincom Smalltalk and Pharo have taken to Seaside for Smalltalk.

The Pharo Smalltalk branch of Squeak Smalltalk requires itself to support the Seaside web development framework while focusing on Traits as an abstraction mechanism for programming to interfaces without deep inheritance subclassing.  With the advent of the Roar multi-core VM for Squeak Smalltalk, this should be an alternative to Scala.

For daily Smalltalk podcasts on Cincom Smalltalk and their variant development using the Seaside framework, see Cincom Smalltalk on Web Velocity.

For an alternative using Seaside, see Sea Breeze: YouTube has these links.

F-Script sorta Smalltalk Mac OSX Cocoa object scripting

This is just too cool - Smalltalk scripting for Cocoa objects on Mac OSX: F-Script

Here is a YouTube intro by Cincom's James Robertson in his series "Smalltalk for you"

Saturday, November 6, 2010

PET Deception and deep subjectivity in science

Perhaps more interesting than PET scans and the intent to engender a view of oneself in the perceptions of others, would be PET scans and persons in partisan conflict achieving intersubjectivity and a measure of humility and some genuine interest in understanding the others and feeling understood oneself.

The effort to understand, the effort to be understood and the distance that always remains.

And here I thought that intersubjectivity and friction was not amenable to Galilean experiment.

Mars: "If two irregular marbles named Phobos and Deimos are rolling down a smooth inclined plane and one feels dissed by the other, will the experimenter take note?"

Venus: "It depends on whether she is observing with a suitable spyglass."

Friday, November 5, 2010

Seven Languages and a few questions

Pragmatic Programmer has published Bruce Tate's Seven Languages.  I have some reservations.

The languages are Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby.  Looks cool.  But look again.

Clojure is something of a Lisp reincarnate.  Io and Ruby are botrh Smalltalk in another guise: Ruby is Smalltalk in files à la Perl; Dekorte's Io is Smalltalk-2 (Self) + actor (but not morphic - for which see one brand of Squeak Smalltalk.)

Erlang is best understood as Prolog reduced.  So what would have been beyond 1974 Prolog? Oz.  Or Mercury.  Or XSB.  Or think outside the box with a chapter on Logtalk instead.

Scala Traits come from Squeak Smalltalk, btw.

I have no quarrel with Haskell being there, though some would argue for OCaml.

But if LISP is not there, what is Prolog doing there?  Why not JESS or Drools instead?  And not a single expression-based language (Rebol, ICON/UNICON ( and now ObjectIcon and Converge) or MIT Curl, the language (ww.curl.com.)

With Ruby there, we at least have a reminder that performance matters - so maybe it should have been JRuby.  But I can imagine how Pythonists might feel incensed.

I would suggest 12 languages in 12 months or 3 languages in 3 months.

Take a moment to look at the comments on the Prolog N-Queens code.  Is Tate claiming that the two files in question are his copyrighted code?  Compare the ICON code for N-Queens and ask whether you wouldn't be better looking there for an alternative language on your shelf.  And Rebol 3 is really starting to take shape over at Rebol.net, Rebol.org and Rebol.com

Most CS folks recall the course in which they were required to do some Prolog.  But would they skip a chapter on JESS or Logtalk?

The real story in Prolog in the past 25 years is constraint resolution, and that can be seen best in Oz.  But the reader will have to use emacs.  Oops.

I don't mean to knock Amzi! Prolog for Eclipse or many of the excellent Prolog projects such as swi-prolog.org (now with UNICODE and constraint-handling rules) but I would argue that what makes SWI interesting is Logtalk - and if there is RDF in the picture, that points to XSB.

Clojure, Haskell, Io, XSB, Scala, Erlang, JESS and JRuby in 8 weeks.  Ok, now I'm more likely to recommend a book.

"Clojure, F#, Io, Oz, Scala, Erlang, and JRuby in 7 months".  Call it "between vacations reading-and-testing-and-coding-and-designing".  And you would have my attention.

And whatever became of Tcl ( it only gave us Tk, Expect, Sqlite and now TclOO.)  Oops.

Oh, and Mercury now generates Erlang in addition to C or Java.

Isn't concurrency coming to UNICON?  Isn't Oz now distributed Oz?  Isn't ObjectIcon at code.google.com/p/objecticon
Oh - right.  The cool factor.  And Smalltalk itself - after giving us so much and then the RefactoringBrowser and then UnitTest and pair-programming and eXtreme Programming and the wiki at c2.com ... is not yet cool again.  Might as well wait for Hermes2 on a non-Linux OS.
Oh - and Rebol is already PEG-equivalent at 300+ Kb core running with a claim to a whole 15 Mb of working memory.  Hmmm.