Hello,
Having signed onto this list some weeks ago because of something Dan Ingalls wrote on the developers list, I have a general question and a few general remarks (distilled from 6 months of learning about Squeak).
Question:
What IS the purpose of the Squeak Foundation maillist?
Remark A: Get Squeak into regular university-courses!
I am a 51 year old mathematical philosopher with wide interests and too little time and not enough health to spend more than a few hours a day on Squeak, and also with VERY little taste for "socializing" by e-mail. I have given a rather extensive part of my own site to Squeak, but this generates little traffic, probably because (a) my own opinions and formulations concerning most things are not safely average and (b) there are far fewer people seriously concerned with Squeak and Smalltalk than the people seriously concerned with Squeak and Smalltalk would like and do suggest (as I learned over the past half year).
The ONE way to get Squeak REALLY going - it would seem to me - is to put one's academic enthusiasms on Squeak's maillist into something academically real and functional:
TRY TO GET SQUEAK TO BE PART OF THE ACADEMIC CURRICULUM IN YOUR UNIVERSITY!
After all: It IS Open Source; it IS marvellous; it IS fun; and lots of students might learn to program in it quite fast and quite easily - IF ONLY there is a regular curriculum, WITH good courses, good documentation, recent books, CDs with recent versions and lots of good documentation, examples etc.
So I would recommend that academics concerned with Squeak seriously contemplate the question how to get Squeak into the normal university courses, especially in top-universities, like Yale and MIT in the U.S., and to have it included in the standard courses offered in computing, together with GOOD, COMPLETE, UP TO DATE documentation (fit for non-hacking types, with less than 16 hours a day available for learning to hack a flakily documented totally different computing language rapidly developed by some dedicated hackers who are FAR better at writing good code than writing good documentation of it).
For by far the best way to get Squeak going for non-developers and non-hackers is to give Squeak a place inside the universities and academic world; to make it known, popular and teach it; and to get intelligent people working with it - and especially intelligent people NOT specializing in "computer science" but in some real science like physics, chemistry, biology or mathematics.
And as long as this does not happen, Squeak is bound to remain an effort by a few handfuls of enthusiast hacking types, that remains almost unconnected to "the Real World of C and Java", that are taught in very many universities (and indeed seem to me mostly a waste of time, for nearly anyone, especially anyone not concerned with writing commercial applications but with doing real science - but this one cannot prove without Squeak being present in regular university courses next to C and Java).
In short: It seems to me very unlikely to get a major new computing language as Squeak indeed is (being Smalltalk + Morphic) going in a major way without getting it taught in standard courses in universities. So if there is ONE thing "the Squeak community" should try, next to developing Squeak, it is to give it a firm footing inside the academic world and inside ordinary courses in computing and programming. (And even if most developers have graduated, by far the best way to get a market going for Squeak-related matter is by having it taught in universities. It might even get some developers an academic job!)
Remark B: Put some really good general documentation together, maintain it and update it regularly!
Regardless of what people tend to suggest on the developers list - where one is fondly referred to "the Swiki" and it is generally suggested everything to learn Squeak or Smalltalk is plentifully and easily available on the net - the fundamental problem of Squeak-as-is (from the point of view of an intelligent, curious non-hacker, with other interests than hacking, and not infinitely or plentifully supplied with time and energy) is this:
There IS NO good documentation on Squeak (for non-hacking types without a Ph.D. in computing plus 16 hours a day to spend on hacking). Period. (And I am not going to change my mind on this after 5 months of spending a lot of energy on what there IS, that got me somewhat disgruntled if only because of the money and time spend on getting time and again random jottings of random people on random aspects of random versions of mostly past Squeaks. Those who say there IS must have rather radically different notions on what good documentation is, and apparently tend to be severely dedicated hacking types with a university-job in computing, having little else to do than learning all manner of little known languages, and telling others this is o so very easy and all documentation to do so is o so plentifully available. Well: It's not easy and it's not available, or if it is most of it is in fact for dedicated specialists only, and besides most of what one finds is outdated and doesn't work in a recent Squeak.)
Remark C: "Internet communities" are mostly would-be: Get some real people together!
Personally, I do not believe "an internet community" is a community of real people, since real people are far more than occasional bitstreams, and the real world tends to be made (and unmade) by actual groups of real persons really meeting face-to-face. (Meeting a person and freely talking you can size them up. Reading and writing e-mails usually only gives you a bitstream format + some information, usually partial, incomplete, and biased.)
Once again, the basic way of getting Squeak going outside the developers list is to have it taught in real universities by real people to real people, and to develop real communities on this basis rather than as mere bitstreams.
Regards,
Maarten.
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
Maarten Maartensz maartens@xs4all.nl said:
What IS the purpose of the Squeak Foundation maillist?
Discuss the Squeak Foundation. Duh. The Squeak Foundation, like - say - the Apache Foundation or maybe the Open Office Foundation (IIRC - that now has StarOffice under its wings), should be the "official" organization representing Squeak (development, some products, whatever). This list is there to discuss how the SqF should work, behave, look, feel, whatever.
Remark A: Get Squeak into regular university-courses!
Yup. It's a-happening (Georgia), but only slowly.
I have given a rather extensive part of my own site to Squeak, but this generates little traffic, probably because (a) my own opinions and formulations concerning most things are not safely average and (b) there are far fewer people seriously concerned with Squeak and Smalltalk than the people seriously concerned with Squeak and Smalltalk would like and do suggest (as I learned over the past half year).
I care a lot for out-of-the-average opinions, and I think an unusually large proportion of the peole involved with Squeak do :-).
Did you add a link to your site to the Squeak Swiki (http://minnow.cc.gatech.edu/squeak). It's an effective way to get more people to your site, because the Swiki is regularly visited and indexed by the search engines.
And as long as this does not happen, Squeak is bound to remain an effort by a few handfuls of enthusiast hacking types, that remains almost unconnected to "the Real World of C and Java", that are taught in very many universities (and indeed seem to me mostly a waste of time, for nearly anyone, especially anyone not concerned with writing commercial applications but with doing real science - but this one cannot prove without Squeak being present in regular university courses next to C and Java).
I agree that teaching Java in a University (opposed to, say, the 'higher professional technical schools' - HTS, HIO - we have in the Netherlands) is a waste of time. But then, no-one is interested in academic knowledge anymore, it's all about being able to write 'Drs' (Master) in front of your name for a faster career launch in business...
But I do think that if you were to show MatMorphs to some selected people, you'd stand a good chance of arousing their interest ;-)
Remark B: Put some really good general documentation together, maintain it and update it regularly!
Point taken. Squeak has been lacking in the area of 'first user experience'. On the other hand, everything is moving so fast that the books that have been published are outdated 1.5 seconds after they go to the printer. The solution is probably to have the documentation in the image, but in a format that people can print out if they care to (a lot of them do).
Remark C: "Internet communities" are mostly would-be: Get some real people together!
Agreed. I have had the best results by a combination of live meetings and then using the Internet to continue from there. However, meeting face-to-face is expensive (we could organize a "Dutch Squeak User's Group" meeting with the snap of the finger, but still traveling expenses in such a small country could be too high for some poor student - or do they still get free public transpor?. Imagine a "German Squeak User's Group" meeting...), and a virtual community is better than no community at all. We'll have to make-do with it for a majority of the work...
Hello Cees,
At 09:03 21-1-02 +0100, you wrote:
Maarten Maartensz maartens@xs4all.nl said:
What IS the purpose of the Squeak Foundation maillist?
Discuss the Squeak Foundation. Duh. The Squeak Foundation, like - say - the Apache Foundation or maybe the Open Office Foundation (IIRC - that now has StarOffice under its wings), should be the "official" organization representing Squeak (development, some products, whatever). This list is
there
to discuss how the SqF should work, behave, look, feel, whatever.
Good. So brainstorming is to the point. Here are two follow-up questions, simply to straighten out the facts:
(1) How is the current Squeak-Foundation related to current Squeak-Central? (2) How is the current Squeak-Foundation related to the recent passing away of Squeak-Central from Disney?
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
Remark A: Get Squeak into regular university-courses!
Yup. It's a-happening (Georgia), but only slowly.
Well, my general point was not that it is not anywhere in a university (or poly-technic), but that to promote and help Squeak a major and explicit goal of those wishing to promote it should be to get it somehow into the universities. The reason this is so important is that this works like a seed for many more things.
[snip]
And as long as this does not happen, Squeak is bound to remain an effort by a few handfuls of enthusiast hacking types, that remains almost unconnected to "the Real World of C and Java", that are taught in very many universities (and indeed seem to me mostly a waste of time, for nearly anyone, especially anyone not concerned with writing commercial applications but with doing real science - but this one cannot prove without Squeak being present in regular university courses next to C and Java).
I agree that teaching Java in a University (opposed to, say, the 'higher professional technical schools' - HTS, HIO - we have in the Netherlands) is a waste of time. But then, no-one is interested in academic knowledge anymore, it's all about being able to write 'Drs' (Master) in front of your name for a faster career launch in business...
Well - I've been thrown twice out of the University of Amsterdam for protesting the decline of the Dutch universities, but in the end I did get to be a drs. though not in philosophy but in psychology (and then in fact mostly in mathematics and physics - and yes, I also have a B.A. in philosophy).
"And so it goes" - except that I don't believe that if most people "democratically" desire to be rich, irresponsible and stupid all people should conform, and indeed once in a - largish - while I do meet students who are genuinely into academic knowledge. I do grant their IQs tend to be over 150 or so (i.o.w. they are 1 in 10.000 - and mostly as amazed as I was when I entered universities in the 70ies and found it dedicated to furthering the ends of .... the communist party, the more lunatic feminist fringe etc.) But these few are the people I am interested in, and not in the post-modern average uncivilized Dutch dummy, proud of being an uncivilized financial go-getter. (Remember: I am in my 50-ies. I still had to learn 5 foreign languages in grammar school; I still had to learn grammatical Dutch, history, mathematics, physics etc. Younger Dutchmen didn't, and don't know and can't judge what they miss. Indeed, most of them don't read books at all, academic or not, and are PROUD of it. The average IQ of the post-modern Dutch academic is 115, which in my time was some 15 points too low to enter grammar school, and far too low to graduate from a university - pre-post-modern style. And no: I don't believe a high IQ is a guarantee of anything, except in the way that being over 2 meters tall will - ceteris paribus - tend to help you make a career in basketball, unfair as this is for those of 1.65 m.)
And one of the reasons I am interested in Squeak is that I am interested in trying to tide over what remains of genuine academics through the current Post-Modern Dark Age. Also, inside the universities there still are some who try to do the same, though mostly indeed in the genuine sciences and mathematics, and in things requiring real brains and real work, like sinology or medicine. For them, as for me, a really good and versatile programming environment like Squeak could be (but is not yet) would be a truly excellent tool to think with and publish with (rather than write a commercially selling application with, which doesn't interest me at all).
Indeed, if I were convinced that "no-one is interested in academic knowledge anymore" I would give up on Squeak also. (Note for Dutchmen: Read the columns of Vincent Icke in the NRC-Handelsblad. He is a theoretical physicist of similar concerns, outlook, and age.)
But I do think that if you were to show MatMorphs to some selected people, you'd stand a good chance of arousing their interest ;-)
True - but when I prodded the Argentinians to update their work so that it does work in the current Squeak (so that I could show it to some mathematical friends) I got no reply. (And currently I assume they are trying to remain alive, queueing up to get a few pesos from the bank, and awaiting the next Videla.)
Remark B: Put some really good general documentation together, maintain it and update it regularly!
Point taken. Squeak has been lacking in the area of 'first user experience'. On the other hand, everything is moving so fast that the books that have been published are outdated 1.5 seconds after they go to the printer. The solution is probably to have the documentation in the image, but in a format that people can print out if they care to (a lot of them do).
Yes and no. The solution I see is to FIRST write a good and complete documentation for the current Squeak and THEN maintain it. This must be a coordinated effort by a number of capable people, and not what is happening on the Swikis, which is far too random by too many people of too different levels and kinds of ability and interest. (You also can't compile a medical manual from the random conversations on a medical congress, however clever, and learning medicine that way will take you a life-time, at least. But that IS the current level of promoting and teaching Squeak: Through mostly random electronic conversation.)
The best effort in this direction, and probably the best hope, is what Tansel Ersavas is doing with Squeak News.
Remark C: "Internet communities" are mostly would-be: Get some real people together!
Agreed. I have had the best results by a combination of live meetings and
then
using the Internet to continue from there. However, meeting face-to-face is expensive (we could organize a "Dutch Squeak User's Group" meeting with the snap of the finger, but still traveling expenses in such a small country
could
be too high for some poor student - or do they still get free public transpor?. Imagine a "German Squeak User's Group" meeting...), and a virtual community is better than no community at all. We'll have to make-do with it for a majority of the work...
Mostly true, but my point is this. One of the many things I have been - see above - is "a student leader" (around 1980 - and before that I was a farmhand in Norway) and a considerable amount of what happens on the Squeak and Smalltalk lists is similar to what I saw in my student days: Would-be radicals posturing inside small communities with radical proposals and ideologies to Save the World - who mostly turn out too afraid and timid to really DO something that might harm their own private career-interest ("IMHO").
What is needed - in a truly awful but modern phrase - ("IMHO") is people with "Leadership Potential", and these you can only find by meeting them face to face. (The Charisma Factor doesn't tend to shine brightly through e-mail!) And I agree that once you've found them you don't need many more meetings, but I believe that until you've found them you won't lift Squeak from where it is now.
Speaking for myself, after 6 months of dedicated reading of the Squeak maillist, I still know hardly anything of the academic qualifications, outlook, concerns, or ages of hardly anyone on the list. Well: That may be a quite sufficient basis for mailing about programming and developing a programming language, but is not a sufficient basis for getting something done in real life in real society.
Regards,
Maarten.
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
Dr. Maartensz, I agree deeply with your argument for integrating Squeak into Universities. That's why I'm doing the things I'm doing, such as the books and the workshop.
It's not just Georgia Tech using Squeak in real classes. Visit http://coweb.cc.gatech.edu/mmworkshop -- Bucknell and U. California-Santa Barbara are using it, as are Portland State, UC-San Diego, and Pepperdine. You're right that it would be great to get into some top tier schools, but that takes time. You're a student of history, sir -- you know that "revolutions" are not the all-of-a-sudden thing that they're often portrayed as. Instead, there's typically a long, slow, quiet burn before a sudden awareness by the populace. I like that Squeak has a growing, intense community. When Squeak "suddenly" appears at top-name universities, it will appear as a revolution to many.
I disagree, though, with your argument for documentation. Yes, of course, more and better documentation would be great, but that's not what's holding Squeak back. Squeak 2.7 and 2.8 were and are terrific releases -- many people are using them happily (e.g., some of my grad students are quite happy with those and won't upgrade yet). The old documentation and the "old" books still work quite well for those. I found your reference to trying to tide over "genuine academics through the current Post-Modern Dark Age" intriguing, but if you believe that, is only Squeak 3.2 good enough to tide over genuine academics? People on the main list sometimes joke that there's nothing new since Smalltalk-72, but there's a certain truth to that. The old isn't bad just because the new is better.
The latest-and-greatest truly is great, but it's a constantly moving target. Technology will only help with getting documentation available to a small extent -- good documentation is HARD to do. Documentation will ALWAYS be behind, sir, but I don't believe that it's a dire situation. There are LOTS of features in 2.8 through 3.2 that I don't know how to use. That's okay -- Squeak is still a wonderful tool to think and learn with. What I know about Squeak transfers forward and helps me to learn new things. I spend a lot of time in my first week of classes on how to find things (via the Method Finder and Explorers, etc.) What Squeak lacks for in documentation, it makes up for in tools for self-discovery.
Squeak's growing -- maybe not as fast as one might like, but revolutions do take time. "Lack of documentation" should not be used as an excuse -- go ahead and write the next set of documentation that you see that will be useful, get Squeak in your own universities, and gather people face-to-face as you describe. I'm not a hacker with 16 hours a day to explore Squeak, sir -- I'm an over-worked associate professor teaching 150+ students a semester with three kids under 10. It is possible to do great things with Squeak -- now, as it is today.
Mark
Mark Guzdial guzdial@cc.gatech.edu said:
It's not just Georgia Tech using Squeak in real classes. Visit http://coweb.cc.gatech.edu/mmworkshop -- Bucknell and U. California-Santa Barbara are using it, as are Portland State, UC-San Diego, and Pepperdine.
You're forgetting that little corner of the world that lies outside the USofA - you remember these folk from Argentina with their MatMorphs? I also vaguely recall seeing a lot of University of Bern, Switzerland guys hanging out on the Squeak lists... ;-)
Hi Cees
The university of Brussels via Theo D'Hondt group Prog is teaching Squeak and Scheme. At bern we are teaching using VW. But this does not really matter, what matter is that we shoud try to do demoe in University anytime we have an opportunity.
In France, some isolated groups are teaching using Squeak (at least to I know).
You're forgetting that little corner of the world that lies outside the USofA - you remember these folk from Argentina with their MatMorphs? I also vaguely recall seeing a lot of University of Bern, Switzerland guys hanging out on the Squeak lists... ;-)
By the way Cees, I'm not really for the multiplication of the list. May be we can have threads or is there any simple way to declare a temporary mailing list to which a group of people working together can register.
Stef
ducasse ducasse@iam.unibe.ch said:
The university of Brussels via Theo D'Hondt group Prog is teaching Squeak and Scheme. At bern we are teaching using VW. But this does not really matter, what matter is that we shoud try to do demoe in University anytime we have an opportunity.
In France, some isolated groups are teaching using Squeak (at least to I know).
I'm not sure whether it already exists, but is it maybe an idea to setup a "Squeak in Education" registry somewhere, so that when I want to introduce Squeak for teaching at my institution, I can consult a list of existing projects/courses?
You're forgetting that little corner of the world that lies outside the USofA - you remember these folk from Argentina with their MatMorphs? I also vaguely recall seeing a lot of University of Bern, Switzerland guys hanging out on the Squeak lists... ;-)
I'm definitely NOT forgetting non-US universities. I listed the ones that I did because (a) Dr. Maaretensz listed Georgia Tech, Yale, and MIT in his original article, and I assumed that he was focusing on a US context and (b) I wasn't positive (before I saw the postings in this thread) who was actually TEACHING with Squeak. I listed universities that have contacted me about teaching with Squeak, so I know that they're using it for teaching. There are others (like Stephane's U. Berne and also U. Colorado-Boulder) that are doing research and demos with Squeak, but aren't actually teaching it, so it's fairly hard to discern. Perhaps someone from UBA can fill us in, but other than the occasional graduate seminar, I thought that the Argentine Squeakers were NOT teaching with Squeak (e.g., in undergraduate classes).
Mark
Hi Mark!
Unfortunately you are right. We aren't teaching [with] Squeak right now at UBA. But I were from 1997 to 2001. I teached Squeak all the time in two courses: "Objetos Matematicos en Smalltalk" and "Elementos de Calculo Numerico" (I write the names in Spanish because the words are similar in English), and directed the Francisco Garau's Thesis on Type Inference in Squeak.
Currently we aren't teaching, but we are giving some Squeak support to a research group on Homological Algebra.
Anyway, let me say that Squeak has changed my vision of Mathematics so deeply that I don't need to be teaching Squeak to teach Squeak. When I teach pure mathematics, in some sense, I'm always teaching (and thinking in) Squeak. Having had a formal education in Pure Mathematics (I have a Ph.D.), I think of Alan Kay and Dan Ingalls as mathematicians (of a new kind of math), not because their background, but because their spirit and contributions to Science.
/Leandro
Mark Guzdial wrote:
Perhaps someone from UBA can fill us in, but other than the occasional graduate seminar, I thought that the Argentine Squeakers were NOT teaching with Squeak (e.g., in undergraduate classes).
Dear Mark,
At 10:52 21-1-02 -0500, you wrote:
Dr. Maartensz, I agree deeply with your argument for integrating Squeak into Universities. That's why I'm doing the things I'm doing, such as the books and the workshop.
I am a "drs." - which translates as M.A./M.Sc. in US terms - at present, though I am supposed to get a Ph.D. this year (the work being mostly done). But this is merely to straighten out the titular prefix stuff, about which Cees de Groot rightly remarked that most are in it for the money, not the knowledge.
It's not just Georgia Tech using Squeak in real classes. Visit http://coweb.cc.gatech.edu/mmworkshop -- Bucknell and U. California-Santa Barbara are using it, as are Portland State, UC-San Diego, and Pepperdine. You're right that it would be great to get into some top tier schools, but that takes time. You're a student of history, sir -- you know that "revolutions" are not the all-of-a-sudden thing that they're often portrayed as. Instead, there's typically a long, slow, quiet burn before a sudden awareness by the populace. I like that Squeak has a growing, intense community. When Squeak "suddenly" appears at top-name universities, it will appear as a revolution to many.
You are quite right, and I am glad to hear about some universities using and teaching it I didn't yet know about. My general point was and is in line with Tim Rowledge's "Get off your butts!", in the sense that I see a group of dedicated people working hard on a very good thing - that needs not only good developers (which there are), but also an "officially recognized status" in society, in the universities, and in the media.
I disagree, though, with your argument for documentation. Yes, of course, more and better documentation would be great, but that's not what's holding Squeak back. Squeak 2.7 and 2.8 were and are terrific releases -- many people are using them happily (e.g., some of my grad students are quite happy with those and won't upgrade yet). The old documentation and the "old" books still work quite well for those.
Well - the problem here is basically the audience you seek or have. In your case, with your students, you are probably right. But what I am thinking of is getting students who are not specializing in computing getting Squeak by way of a university course. Here in Amsterdam, the social sciences faculties, for example, offer courses in Java, which to me is mostly a waste of time, and to those who took such courses - that I spoke with - usually a turn off from programming.
These are students who are supposed to get to grips with a new language while having little or no experience with programming, and who spend some 3 months of course points on it. The general result seems to be - except for a few - that they give up on programming, having gotten thoroughly lost in the technicalities of Java. I can't blame them, and in fact think they are right - about Java, not about programming.
I found your reference to trying to tide over "genuine academics through the current Post-Modern Dark Age" intriguing, but if you believe that, is only Squeak 3.2 good enough to tide over genuine academics? People on the main list sometimes joke that there's nothing new since Smalltalk-72, but there's a certain truth to that. The old isn't bad just because the new is better.
The "Post-Modern Dark Age" referred to a point Cees de Groot made about modern students not being interested in academic knowledge anymore.
What I have in mind as regards the U.S. is fairly well if somewhat bombastically explained by:
Alan Bloom's "The Closing of the American Mind - How Higher Education Has Failed Democracy and Impoverished the Souls of Today's Students."
This was published more than 10 years ago, and meanwhile the situation has NOT improved. (But I am aware these are large issues not easily discussed rationally by e-mail, and certainly not with people who were mis-educated through no fault of their own. One simple example of this is that my generation of Dutch academics could read English, German and French with little problem, and had some Latin and Greek when having passed grammar school. The later generations only know broken English. By my lights they have been cheated out of the chance to get to grips with large chunks of written civilization my generation at least got the chance to read if thus inclined.)
The latest-and-greatest truly is great, but it's a constantly moving target. Technology will only help with getting documentation available to a small extent -- good documentation is HARD to do. Documentation will ALWAYS be behind, sir, but I don't believe that it's a dire situation. There are LOTS of features in 2.8 through 3.2 that I don't know how to use. That's okay -- Squeak is still a wonderful tool to think and learn with. What I know about Squeak transfers forward and helps me to learn new things. I spend a lot of time in my first week of classes on how to find things (via the Method Finder and Explorers, etc.) What Squeak lacks for in documentation, it makes up for in tools for self-discovery.
Again, I basically agree - with my qualification I made above: Being so much impressed by Squeak's potential, I want to see it learned by university-students of most or all subjects, and this simply makes it necessary to have course materials that allow this to be done in the space of a few months - and WITHOUT disgusting most of them by the sort of technicalese that is Java.
Squeak's growing -- maybe not as fast as one might like, but revolutions do take time. "Lack of documentation" should not be used as an excuse -- go ahead and write the next set of documentation that you see that will be useful, get Squeak in your own universities, and gather people face-to-face as you describe. I'm not a hacker with 16 hours a day to explore Squeak, sir -- I'm an over-worked associate professor teaching 150+ students a semester with three kids under 10. It is possible to do great things with Squeak -- now, as it is today.
I certainly didn't intend to criticize you - indeed, you have been doing what I recommend should be done, thereby also showing what I recommend is possible. "Chapeau!" as they say in French. ("Hats off!")
What I did have in mind were some people on the list (I won't name) who sometimes seem to forget that in actual fact most people who are impressed by Squeak and who are not computer scientists or students thereof must somehow be able to learn its basic concepts and ways of working in a few months, inbetween other stuff they have to do, and without having a solid grounding in computing.
Apart from that, I may have an inclination to sometimes phrase things (too) sharply to make my point. My sincere apologies if I offended you - in fact, you are an example to many, and have done excellent work which I thank you for.
And part of the intent of my mail was to move OTHER people with academic positions to try to do as you did. This IS difficult - what with administrations, university bureaucracies, financing of courses, Squeak being hardly known etc. - but it surely is worth trying.
I hope the upcoming "flagship demo" of Squeak News may make a positive difference in this regard, simply by showing others what is possible with Squeak, and putting it under the noses of university administrators etc. to show them there is more and better than Java to teach to students who are taking - mostly enforced - courses in programming for their degrees.
Best regards,
Maarten.
Mark
--
Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 Associate Professor - Learning Sciences & Technologies. Collaborative Software Lab - http://coweb.cc.gatech.edu/csl/ (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
--- Maarten Maartensz maartens@xs4all.nl wrote:
You are quite right, and I am glad to hear about some universities using and teaching it I didn't yet know about. My general point was and is in line with Tim Rowledge's "Get off your butts!", in the sense that I see a group of dedicated people working hard on a very good thing - that needs not only good developers (which there are), but also an "officially recognized status" in society, in the universities, and in the media.
Although I can neither speak for the University of Colorado, Boulder Squeak community, nor can I assert that we are doing good stuff, I just wanted to put in a word as a semi-lurker.
We are using Squeak heavily in our work, and I personally am using Squeak more and more. I would love to contribute more, but I have kept my mouth shut because I really need to finish my Ph.D. dissertation, and Squeak is precisely the distraction I don't need. Hopefully soon I can get back to the fun stuff. :)
I mention this because I suspect that there are groups out there like ours. We have been using Squeak, and we love it. I for one want to contribute more, but contribution takes time from us.
I am glad that SqueakFoundation is thinking about improving social structures to enhance contribution. As a lurker, I would make a few suggestions on ways to encourage more participation, so it doesn't appear that a small group is doing all the work:
* Integrating Squeak into SQF workflow. Squeak has the potential to be an outstanding collaborative technology. Since we're contributing to Squeak, the tool should help us do this. Systems like SCAN, Modules, Swiki, SuperSwiki, Projects, Nebraska, chat, and many I don't even know about are all steps in the right direction. But we need to have some fluid way of dealing with changes.
* Have central contact points for sensible things. I think this is the biggest reason why I've not contributed, because I would want to maintain what I do, and I can't do that right now. Therefore, understanding the social structure would be dramatically helpful.
* Have a scheme for discussing contributions. We do this informally on the Squeak mailing list, but perhaps we could make this process more explicit. Has anyone used my change? Has anyone had recommendations for enhancements? Are there any bug fixes needed?
I'll stop rambling now, but I want to say that I love Squeak, and would love to get off my butt. Anyone want to write a dissertation for me?
-Eric Scharff
__________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/
Eric,
We are using Squeak heavily in our work, and I personally am using Squeak more and more. I would love to contribute more, but I have kept my mouth shut because I really need to finish my Ph.D. dissertation, and Squeak is precisely the distraction I don't need.
Hear, hear. This seems to be a common "problem" in the community. Various people (including me ;-) used Squeak to this end... oh, by the way, Bert, how's _your_ thesis coming?! ;-)
- Have a scheme for discussing contributions. We do this
informally on the Squeak mailing list, but perhaps we could make this process more explicit. Has anyone used my change? Has anyone had recommendations for enhancements? Are there any bug fixes needed?
I think that's an excellent idea. Not only has it a _huge_ coolness factor to know that somebody is actually using your stuff, getting this to work on a collaborative basis also means that we might be able to get a true "all projects" directory going. Including discussions, reviews, recommendations etc. Perhaps we should have a "featured [goodie] [enh] etc" of the month?!
I'll stop rambling now, but I want to say that I love Squeak, and would love to get off my butt. Anyone want to write a dissertation for me?
Nope. Thanks. Not again. I'm done.
Cheers, - Andreas
<snip>
- Have a scheme for discussing contributions. We do this
informally on the Squeak mailing list, but perhaps we could make this process more explicit. Has anyone used my change? Has anyone had recommendations for enhancements? Are there any bug fixes needed?
I think that's an excellent idea. Not only has it a _huge_ coolness factor to know that somebody is actually using your stuff, getting this to work on a collaborative basis also means that we might be able to get a true "all projects" directory going. Including discussions, reviews, recommendations etc. Perhaps we should have a "featured [goodie] [enh] etc" of the month?!
Ideally (IMO) there should be a Bugzilla- or SourceForge-like bugtracking/enhancement request tracker, rather than a Wiki that gets outdated rather quickly.
Cheers,
Sander
Sander.Tichelaar@daedalos.com said:
Ideally (IMO) there should be a Bugzilla- or SourceForge-like bugtracking/enhancement request tracker, rather than a Wiki that gets outdated rather quickly.
Not my experience. I've tried to use bugtrackers at some points, but they invariably filled up with duplicate entries for unimportant things. I think for starters, a Wiki project page setup, with: - About the project - Status, downloads - Bugs/enhancement requests (probably a separate page with the 'add box' at the bottom) with the project team actively cleaning the last page is enough. The only thing you need to make sure is to clearly define and limit the scope of the project, and make it a minimal scope. A single Wiki page is much harder to turn into a dustbin than a Bugzilla database, IMHO.
The important thing is 'metadiscussion', I think. I once took away MS Project, Bugzilla, and some assorted tools from a team and gave them a Wiki in return. The reason they were happy campers after a while is that we took some trouble to discuss how to best use the Wiki for keeping track of issues, discussing new designs, etcetera. Since then, whenever I have a chance to excercise my sadistic dark side as a Project Manager ;-}, when I open my toolbox the team will only find a mailing list and a Wiki in there and I won't consider anything else for at least 6 months. It takes a bit of work, but it works.
Quoting Cees de Groot cg@home.cdegroot.com:
Sander.Tichelaar@daedalos.com said:
Ideally (IMO) there should be a Bugzilla- or SourceForge-like bugtracking/enhancement request tracker, rather than a Wiki that gets
outdated
rather quickly.
Not my experience. I've tried to use bugtrackers at some points, but they invariably filled up with duplicate entries for unimportant things. I think for starters, a Wiki project page setup, with:
- About the project
- Status, downloads
- Bugs/enhancement requests (probably a separate page with the 'add box'
at the bottom) with the project team actively cleaning the last page is enough.
And that is what is often not happening. I agree with you, as long as this actively cleaning takes place ;)
Greetings,
Sander
The only thing you need to make sure is to clearly define and limit the scope of the project, and make it a minimal scope. A single Wiki page is much harder to turn into a dustbin than a Bugzilla database, IMHO.
The important thing is 'metadiscussion', I think. I once took away MS Project, Bugzilla, and some assorted tools from a team and gave them a Wiki in return. The reason they were happy campers after a while is that we took some trouble to discuss how to best use the Wiki for keeping track of issues, discussing new designs, etcetera. Since then, whenever I have a chance to excercise my sadistic dark side as a Project Manager ;-}, when I open my toolbox the team will only find a mailing list and a Wiki in there and I won't consider anything else for at least 6 months. It takes a bit of work, but it works.
-- Cees de Groot http://www.cdegroot.com cg@cdegroot.com GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B _______________________________________________ Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation
Maarten Maartensz maartens@xs4all.nl wrote...
Good. So brainstorming is to the point. Here are two follow-up questions, simply to straighten out the facts:
(1) How is the current Squeak-Foundation related to current Squeak-Central? (2) How is the current Squeak-Foundation related to the recent passing away of Squeak-Central from Disney?
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
Good points. I addressed this once, I think, and had planned to re-issue it a couple of weeks ago, but got diverted into the Interim Structure. Look for it by the end of Tuesday. I'm tied up today.
But I do think that if you were to show MatMorphs to some selected people, you'd stand a good chance of arousing their interest ;-)
True - but when I prodded the Argentinians to update their work so that it does work in the current Squeak (so that I could show it to some mathematical friends) I got no reply. (And currently I assume they are trying to remain alive, queueing up to get a few pesos from the bank, and awaiting the next Videla.)
I'm hoping that both the introduction of modules and some attention to regular and stable releases will both make it easier for them to keep MathMorphs current, and make it easier for other Squeakers to import and try out.
- Dan
[Anyone in a hurry can skip the first 6 paragraphs...]
Maarten Maartensz maartens@xs4all.nl wrote...
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
and cg@home.cdegroot.com (Cees de Groot) replied...
No worries here. Dan will outline the details tomorrow, but maybe it says enough that he's the designated Executive Director of SqF and a core member of SqC.
and I added... This could look like "why bother/still run by SqC", but our intention is, on the contrary [and here's the one-minute answer to your original question...], to put SqF in charge of the artifact and community, and for SqC to become "just another" participating group. My significant presence in the interim structure is not to recreate the past, but to ensure continuity while we move on to the future.
Then Maarten Maartensz maartens@xs4all.nl wrote again...
(1) I've still not seen Dan Ingalls' clarification (promised by last Tuesday), so Squeak Foundation seems on the moment mostly academic,
Well, I owe you all an apology. My life is really over-full right now (wife recovering from back surgery so I'm Pop, Mom and bus driver as well to 3 kids and 3 dogs; 3.2 waiting for final touches (thanks, harvesters!); and modules and a pile of other updates waiting to go out into 3.3; plus (and this is the real problem) I've recently decided to produce and sell a real Squeak-based product. Oh, and the snow has been really great this week ;-)
My recent strategy has been to put times on my promises, as I did with this one, so people will remind me when I fall behind. Thank you, Maarten for the reminder (and Cees who did so privately as well). ------------
This brings to mind a useful way to approach the whole question of what SqF is about (charter) and how it ought to operate (process). What if I, and all of SqC had to drop out? I don't mean just from SqF, but from Squeak in general, then where would we (I'm speaking now as just a community member) be?
I'm planning on sticking around but, almost by definition, if we can figure out how to carry on without SqC, it would appear that SqF could achieve a fair amount of its most important purpose, namely to carry on.
The Interim Structure addresses some of this need by reifying various parts of our continuing existence (harvesting, updates, releases, etc) as projects with committees to carry them out.
Here are what I see as the key roles that SqC has been playing that have not yet really been addressed:
1. Decisions about code quality for lots of the stuff that goes into the system. This has actually been relaxed a lot in the last year, as we have let more in through the more SqF-style harvesting process.
2. Decisions about what should and should not go into the image. This, too has been relaxed a bit, but I can point immediately to a number of things it might be nice to have in the image that we have not put in: Morphic Wrappers Connectors Linda and, as I write it I realize this is a huge list -- basically everything we've done. How have those decisions been made and why? How is easy: I and the others in SqC have made them. Why is not so easy, but it takes us into the interesting territory...
3. Decisions about what Squeak "is" -- what are its strengths, how it should be "positioned" and presented, who are its likely customers, and what will make it most immediately appealing and useful to them.
In the past we ran things as a sort of benevolent dictatorship. We started with an unwritten charter for SqC, together with an unwritten "altruistic synergy" charter for the rest of the community, and then made decisions 3, 2, and 1 above consistent with those charters.
[In re-reading the above paragraph, it sounds a bit bombastic. I don't mean it at all that way. By "we" here, I mean to include all the great people in this community who have helped to keep things going up to now. That is why I know SqF will work]
So it seems that now is a time to make these charters manifest, and to reexamine them in the context of SqF and its future as we envision it. If you look at the message I sent to this list on May 1, it is still almost completely relevant. It was my attempt to verbalize the charter under which SqC has been and plans to continue operating. I will paraphrase it to keep this message complete:
The SqC charter is... To produce a computing environment that brings the arts and sciences to life for children of all ages,
and the artifact that follows is... A malleable computing environment that supports scriptable multimedia content distributed over the Internet.
That charter is probably attractive to most of us simply because we have stayed together this long with it being implicitly at the core of our community. The other "altruistic synergy" part that we have always considered in serving this community runs along the lines... Keep it cross-platform Keep it reasonably compatible with other Smalltalks Keep it fairly simple Include enough so the release image can demonstrate most of the cool things that set Squeak apart These desiderata are really at the level of artifact, and I'm trying to think of what the higher level principle is behind them. I think it's really to attract people who like the same things as we, and to maximize the sharing across platforms and with the larger Smalltalk community.
I want to cut this short, but I think it's enough to explain the SqC perspective, and to give some context for discussion of how things might work if, as I say, SqF were to take charge of the artifact and community, and SqC were to become "just another" participating group. Just imagine that all of SqC got an irresistible contract to work in Hawaii for 5 years. What would you come up with as a charter, and how would it play out for 3, 2, and 1 above?
It's my hope that having a module system into the release will help greatly to reduce the conflicts currently inherent in satisfying different parts of our shared agenda. That's why I want to cut this short ;-)
- Dan
Hi Dan
Just a point
Putting in the image should be earse from our vocabulary:) We should say put in a loadable on demand (project, modules....).
- Decisions about what should and should not go into the image. This, too
has been relaxed a bit, but I can point immediately to a number of things it might be nice to have in the image that we have not put in: Morphic Wrappers Connectors Linda and, as I write it I realize this is a huge list -- basically everything we've done. How have those decisions been made and why? How is easy: I and the others in SqC have made them. Why is not so easy, but it takes us into the interesting territory...
Stef
Hi
I really liked the energy some people put to produce tests for the new block closure.
I would like to initiate under the squeak foundation "task forces". The idea is that we would do for a short period of time one month a call for tests and code cleaning on a specific and well identified part of the system. This coupled with module could be a really good way to improve active and synchronized documentation of the system.
Stef
Stephane Ducasse ducasse@iam.unibe.ch said:
I would like to initiate under the squeak foundation "task forces". The idea is that we would do for a short period of time one month a call for tests and code cleaning on a specific and well identified part of the system. This coupled with module could be a really good way to improve active and synchronized documentation of the system.
Good idea. Related suggestion: how'bout a repository of unit tests like the comment repository? The more, the better..
Stephane Ducasse wrote:
I really liked the energy some people put to produce tests for the new block closure.
I would like to initiate under the squeak foundation "task forces". The idea is that we would do for a short period of time one month a call for tests and code cleaning on a specific and well identified part of the system. This coupled with module could be a really good way to improve active and synchronized documentation of the system.
Stef
Stephane,
This is a good initiative--I think that if we had a prioritized list of what areas we need tests for, with some motivation why tests for that area are important, it would greatly help making this happen. It would give people clear ideas of things they could attack. Are you willing and able to produce the first version of such a list?
Henrik
on 29/01/02 4:17 PM, Henrik Gedenryd at h.gedenryd@open.ac.uk wrote:
Stephane Ducasse wrote:
I really liked the energy some people put to produce tests for the new block closure.
I would like to initiate under the squeak foundation "task forces". The idea is that we would do for a short period of time one month a call for tests and code cleaning on a specific and well identified part of the system. This coupled with module could be a really good way to improve active and synchronized documentation of the system.
Stef
Stephane,
This is a good initiative--I think that if we had a prioritized list of what areas we need tests for, with some motivation why tests for that area are important, it would greatly help making this happen. It would give people clear ideas of things they could attack. Are you willing and able to produce the first version of such a list?
I will try. The more I wander in the image the more I smell method on the wrong place. The problem is that I do not see how we could cover that we tests.
The first area that I would like to clean is SystemDictionary there are far too much responsibility there.
Then I would really like to clean a bit Object but this one may have a lot of repercussions.
Anybody else has wishes?
Stef
On Tue, 29 Jan 2002, ducasse wrote:
[snip]
I will try. The more I wander in the image the more I smell method on the wrong place. The problem is that I do not see how we could cover that we tests.
Hmm. Methods *living* in the wrong place need to have their distinguished callers tested. Hmmm.
Actually, extentions to SmallLint might be the way to go. That way I could check my code to see if it risk breakage with the moved stuff....
Or leave deprecated stub methods that recorded who called them. Then after two or three generations, one can remove the stubs (but leave them loadable, perhaps?)
The first area that I would like to clean is SystemDictionary there are far too much responsibility there.
Then I would really like to clean a bit Object but this one may have a lot of repercussions.
Anybody else has wishes?
Yes. Celeste mostly, at the moment. It really needs to be split up, and some of the classes it depends upon (E.g., MailDB) need, themselves to be refactored.
Cheers, Bijan Parsia.
Yes. Celeste mostly, at the moment. It really needs to be split up, and some of the classes it depends upon (E.g., MailDB) need, themselves to be refactored.
So celeste could be a good testbed for a refactoring process. Have you approach the celeste users and the people taking care of it. Could you set up a war plan to clean celeste?
It would be good to extract celeste from the squeak image, do a call for tests and lead a refactoring efforts. This way we could: - have a better celeste - learn in the process
I think that Celeste is "well" separated from the core so this could be interesting to try.
Stef
On Wed, 30 Jan 2002, ducasse wrote:
Yes. Celeste mostly, at the moment. It really needs to be split up, and some of the classes it depends upon (E.g., MailDB) need, themselves to be refactored.
So celeste could be a good testbed for a refactoring process. Have you approach the celeste users and the people taking care of it.
There have been rumbles on the squeak-dev list from time to time ;)
Could you set up a war plan to clean celeste?
I think so.
Celeste is also interesting because it has a lot of functionality that even non-Celeste users might want. For example, sometimes you want to compose and send an email message from Squeak, but *don't* want to be a full fledged Celeste user. (E.g., mailing changesets/bugs/etc. to the list). There are a variety of Celeste UIs, etc.
It would be good to extract celeste from the squeak image, do a call for tests and lead a refactoring efforts. This way we could: - have a better celeste - learn in the process
Yep. And gain a few things in the process. Celeste's persistence mechanism is a tad primative...but useful! If it can be made so that the *interface* is relatively stable, but the storage backend and filter/query process were registerable, well, that would rule :)
I think that Celeste is "well" separated from the core so this could be interesting to try.
Yes.
Cheers, Bijan Parsia.
Yes. Celeste mostly, at the moment. It really needs to be split up, and some of the classes it depends upon (E.g., MailDB) need, themselves to be refactored.
So celeste could be a good testbed for a refactoring process. Have you approach the celeste users and the people taking care of it. Could you set up a war plan to clean celeste?
It would be good to extract celeste from the squeak image, do a call for tests and lead a refactoring efforts. This way we could:
- have a better celeste
- learn in the process
I think that Celeste is "well" separated from the core so this could be interesting to try.
I agree. If you look at changeSet #3746, ... ----------------- Introduces a new image partitioning tool that is essentially a local version of majorShrink. The idea is to pick some application like Scamper, or some cluster like all the 3D classes, and remove it, and also remove everything that is solely referred to by it. The way it works is: Record all unsent messages and unused classes at the outset Mark the application or cluster as removed Note all *newly* unreferenced methods and unused classes and iteratively remove them as well For example, the expression Smalltalk reportClassAndMethodRemovalsFor: #(Celeste Scamper MailMessage) reports 63 classes and 155 other messages that can be removed.
Also, introduces a new method, fileOutAndRemove:... that will take such results, build a changeSet from them, fileOut everything that is about to be removed, and then remove all of the classes and related messages as well. For the above example, this method produces a 290k fileOut, and saves about 104k from the system. More importantly, if you fileIn the changeSet afterward, the system returns to approximately its former size, and you can run Scamper again. It's a way to fileOut a package that never existed. -------------------
So a year ago, that group and that method (for which there is now equivalent code in modules) worked perfectly as a module a year ago.
- Dan
ducasse ducasse@iam.unibe.ch wrote...
I think that Celeste is "well" separated from the core so this could be interesting to try.
Hi Stef -
I've been reflecting more on this since responding to your message. I completely defer to you and Henrik on which way to go, but I see a choice here:
Either we... Find various small things that are pretty modular and do them first
Or we... Take various big chunks that are pretty modular and do them first.
By "big chunks", I'm thinking along the lines of the various discardX methods in SystemdDictionary (like all of 3D, all of networking, etc). So this would mean instead of doing Celeste, we do all of Networking as a chunk. Then *later* we refine this and break networking down into Celeste, Scamper, IRC, HTML, PWS, etc.
I just have the feeling that it might not be much harder to draw isolation lines around the big chunks than it is around the little ones, and the payoff might be higher, in that it might *soon* be possible for mere mortals to perform their own versions of majorShrink, and have it really work.
As I say, I'm happy to go with whatever you guys decide, but I did want to call attention to the choice, and have you make a conscious decision.
- Dan
Dan,
Personally, I'm in for some of the larger chunks first. Why? Well, for one thing it's going to test out the framework in some areas that'll really benefit all of us. Secondly, it's perhaps not as easy to define the boundaries for an application like Celeste (some people have already pointed out that some of the stuff Celeste is doing might be of interest for other apps so a careful definition of boundaries is important). Thirdly, having fast and "big" results (like the ability to cut out and load stuff like Wonderland and 3D) will convince people that we're _seriously_ talking about modularity and encourage them to build their own designs into their frameworks.
Just my €.02, - Andreas
-----Ursprüngliche Nachricht----- Von: squeakfoundation-admin@lists.squeakfoundation.org [mailto:squeakfoundation-admin@lists.squeakfoundation.org] Im Auftrag von Dan Ingalls Gesendet: Mittwoch, 30. Januar 2002 20:08 An: squeakfoundation@lists.squeakfoundation.org Betreff: Re: [Squeakfoundation]What I would like to promote
ducasse ducasse@iam.unibe.ch wrote...
I think that Celeste is "well" separated from the core so
this could be
interesting to try.
Hi Stef -
I've been reflecting more on this since responding to your message. I completely defer to you and Henrik on which way to go, but I see a choice here:
Either we... Find various small things that are pretty modular and do them first
Or we... Take various big chunks that are pretty modular and do them first.
By "big chunks", I'm thinking along the lines of the various discardX methods in SystemdDictionary (like all of 3D, all of networking, etc). So this would mean instead of doing Celeste, we do all of Networking as a chunk. Then *later* we refine this and break networking down into Celeste, Scamper, IRC, HTML, PWS, etc.
I just have the feeling that it might not be much harder to draw isolation lines around the big chunks than it is around the little ones, and the payoff might be higher, in that it might *soon* be possible for mere mortals to perform their own versions of majorShrink, and have it really work.
As I say, I'm happy to go with whatever you guys decide, but I did want to call attention to the choice, and have you make a conscious decision.
- Dan
Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation
Andreas Raab Andreas.Raab@gmx.de said:
Personally, I'm in for some of the larger chunks first.
Add my vote to that.
Cees de Groot wrote:
Andreas Raab Andreas.Raab@gmx.de said:
Personally, I'm in for some of the larger chunks first.
Add my vote to that.
Hmm, in my experience, after working a while on refactoring you will find yourself screaming: "Aaargh, I wish I could just get #!%&+ anything at all to unload properly!!!"
Henrik
Moving this to the main list...
Dan Ingalls wrote:
ducasse ducasse@iam.unibe.ch wrote...
I think that Celeste is "well" separated from the core so this could be interesting to try.
Hi Stef -
I've been reflecting more on this since responding to your message. I completely defer to you and Henrik on which way to go, but I see a choice here:
Either we... Find various small things that are pretty modular and do them first
Or we... Take various big chunks that are pretty modular and do them first.
I made some experiments with this, and as it turns out, the easiest part is also the largest and most expendable one: VMConstruction. Storing it gives you 2.8M of code on disk, and unloading it gives a 1.4M smaller image. Doing the same for Balloon3D gives 1.3M of source and a 0.5M smaller image.
I will post instructions for doing this, along with a couple of fixes I came across while doing it.
I just have the feeling that it might not be much harder to draw isolation lines around the big chunks than it is around the little ones, and the payoff might be higher, in that it might *soon* be possible for mere mortals to perform their own versions of majorShrink, and have it really work.
Two points:
1. My estimates were that unloading modules will leave a much larger image than I had hoped for. The total source size is now about 17M (see gif); VMConstruction and Balloon above suggest about a 1/2 ratio or less for image size, which means 8-9M out of the current 16M. Ie. there are other things in the image that unloading modules of code probably won't help with.
I've not been able to guess what this is; somewhere between 2.8 and 3.0 IIRC the image grew much more than the added code can account for, and when I removed the Welcome projects that just gave slightly over 1M back, clearing the flaps also gave just about 100k.
One possible cause is that I haven't been able to release everything, thus giving lower savings than there should be. This would give too low estimates.
2. VMConstruction and Balloon3D are probably the easiest parts to separate. However, that didn't mean that making either of them unload properly was easy, and it still isn't "well" done--this is what made me realize what an amount of work will be involved in this.
This is about as much as I know.
Henrik
At 2:25 PM -0800 1/28/02, Dan Ingalls wrote:
- Decisions about code quality for lots of the stuff that goes
into the system. This has actually been relaxed a lot in the last year, as we have let more in through the more SqF-style harvesting process.
Decisions about what should and should not go into the image.
Decisions about what Squeak "is" -- what are its strengths, how
it should be "positioned" and presented, who are its likely customers, and what will make it most immediately appealing and useful to them.
I think that these are really hard decisions, and they need to be made in concert with a commitment to maintain changes.
Jim Herbsleb of (formerly, before his dept was dissolved) AT&T Bell Labs did a study of Apache a couple years ago. By interviews with the key Apache team and with analysis of the CVS logs for Apache, he discovered that something like 90% of the code was written by a very small number of guys. Does this mean that Apache is not really open-source? No -- lots of that code was inspired by or based upon work from others. But the really critical piece here is that relatively few of the enhancements or new functions that people had invented for Apache really made it into the system. From the interviews, he found that the biggest decision for a piece of new code was, "Am I going to be willing to maintain this forever after?" Based on that decision, only absolutely core functions got added, and even good code got refined until it was great before it was integrated in. I don't think this reticence is a BAD thing at all -- it results in a small but powerful and robust product.
Bug fixes are easy -- just harvest them and patch them in. Enhancements, especially big ones, need to be made carefully. I hope that as decisions get made to put new things in, the decisions are made while considering whether we can afford to KEEP the new things in, i.e., is the developer promising to stick around and keep it going. I don't mean to slight the developers of Linda, Connectors, etc. I just think that maintaining the enhancement belongs on the decision criteria list.
Mark
Mark Guzdial guzdial@cc.gatech.edu is claimed by the authorities to have written:
Bug fixes are easy -- just harvest them and patch them in.
Even tiny bug fixes need to be carefully considered. Oft times somebody will find something that seems not to work for them and 'fix' it; almost as often it turns out to completely screw up some other pat of the system. You need to know a _lot_ to do the job properly.
Enhancements, especially big ones, need to be made carefully. I hope that as decisions get made to put new things in, the decisions are made while considering whether we can afford to KEEP the new things in, i.e., is the developer promising to stick around and keep it going. I don't mean to slight the developers of Linda, Connectors, etc. I just think that maintaining the enhancement belongs on the decision criteria list.
Exactly. This is one of the reasons why I always push for a) reviews b) "If it isn't documented, it doesn't exist. If it doesn't exist, how can we incorporate it?"
tim
on 29/01/02 9:12 PM, Tim Rowledge at tim@sumeru.stanford.edu wrote:
Mark Guzdial guzdial@cc.gatech.edu is claimed by the authorities to have written:
Bug fixes are easy -- just harvest them and patch them in.
Even tiny bug fixes need to be carefully considered. Oft times somebody will find something that seems not to work for them and 'fix' it; almost as often it turns out to completely screw up some other pat of the system. You need to know a _lot_ to do the job properly.
Enhancements, especially big ones, need to be made carefully. I hope that as decisions get made to put new things in, the decisions are made while considering whether we can afford to KEEP the new things in, i.e., is the developer promising to stick around and keep it going. I don't mean to slight the developers of Linda, Connectors, etc. I just think that maintaining the enhancement belongs on the decision criteria list.
Exactly. This is one of the reasons why I always push for a) reviews b) "If it isn't documented, it doesn't exist. If it doesn't exist, how can we incorporate it?"
That's why if people can at least define tests that covers what they fixed this helps a lot the process of harvesting. Even if they may break something else in another place. Building tests is the way to go.
For example, I was harvesting the fix of hans-martin on big numbers hexa stuff. I cannot access that the code is good because I'm bad with this kind of maths but I can access that if you do 100 bitShiftLeft then 100 bitShiftRight you should obtain the same number. ;)
So tests tests tests.....
amen.
Maarten Maartensz maartens@xs4all.nl said:
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
No worries here. Dan will outline the details tomorrow, but maybe it says enough that he's the designated Executive Director of SqF and a core member of SqC.
For them, as for me, a really good and versatile programming environment like Squeak could be (but is not yet) would be a truly excellent tool to think with and publish with (rather than write a commercially selling application with, which doesn't interest me at all).
The best effort in this direction, and probably the best hope, is what Tansel Ersavas is doing with Squeak News.
I do think that there's more to come - there are books on Squeak (outdated against the current version, probably, but that hasn't killed the Java bookmarket either ;-)), and I'm quite sure that with a slowly increasing crowd, the number of titles will rise at well. Anyway, compared to other language I saw happening from early on, Squeak has a remarkably large portfolio of printed material. It's maybe just an on-line manual (like what you get with VisualWorks) that's missing.
I must say, Squeak News is great fun - but I don't think it counts as documentation...
Speaking for myself, after 6 months of dedicated reading of the Squeak maillist, I still know hardly anything of the academic qualifications, outlook, concerns, or ages of hardly anyone on the list. Well: That may be a quite sufficient basis for mailing about programming and developing a programming language, but is not a sufficient basis for getting something done in real life in real society.
Don't forget that a lot of the "Squeak incrowd" (myself expressly *not* included in that group at the moment) knows each other quite well in real life. A lot of them visit OOPSLA, Camp Smalltalk, etcetera and have had a chance to meet in person on more than one occasion. So it's not exactly that there are a bunch of strangers here are trying to set something up (in fact, I wouldn't be surprised at all if I'd be the only guy on the list of names Dan put up for the Squeak Foundation that hasn't met anyone else).
Maarten Maartensz maartens@xs4all.nl said:
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
and cg@home.cdegroot.com (Cees de Groot) replied...
No worries here. Dan will outline the details tomorrow, but maybe it says enough that he's the designated Executive Director of SqF and a core member of SqC.
This could look like "why bother/still run by SqC", but our intention is, on the contrary [and here's the one-minute answer to your original question...], to put SqF in charge of the artifact and community, and for SqC to become "just another" participating group. My significant presence in the interim structure is not to recreate the past, but to ensure continuity while we move on to the future.
- Dan
Hi dan
This could look like "why bother/still run by SqC", but our intention is, on the contrary [and here's the one-minute answer to your original question...], to put SqF in charge of the artifact and community, and for SqC to become "just another" participating group.
I think that this is a key point. So this is good that you stress it. This also means that the harvesting process (and modules) will have to take into this dimension. SqC has a group should be abel to build the SqC Squeak while other may want something else or less player and Etoy oriented.
We will know if we achieve this goal when we will be able to build several Squeak with different flavor from a set of modules shared or not between different groups.
My significant presence in the interim structure is not to recreate the past, but to ensure continuity while we move on to the future.
- Dan
Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation
Stephane Ducasse ducasse@iam.unibe.ch said:
We will know if we achieve this goal when we will be able to build several Squeak with different flavor from a set of modules shared or not between different groups.
And let's reach that goal this year!
Beste Cees,
At 21:29 21-1-02 +0100, you wrote:
Maarten Maartensz maartens@xs4all.nl said:
Reason for my questions: There is little point trying to set up a Foundation if the Central - where most coding and coordinating still happens - has other plans or targets than the planned Foundation.
No worries here. Dan will outline the details tomorrow, but maybe it says enough that he's the designated Executive Director of SqF and a core
member of
SqC.
Yes, I am waiting with baited breath. As I read the situation, Squeak must learn to start swimming by itself, not supported by Disney, or Apple, or another megabucks commercial entity. That's good for moral and good for freedom and independence, but tricky socially, since we all live in societies were the main values in practice are monetary, and most things of value do need some structured social support and some financing in some way.
For them, as for me, a really good and versatile programming environment like Squeak could be (but is not yet) would be a truly excellent tool to think with and publish with (rather than write a commercially selling application with, which doesn't interest me at all).
The best effort in this direction, and probably the best hope, is what Tansel Ersavas is doing with Squeak News.
I do think that there's more to come - there are books on Squeak (outdated against the current version, probably, but that hasn't killed the Java bookmarket either ;-)), and I'm quite sure that with a slowly increasing crowd, the number of titles will rise at well. Anyway, compared to other language I saw happening from early on, Squeak has a remarkably large portfolio of printed material. It's maybe just an on-line manual (like what you get with VisualWorks) that's missing.
I must say, Squeak News is great fun - but I don't think it counts as documentation...
Well - I read some sensible ideas and results in this context the last days (O'Reilly for one; a French book on Squeak I haven't seen yet and would like the details on, such as ISDN), and the VisualWorks stuff is quite good (by and large) and an example to emulate. (Briefly: straighten out the many tips on the Swiki, make a coherent logical presentation of it, make that into a pdf, and put it on an easily found place next to the latest Squeak.)
For more, see my other mails - but from my point of view Squeak News, notably the November issue and Tansel Ersavas' manuals, are not merely great fun but very interesting and quite useful. Indeed, had I received this a few months earlier it would have saved me - literally! - quite a few weeks of tinkering and experimenting.
Speaking for myself, after 6 months of dedicated reading of the Squeak maillist, I still know hardly anything of the academic qualifications, outlook, concerns, or ages of hardly anyone on the list. Well: That may be a quite sufficient basis for mailing about programming and developing a programming language, but is not a sufficient basis for getting something done in real life in real society.
Don't forget that a lot of the "Squeak incrowd" (myself expressly *not* included in that group at the moment) knows each other quite well in real life. A lot of them visit OOPSLA, Camp Smalltalk, etcetera and have had a chance to meet in person on more than one occasion. So it's not exactly that there are a bunch of strangers here are trying to set something up (in
fact, I
wouldn't be surprised at all if I'd be the only guy on the list of names Dan put up for the Squeak Foundation that hasn't met anyone else).
Indeed. Well, the OOPSLA and Camp Smalltalk goings on (which I also read with interest, thanks to John McIntosh) support my general point that it is simply human to want to really meet other humans you are seriously cooperating with, and indeed also support the notion that individual people are willing to spend quite a lot of money and time to do just that.
Also, I do think what is going on with the development of Squeak is quite an interesting and amazing thing socially and psychologically, in that you have here quite a lot of quite intelligent people of quite different outlooks, backgrounds, faiths, and nationalities cooperating on something as abstract and ideal as a programming language. So here I quite support your notion of documenting it all carefully "for posterity", if only as an example of what intelligent people of good will can do, not for money but for fun, from idealism, for esthetical reasons, or mere intellectual curiosity.
-- Cees de Groot http://www.cdegroot.com cg@cdegroot.com GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD 1986 F303 937F E098 9E8B
Regards,
Maarten.
P.S. I do believe the mailer - still - has some oddities, in that some of my replies arrive at the foundation-list without any problem, while I repeatedly get some returned by the mailer deamon of my provider even though they are sent in just the same format. (For the moment I will repost and leave it at that, and hope it's a Redmond idiocy somehow somewhere.)
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
Well - I read some sensible ideas and results in this context the last days (O'Reilly for one; a French book on Squeak I haven't seen yet and would like the details on, such as ISDN), and the VisualWorks stuff is quite good
Squeak by Xavier Briffault published by Eyrolles. ISBN: 2212110235
then Squeak and you get
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13=972 212110234
You can find chapters there.
Maarten Maartensz wrote:
True - but when I prodded the Argentinians to update their work so that it does work in the current Squeak (so that I could show it to some mathematical friends) I got no reply. (And currently I assume they are trying to remain alive, queueing up to get a few pesos from the bank, and awaiting the next Videla.)
You are right Maarten and let me express my thankfulness for understanding our problems. Anyway I have good news. We are currently updating our MathMorphs work. Two foundational packages (Linear algebra and polynomials) were rewritten from scratch, a new Probability distribution package was recently born, and we have developed a Restricted Lie Algebra model that is being used by a homological algebra research group at the University of Buenos Aires. Moreover, we have prepared an updated and enhanced version of the MorphicWrappers that works fine in the current image. Right now we're running against the calendar to finish our next Squeak News active essay at time. We think we can update many of our MathMorph projects this year while keeping the continuity of the exciting SqueakNOS project. Of course all these plans are going to take a while because we are working on them in our spare time (we have "real" jobs).
/Leandro
Dear Leandro,
At 13:27 22-1-02 -0300, you wrote:
Maarten Maartensz wrote:
True - but when I prodded the Argentinians to update their work so that it does work in the current Squeak (so that I could show it to some mathematical friends) I got no reply. (And currently I assume they are trying to remain alive, queueing up to get a few pesos from the bank, and awaiting the next Videla.)
You are right Maarten and let me express my thankfulness for understanding our problems. Anyway I have good news. We are currently updating our MathMorphs work. Two foundational packages (Linear algebra and polynomials) were rewritten from scratch, a new Probability distribution package was recently born, and we have developed a Restricted Lie Algebra model that is being used by a homological algebra research group at the University of Buenos Aires. Moreover, we have prepared an updated and enhanced version of the MorphicWrappers that works fine in the current image. Right now we're running against the calendar to finish our next Squeak News active essay at time. We think we can update many of our MathMorph projects this year while keeping the continuity of the exciting SqueakNOS project. Of course all these plans are going to take a while because we are working on them in our spare time (we have "real" jobs).
/Leandro
Beautiful, and thanks very much! I also got mail from Luciano Notarfrancesco, to whom I replied off-list (essentially to the effect: Please take care of yourselves in the mess your governments have made - don't let yourself disappear, as happened so many times the last century to so many thinking people who offended their governments simply by thinking as individual persons!), and I much appreciate your work - which I do believe is both quite original, to my knowledge only possible in Squeak, and very interesting mathematically and logically, and indeed, for what I could get going also quite beautiful.
I will download all there is and hope to get it all going in the more or less current Squeak and indeed to show it to some mathematical people here. With what effect I can't promise - most of these guys are mostly paper&pencil pure mathematicians, whose programming efforts go into Fortran or Mathematica - but I'm sure they will at least be impressed as I was and am that the things you have been doing can be done at all.
So my best wishes to you and your group in the difficult situation in your country, and thanks for doing and having done all the work you did.
Regards,
Maarten.
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
squeakfoundation@lists.squeakfoundation.org