cut of the sleeves, we'll send them as vests
- To sketch where I am a short description of a panel proposal I made for
"Cut of the sleeves, we will sell them as vests" -- is the "title" of a
cartoon I want to use as intro -- no further comments from me. I invite
academics and people from industry, architects, programmers, UMLers,
CMMers, XP-ers and you if you like to talk about what this cartoon and
are business have to do with each other. Do the speakers have a
solution, part of the solution, or are they part of the problem?
This panel is supposed to happen early in the conference, speakers will
cluster to organize BOFs and at the end of the conference they will
report -- in a common Keynote.
I mention this because it is closely related to my motives for this
I hope to work together with other people who see the need for change
big or small in the way we do computing. I hope to get back with more
ideas about what I can do, arguments to convince my environment. And I
hope to meet (more) people than the one I already know who want to work
on that change, by setting examples, by research, by proving that we can
do better and especially by SPEAKING about it.
I would rather work on reset ® (small r as suggested by Dave and Jerry
and others ****** this is one of those things that would figure on my
list of things I hate: trying to type an r between parenthesis and
getting Microsoft's help to do something else) than on a RESET.
Working on software that continues ticking seems like a great idea. I
would love to look at the Clock/Library for the long now. What do we
give to the library for the deep future, what responsibility records do
we supply? Thinking about this might be useful for academia and for
curricula in industry.
And we might do something for moral of a lot of people who suffer from
"this quarter"-spreadsheet management.
Work with what we have, what we tried but not long enough or tried too
Inventory -- what is basic knowledge to past to future engineers
Process -- to support product, not as alibi
None "scientific" skills needed -- rationale (to defend proposals)
Do we have the right to be silent? Y2K...
Do we challenge spreadsheet management, and shareholder value with CEO's
paid in shares?
Some of my motives to come to the workshop and to go for the small r:
"For successful technology, reality must take precedence over public
relations, for Nature cannot be fooled" (Challenger-report, R. Feynman)
If we want to work on an entirely new approach or discipline, I'ld
rather bring in people from other disciplines. And I am prepared to
start a revolution, but that too should involve other disciplines too.
(Do we get a choice of weapons?)
While preparing for the revolution, I rather start with things I can use
in my practice, things that benefit customers now; things that will
bring students back to "computer science" or software engineering
I am convinced that a lot of the problems in our field are not unique.
But some factors contribute in making them more visible and less
contested by members of our field.
Since there were references to reports about disasters, here is another
one: Feynman's report on the Challenger (in What do YOU care what other
people think). His report is published as an addendum to the official
His conclusion (partim) -- "if a reasonable schedule is to be
maintained, engineering of the cannot be done fast enough to keep up
with the expectations of the originally conservative certification
criteria designed to guarantee a very safe vehicle. In such situations,
safety criteria are altered subtly -- and often with apparently logical
arguments -- so that flights can still be certified in time. "
Management was exaggerating the reliability to the point of fantasy --
to get the resources
No upward reporting of errors
GIGO -- garbage in, garbage our -- a mathematical error not paying
attention to uncertainties in the model
Old hardware (ferite memory) making software much more difficult than
"The computer software checking system is of highest quality. There
appears to be NO process of gradually fooling oneself while degrading
standards, the process so characteristic of the solid rock booster. To
be sure, there have been recent suggestion by management to curtail such
elaborate and expensive tests as being unnecessary at this late date in
Similar stories: Three Miles Island, Bhopal....
The major one -- and one that I seem to share with most here:
The way we reward shortsighted-ness --hustling faster than the
competition, ever chasing short-term opportunities
The next quarter, spreadsheet management and shareholder "value"
The current prevalent, if not dominant, belief that anyone can develop
software and that anyone can manage software development.
"It is easier to teach a business person about technology than a techie
how to manage or to talk to management" is a popular statement.
Hire untrained programmers then train them only superficially if at all.
QA often existing of still more low-trained programmers writing simple
People not knowing their limits, getting in it over their head.
What is computer science? What reality does it study?
What are the truths of computer science?
Are there alternative sciences?
What aspects can be structured scientifically? What falls outside it?
Is math the best model?
Is not science a better model, formulating an hypothesis, evaluating and
Is not there too much advocacy in CS?
Value placed on ignoring the real world?
Do we suffer from "physics envy" -- the belief that if we employ
mathematical methods of physical sciences that will enhance our field?
Don't we need to teach both divergent and convergent thinking
techniques, synthesis as well as analysis?
Ontologies as alternatives to Cartesian view -- understanding not in
terms of entities, but in social and historical context?
The mutual disdain between academic world and industry.
Academics doing the interesting stuff
Industry the useful
Is proof of correctness interesting?.
Are peer reviews interesting?
We need to learn to decouple understanding and acceptance -- difficult
We need to learn to supplement understanding with rationale to defend
our cause in industry and politics
Failure to distinguish between tasks that are complex and those that are
Until practitioners understand what they are buying and vendors are
honest about what they are selling and academia evaluates what they are
advocating we will continue to iterate in circles of promised
breakthrough and disappointment
We will not even make the incremental progress that is possible.
Don't we underestimate the difficulty of communicating between two
groups active in our industry -- people who learned VB or Java or one
language on the job or from a ... in 24 days course... and the ones with
a more academic background.
I just received the second edition of Essentials of programming
languages and read Abelson's foreword again. Do we (know how to) reach
the group that does not see the interpreter for a computer language as
just another language.
What can we do to reach them? To help them?
What do we do with "stored program history"?
Methods getting in the way of real work.
Useful redundancy replaced by useless redundancy for the manager
Process degraded to clerical reporting
Looking at what really happens replaced by measuring against a set of
predicted, simplistic, milestones
What if process was supporting?.
If we cannot define the product as clearly as we would like (and we
cannot at the start of a project), make a clear definition of the
process that will be used to achieve the product -- specify milestones
with intermediate products, to be delivered or demonstrated. Show
Technology and the net swallowing culture
Technology as embodiment of all those aspects of our thinking that are
automatic, deterministic, algorithmic.
The computer pretending to do everything -- that what is not covered by
that peculiar everything dropped unnoticed.
I rather keep that kind of computer as an "it" rather than a "who"
Before adding "another intelligent" species to the universe, lets get
clear of what that intelligence is about. Does it include voting?
Watching Big Brother?
If we speak "hard AI" do we
The sculptor -- he starts with knowledge of his material, works with it,
adjusts his goals as he interacts, fidelity with initial goals
relatively unimportant, process stops when esthetically satisfying
The long-lived software as hierarchical organization metaphor is useful
in more traditional approaches.
We tried something like that with meta-repository, rule-based,
application logic in database, interface in database, users building
their own, or sharing it, some of the logic making it into the next
version of the framework, or the library (Smalltalk) -- software and
user organization parallel -- new approaches first tried out in small
groups (unthreatening to the organization at large) given the chance to
This is inspired by Prigogine's nucleation mechanism -- a new structure
must first establish itself in a limited region and then invade
And by Bruce I Blum's Tedium (Beyond Programming)
Education and cultures around languages.
Is it so that universities us Java as a first language under pressure of
Some universities don't and they seem close enough to industry (will you
tell me I am wrong, Theo?)
Culture as counterweight for fast in Alexander and unselfconscious
building -- versus the concepts getting power of rules
I do prefer to work with people who grew up with Scheme, who learned to
work in different paradigms -- both in the same environment, and in
I prefer to work with Smalltalk-ers even if we work in Java now.
One of the most beautiful memories I have related to this is from a
workshop on reflection -- when someone raised in Java finally saw the
"light" -- this guy was really delighted.
Insistence on artificial closure of open requirements
Do we have (need?) a systematic way to use knowledge of solutions --
archetypes of solutions.?
Can we architect systems if we do not know how they can be built,
preferably in different alternatives
Some questions concerning other posts:
In the ecosystem who will survive? The fastest?
What would be an environment where software "we" desire would flourish?
Software for what purpose?
What about this choice:
Narrowing meaning that conduces accuracy in communication -- result from
or Broader meaning supporting fulness of expression -- resulting from
Perfect communication if all words have and maintain meaning every time
we use them -- at the expense of expression.
Do we want to work on the least common denominator of already known
My expectations from this workshop:
I'ld rather work on reset than RESET.
I do want to work on an entirely new approach or discipline, but in that
case I'ld rather bring in people from other disciplines.
I am prepared to start a revolution, but that too should involve other
While preparing for those (the revolution and the discipline) , I'ld
rather start with thinks I can use, things that benefit our customers
now; things that will students get back to "computer science" or
Specific interests of mine are MOP, multiparadigm approaches, dedicated
small languages, building software with skillfull users in suitable
environments build by software engineers who do not try to anticipate
every use, except at a broader level
No single language suitable for whole problems, for even one whole
No hard-paving of the espoused methods (versus the used methods) making
Trashing current technology will not get us far if we do not change
- - ik kom toe op 30 april en vertrek terug op 6 mei
- ik heb een tuut gehuurd voor heel de week
- vrijdag namiddag rijd ik tot aan de grand canyon en kom zondag terug
- ik logeer daar in de Grand Canyon Holiday Inn ($90, maar vlak bij het park)
Programming Technology Lab : Computer Science Department
Faculty of Sciences : Brussels Free University
Pleinlaan 2 / B-1050 Brussels / BELGIUM EUROPE
Phone : +32-2-629 33 08 Fax : +32-2-629 35 25