Squeak first impressions and a couple questions

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

Squeak first impressions and a couple questions

Jeff-146

Hello all! :)

I'm a squeak newbie and pretty much a newbie to programming as a whole. I've explored a little bit of a variety of languages, but never really got serious about any of them because I always had the impression that I would have to invest a great deal of time and effort into studying them before I could use them to do anything useful. This is an unfortunate thing for someone who really does want to, (and sometimes "needs" to), do some programming. Additionally, the languages I've looked at have always given me the impression that even after learning them creating simple programs from them would be a very time consuming process. This might be fine for people who want to BE PROGRAMMERS, but what I want is to HAVE WORKING PROGRAMS. (Bold there is for emphasis, I'm really not shouting at you all :)

So anyway, after exploring and doing short tutorials in a lot of languages, (c, C++, perl, ruby, java, php, Visual Basic, Basic), I finally found squeak. This is the first one that I've really liked at first glance. Why, you ask? Well, the first thing I loved about it was that I was able to make a race car move around the screen very quickly and now I know how to do it again in under 5 minutes if I want to. But after I got over how cool that is and did a little more sober reflection, (as well as searching the web to find out what all there is to squeak), I started to appreciate it even more. For one thing I don't know of any other language in which you can modify an active script during runtime. Secondly morphic programming seems very cool. I haven't fully got the hang of it yet, but it looks like it has a lot of potential. Third, I was pleasantly surprised to see some of the tools that have been included in squeak, such as the painting program and wonderland. I'm also happy
to see the projects that are in the works, and I look forward to using completed version of croquet and squeakNOS in the future.

On the downside, as I think others mention a lot I'd like to see more and better documentation. Most of the tutorials I've found on the web I have been unable to make work, and I believe it is because they were written using an earlier version of squeak. Also the pages I've opened with Scamper aren't being rendered properly. The only other real downside I see at the moment is that some of the projects I wish were complete aren't finished yet. Actually there is one other one, and that's that it, (or the "e-toys" part of it? I'm not sure exactly what the definition of etoys even is yet, is that just whatever you make with the prepackaged morphs?), appears to be marketed as if it were just for kids. I don't know why that's the case. Comparing making the race car in squeak, (e-toys?) versus doing so in another language reminds me of comparing running a computer on DOS versus running one with an OS that uses a GUI. These easy to conceptualize and use drag-and-drop, point-and-clic!
k
interfaces might be arguably childish, but I don't know too many adults running DOS machines right now.

After having played around with squeak for about a week, I do have a few questions, if anyone would be kind enough to answer them.

1. When creating a new morph, how do you get it to appear in the flaps registry?, ( I managed to successfully create a read only text morph by copying the textmorph class and removing the HandlesKeystroke method, but I don't know how to get it into the supplies flap. )

2. I figured out how to get my race car to react to keystrokes, but I'd like to get it to react to keys that are still down. In other words, when I keep holding the up arrow after hitting the left arrow, I want it to continue accelerating without me needing to hit the up arrow again. Is there a way to script "KeyBeingHeldDown" or something like that?

3. While playing around with text entries, I managed to get scripts to fire based on the text's last character... unless that character is the enter key. I tried <cr> for carriage return, and other variations to represent that, to no avail. How can I start a script from a person hitting enter after typing a command in the text field?

4. I did see an older version of squeak that used a buttonbar in which morphs could be placed on little squeak logos which would then act as creators of those morphs. Was that removed, and if so why?

5. Are there any plans to make some standard morphs for widgets such as those which come with Glade or WXWidgets? I know about WXSqueak, but I'm wondering if there are plans to make those kinds of windows, listboxes, etc. as morphs, so that I can create and manipulate them in the same way I do with all the other morphs. I understand that it's unlikely that such morphs would look "native", but I believe that is an overrated concern. Whether the aesthetics match my windows theme, Mac, Unix, etc. defaults is not concerning to me. I just want them to function in the same way.

6. On that same note, any good tutorials for WXSqueak that work with Squeak 3.8? (I did manage to get it installed through squeakmap, and the system browser shows a lot of WXwidgets packages, classes, etc. so I believe I did it right, but I have no idea how to use it.)

7. Also, is there a tutorial for Seaside that works with Squeak 3.8?

Thanks!,
Julio :)



_______________________________________________
No banners. No pop-ups. No kidding.
Make My Way  your home on the Web - http://www.myway.com


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Squeak first impressions and a couple questions

Kim Rose
Hi, Jeff -

Welcome!  Reading your email indicates to me you have a somewhat
technical background with programming languages and given such you
might find a good community of colleagues through the "Squeak-dev"
list  - subcribed to via the "Squeak.org" website.

While I'd encourage you to "stick around this list" and participate
in dicsussions, this list is read primarily by teachers, parents,
technology coordinators, computer clubhousers, curriculum creators,
etc.  People on this list wouldn't generally be familiar with things
like Glade, WXSqueak or Seaside...(I think you'll find more of them
off "Squeak-dev".)

cheers and happy Squeaking,
Kim


>Hello all! :)
>
>I'm a squeak newbie and pretty much a newbie to programming as a
>whole. I've explored a little bit of a variety of languages, but
>never really got serious about any of them because I always had the
>impression that I would have to invest a great deal of time and
>effort into studying them before I could use them to do anything
>useful. This is an unfortunate thing for someone who really does
>want to, (and sometimes "needs" to), do some programming.
>Additionally, the languages I've looked at have always given me the
>impression that even after learning them creating simple programs
>from them would be a very time consuming process. This might be fine
>for people who want to BE PROGRAMMERS, but what I want is to HAVE
>WORKING PROGRAMS. (Bold there is for emphasis, I'm really not
>shouting at you all :)
>
>So anyway, after exploring and doing short tutorials in a lot of
>languages, (c, C++, perl, ruby, java, php, Visual Basic, Basic), I
>finally found squeak. This is the first one that I've really liked
>at first glance. Why, you ask? Well, the first thing I loved about
>it was that I was able to make a race car move around the screen
>very quickly and now I know how to do it again in under 5 minutes if
>I want to. But after I got over how cool that is and did a little
>more sober reflection, (as well as searching the web to find out
>what all there is to squeak), I started to appreciate it even more.
>For one thing I don't know of any other language in which you can
>modify an active script during runtime. Secondly morphic programming
>seems very cool. I haven't fully got the hang of it yet, but it
>looks like it has a lot of potential. Third, I was pleasantly
>surprised to see some of the tools that have been included in
>squeak, such as the painting program and wonderland. I'm also happy
>to see the projects that are in the works, and I look forward to
>using completed version of croquet and squeakNOS in the future.
>
>On the downside, as I think others mention a lot I'd like to see
>more and better documentation. Most of the tutorials I've found on
>the web I have been unable to make work, and I believe it is because
>they were written using an earlier version of squeak. Also the pages
>I've opened with Scamper aren't being rendered properly. The only
>other real downside I see at the moment is that some of the projects
>I wish were complete aren't finished yet. Actually there is one
>other one, and that's that it, (or the "e-toys" part of it? I'm not
>sure exactly what the definition of etoys even is yet, is that just
>whatever you make with the prepackaged morphs?), appears to be
>marketed as if it were just for kids. I don't know why that's the
>case. Comparing making the race car in squeak, (e-toys?) versus
>doing so in another language reminds me of comparing running a
>computer on DOS versus running one with an OS that uses a GUI. These
>easy to conceptualize and use drag-and-drop, point-and-click
>interfaces might be arguably childish, but I don't know too many
>adults running DOS machines right now.
>
>After having played around with squeak for about a week, I do have a
>few questions, if anyone would be kind enough to answer them.
>
>1. When creating a new morph, how do you get it to appear in the
>flaps registry?, ( I managed to successfully create a read only text
>morph by copying the textmorph class and removing the
>HandlesKeystroke method, but I don't know how to get it into the
>supplies flap. )
>
>2. I figured out how to get my race car to react to keystrokes, but
>I'd like to get it to react to keys that are still down. In other
>words, when I keep holding the up arrow after hitting the left
>arrow, I want it to continue accelerating without me needing to hit
>the up arrow again. Is there a way to script "KeyBeingHeldDown" or
>something like that?
>
>3. While playing around with text entries, I managed to get scripts
>to fire based on the text's last character... unless that character
>is the enter key. I tried <cr> for carriage return, and other
>variations to represent that, to no avail. How can I start a script
>from a person hitting enter after typing a command in the text field?
>
>4. I did see an older version of squeak that used a buttonbar in
>which morphs could be placed on little squeak logos which would then
>act as creators of those morphs. Was that removed, and if so why?
>
>5. Are there any plans to make some standard morphs for widgets such
>as those which come with Glade or WXWidgets? I know about WXSqueak,
>but I'm wondering if there are plans to make those kinds of windows,
>listboxes, etc. as morphs, so that I can create and manipulate them
>in the same way I do with all the other morphs. I understand that
>it's unlikely that such morphs would look "native", but I believe
>that is an overrated concern. Whether the aesthetics match my
>windows theme, Mac, Unix, etc. defaults is not concerning to me. I
>just want them to function in the same way.
>
>6. On that same note, any good tutorials for WXSqueak that work with
>Squeak 3.8? (I did manage to get it installed through squeakmap, and
>the system browser shows a lot of WXwidgets packages, classes, etc.
>so I believe I did it right, but I have no idea how to use it.)
>
>7. Also, is there a tutorial for Seaside that works with Squeak 3.8?
>
>Thanks!,
>Julio :)
>
>
>
>_______________________________________________
>No banners. No pop-ups. No kidding.
>Make My Way  your home on the Web - http://www.myway.com
>
>
>_______________________________________________
>Squeakland mailing list
>[hidden email]
>http://squeakland.org/mailman/listinfo/squeakland

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Squeak first impressions and a couple questions

Bert Freudenberg
Hi Jeff,

we have a very friendly beginners list at

        http://lists.squeakfoundation.org/mailman/listinfo/beginners

and the regular Squeak Developers list at

        http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev

Welcome!

- Bert -

Am 03.11.2006 um 17:26 schrieb Kim Rose:

> Hi, Jeff -
>
> Welcome!  Reading your email indicates to me you have a somewhat
> technical background with programming languages and given such you
> might find a good community of colleagues through the "Squeak-dev"
> list  - subcribed to via the "Squeak.org" website.
>
> While I'd encourage you to "stick around this list" and participate
> in dicsussions, this list is read primarily by teachers, parents,
> technology coordinators, computer clubhousers, curriculum creators,
> etc.  People on this list wouldn't generally be familiar with things
> like Glade, WXSqueak or Seaside...(I think you'll find more of them
> off "Squeak-dev".)
>
> cheers and happy Squeaking,
> Kim
>
>
>> Hello all! :)
>>
>> I'm a squeak newbie and pretty much a newbie to programming as a
>> whole. I've explored a little bit of a variety of languages, but
>> never really got serious about any of them because I always had the
>> impression that I would have to invest a great deal of time and
>> effort into studying them before I could use them to do anything
>> useful. This is an unfortunate thing for someone who really does
>> want to, (and sometimes "needs" to), do some programming.
>> Additionally, the languages I've looked at have always given me the
>> impression that even after learning them creating simple programs
>> from them would be a very time consuming process. This might be fine
>> for people who want to BE PROGRAMMERS, but what I want is to HAVE
>> WORKING PROGRAMS. (Bold there is for emphasis, I'm really not
>> shouting at you all :)
>>
>> So anyway, after exploring and doing short tutorials in a lot of
>> languages, (c, C++, perl, ruby, java, php, Visual Basic, Basic), I
>> finally found squeak. This is the first one that I've really liked
>> at first glance. Why, you ask? Well, the first thing I loved about
>> it was that I was able to make a race car move around the screen
>> very quickly and now I know how to do it again in under 5 minutes if
>> I want to. But after I got over how cool that is and did a little
>> more sober reflection, (as well as searching the web to find out
>> what all there is to squeak), I started to appreciate it even more.
>> For one thing I don't know of any other language in which you can
>> modify an active script during runtime. Secondly morphic programming
>> seems very cool. I haven't fully got the hang of it yet, but it
>> looks like it has a lot of potential. Third, I was pleasantly
>> surprised to see some of the tools that have been included in
>> squeak, such as the painting program and wonderland. I'm also happy
>> to see the projects that are in the works, and I look forward to
>> using completed version of croquet and squeakNOS in the future.
>>
>> On the downside, as I think others mention a lot I'd like to see
>> more and better documentation. Most of the tutorials I've found on
>> the web I have been unable to make work, and I believe it is because
>> they were written using an earlier version of squeak. Also the pages
>> I've opened with Scamper aren't being rendered properly. The only
>> other real downside I see at the moment is that some of the projects
>> I wish were complete aren't finished yet. Actually there is one
>> other one, and that's that it, (or the "e-toys" part of it? I'm not
>> sure exactly what the definition of etoys even is yet, is that just
>> whatever you make with the prepackaged morphs?), appears to be
>> marketed as if it were just for kids. I don't know why that's the
>> case. Comparing making the race car in squeak, (e-toys?) versus
>> doing so in another language reminds me of comparing running a
>> computer on DOS versus running one with an OS that uses a GUI. These
>> easy to conceptualize and use drag-and-drop, point-and-click
>> interfaces might be arguably childish, but I don't know too many
>> adults running DOS machines right now.
>>
>> After having played around with squeak for about a week, I do have a
>> few questions, if anyone would be kind enough to answer them.
>>
>> 1. When creating a new morph, how do you get it to appear in the
>> flaps registry?, ( I managed to successfully create a read only text
>> morph by copying the textmorph class and removing the
>> HandlesKeystroke method, but I don't know how to get it into the
>> supplies flap. )
>>
>> 2. I figured out how to get my race car to react to keystrokes, but
>> I'd like to get it to react to keys that are still down. In other
>> words, when I keep holding the up arrow after hitting the left
>> arrow, I want it to continue accelerating without me needing to hit
>> the up arrow again. Is there a way to script "KeyBeingHeldDown" or
>> something like that?
>>
>> 3. While playing around with text entries, I managed to get scripts
>> to fire based on the text's last character... unless that character
>> is the enter key. I tried <cr> for carriage return, and other
>> variations to represent that, to no avail. How can I start a script
>> from a person hitting enter after typing a command in the text field?
>>
>> 4. I did see an older version of squeak that used a buttonbar in
>> which morphs could be placed on little squeak logos which would then
>> act as creators of those morphs. Was that removed, and if so why?
>>
>> 5. Are there any plans to make some standard morphs for widgets such
>> as those which come with Glade or WXWidgets? I know about WXSqueak,
>> but I'm wondering if there are plans to make those kinds of windows,
>> listboxes, etc. as morphs, so that I can create and manipulate them
>> in the same way I do with all the other morphs. I understand that
>> it's unlikely that such morphs would look "native", but I believe
>> that is an overrated concern. Whether the aesthetics match my
>> windows theme, Mac, Unix, etc. defaults is not concerning to me. I
>> just want them to function in the same way.
>>
>> 6. On that same note, any good tutorials for WXSqueak that work with
>> Squeak 3.8? (I did manage to get it installed through squeakmap, and
>> the system browser shows a lot of WXwidgets packages, classes, etc.
>> so I believe I did it right, but I have no idea how to use it.)
>>
>> 7. Also, is there a tutorial for Seaside that works with Squeak 3.8?
>>
>> Thanks!,
>> Julio :)
>>
>>
>>
>> _______________________________________________
>> No banners. No pop-ups. No kidding.
>> Make My Way  your home on the Web - http://www.myway.com
>>
>>
>> _______________________________________________
>> Squeakland mailing list
>> [hidden email]
>> http://squeakland.org/mailman/listinfo/squeakland
>
> _______________________________________________
> Squeakland mailing list
> [hidden email]
> http://squeakland.org/mailman/listinfo/squeakland

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Squeak first impressions and a couple questions

Scott Wallace
In reply to this post by Jeff-146
Hi, Jeff/Julio,

As others have mentioned, many of your queries are probably best  
directed at the squeak-dev or seaside mailing list.  However, I'll  
try to answer some of them here anyway:



> 1. When creating a new morph, how do you get it to appear in the  
> flaps registry?, ( I managed to successfully create a read only  
> text morph by copying the textmorph class and removing the  
> HandlesKeystroke method, but I don't know how to get it into the  
> supplies flap. )
>

(a)  Just pick up an instance of your morph with the mouse (use the  
black halo handle if necessary,) drag it over the Supplies flap, then  
"drop" it into the flap.  From then on, you can pull new instances of  
your kind of morph out of the Supplies flap at will.

(b)  Rather than copying the entire TextMorph class to bring about  
one change, it would be more conventional to *subclass* TextMorph,  
and in your custom subclass supply only an override for that one  
message.

(c)  You can make any vanilla text morph "read-only" by simply  
turning on the "be locked" option in its halo menu, so perhaps you  
don't really require any code change at all.

(d)  If none of the above three suggestions suits your needs, and you  
really want to get involved with the "Flaps registry", you'll  
probably want to be modifying method Flaps class  
defaultsQuadsDefiningPlugInSuppliesFlap and  
defaultsQuadsDefiningSuppliesFlap.



> 2. I figured out how to get my race car to react to keystrokes, but  
> I'd like to get it to react to keys that are still down. In other  
> words, when I keep holding the up arrow after hitting the left  
> arrow, I want it to continue accelerating without me needing to hit  
> the up arrow again. Is there a way to script "KeyBeingHeldDown" or  
> something like that?
>

No, unfortunately not.  The closest thing I can recommend is to  
script an acceleration *button* to fire on mouse-still-down.



> 3. While playing around with text entries, I managed to get scripts  
> to fire based on the text's last character... unless that character  
> is the enter key. I tried <cr> for carriage return, and other  
> variations to represent that, to no avail. How can I start a script  
> from a person hitting enter after typing a command in the text field?
>

Not easily.  The "enter" key often serves as a signal that character-
entry in some context is done, and for this to work, it is not  
treated as a normal text character; instead it is intercepted specially.

More tractable is to have your user submit by hitting a *carriage  
return* rather than the enter key.  Proper handling of this, assuming  
that you want to trigger a script when the cr is hit, then not again  
until cr is hit again, is still going to require a slight excursion  
into textual scripting.  You can check for the field's characters'  
last character being equal to a cr, and if it is, you both: (a)  
remove that last character, so you won't encounter it again on the  
next tick and (b) trigger your desired script.

I'm attaching here a little project that illustrates how to do this.  
Not beautiful, but possible.






> 4. I did see an older version of squeak that used a buttonbar in  
> which morphs could be placed on little squeak logos which would  
> then act as creators of those morphs. Was that removed, and if so why?
>

Not sure what it was or is that you're referring to.  Perhaps the  
SmallLand image used in Spain?  The behavior you describe is very  
similar to the way that flaps such as the Supplies Flap can be used,  
as described in 1(a) above, but given the mention of "little squeak  
logos" that's obviously not what you saw.


These last three are all well outside the scope of the Squeakland  
mailing list, so all I can offer for these is suggestions about where  
to search for more info:


> 5. Are there any plans to make some standard morphs for widgets  
> such as those which come with Glade or WXWidgets? I know about  
> WXSqueak, but I'm wondering if there are plans to make those kinds  
> of windows, listboxes, etc. as morphs, so that I can create and  
> manipulate them in the same way I do with all the other morphs. I  
> understand that it's unlikely that such morphs would look "native",  
> but I believe that is an overrated concern. Whether the aesthetics  
> match my windows theme, Mac, Unix, etc. defaults is not concerning  
> to me. I just want them to function in the same way.
>
Search the squeak-dev archives for "standard widgets" or some such  
and you'll come up with plenty of discussion about this.  There is  
such a thing as "BobsUI", created years ago by Bob Arning, which  
addresses much of what you mention.  It's on SqueakMap.



> 6. On that same note, any good tutorials for WXSqueak that work  
> with Squeak 3.8? (I did manage to get it installed through  
> squeakmap, and the system browser shows a lot of WXwidgets  
> packages, classes, etc. so I believe I did it right, but I have no  
> idea how to use it.)
>

I suggest that you search squeak-dev archives for WXSqueak...



> 7. Also, is there a tutorial for Seaside that works with Squeak 3.8?
>

I suggest searching both the squeak-dev archives and the Seaside  
archives, and/or subscribing to the Seaside mailing list and posing  
the question there.


Cheers,

   -- Scott



_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland

crExample-sw.001.pr (34K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Squeak first impressions and a couple questions

Markus Schlager-2
In reply to this post by Jeff-146
Hi Jeff/Julio,


On Fri, 3 Nov 2006, Jeff wrote:

>
> 4. I did see an older version of squeak that used a buttonbar in which
>    morphs could be placed on little squeak logos which would then act as
>    creators of those morphs. Was that removed, and if so why?
>

What you're referring to, are probably so called 'Maker Buttons' and
'ButtonBars'. You can find both of them easily in the Object Catalog
within the category 'Connectors'.

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Squeak first impressions and a couple questions

Ned Konz
In reply to this post by Jeff-146
Jeff wrote:

> 4. I did see an older version of squeak that used a buttonbar in
> which  morphs could be placed on little squeak logos which would then act as
> creators of those morphs. Was that removed, and if so why?

That's part of my Connectors package; it should be in the Squeakland
image (that is, it was the last time I used it).

Hold on, I'll download the Squeakland distro and try it.

Yup...

Just go to the Objects tool, and either "find" for "Maker Button" or go
to the "Connectors" category.

There are two objects in there that will be of assistance to you:

* The ButtonBar holds Maker Buttons
* The Maker Button holds copies of dropped objects and then creates them
when clicked or dragged.

Explore the context menus of both these objects for more options.

Enjoy,
--
Ned Konz
[hidden email]
http://bike-nomad.com
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland