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

Search This Blog

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.


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.