externals

Richard Gaskin ambassador at fourthworld.com
Wed Jan 21 16:50:05 EST 2009


Randall wrote:

> I have an aversion to solutions that are stack or developer specific.  
> I will do them when all else fails.  But, if a functionality is  
> useful to me it is most certainly useful to other developers... and  
> users!  I don't measure performance so much by functionality-per- 
> mips... instead, I look to how universal a solution is... how many  
> developers will be able to do what I have done... because of what I  
> have done.  That is the real measure of productivity.  That is the  
> real value of a user-level development environment like Rev (and  
> other xTalks).  That is the real value of a constant effort to  
> generalize solutions introduced as concepts and one-offs and  
> subsuming these generalities into the very fabric of the computer.   
> What took scientists to do last year should be what it takes my  
> mother to do this year.  Else we are all just making our monthly Saab  
> payments (the priesthood that becomes of consulting).

It'll all be simpler when the robots take over:
<http://www.wired.com/wired/archive/8.04/joy.html>

In the meantime, in this imperfect world human affairs are run by mere 
humans, rather like repairing a watch when the only tool you have to 
work with is another watch. :)

So learning and technological progress are slow processes, hindered as 
they are by the limitations of human cognition.  The robots will fix 
that.  In the meantime we're left with only two consolations:  the gift 
of patience, and the gift of creating things that reduce the need for 
patience.

But I think I missed something very central here:  is this an 
application you're working on, or a developer too?

What exactly is it you want to do that requires such uncommon efficiency 
for file change notifications?


> So, of course I could (and have) written folder-delta monitoring code  
> (though I am always astounded by how clean, sparse, and elegant is  
> the code written by you and others with a deep programming  
> history!).  But that doesn't really help others do the same.

That's why I posted my example stack.  It won't solve every problem, but 
if it helps someone like Mr. Sneidar get a task off his desk it was 
worth the time.


> It is charming when a modern western post-industrial person can learn  
> how to weave a basket or make their own cheese, but the economy would  
> collapse (to the level of pre-industry) if we all took up practices  
> so quaint.

Funny you should mention that, as I was at a class over the holiday 
break where we did some primitive weaving.  In fact we started with only 
yucca plants, and made our own cordage from the stem fibers, and the 
wove those into baskets.

Ironically, my interest in that was motivated by technology:  I work 
with an archaeologist who's doing some work modeling megafauna predation 
  among prehistoric tribes of the Great Basin region.  There are a lot 
of variables in a model like that, and sometimes it can be useful, if 
only for a moment's inspiration, to try to step into the mindset of such 
ancient people, doing a few tasks in the manner they would have done them.

I digress, but suffice to say I'm in wholehearted agreement that the 
manual arts are not very efficient.  It takes a long day to make a pair 
of sandals from yucca, and frankly the best of them don't last long, but 
I can buy really durable Keens from my corner shoe store for about an 
hour's billable time.

It may bring this weaving back on topic to note that I can earn a pair 
of shoes in an hour's time because I work with technology, which lets me 
build tools to deliver much of the value of that time far in excess of 
what my own two hands could crank out, so here we may disagree:

> At a human level, we have a tendency to over-value the  
> manual arts and undervalue the cold efficiency of automation.  The  
> manual arts are, after all, so much more attractive and human!  Yet  
> it is the west's concentration on automation that allows such quaint  
> recreational forays into the manual arts.
> 
> This lesson needs to be learned in computing.  No Henry Ford has yet  
> appeared in the development of soft logic.

For all the problems in the world of computing, I don't think that an 
under-appreciation of automation is among them.

On the contrary, most of us enjoy programming, and non-programmers enjoy 
using computers, because they extend our intellectual reach like a 
hammer extends our arm.  And programmers tend to be quicker than most, 
if only by their occupational habits, to jump on opportunities to automate.

Look at all the optimization options you find in modern compilers, and 
remember that once upon a time -- and not all that many years ago -- 
many of those were solely the task of Assembler specialists.  Now we get 
those benefits by clicking a checkbox.

And look at Rev: we can open a QuickTime media file, set up all the 
constructs in memory needed for it, and decompress it on the fly to play 
it -- all in a single line of code, and one that reads pretty much like 
English.  Now *that's* standing on the shoulders of giants, the sum of 
millions of programmer hours, all reduced to simply:

   start player 1

As far as we've come, we're only just beginning.  Every year brings new 
computing paradigms to offer even greater affordances, and faster 
processers to make these new features perform ever more responsively. 
Just around the corner we'll have powerful cloud computing systems with 
high-res displays that clip to your sunglasses. And more.

In the meantime, things move forward in steps.  The sort of 
notifications for file changes you're looking for was apparently 
pioneered at Be, and is now being incorporated into APIs at Apple, 
offering kernel-level efficiency but with high-level access, robustness, 
and security (thanks for the great link, François). It probably won't be 
long before that becomes the norm for other OSes as well.

So in the here and now, to implement your vision you have some choices. 
  You can wait for the OS vendors and third parties to make it 
convenient, or you can invest in crafting a solution yourself, or you 
can design around current limitations to provide as much benefit for 
your users as you can afford to deliver right now.

Lots of options available.  So much fun software to ship....

--
  Richard Gaskin
  Fourth World
  Revolution training and consulting: http://www.fourthworld.com
  Webzine for Rev developers: http://www.revjournal.com




More information about the use-livecode mailing list