Few thoughts about Google Summer of Code

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
83 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

Rob Vens-2
Gilad,
I do not think you are "doing wrong" as you formulated it. In a way we Smalltalkers are maybe a bit conservative, but speaking for myself I have always found Newspeak extremely enticing. It was, as I am sure is the case for many more Smalltalkers (and my guess is many more than you suspect based on your post), always on my "should-look-into-it" list, but I just did not find (and make ;-)) the time to actually put some effort into it. I think it is worthwhile to try to make others than yourself make more noise about it, not only within the Smalltalk community. 
It may be a subject for another thread but I would like to put out a call among the members of this mailing list, not per-se to actually and structurally participate in the Newspeak effort, but at least to let others and Gilad know that Newspeak is on your radar and that Gilad will not need to say that "very few Smalltalkers are interested in Newspeak". I know I am!

2010/10/30 Gilad Bracha <[hidden email]>
Andres,

On Oct 30, 2010, at 12:35 AM, Andres Valloud wrote:

> I would like to try a browser that keeps track of the code navigation I have had to make so far to get where I am, something that relieves me from having to remember the graph traversal of the code.  Does this exist?

In Newspeak, the Hopscotch browser maintains a history of everywhere you've been, which is always one click away - which means any class, object, workspace etc. is at most two clicks away at all times. I'm not sure if this is what you meant

While I'm on the topic of Newspeak, here are some observations that are perhaps relevant to this thread. Be aware that I am engaged in shameless self promotion.

a. Newspeak has a syntax.  So:

b  You can edit Newspeak in whatever editor you want. The IDE runs in an image in the classic Smalltalk way, but also saves each class you modify in a file automatically.
c. The IDE has integrated support for source control. Currently this uses a svn-Monticello integration, but the next phase will phase out Monticello and work directly with mercurial, git or svn.

Furthermore

e. Newspeak introduced the Alien FFI, which allows us to use the rest of the world's software. Case in point: we recently needed to talk to some software over https. Squeak does not support this natively, and requires a plugin, which is by its own documentation unstable. We just call out to libCurl.

f. Using said aliens, we support a portable native GUI.  Looks great on a modern Windows machine. We could support mac as well, if we had more resources. But, as Andres implies, this is fighting the last war. Hence:

g. We are getting close to running the exact same GUI in a browser.


h. As far as deployment goes, we can deploy apps independent of the IDE - either via the browser or as executables (on Windows) or, in principle, anything else. That is because the language actually supports modularity.

Some of these features need more work to reach full maturity. This could happen sooner if we got more volunteers. While the Smalltalk community might be a good source of such volunteers, I recognize it isn't happening.

So, what am I doing wrong? Newspeak is open source, it runs Squeak Smalltalk as well as Newspeak, and provides a very Smalltalk-like experience for those who want it, while addressing many of the issues that have been brought up in this thread.  Even so, very few Smalltalkers are interested in working with Newspeak.


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

Geert Claes
Administrator
We do have Newspeak listed on http://www.world.st/implementations so everyone should make some time :)
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

Gilad Bracha
Hi Geert, Rob and others,

On Oct 30, 2010, at 8:24 AM, Geert Claes wrote:

>
> We do have Newspeak listed on http://www.world.st/implementations so everyone
> should make some time :)

Thanks for that and for the good intentions!

 If I may, I'll make  one more observation.  This thread (and similar ones, oft repeated among Smalltalkers) bemoans the fact that  others do not see the beauty of Smalltalk. What I liked about this thread was that Smalltalkers were engaged in serious self examination. There seemed to be a  realization that some things need real changes.

Perhaps as part of this self examination, one can see how hard it is to get out of one's comfort zone.  The effort of engaging with and learning something different is more than most people can find the time and energy for - even when the differences are relatively modest, as in the case of Newspeak.
Some of the reasons some of you cannot get around to really getting involved with Newspeak are quite analogous to the reasons why your Pythonista or Java (or whatever) colleagues cannot get serious about Smalltalk.

I am well aware that this is not a terribly actionable observation. It's just the way it is.  What one can do is identify weaknesses and work hard at fixing them, and hope that some people will find it worthwhile to become truly involved.


Cheers, Gilad


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Growing a community

Dan Ingalls
Hi Gilad and all -

This is a worthwhile topic, one to which I intend to respond, but it will take some time.  Let's start by renaming the thread...

> If I may, I'll make  one more observation.  This thread (and similar ones, oft repeated among Smalltalkers) bemoans the fact that  others do not see the beauty of Smalltalk. What I liked about this thread was that Smalltalkers were engaged in serious self examination. There seemed to be a  realization that some things need real changes.
>
>Perhaps as part of this self examination, one can see how hard it is to get out of one's comfort zone.  The effort of engaging with and learning something different is more than most people can find the time and energy for - even when the differences are relatively modest, as in the case of Newspeak.
>Some of the reasons some of you cannot get around to really getting involved with Newspeak are quite analogous to the reasons why your Pythonista or Java (or whatever) colleagues cannot get serious about Smalltalk.
>
>I am well aware that this is not a terribly actionable observation. It's just the way it is.  What one can do is identify weaknesses and work hard at fixing them, and hope that some people will find it worthwhile to become truly involved.

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Dan Ingalls
Re: [Esug-list] Growing a community
Good People -

Adoption of a language, like any other adoption, is generally a function of the needs and wants of the audience, and the strengths and weaknesses of the substance being promoted.  For better or worse, this function can be significantly biased at the outset by marketing.  As technologists, we repeatedly underestimate the importance of marketing and, even when we know we need to promote our systems, we fail because the skills of marketing are not simply technical skills.

Who are our users?
We all have our own answer for this.  I'll answer for myself so that I can be articulate -- these are the users I would like to attract, or who I feel would find our system valuable if they used it...
Kids at play - ie people 8-16 who are doing fun things
Kids at work - ie students 8-20 who are doing more serious things like math (including computer science), physics, graphics, music, etc
Computer professionals at play - most of us
Computer professionals at work - most of us

About the computing context
The computing context has changed a lot over the years.  It used to be personal computers running Mac, Windows or Unix, and it used to be simple functions like text editing and experiments with media.  Now it is mostly running in "the" browser, and communicating over the web.  A couple of things have remained key values, though:  The ability to create new content simply and directly, and the ability to pull together existing content flexibly.  By "content" I mean both media and functions (services).  The ability to assemble existing content has been the greatest strength and weakness of Smalltalk over the years.  For internal content, Smalltalk is unmatched in its ability to make every extension, whether music, graphics, or a financial model, as natural as a built-in language feature.  For external content, however, Smalltalk has historically faltered at the edges of its monolithic system.

What do the users need and want?
The ability to create new content simply and directly,
the ability to assemble existing content flexibly, and
the ability to share any results easily.

What is important for marketing
An old quote of Alan's is still relevant here:  "Simple things should be simple, and complex things should be possible."  Smalltalk has always suffered from two main barriers:  installation and integration.  Once you have it installed, and if you don't need to access anything outside, it is unmatched in its ability to make simple things simply, and to achieve complex goals as well.  Within its self-contained context, its image model is perfect for saving, restoring, and sharing work between sessions, between machines, and between users.

In the world of today, people expect any new thing of interest to spring to life in their browser.
They expect it to look attractive, cool, powerful;  anything but geeky...
        http://emberapp.com/
You want this, too, right?  So we can use "we" in place of "they".
We expect it to be immediately useful.  For a computer language, this means you can immediately try out some expressions and make something happen.  We want this.  We are busy, and we don't have time to download a new environment, figure out a new browser, learn a new graphics system, right?
We expect it to be incremental - do some work, save it, pick it up later - we expect the comforts of Smalltalk-style development.
We expect it to be sharable - do something and send it to someone.  It's what we do with email, photos and videos.  We probably want it to be self-sharing, how about your workspace in your facebook page, and tweets about each cool new thing.

These are the things that Gilad and I are grappling with, and I think everyone on this list probably thinks the same way from time to time.  Gilad is trying to fix some of the modularity problems in Smalltalk and exploit some of its greatest strengths, while figuring out how to host it in today's (or tomorrow's) browsers.  And I've been playing around with what's possible using JavaScript directly, but with some Smalltalk comforts like a  nice browser, work in a live editable environment, and save your project state as a web page.

To return to Gilad's post,
[my interpretation:  We don't take the time and effort to explore new systems, and we don't take the time and effort to make our own systems easy for others to explore]
I am well aware that this is not a terribly actionable observation. It's just the way it is.  What one can do is identify weaknesses and work hard at fixing them, and hope that some people will find it worthwhile to become truly involved.

I feel the same way.  But if you feel the same way from time to time, perhaps you should start a movement to do something similar, or see how you could contribute to NewSpeak or the Lively Kernel;  not to abandon Smalltalk but to experiment with how to carry *its goals* and *your desires* forward.

Nothing is holding us back

        - D

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Andres Valloud-6
Dan, how would you reconcile the need for immediate usefulness and the
assumption that "we are busy, and we don't have time to download a new
environment, figure out a new browser, learn a new graphics system",
with Alan's assertion that technology these days is flawed because it
requires little effort?

================
A twentieth century problem is that technology has become too "easy".
When it was hard to do anything whether good or bad, enough time was
taken so that the result was usually good. Now we can make things almost
trivially, especially in software, but most of the designs are trivial
as well. This is inverse vandalism: the making of things because you
can. Couple this to even less sophisticated buyers and you have
generated an exploitation marketplace similar to that set up for
teenagers. A counter to this is to generate enormous dissatisfaction
with one's designs using the entire history of human art as a standard
and goal. Then the trick is to decouple the dissatisfaction from self
worth--otherwise it is either too depressing or one stops too soon with
trivial results.
================

In this context, what does it mean to be useful if it requires no
effort?  Is this an issue of being able to quickly differentiate
ourselves from others because, absent a flashy presentation, we feel we
(and our work) are indistinguishable from others (and their work)?  Not
that we have control over that issue, but I think it would be important
to acknowledge that motivation explicitly if it is really there.

On 10/30/2010 1:48 PM, Dan Ingalls wrote:

> Good People -
>
> Adoption of a language, like any other adoption, is generally a function
> of the needs and wants of the audience, and the strengths and weaknesses
> of the substance being promoted. For better or worse, this function can
> be significantly biased at the outset by marketing. As technologists, we
> repeatedly underestimate the importance of marketing and, even when we
> know we need to promote our systems, we fail because the skills of
> marketing are not simply technical skills.
>
> Who are our users?
> We all have our own answer for this. I'll answer for myself so that I
> can be articulate -- these are the users I would like to attract, or who
> I feel would find our system valuable if they used it...
> Kids at play - ie people 8-16 who are doing fun things
> Kids at work - ie students 8-20 who are doing more serious things like
> math (including computer science), physics, graphics, music, etc
> Computer professionals at play - most of us
> Computer professionals at work - most of us
>
> About the computing context
> The computing context has changed a lot over the years. It used to be
> personal computers running Mac, Windows or Unix, and it used to be
> simple functions like text editing and experiments with media. Now it is
> mostly running in "the" browser, and communicating over the web. A
> couple of things have remained key values, though: The ability to create
> new content simply and directly, and the ability to pull together
> existing content flexibly. By "content" I mean both media and functions
> (services). The ability to assemble existing content has been the
> greatest strength and weakness of Smalltalk over the years. For internal
> content, Smalltalk is unmatched in its ability to make every extension,
> whether music, graphics, or a financial model, as natural as a built-in
> language feature. For external content, however, Smalltalk has
> historically faltered at the edges of its monolithic system.
>
> What do the users need and want?
> The ability to create new content simply and directly,
> the ability to assemble existing content flexibly, and
> the ability to share any results easily.
>
> What is important for marketing
> An old quote of Alan's is still relevant here: "Simple things should be
> simple, and complex things should be possible." Smalltalk has always
> suffered from two main barriers: installation and integration. Once you
> have it installed, and if you don't need to access anything outside, it
> is unmatched in its ability to make simple things simply, and to achieve
> complex goals as well. Within its self-contained context, its image
> model is perfect for saving, restoring, and sharing work between
> sessions, between machines, and between users.
>
> In the world of today, people expect any new thing of interest to spring
> to life in their browser.
> They expect it to look attractive, cool, powerful; anything but geeky...
> http://emberapp.com/
> http://www.thecssawards.com/
> http://cssmania.com/galleries/
> You want this, too, right? So we can use "we" in place of "they".
> We expect it to be immediately useful. For a computer language, this
> means you can immediately try out some expressions and make something
> happen. We want this. We are busy, and we don't have time to download a
> new environment, figure out a new browser, learn a new graphics system,
> right?
> We expect it to be incremental - do some work, save it, pick it up later
> - we expect the comforts of Smalltalk-style development.
> We expect it to be sharable - do something and send it to someone. It's
> what we do with email, photos and videos. We probably want it to be
> self-sharing, how about your workspace in your facebook page, and tweets
> about each cool new thing.
>
> These are the things that Gilad and I are grappling with, and I think
> everyone on this list probably thinks the same way from time to time.
> Gilad is trying to fix some of the modularity problems in Smalltalk and
> exploit some of its greatest strengths, while figuring out how to host
> it in today's (or tomorrow's) browsers. And I've been playing around
> with what's possible using JavaScript directly, but with some Smalltalk
> comforts like a nice browser, work in a live editable environment, and
> save your project state as a web page.
>
> To return to Gilad's post,
> [my interpretation: We don't take the time and effort to explore new
> systems, and we don't take the time and effort to make our own systems
> easy for others to explore]
>> I am well aware that this is not a terribly actionable observation.
>> It's just the way it is. What one can do is identify weaknesses and
>> work hard at fixing them, and hope that some people will find it
>> worthwhile to become truly involved.
>
> I feel the same way. But if you feel the same way from time to time,
> perhaps you should start a movement to do something similar, or see how
> you could contribute to NewSpeak or the Lively Kernel; not to abandon
> Smalltalk but to experiment with how to carry *its goals* and *your
> desires* forward.
>
> Nothing is holding us back
>
> - D
>
>
>
> _______________________________________________
> Esug-list mailing list
> [hidden email]
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Dan Ingalls
Hi Andres -

>Dan, how would you reconcile the need for immediate usefulness and the assumption that "we are busy, and we don't have time to download a new environment, figure out a new browser, learn a new graphics system", with Alan's assertion that technology these days is flawed because it requires little effort?

To me it's a question of curriculum.  You start with a few interesting things on the table and go from there.  I don't think Alan has any problem with this.  You need to engage your audience one way or another.  Hopefully the initial set is somehow provocative.

>================
>A twentieth century problem is that technology has become too "easy". When it was hard to do anything whether good or bad, enough time was taken so that the result was usually good. Now we can make things almost trivially, especially in software, but most of the designs are trivial as well. This is inverse vandalism: the making of things because you can. Couple this to even less sophisticated buyers and you have generated an exploitation marketplace similar to that set up for teenagers. A counter to this is to generate enormous dissatisfaction with one's designs using the entire history of human art as a standard and goal. Then the trick is to decouple the dissatisfaction from self worth--otherwise it is either too depressing or one stops too soon with trivial results.
>================
>
>In this context, what does it mean to be useful if it requires no effort?

I'm not saying no effort to build significant stuff.  But no effort to engage -- that's good curriculum / good marketing.

> Is this an issue of being able to quickly differentiate ourselves from others because, absent a flashy presentation, we feel we (and our work) are indistinguishable from others (and their work)?  Not that we have control over that issue, but I think it would be important to acknowledge that motivation explicitly if it is really there.

No, it's more about not differentiating ourselves negatively -- not adding barriers.  Show what you are at first click, and what you can do at second click.

I'm not saying I've succeeded here, but  I know it matters.

        - D

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Geert Claes
Administrator
In reply to this post by Dan Ingalls
Dan Ingalls wrote
... As technologists, we repeatedly underestimate the importance of marketing and, even when we know we need to promote our systems, we fail because the skills of marketing are not simply technical skills.
Marketing should not be something which is done by non-technologists only, it is about keeping the user as the central focus of "all" activities.  As you said, its about who the users are, and also about what their expectations are and how to best address these.

Dan Ingalls wrote
...  Now it is mostly running in "the" browser, and communicating over the web....
Agree!

Dan Ingalls wrote
...Smalltalk has always suffered from two main barriers:  installation and integration.  Once you have it installed, and if you don't need to access anything outside, it is unmatched in its ability to make
simple things simply, and to achieve complex goals as well...
I think Gilad was onto something with his "Objects as Software Services" talk at OOPSLA 2005 about not just the installation, but also the continuos upgrade process.  For systems running in the cloud it may be a different story again?

Dan Ingalls wrote
In the world of today, people expect any new thing of interest to spring to life in their browser.
They expect it to look attractive, cool, powerful;  anything but geeky...
Agree again.

Dan Ingalls wrote
We expect it to be immediately useful.  For a computer language, this means you can immediately try out some expressions and make something happen.  We want this.  We are busy, and we don't have time to
download a new environment, figure out a new browser, learn a new graphics system, right?
We expect it to be incremental - do some work, save it, pick it up later - we expect the comforts of Smalltalk-style development....
The "download a new environment" may not mean to a local machine, because I would like to add that we also expect to pick it up anywhere and probably also on any device!
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

laurent laffont
On Sun, Oct 31, 2010 at 8:52 AM, Geert Claes <[hidden email]> wrote:


Dan Ingalls wrote:
>
> ... As technologists, we repeatedly underestimate the importance of
> marketing and, even when we know we need to promote our systems, we fail
> because the skills of marketing are not simply technical skills.
>

Marketing should not be something which is done by non-technologists only,
it is about keeping the user as the central focus of "all" activities.  As
you said, its about who the users are, and also about what their
expectations are and how to best address these.

 
Hi,

I strongly agree on this.

IMHO community projects need good leaders to be successful, people who cares about attracting people, create fun and visibility, discuss and set orientations,  establish effective processes to lower waste of time and allow newbies to easily submit a one line code patch and give immediate feedback to them. 

So it means that a leader's work is actually more reading and answering emails, write documentation, retrospectives and visions than writing code.

Today social network usage is strong, people search for friends and eventually build things together for fun and status, write blogs, create beautiful web sites, ... 

Agile movement shows how vital communication and fun are.  

Maybe people/community is the most important thing on these projects. Good design / technical aspect seems only the second most important thing :)


Cheers,

Laurent Laffont

Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

Richard Sargent (again)
In reply to this post by Gilad Bracha
I'll second Gilad's thoughts.

I am familiar with VisualWorks and VA, as well as no longer existent
dialects like Digitalk's. However, the several times I have tried to "get
into Squeak", I've landed in a UI that doesn't work like those I am familiar
with, so it seems much more difficult to learn "the Squeak way". The only
tutorial was about basic Smalltalk syntax and offered no guidance for
Squeak. Perhaps there are some "getting started with Squeak" guides, but
Squeak itself doesn't lead you to them.

We can get any number of people to try a given Smalltalk implementation, but
once they get there, we need to ensure they can get around in it (if they
already think Smalltalk) and can learn how the Smalltalk way differs from
what they are used to otherwise.


Like many people, once I account for sleep, family life, and work, there
isn't a lot of time left for struggling to learn something new, no matter
how popular or interesting it seems to be. We need to reduce the effort to
get over the first hurdles.


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Gilad Bracha
Sent: October-30-10 7:09 PM
To: Geert Claes
Cc: [hidden email]
Subject: Re: [Esug-list] Few thoughts about Google Summer of Code

Hi Geert, Rob and others,

On Oct 30, 2010, at 8:24 AM, Geert Claes wrote:

>
> We do have Newspeak listed on http://www.world.st/implementations so
everyone
> should make some time :)

Thanks for that and for the good intentions!

 If I may, I'll make  one more observation.  This thread (and similar ones,
oft repeated among Smalltalkers) bemoans the fact that  others do not see
the beauty of Smalltalk. What I liked about this thread was that
Smalltalkers were engaged in serious self examination. There seemed to be a
realization that some things need real changes.

Perhaps as part of this self examination, one can see how hard it is to get
out of one's comfort zone.  The effort of engaging with and learning
something different is more than most people can find the time and energy
for - even when the differences are relatively modest, as in the case of
Newspeak.
Some of the reasons some of you cannot get around to really getting involved
with Newspeak are quite analogous to the reasons why your Pythonista or Java
(or whatever) colleagues cannot get serious about Smalltalk.

I am well aware that this is not a terribly actionable observation. It's
just the way it is.  What one can do is identify weaknesses and work hard at
fixing them, and hope that some people will find it worthwhile to become
truly involved.


Cheers, Gilad


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

SergeStinckwich
On Sun, Oct 31, 2010 at 6:06 PM, Richard Sargent <[hidden email]> wrote:
> I'll second Gilad's thoughts.
>
> I am familiar with VisualWorks and VA, as well as no longer existent
> dialects like Digitalk's. However, the several times I have tried to "get
> into Squeak", I've landed in a UI that doesn't work like those I am familiar
> with, so it seems much more difficult to learn "the Squeak way". The only
> tutorial was about basic Smalltalk syntax and offered no guidance for
> Squeak. Perhaps there are some "getting started with Squeak" guides, but
> Squeak itself doesn't lead you to them.

There is the Squeak by Example book : http://www.squeakbyexample.org/

Regards,
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Every DSL ends up being Smalltalk
http://doesnotunderstand.org/

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Few thoughts about Google Summer of Code

Carlos Crosetti-3
In reply to this post by Richard Sargent (again)
I agree with Richard.. I am familiar with VisualWorks and Digitalk's VSE.

I first met Squeak back in 2007, then Pharo, I llike both. To make a
progress in teaching myself, I invested too much time.
Got positively caught with the Seaside one-click experience image and I am
stick for the moment.

Seems that the Pharo-Squeak communities are not challenged to build
something like VW´s UI Builder.
Having such a feature will help Smalltalk appeal to those developers that
capture small-medium sized client-server projects on their own (around 100
days of effort) that are not interesting targets to the the large
consultancy businesses.

----- Original Message -----
From: "Richard Sargent" <[hidden email]>
To: <[hidden email]>
Sent: Sunday, October 31, 2010 8:06 AM
Subject: Re: [Esug-list] Few thoughts about Google Summer of Code


> I'll second Gilad's thoughts.
>
> I am familiar with VisualWorks and VA, as well as no longer existent
> dialects like Digitalk's. However, the several times I have tried to "get
> into Squeak", I've landed in a UI that doesn't work like those I am
> familiar
> with, so it seems much more difficult to learn "the Squeak way". The only
> tutorial was about basic Smalltalk syntax and offered no guidance for
> Squeak. Perhaps there are some "getting started with Squeak" guides, but
> Squeak itself doesn't lead you to them.
>
> We can get any number of people to try a given Smalltalk implementation,
> but
> once they get there, we need to ensure they can get around in it (if they
> already think Smalltalk) and can learn how the Smalltalk way differs from
> what they are used to otherwise.
>
>
> Like many people, once I account for sleep, family life, and work, there
> isn't a lot of time left for struggling to learn something new, no matter
> how popular or interesting it seems to be. We need to reduce the effort to
> get over the first hurdles.
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Gilad Bracha
> Sent: October-30-10 7:09 PM
> To: Geert Claes
> Cc: [hidden email]
> Subject: Re: [Esug-list] Few thoughts about Google Summer of Code
>
> Hi Geert, Rob and others,
>
> On Oct 30, 2010, at 8:24 AM, Geert Claes wrote:
>
>>
>> We do have Newspeak listed on http://www.world.st/implementations so
> everyone
>> should make some time :)
>
> Thanks for that and for the good intentions!
>
> If I may, I'll make  one more observation.  This thread (and similar ones,
> oft repeated among Smalltalkers) bemoans the fact that  others do not see
> the beauty of Smalltalk. What I liked about this thread was that
> Smalltalkers were engaged in serious self examination. There seemed to be
> a
> realization that some things need real changes.
>
> Perhaps as part of this self examination, one can see how hard it is to
> get
> out of one's comfort zone.  The effort of engaging with and learning
> something different is more than most people can find the time and energy
> for - even when the differences are relatively modest, as in the case of
> Newspeak.
> Some of the reasons some of you cannot get around to really getting
> involved
> with Newspeak are quite analogous to the reasons why your Pythonista or
> Java
> (or whatever) colleagues cannot get serious about Smalltalk.
>
> I am well aware that this is not a terribly actionable observation. It's
> just the way it is.  What one can do is identify weaknesses and work hard
> at
> fixing them, and hope that some people will find it worthwhile to become
> truly involved.
>
>
> Cheers, Gilad
>
>
> _______________________________________________
> Esug-list mailing list
> [hidden email]
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>
>
> _______________________________________________
> Esug-list mailing list
> [hidden email]
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>
>



_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Dan Ingalls
In reply to this post by Geert Claes
Hi Geert -

<several snips>

>The "download a new environment" may not mean to a local machine, because I
>would like to add that we also expect to pick it up anywhere and probably
>also on any device!

I agree.

We are still learning what is the sweet spot in the  mobile/cloud universe, and how this relates to earlier client/server experience.

        - Dan

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Is he kidding?

Dan Ingalls
In reply to this post by Geert Claes
Hi again -

I will stop polluting this otherwise sane list, but I can't resist
one more thought...

You know I never left Smalltalk;  I'm just using another language
right now ;-).  One of the early thoughts I had when working on the
Lively Kernel was to put a Smalltalk "skin" on top of it, and I'd
have a Lively Smalltalk.  I was going to release it to SqueakLand as
an April Fool's prank, but the day came and went;  then a year came
and went, and so it goes...

Meanwhile, Alex Warth sketched a Smalltalk evaluator in OMeta and put
it up on his Tin Lizzie site.  Anticipating various fun language
experiments, we then integrated OMeta (as JavaScript) with the Lively
Kernel, and Robert Krahn put together a Lively version of Alex's
experiment.  You might find it intriguing...

        http://lively-kernel.org/repository/webwerkstatt/Dan/OMeta-Smalltalk-Demo.xhtml

This should work on Safari, Chrome, Firefox and Opera, with iPad and
IE9 working RSN.   You should be able to select expressions and
evaluate them with cmd-p or something similar (different in different
browsers and platforms).  If all else fails, you should be able to
bring up a menu with cmd-click, and select Text-functions/print-it.
Don't forget to scroll the Smalltalk workspace up -- the best
examples are out of view.

So, is this a joke?

        Modern JavaScripts runs at a speed comparable to Squeak
        The graphics are resolution-independent and anti-aliased
        It runs in almost every browser
        You don't need to install it to run
        You can save your work on a web page and share it that way too

Of course it's only a two-day hack, but what if someone actually got
serious about it?  And what about the synergy with Gilad's interest
in compiling Newspeak to JS?   For me, I think we could have a lot of
fun in the next year.  If this tickles your fancy, hop on the Lively
Kernel mail list and we'll try to give you some support.  The
documentation is sparse but the people are friendly.

All the best

        - Dan

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Is he kidding?

Paolo Bonzini-2
On 10/31/2010 11:32 PM, Dan Ingalls wrote:
> http://lively-kernel.org/repository/webwerkstatt/Dan/OMeta-Smalltalk-Demo.xhtml

Doesn't load in Firefox 3.6 (pistons spin forever), crashes the browser
in Epiphany (WebKit-based). :(

Paolo

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Is he kidding?

Carlos Crosetti-3
I see the¨"loading" splashbox, it is taking more than 10 minutes from when
started, how much time it takes to load?

----- Original Message -----
From: "Paolo Bonzini" <[hidden email]>
To: "Dan Ingalls" <[hidden email]>
Cc: <[hidden email]>
Sent: Sunday, October 31, 2010 8:48 PM
Subject: Re: [Esug-list] Is he kidding?


> On 10/31/2010 11:32 PM, Dan Ingalls wrote:
>> http://lively-kernel.org/repository/webwerkstatt/Dan/OMeta-Smalltalk-Demo.xhtml
>
> Doesn't load in Firefox 3.6 (pistons spin forever), crashes the browser in
> Epiphany (WebKit-based). :(
>
> Paolo
>
> _______________________________________________
> Esug-list mailing list
> [hidden email]
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>
>



_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Is he kidding?

Carlos Crosetti-3
In reply to this post by Dan Ingalls
I clicked the console button and is like stuck loading
http;//.../lively.JSON.js

----- Original Message -----
From: "Carlos Crosetti" <[hidden email]>
To: "Paolo Bonzini" <[hidden email]>; "Dan Ingalls" <[hidden email]>
Cc: <[hidden email]>
Sent: Sunday, October 31, 2010 9:11 PM
Subject: Re: [Esug-list] Is he kidding?


>I see the¨"loading" splashbox, it is taking more than 10 minutes from when
>started, how much time it takes to load?
>
> ----- Original Message -----
> From: "Paolo Bonzini" <[hidden email]>
> To: "Dan Ingalls" <[hidden email]>
> Cc: <[hidden email]>
> Sent: Sunday, October 31, 2010 8:48 PM
> Subject: Re: [Esug-list] Is he kidding?
>
>
>> On 10/31/2010 11:32 PM, Dan Ingalls wrote:
>>> http://lively-kernel.org/repository/webwerkstatt/Dan/OMeta-Smalltalk-Demo.xhtml
>>
>> Doesn't load in Firefox 3.6 (pistons spin forever), crashes the browser
>> in Epiphany (WebKit-based). :(
>>
>> Paolo
>>
>> _______________________________________________
>> Esug-list mailing list
>> [hidden email]
>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>>
>>
>



_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Growing a community

Reza Razavi
In reply to this post by Dan Ingalls
Hello Dan,

I'd like to thank you for your inspiring observations, and add some information on recent developments inline.

At 21:48 30/10/2010, Dan Ingalls wrote:
Good People -

Adoption of a language, like any other adoption, is generally a function of the needs and wants of the audience, and the strengths and weaknesses of the substance being promoted.  For better or worse, this function can be significantly biased at the outset by marketing.  As technologists, we repeatedly underestimate the importance of marketing and, even when we know we need to promote our systems, we fail because the skills of marketing are not simply technical skills.

Who are our users?
We all have our own answer for this.  I'll answer for myself so that I can be articulate -- these are the users I would like to attract, or who I feel would find our system valuable if they used it...
Kids at play - ie people 8-16 who are doing fun things
Kids at work - ie students 8-20 who are doing more serious things like math (including computer science), physics, graphics, music, etc
Computer professionals at play - most of us
Computer professionals at work - most of us

About the computing context
The computing context has changed a lot over the years.  It used to be personal computers running Mac, Windows or Unix, and it used to be simple functions like text editing and experiments with media.  Now it is mostly running in "the" browser, and communicating over the web.  A couple of things have remained key values, though:  The ability to create new content simply and directly, and the ability to pull together existing content flexibly.  By "content" I mean both media and functions (services).  The ability to assemble existing content has been the greatest strength and weakness of Smalltalk over the years.  For internal content, Smalltalk is unmatched in its ability to make every extension, whether music, graphics, or a financial model, as natural as a built-in language feature.  For external content, however, Smalltalk has historically faltered at the edges of its monolithic system.

What do the users need and want?
The ability to create new content simply and directly,
the ability to assemble existing content flexibly, and
the ability to share any results easily.

There is a Smalltalk- and Seaside-based solution for web applications that provide this sort of functionality. In particular, it allows managing and sharing application functionality and executions as content.

Here is an example:
- URL for the definition of an activity model (user-defined service):
http://www.afacms.com/cats/activities/shopping/Seaside/
- URL for one of its executions:
http://www.afacms.com/cats/activities/shopping/Seaside/seaside-trace-1/
- URL to the cart items during that execution:
http://www.afacms.com/cats/activities/shopping/Seaside/seaside-trace-1/fillandconfirmcart-trace/myfilledcart-trace/storecart

I'd like in particular your attention to the "Twitter & England traffic info communication" example, whose definition and detailed documentation are available via:
http://www.afacms.com/examples

This example wants to show that the distinction between internal and external "functional content" is somehow blurred in this solution, since it allows "wrapping" web services as if they were implemented in Smalltalk.

Further explanations and examples may be found online via:
http://www.afacms.com/blog/pontoon-app

Another application example would be creating websites for online authoring and execution of eToys projects. This would whoever require integrating Lively Kernel libraries into Seaside.

What is important for marketing
An old quote of Alan's is still relevant here:  "Simple things should be simple, and complex things should be possible."  Smalltalk has always suffered from two main barriers:  installation and integration.  Once you have it installed, and if you don't need to access anything outside, it is unmatched in its ability to make simple things simply, and to achieve complex goals as well.  Within its self-contained context, its image model is perfect for saving, restoring, and sharing work between sessions, between machines, and between users.

In the world of today, people expect any new thing of interest to spring to life in their browser.

In the above-mentioned solution, sophisticated business logic may keep to be coded is Smalltalk, while the application allows online definition and integration of new functionality by end-user programming. End-user defined services are directly represented as executable models.

They expect it to look attractive, cool, powerful;  anything but geeky...
         http://emberapp.com/
         http://www.thecssawards.com/
         http://cssmania.com/galleries/
You want this, too, right?  So we can use "we" in place of "they".
We expect it to be immediately useful.  For a computer language, this means you can immediately try out some expressions and make something happen.  We want this.  We are busy, and we don't have time to download a new environment, figure out a new browser, learn a new graphics system, right?
We expect it to be incremental - do some work, save it, pick it up later - we expect the comforts of Smalltalk-style development.
We expect it to be sharable - do something and send it to someone.  It's what we do with email, photos and videos.  We probably want it to be self-sharing, how about your workspace in your facebook page, and tweets about each cool new thing.

Online definition of complex executable models is currently possible. Now, I'm in the process of simplifying yet more the online programming interface so as end-users can implement simple services really simply (without any training). There is no need for ordinary end-users to download or install any piece of software, although, Smalltalk programmers can still update and extend online the application server code.

We are currently investigating opportunities for very large deployments for individualized support to Older Adults. Our marketing arguments are summarized here:
http://www.aas-platform.com/about/aas/key-features/

We try to contribute to the community grow by creating a significant space for development and commercialization of online reusable "atomic" services, in particular for Seaside components and wrappers for web services like those by major web actors. The following web-site is setup and will hopefully develop further in the coming weeks:
http://pontoonity.com/

More on potential application to user-generated services may be found here:
http://www.aas-platform.com/about/related-work/ugs/

This work relates further to Lively Wiki, as described here:
http://www.rezarazavi.com/about/cv/publications/iwst-2010

I'd greatly appreciate any feedback from your part,
Best regards,
/Reza


These are the things that Gilad and I are grappling with, and I think everyone on this list probably thinks the same way from time to time.  Gilad is trying to fix some of the modularity problems in Smalltalk and exploit some of its greatest strengths, while figuring out how to host it in today's (or tomorrow's) browsers.  And I've been playing around with what's possible using JavaScript directly, but with some Smalltalk comforts like a  nice browser, work in a live editable environment, and save your project state as a web page.

To return to Gilad's post,
[my interpretation:  We don't take the time and effort to explore new systems, and we don't take the time and effort to make our own systems easy for others to explore]
I am well aware that this is not a terribly actionable observation. It's just the way it is.  What one can do is identify weaknesses and work hard at fixing them, and hope that some people will find it worthwhile to become truly involved.

I feel the same way.  But if you feel the same way from time to time, perhaps you should start a movement to do something similar, or see how you could contribute to NewSpeak or the Lively Kernel;  not to abandon Smalltalk but to experiment with how to carry *its goals* and *your desires* forward.

Nothing is holding us back

        - D
_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Is he kidding?

Igor Stasenko
In reply to this post by Carlos Crosetti-3
Its not a joke.
I would really like to have a full smalltalk support in browser, up to
placing smalltalk in
<script language="smalltalk"> ....

It is great that JavaScript is prototype-based. And it is shame that
its having such poor C-like syntax.
What is interesting, that people exploiting a message passing with
continuation and blocks-like programming style in javascript, which
closely mimics smalltalk semantics.

For instance, this is an example from JQuery library:

$("div.title", wizard).each(function(index) {
    $(this)
    .next()
    .children(":button")
    .filter(".next, .previous")
    .click(function() {
        wizard.changeAccordion("activate", index +
($(this).is(".next") ? 1 : -1))
    });
});

Looks familiar to us, isnt? And totally alien for C world :)

This could be easily translated to smalltalk, to something like:

(JQuery select: 'div.title') do: [:each :index |
   ((each next children: ':button') filter: '.next, .previous') click:
[ wizard changeAccordion: ... ]


yeah.. keyword selectors require wrapping with (), to do continuation,
but still, its much more clean than js code.
I remember discusison about introducing a special syntax which would
allow to use continuations for keyword selectors,
without need of wrapping then into parethesis. So, code like:

((self foo: bar) baz: 1) jump

could be written as:

self foo: bar | baz: 1 | jump

which makes it even more clean and convenient to type, since you don't
have to get back into beginning of message to put
opening paren.

--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Is he kidding?

SergeStinckwich
On Mon, Nov 1, 2010 at 8:11 AM, Igor Stasenko <[hidden email]> wrote:

> Its not a joke.
> I would really like to have a full smalltalk support in browser, up to
> placing smalltalk in
> <script language="smalltalk"> ....
>
> It is great that JavaScript is prototype-based. And it is shame that
> its having such poor C-like syntax.
> What is interesting, that people exploiting a message passing with
> continuation and blocks-like programming style in javascript, which
> closely mimics smalltalk semantics.
>
> For instance, this is an example from JQuery library:
>
> $("div.title", wizard).each(function(index) {
>    $(this)
>    .next()
>    .children(":button")
>    .filter(".next, .previous")
>    .click(function() {
>        wizard.changeAccordion("activate", index +
> ($(this).is(".next") ? 1 : -1))
>    });
> });
>
> Looks familiar to us, isnt? And totally alien for C world :)
>
> This could be easily translated to smalltalk, to something like:
>
> (JQuery select: 'div.title') do: [:each :index |
>   ((each next children: ':button') filter: '.next, .previous') click:
> [ wizard changeAccordion: ... ]
>
>
> yeah.. keyword selectors require wrapping with (), to do continuation,
> but still, its much more clean than js code.
> I remember discusison about introducing a special syntax which would
> allow to use continuations for keyword selectors,
> without need of wrapping then into parethesis. So, code like:
>
> ((self foo: bar) baz: 1) jump
>
> could be written as:
>
> self foo: bar | baz: 1 | jump
>
> which makes it even more clean and convenient to type, since you don't
> have to get back into beginning of message to put
> opening paren.

Hum, i'm wondering that maybe we should do more advertisement about
Smalltalk to the Javascript community.
Regards,
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Every DSL ends up being Smalltalk
http://doesnotunderstand.org/

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
12345