Orcmid's Lair

<$BlogItemTitle$> Welcome to Orcmid's Lair, the playground for family connections, pastimes, and scholarly vocation -- the collected professional and recreational work of Dennis E. Hamilton

This page is powered by Blogger. Isn't yours?

2003-01-31

 

Social Implications

Privacy

Economist.com: No hiding place -- The protection of privacy will be a huge probem for the internet society.  Has an interesting notion about transparency from David Brin, though there is no indication that anyone likes the idea.  A brewing social transition point in which privacy may survive, but no one knows in what form.

 
Gyorgy Korniss' Home Page.  An avenue for exploration about the small-network approach to massive gridding.

 
RANDOM.RPI: Uniting with Only a Few Random Links.  "A Rensselaer Polytechnic Institute physics researcher has found that 'small-world networking'-- which links a computer to its nearest neighbor and also a few other random computers in a group-- could lead to faster, more accurate parallel-computing techniques for simulation. (Science, 31-Jan-2003)"

This is an interesting blog. The page is a press release about an article in Science involving an RPI researcher. The idea is an interesting one to explore, but the press-release aspect it weird. There are e-mail contacts but no web site given.


 
washingtonpost.com: The Lord Of the Webs.  An article about the Semantic Web and where they are, where it is going.

I have my doubts, both because it depends on a specific ontology, and it requires people to mark up their web pages for the convenience of their use by automatons.  There are laudible qualities to the markup, which could also assist in accessability and appropriate presentation in different languages, interfaces, and so on.

The collision with the markup requirements and provisions of Web Services approaches is also going to be interesting.

 
ACM News Service: In Net Attacks, Defining the Right to Know.  An abstract of the New York Times article on the topic.  You will need to register to read the full-length NYT version.

 
/  Some information from Peter Neumann that I don't want to overlook either.

«In Net Attacks, Defining the Right to Know Peter G. Neumann, principal scientist at SRI International in Menlo Park, Calif., who has been in the thick of computer security discussions for nearly three decades, said that when it came to pointing out security risks, he often felt like King Canute, raising his fist in vain against the incoming tide.

«"The increasing number of incidents and dependence on the Internet, and the number of patches one has to deal with for the known bugs is amazing," Mr. Neumann said. "Things are getting worse rather than better."

«The same, he said, is true of the general disinclination to disclose breaches. "Companies are trying desperately to hide the fact that there are things that aren't going right," he said. "The idea that you keep it secret is ridiculous. It's an absurd situation."»

 
In Net Attacks, Defining the Right to Know  An important issue raised here has to do with the unwillingness of firms to share information about any intrusions that they receive.  A Symantec spokesperson suggests that this information might not discourage hackers, since many of them are trophy hunting (and Symantec experiences thousands of attempts daily for that reason alone).

An argument about transparency, and ones obligations to customers and the public is arising in this context.

2003-01-30

 
CMSWatch: Content Management Systems research and analysis.  An e-zine on CMS that crams in a fair amount of material.  Not organized to my liking, but I can't have it my way all of the time, I suppose.

2003-01-29

 
eComScience Consulting | Methodologies (OOP).  I found the comment here about tapping into the basic human model of our world to be so patently absurd that it impeaches everything else here.  I can be more generous I guess, since this silly statement doesn't seem to distort the other things that are said.  a find by my classmate Olive.

 
Darwin Nematode Project Home : keywords - marine nematode taxonomy identification.  Web-site work done by classmate Martyn Atkins.  OOP was applied in this software package.

 
Bear Products International Home Page.  Interesting site and concept. This is the entrance.

 
Notes on Software and Software Engineering.  An index of articles on programming language concepts, software engineering methodologies, and more.

 
Web Pages Related to Compiling Java into Native Code.  An extensive discussion of the Java compiling concept, what works and doesn't work, and comparative treatment of other compiling systems.  From classmate Norman Frisa.

 
Report on Interpreted Programming Languages.  A December 11, 1996 report by Xiaoli Zhang and Helen Wong. Nice coverage of interpretive systems and the various principals, starting with the early Pascal and Smalltalk interpreters. From classmate Norman Frisa.

 
Threaded Code.  A nice description of how threaded code works, as used in the heart of the Forth approach to computing. Provided by classmate Norman Frisa.

 
The Java HotSpot[TM] Virtual Machine, v1.4.1.  A White Paper on HotSpot and how it may make pure OOP affordable using HotSpot and its automatic compilation behavior.  From classmate Thomas Eichberger.

 
Pascal and C Side by Side.  A nice comparison of the two languages, located by classmate John Cotsikoros.

 
developerWorks: Open source projects | Java technology : Plug a Swing-based development tool into Eclipse.  How to integrate a Swing editor into the Eclipse Platform. There is an interesting use of the concept "mutual awareness" in the abstract:

"Learn how to integrate a stand-alone Swing-based editor into the Eclipse Platform as a plug-in. Using simple techniques, you can share resources between the Swing tool, the Eclipse Platform, and various SWT widgets -- and these resources can communicate through mutual awareness. Tool vendors who want to bring Eclipse-based development tools to market with a minimal amount of re-coding will also find this article helpful."

I keep saying that I am interested in the Eclipse Platform. I am now almost ready to use it. I definitely will by the time I take a Java course later this Spring.


 
A Brief History of Computing.  Some nice historical material located by classmate John Cotsikoros.

 
Why We Refactored JUnit.  Oh, well, it is maybe not so dramatic as I thought, in that the refactoring is Artima SuiteRunner. And it runs existing JUnit test suites.  So, in Open Source parlance, they forked JUnit.  OK, of course they have a justification for it. Don't we always.  Something to look at later.

 
JUnit: A Cook�s Tour.  Recommended by classmate Thomas Eichberger, who recommends this documentation as an introduction to design patterns.  Meanwhile, Jeffrey Caldwell mentions that JUnit has been refactored.  Now that's an interesting prospect.

 
The use of threaded lists in constructing a combined ALGOL and machine-like assembly processor.  Here's a classic. The term "mindelayscandoer" gets a footnote, but I can't tell if it is the first use of the term.

 
A software architecture for supporting the exchange of electronic manuscripts.  I am busy looking for something else.  But this 1987 article is too much to pass up.  Considering today's difficulties, I wonder how much foresight is present here.

 

More Clippings

Stray Bullets

ACM Computers and Society

ACM SIGCAS: The Governance of Code -- Open Land vs. UCITA Land.  An interesting article that contrasts the form of governance that results where UCITA is enacted with the situation when software is distributed using open-source principles.  There is a good analysis of the Open Source License as well.

 
ACM SIGCAS: Main Page.  A top-level entry to the ACM Computers and Society SIG publication.

 
ACM SIGCAS: Information System's Roles and Responsibilties -- Towards a Conceptual Model.  This is heavy sledding.  It is also an on-line publication worth paying attention to.

Sagheb-Tehrani, Mehdi. Information System's Roles and Responsibilities: Towards a Conceptual Model. ACM Computers and Society Magazine 32, 3 (September 2002).

Where do people get it that leaving the city name out of an address is correct? Here's the author contact information:

Mehdi Sagheb-Tehrani (Ph.D)
Campbell University
Lundy-Fetterman School of Business
Computer Information Systems Department
P.O. Box 218, NC, 27506,USA
mst800@yahoo.com

"The concepts of an information system's roles and responsibilities can play a significant role in the outset of the information systems development (ISD) process. This aspect has not been the subject of much debate and attention in ISD. In this paper an attempt is made to outline a conceptual model of information systems' roles and responsibilities. This conceptual model is an initial step towards exploration of the relationship between the concepts of information systems' roles and responsibilities."

Oh boy.  An abstract that I could have written. Embarassing.

 

Understanding the trade-offs of make and buy

There seem to be hidden costs no matter what we do.  This may also be important in the face of the current migration to outsourcing and off-shore development.

Unprepared for hidden costs.  This article is about the hidden costs of installing and operating packaged software.  In some sense, they represent the hidden costs of any new development or replacement software.  We had hidden costs before, and with packaged applications, there are also hidden costs.  I suspect the same applies to outsourcing and off-shore development.  And the general issue of hidden costs and how to be accountable for them is a good lesson, no matter what.

 

Hey buddy, can you paradigm?

Scopeware - The Simple, Elegant Knowledge Management Solution.  Here is more on Gelernter's Mirror Worlds and the current Scopeware Vision beta version.  I couldn't find a license agreement, so I didn't download it.

 
Software innovator David Gelernter says the desktop is obsolete - ADTmag.com.  Well, always provocative, but one wonders what it all really means. Somehow, I don't think I will eliminate my mouse and desktop, even if I have superior information organization and access methodologies and supporting software.  For what Genernter thinks is achievable, and what he wants to pursue, this is a fairly good capsule.

 

Trustworthy computing.  We have met the enemy and she is us.

Web Host Industry Review | PSINet Europe Study Reveals Massive Vulnerabilities.  Some specifics on how vulnerable it is to be on the Internet at all, and the importance of having safeguards in place first. Also, some ideas about what to expect and how prevalent probes from hackers are, especially now that there is more broadback access available for hacker employment.

2003-01-27

 

Teaching structured programming first. Yes!

Structured programming in Java.  This find was provided by my classmate, Olive.  Wow!  "We argue that for computing majors, it is better to use a �why� approach to teaching programming than a �how� approach; this involves (among other things) teaching structured programming before progressing to higher-level styles such as object-oriented programming. We also argue that, once it has been decided to teach structured programming, Java is a reasonable language to choose for doing so."

2003-01-26

 

Programming Languages

Compiling Techniques

Conway's separable transition diagrams and coroutines

ACM Portal Citation.  Conway, Melvin E. Design of a separable transition-diagram compiler. Comm. ACM 6, 7 (July 1963), 396-408. http://doi.acm.org/10.1145/366663.366704

This paper provided a general approach to syntax-oriented parsing and also introduced coroutine coupling as a way to connect the stages of a compiler so that each appears to be the client of a service provided by the other.  This is the standard solution, and not object-object message-passing as is supposed in high-level discussions of how compiler operations are coordinated between the abstraction levels: text, lexical, syntactic, semantic, code assembly, etc.

 

operator-precedence parsing

ACM Portal Citation.  Floyd, Robert W. An algorithm for coding efficient arithmetic operations. Comm. ACM 4, 1 (January 1961), 42-51. http://doi.acm.org/10.1145/366062.366082.

An early cut at precedence and some other ideas.

 
ACM Portal Citation.  Floyd, Robert W. Syntactic Analysis and Operator Precedence. J.ACM 10, 3 (July 1963), 316-333. http://doi.acm.org/10.1145/321172.321179

 
ACM Portal Citation:  Knuth, D.E. Invited papers: History of writing compilers. Proceedings of the 1962 ACM national conference. Digest of technical papers.

 

Language Approaches

Iverson's APL and J

A Personal View of APL.  A reprint of an IBM Systems Journal article [vol. 30, 1 (1991)] on the evolution of APL and the current effort, the language "J."  The references provide access to further foundational materials.

"This essay portrays a personal view of the development of several influential dialects of APL: APL2 and J. The discussion traces the evolution of the treatment of arrays, functions, and operators, as well as function definition, grammar, terminology, and spelling."

 

C# and the Common Language Infrastructure

ECMA-334: C# Language Specification.  The standard specification for C#, with identification of what is covered and what is not.

 
ECMA-335: Common Language Infrastructure (CLI).  The ECMA Standard specification of the Common Language Infrastructure portion of .NET. The standard is in 5 parts and it covers

"a file format; �
a common type system;
an extensible metadata system;
an intermediate language;
access to the underlying platform;
a factored base class library.

The intermediate language, the Common Intermediate Language instruction set, is for a virtual machine that can also be compiled on different targets the first time the program is executed in a new version.  This is how .NET brings together experience with interpreters, virtual machines, and compiler technology.

 
ECMA - Standardizing Information and Communication Systems.  The home page of ECMA. Two interesting things with how the ECMA (European Computer Manufacturers Association, originally) operates.

"ECMA is an international industry association founded in 1961 and dedicated to the standardization of information and communication systems.

"This web site presents all aspects of ECMA and makes available the results of the ECMA standardization work to all interested persons and organizations, free of charge and copyright.

Maybe if more standards-sponsoring organizations operated this way, people would be more likely to actually check into a standard, to reference it, and to adopt it.


 

JavaScript and its standards

ECMA-262.  ECMAScript Language Specification, ed.3. ECMA (Geneva: December 1999). The specification is freely available for download in Postscript or Acrobat PDF file. There is also a CD-ROM available from ECMA.

 
JavaScript Kit- Comprehensive JavaScript, DHTML, CSS tutorials and over 400 free JavaScripts!.  A comprehensive site on JavaScript.

 

Loose Ends

Doug Ross and Plex

Student AUT Project.  AUT is Applied Understanding Technology.  It seems related to Doug Ross's notions of Plex and perhaps some kind of knowledge networks.  There are more links to follow.   I am noticing how many of us (speaking for myself, but looking for validating companions) turn into cranks about pet projects that we have harbored over the years.  I suspect that I am the same way about The Miser Project.

 
1970_Interview _by_NCWorld.  Interviews with Doug Ross. Not exactly what I am looking for, but Doug was always a great guy to work with and it is nifty to have stumbled over this link, while trying to figure out what connection, if any, there was between SoftTech, Inc., and Softech Microsystems (the first commercializers of UCSD Pascal).

 

Programming Systems

Compiling and Interpreting

Pascal P-Code

The DICT Development Group- P-code.  Do a search on P-code to find the definition:

The intermediate code produced by the Pascal-P compiler.
Assembly language for a hypothetical stack machine, the
P-machine, said to have been an imitation of the instruction
set for the Burroughs Large System. The term was first used
in Algorithms Data Structures = Programs, N. Wirth, P-H
1976. Byte articles on writing a Pascal Compiler in Northstar
BASIC (ca Aug 1978) also used the term. Later used in Apple
Pascal, and as the intermediate language in the UCSD P-system.

 

General compiling and compiler generation

OOPWeb.com - Compilers and Compiler Generators an introduction with C by P.D Terry.  a nice chapter on compiler construction that features the use of interpreters, interpretive compilers (section 2.5) and use of interpreters for bootstrapping compiler systems onto new machines (sections 3.6-3.7). The use of T-diagrams for illustrating the levels of transformation involved is also instructive.

 

Pascal, its history and its approaches

A Brief History of Pascal.  This article places Pascal in the historical progression from Algol [60] to Modula and beyond.  The introduction of p-code and what that provided for making easy, portable implementations is cited.

 
Antique Software: Turbo Pascal v1.0.  Here is the skinny on Turbo Pascal from the Borland Museum.  (You have to register to gain access.)  Anders Hejlsberg has a new claim to fame, these days, as the author of the Microsoft C# language.

In the Museum: Turbo Pascal version 1.0

Ship date: 20-November-1983

With the release of Turbo Pascal 1.0, Borland started its award winning push into the world of development environments and tools. Borland licensed the Pascal compiler core, written by Anders Hejlsberg (Poly Data was the name of his company in Denmark), and added the user interface and editor. Anders joined the company as an employee and was the architect for all versions of the Turbo Pascal compiler and the first three versions of Borland Delphi.

 
Jefferson Computer Museum - UCSD P-System Museum.  An interesting compilation of computer history, revolving around the use of P-code.

 
Cabot's P-Code Pascal.  Here's information on P-Code compiling. The original or close-to-original P-code compiler for Pascal came from UCSD, and there was also work by Softech.  I will dig a little further, but here's a handy reference and overview.

Bullet points: +32 bit Object Pascal compiler producing p-code executables; A p-code application runs on many different platforms; 95% compatible with Borland Pascal; Very compact code

 

The arrival of FORTRAN

The first published report on the Fortran Compiler Development.  I messed up my blogging somehow, in the last note. Here is a fundamental reference that I will distill down to something useful after I see what I have done to myself.

"Backus, J.W., Beeber, R.J., Best, S., Goldberg,R., Haibt, L.M., Herrick, H.L., Nelson, R.A., Sayre, D., Sheridan, P.B., Stern, H., Ziller, I., Hughes, R.A., Nutt, R. The FORTRAN automatic coding system. Proceedings of the Western Joint Computer Conference, February 26-28, 1957, Los Angeles, CA, USA

"The online edition of the Oxford English Dictionary cites this as the second earliest mention of the name."

 
BibTeX bibliography fortran1.bib.  Some important chronological information on the Fortran programming language. This is a big file, so don't use a slow dial-up connection to stroll through it. Here are is the general scope:

"This bibliography records publications about the Fortran programming language from 1954 to 1980, inclusive. The companion file, fortran2.bib, provides coverage from 1981 to 1989, and fortran3.bib covers 1990 to date.

There is a reference to the first published account of the Fortran compiler effort, which was begun in 1953 and concluded in 1957. I used that compiler in the Spring of 1958, and by the end of 1958 Fortran II was under test. The great difference between Fortran [I] and Fortran II was the introduction of separately compilable and linkable modules, and the ability to CALL subroutines and invoke functions defined by programmers using Fortran, assembler, or other languages (first demonstrated with the IBM COBOL compiler, but not an everday situation because the data types of the two languages were quite different).

 

Compiling and Interpreting

The Digitek compiler methodology

Resum� - John Campbell.  Here's a good summary of the advantages of the Digitek compiler methodology.  The compilers were first produced before 1964, and I got to watch an unsuccessful effort to reverse-engineer the methodology.  It was interesting to see that people who worked with the code were unable to abstract the principles in a way where they could be successfully re-applied on a different platform.  That was enough for me to realize that access to a program's source code was not sufficient to ensure comprehension of the methodology therein. On the other hand, there were those who got the point immediately, and they didn't need to see the implementation to understand what bad been accomplished.

«Staff Analyst, Digitek Corporation, Los Angeles, CA. 1965 - 1967.
Designed and implemented assembly language programs used in the Digitek FORTRAN IV compilers. The compilers were implemented using interpretive techniques and machine independent code. The assembly language routines adapted the higher level programmed operators to the target computer providing an "off-the-shelf" capability. Activities required the development of I/O drivers, multiple precision floating point software, execution time libraries and subroutines, and linking loaders. Techniques involved dynamic storage allocation, recursive/reentrant code and computer emulation. (XDS 92, XDS 920, Canadian ADC-2, French RAMSES II; Assembly Language, FORTRAN).&raqup;

 

Interpreters for programmabililty of applications: GNU e-macs

Multics Glossary - MacLisp entry.  The inspiration for incorporating a Lisp interpreter into GNU e-macs, MacLisp had some other unusual properties, including being written in PL/I and also having a compiler also written in PL/I.

«[BSG] The Multics version of LISP. Multics LISP was one of the first LISP implementations on virtual memory. Multics Version I Lisp was entirely written in PL/I (including its compiler, which is extremely unusual) by David Reed, then an undergraduate at MIT, and was part of the Standard Service System libraries.»

 

More compiling techniques and the failure of Digitek to scale

Multics Glossary -E-.  This page identifies that Digitek failed to provide a PL/I compiler for Multics, and the development team ended up developing their own PL/I subset. Multics also used e-Macs, which used Lisp as an implementation and as a programmability language.  There is this comment on the influence on GNU Emacs.

«[BSG] From, "Editing MACroS", a video editor derived from Richard Stallman's editor in TECO macros of the same name. Bernie Greenberg began Emacs in MacLisp in 1978. Multics Emacs represented Multics' first venture into the modern UI world of managed screens, WYSIWYG editing, and character-at-time I/O and its first major offering not in PL/I, and constituted one of the first wholly unforeseen internal developments in the life of the product. Its use of Lisp as implementation and extension language was the ultimate inspiration for the use of Lisp by GNU Emacs. MCS enhancements and a video system followed in its tracks. Multics Emacs was always spelled "Emacs", not "EMACS", on MULTICS. See "Multics Emacs: The History, Design and Implementation".»

 
Comp.compilers: Re: History and evolution of compilers .  Another commentary on the Digitek compilers and their success.

"Their compiler is one of several case studies described in an old tech report that never made it into a book :-(

author="John Cocke and Jacob T. Schwartz",
title="Programming Languages and Their Compilers: Preliminary Notes",
institution="Courant Institute of Mathematical Sciences,
New York University",
year=1970

 
Comp.compilers: Re: History and evolution of compilers.  Here's a link on the Digitek compilers.  The proprietary POP language is related to the fact that the SDS 900-series machines, the first instances for the compilers, provided programmed-operators that allowed extension of the instruction set -- basically introduction of interpreted instructions -- using the basic machine-instruction fetch-interpret-execute cycle for the programmed operators.

"Digitek Corporation was founded by Ryan/McFarland and I believe they
started out by producing Fortran compilers using their proprietary POP
language. Their Fortran G compiler which they produced for IBM was a
small, fast compiler."

It is remarked that the Fortran G compiler fit into a 64k IBM 360, and the emitted code (produced in a single pass) was not up to even rudimentary standards for assembly-language code on the System/360.

 

Software Development

Architecting around Services

ACM News Service" Predictions for 2003 - Service-Oriented Architecture is Changing Software.  When this exuberance began to appear, I couldn't understand what was different than the move to components that has been heralded for some time now.  I forget that in the application-development space, this is a very big deal, because monolithic, custom applications (or customizable packages) are the norm.  As a prediction that application development and integration technology will shift in both methodology and packaging/integration and deployment methodologies, this might be timely.  I think there is a bit of silver-bullet anticipation here.  Just the same, something to take note of.  It would be really fascinating if we found a way to get up above the current programming models and the shared-primitive foundations of the Java and .NET programming languages, though.  It still appears very difficult and costly to raise the level of abstraction and deal with business issues more directly.

"These next-generation applications will boast a service-oriented architecture (SOA) whose components are designed for modularity and encapsulation."

 

Platform Shake-Out

Goodbye, proprietary platforms

EE Times - Japanese manufacturers back off proprietary OSes.  Here's more information on the move to an open platform by Japanese consumer-electronic manufacturers.   It appears that avoiding licensing for a proprietary OS, whether Windows or Java, is a major factor in the choice of Linux.

"The turn to an open-source OS marks the end to a dream Japanese companies nurtured for many years of creating a proprietary OS that would dominate the living room and dictate the development of next-generation digital consumer electronics."

 
ACM News Service: Japanese Manufacturers Back Off Proprietary OSes.  Here is some information on the drive to rely on common platforms for development of consumer-electronic devices.  Although the move is toward adoption of a consumer-product-oriented Linux, this is also fertile ground for the use of embedded interpretive systems.  It is not clear why Java is not mentioned, unless it is part of the Japanese aversion to reliance on a proprietary platform.  There are open-source implementations and the Rotor implementation of the .NET Common Language Interface and interpreter might be useful.  On the other hand, interpretive solutions that operate closer to the consumer-product model and requirements for programmability may be close enough.  I would wonder why having an interpreter on a chip would not be appealing, unless it is because of aversion to licensing requirements for JVM and .NET.

 

Programming Systems

Java's Future

ACM News Service: Is There Hope for Java?.  Here's a summary of the Salon.com article from the ACM News Service, that provides a capsule of some of the material.  I recommend the full article for the overall sweep, deeper analysis, and more on the technology issues.

 
Salon.com Technology | Is there hope for Java?.  A lengthy article on Java, the Java Virtual Machine, and the tension with Microsoft over Java.  There are useful links to background materials.  Although there is focus on the drama of Microsoft jockeying and resistance to Java, there are also some good perspective on the technical issues and the benefits of interpretive systems (soemething that .NET embraces too).

Hard Hat Area

an nfoCentrale.net site

created 2002-10-28-07:25 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 03-09-06 20:49 $
$$Revision: 4 $

Home