"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Tuesday, April 15, 2003

War, Rhetoric, Politics, Religion

Philip Greenspun:

If a president is in the middle of a war it is difficult to mount political opposition to that president without appearing disloyal and unpatriotic. Focusing media attention on a war prevents reporters from asking questions such as "How come William T. Esrey and Ronald LeMay, the two top executives at Sprint, deserved to get paid $311 million for their services to shareholders when the company's business and stock are in tatters? And then why is it fair that Joe Sixpack has to pay income tax but Esrey and LeMay didn't have to pay tax on their $311 million income? Would it have been fairer to divide the $311 million--equal to half of Sprint's 2002 profit--among the 13,000 workers that these guys laid off--$24,000 per worker--or possibly to the shareholders(!)?"...

Why have the Jews through the centuries made such good all-purpose targets for hatred? It is difficult to understand how Jew-hatred started so let's focus on the factors that have made it endure: (1) concentration in residence, (2) concentration in occupation, (3) smallness in number, (4) military weakness.

That only about half of Americans hold some of the same beliefs about Jews espoused by the Nazi party is comforting until one one reflects that Hitler was able to hold power in Germany with only 33 percent of the vote in 1932 and 44 percent in 1933.

...The United States Department of State estimates that "by the year 2010, America's Muslim population is expected to surpass the Jewish population, making Islam the country's second-largest faith after Christianity".

Aspect Oriented Programming

Jorg Kienzle and Rachid Guerraoui report on an attempt to build a transaction- processing system with AspectJ, where the key requirement is that transactions be executed completely or not at all (so that the system cannot debit one account without crediting another). They found it difficult to cleanly isolate this property as an aspect.

Aspect Oriented Programming is offered as a successor to Object Oriented Programming. The quote above illustrates that we have not found all the principles for when and how to apply AOP.

AOP is not addressing the right problem:

  • The source notations, e.g. Java, even with some "aspects" of a program separated into distinct units, are still overly complex for most problems.
  • The "computational units" like SOAP calls and SQL transactions, no matter what notation, are also overly complex and inappropriate for most problems.

Hypercard simplified the computational model for GUI applications with simple single-user databases.

Ward Cunningham's WikiWikiWeb simplified the computational model for Web applications with simple multi-user text databases.

What is the Hypercard or the WikiWiki equivalent for Web Services?

I have some ideas but I wonder what you think. Edit your thoughts into the page at WikiWikiWebServices.

OOP is *not* about classification

Look at this picture.

This is not what object-oriented programming is about. OOP is not about some kind of universal classification mechanism.

The Circle-Elipse discussion pops up on OOP lists more than once a year. The problem is that OOP is not supposed to resolve all knowledge representation issues. There is no OOP notation that can be used to represent all relationships I can imagine.

OOP is about computation, and so a Rectangle class in Smalltalk is not a "Rectangle" by the mathematical definition. The class Rectangle is a solution to a problem that is narrower than the mathematical definition.

OOP is a tool for solving computational problems, and so in any given system it may serve my purposes to have more than one kind of Rectangle class (in Smalltalk, I'd use namespaces to refer to specific classes). I would implement each class to solve a specific problem.

Whether or not I make some class named Circle be a subclass of some class named Elipse should be a decision made within the context of a specific computational problem.

So we should put this discussion to rest and deal with the real problem of OOP: even as a computational notation, modern OOPs are by and large too complex. They make us say more than is necessary to solve most problems they're applied to. Forget the Elipse-Circle discussion. There are real problems to deal with.

Jabber and Liberty

News on the Jabber front from Phil Windley.

A question: if you have Jabber, do you need SOAP?

Please add your comments on this JabberAndSoap Wiki page.

North Face Learning

Phil Windley refers to North Face Learning as a pioneer in accelerated computer science education.

The kind of acceleration described by Philip Greenspun is desirable.

My concern about what little information is available at the North Face Learning web site is whether the curriculum is computer science in general or simply training on today's popular hardware and software technologies. The industry needs more people who can deeply think and create to lift us out of this technological lull and into a real Cambrian Explosion that puts previous (and not really technological) Dot Bomb Era to shame.

If North Face Learning can pull that off I will be impressed.

Saturday, April 12, 2003

Networks of Incremental Computing for On-going Results

In Sjoerd Visscher's blog response to The Hundred Year Language, he writes...

Historically programs are written to execute with existing data as input. But to be competitive on the internet, results need to be continuously updated while new input comes in. For example, you can sum live data by summing your input every time it changes. But this pseudo code would be much faster:

initial:      sum = 0
on add(v):    sum += v
on remove(v): sum -= v
I'm not even sure if i'd prefer to program this way, or if I'd just program summation for a collection, and let the compiler figure out the above code.

I can tie these thoughts in with some other sources that seem more or less related to me.

These all represent to varying degrees the future of computing systems:

  • assembled incrementally
  • various participants
  • somewhat ad hoc
  • the whole emerging from the sum of its parts

And what they have most in common is there is no single "result". Instead the value of the system is the on-going re-evaluation of the previous results.

The Hundred Year Discussion on Language

The periodic static/dynamic discussion has reared its head in a more interesting way than usual on Lambda the Ultimate. My latest prgnostication goes as follows, but there are more interesting contributions than mine in this discussion.

First Alex Peake writes...

BTW, Smalltalk was conspicuously absent - a wonderfully productive dynamically typed, reflective,... development environment!

Nay, I say, the future is LISP (well Scheme maybe) and Smalltalk (if only someone could afford to Market either).

Python probably belongs in this category too, although it has way more cruft than Smalltalk or modern Lisps.

Very interesting thread here. One hundred years is a long time. I predict the next ten years will be more dynamic along these lines.

Perhaps after that better type checkers (but they'll just be called theorem provers), model checkers, etc. will provide more verification as systems begin to program themselves and each other with less manual input.

Friday, April 11, 2003

Subtle humor from a Lisp programmer

From Paul Graham's The Hundred Year Language...

If SETI@home works, for example, we'll need libraries for communicating with aliens. Unless of course they are sufficiently advanced that they already communicate in XML.

GNU Smalltalk 2.1

A major new releaseof GNU Smalltalk is available.

People Making a Difference: The Lives of Good Public School teachers

I made a couple of cynical comments in response to Philip Greenspun's attitude toward public schools and a friend of his who seemed to be shrinking away from minor hardships, while others are overcoming more significant ones every day. Another participant asked me to clarify my position. I did so constructively rather than cynically, and copy my response here.

What's the problem?

This story is unmotivating.

There are a lot of problems with public schools. The best people, including teachers, are trying to fix them, and are having success here and there.

My wife works in the public schools, and will be receiving her masters degree in education in a couple of weeks. She's worked in ESL (English as a Second Language) and still chooses to work in Title I schools (generally not well off, a lot of parents have many problems of their own).

Does she get frustrated? She doesn't show it much. The stories she tells are about the kids and the conditions under which they struggle to learn: the worst are dirty, undernourished, unaccepted by their peers, unsupported by their parents.

Most of the stories she tells are about how well *every* *single* *one* of them responds to the creative ways she and others reach out to them. Poetry lessons that get kids who can hardly write creating the most amazing pieces of work. (I've read many... you wouldn't believe them.) Science lessons with worms that spark their imaginations. School nurses who creative games with soap, deoderants, etc. to get kids to clean themselves up without embarrassing them or lecturing them or their parents. Teachers who supply parties for the birthdays of kids whose parents can't afford it... but they don't let on to anyone that the parents did not do so themselves. Teachers who also show up at the doors of these kids to bring them birthday presents (because they really know they could use a new shirt!)

I know I don't have the skills to do what my wife does, and other people like her. She should be making three times my salary.

You get the idea. Public schools don't need people like Philip's friend, and middle class students certainly don't need to "learn how to obey" so called privileged "leaders" like Philip Greenspun.

Do you think that there are people worse off than this writer and nobody should be allowed to complain if there are people worse off than them?

I hardly see anything unsurmountable in Philip's post. She has the right to complain, but there are far worse problems that better teachers are overcoming every day. Let's write about those people and learn from them.

Do you think that these are actually quite good conditions for someone to work under. So, once again, no right to complain?

Like I wrote above, I've heard far worse that were made better. It does no good to complain to Philip Greenspun. I call that whining. I'd rather hear how she made a difference, but I see no evidence she has the skills for that. Maybe she can teach math to bright kids. Who couldn't?

Do you hate the public school system so much that you rejoice in it's falling apart? And try to denigrate anyone who complains about it's state?

No. Instead I celebrate those who overcome obstacles and make *big* differences in the individual lives of less fortunate kids.

I am in awe of the people who can and do accomplish meaningful things in the public schools. I couldn't. But I can't indulge whining like what we've seen here.

Thursday, April 10, 2003

Are you FIT?

Just rec'd the latest ONJava newsletter where the editor mentions FIT. Highly recommended for feature acceptance tests and as a replacement for JUnit-like unit test frameworks. FIT is implemented for several programming languages.

Welcome to the latest Java newsletter. Your editor attended a talk just last night on Ward Cunningham's FIT--if you've struggled with automated customer tests, you owe it to yourself to look at this framework. I hope we can find some articles on the subject soon.

Deprivation

Ben Brewer makes a point in his comment on Philip Greenspun's retreat from society. I agree from where I sit. Sometimes we just don't get it, being so privileged, we're blind and we don't even know it.

"Relative deprivation in the U.S. is sometimes not having the nicest SUV on the block."

(Also discovered his blog on fatherhood.)

Fall back men. There's people here who *yell*!

My wife works in the public school system. There're much worse stories than this, and sadly, they even involve kids, health, and well-being, which the following story does not really.

I am sorry. I cannot feel much sympathy for Philip Greenspun's tale of retreat to private schools. Better to have this kind of thinking isolated in the in-bred society anyway I guess. Make room for people who have the right attitude and can actually make a difference rather than just be a difference.

I too easily slip into cynism, and this is what I wrote on Philip's comment page...

Poor little thing. She even cried?

Must be rough. Retreat to the private school. Fall back, men.

Note to self: gotta close on the house in the gated community.

Hurry, men. There's people here who *yell*!

Wednesday, April 09, 2003

A Mighty Wind is Blowin'

Yes, if you liked Spinal Tap, try the Folksmen too.

Coming soon, I hope, to a theatre near, well... me. Meanwhile.

The Hundred Year Language

The latest from Paul Graham.

41 calls 43 with congratulations on the new Iraq

Listen in on a conversation between 41 and 43.

*Dynamically* Tolerating Failures

Luke Gorrie quotes early Erlang philosophy on the Lightweight Languages email list...

In programming large systems, many small programming errors _will_ be made - we view this as inevitable. Formal systems and exhaustive test procedures are currently not capable of ensuring fault free software for systems of the size and complexity of modern telecomms applications. Given that errors _will_ be made, we are interested in the problem of detecting and handling those errors in such a manner that the system as a whole exhibits satisfactory behaviour in the presence of errors.

Monday, April 07, 2003

CS Foundations: CSP now on-line

Hoare's CSP book is now available on-line.

Shouldn't this be required reading as part of an undergraduate computer science degree? Why not? This vocabulary should be on the tips of our tongues, like the periodic table.

Sunday, April 06, 2003

Whither Smalltalk? A Classic Notation for Expressing Computation

Whither Smalltalk?

Instead I think the question should be, "Whether Smalltalk?" And the answer could very well be yes.

VisualWorks 7 is loaded with Internet capabilities: servlets, server pages, SOAP (Open talk). The VM is so much more mature than the CLR and JVM implementations.

The company appears to be solid, and has backed VisualWorks longer than anyone gave them credit for. Cincom rescued Smalltalk from history, after ParcPlace nearly bungled one of the truly great software systems of all time.

S# appears to be close to release for dotNET. Not only could this put some spark back into Smalltalk, but it could pave the way for widespread success of dynamic languages in general on the CLR, through the collaborration with Microsoft and the specific implementation techniques.

Not to mention that Dolphin and MT are still solid Smalltalk implementations for Win32 and on multiple platforms Squeak and GNU Smalltalk are too. The combination of VisualWorks and S# and these others make a cross-platform opportunity for Smalltalk. Systems built for S# or VW to a large degree should run on the other.

VW 7.1 is supposed to provide a more solid (non-beta) native Mac OS X implementation and VW is already solid on Linux and other Unix systems.

Smalltalk is a simple, classic notation for expressing computation. Code written 20 years ago still runs on modern implementations.

Why build important computational assets in notations that are overly complex (i.e. they make you say more than necessary) and are tied to implementation decisions that will soon be outdated (i.e. the "standard" notations are regularly updated with new features that compell adoption by marketing lust and lead to a chronological stratification similar to carbon dating)?

Java and C# books become outdated in a year. They no longer teach the notations the way developers want to use them. On the other hand, a developer can learn 90 percent of Smalltalk by picking up 1983's Smalltalk-80: The Language and Its Implementation!

Far better to build your important computational assets in a notation that is already long-lived, simple, flexible, and efficient, not to mention mostly unchanged for 20-30 years or more. There are a two of these notations that make sense to me: Lisp and Smalltalk.

I could go with either. Smalltalk is easier to explain to developers using other object-oriented languages.

Winter in Boston

From Dave in Cambridge...

On Friday I asked if it snows in Cambridge in May. Yesterday about 20 people told me it does. It's even snows here in June. Amazingly they're forecasting snow tomorrow and Tuesday. Two to four inches tomorrow. Hellp

Lived there for manyyears. First winter, experienced a Nor'easter. Think you're calling for help now? Just wait.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.