Thank you everyone for your alacritous responses!
I'm finding one of the challenges in learning Smalltalk is not the syntax of the code, nor the general paradigm by which the code is implemented, but understanding the tools well enough to make things happen. I'm an experienced programmer and I'm finding that I'm having to completely rethink the way I go about my work when diddling around with this language. That's not in and of itself a bad thing - just saying I'm thankful for this mailing list :-)
David Holiday
-------------------------------------------------
San Diego State University
neuburge(a)rohan.sdsu.edu
On Jan 1, 2014, at 4:00 AM, beginners-request(a)lists.squeakfoundation.org wrote:
> Send Beginners mailing list submissions to
> beginners(a)lists.squeakfoundation.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> or, via email, send a message with subject or body 'help' to
> beginners-request(a)lists.squeakfoundation.org
>
> You can reach the person managing the list at
> beginners-owner(a)lists.squeakfoundation.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Beginners digest..."
>
>
> Today's Topics:
>
> 1. Re: object instance browser? (Herbert K?nig)
> 2. Re: object instance browser? (Chris Muller)
> 3. Re: object instance browser? (karl ramberg)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 31 Dec 2013 14:50:55 +0100
> From: Herbert K?nig <herbertkoenig(a)gmx.net>
> Subject: Re: [Newbies] object instance browser?
> To: beginners(a)lists.squeakfoundation.org
> Message-ID: <52C2CBBF.6050801(a)gmx.net>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Merci vielmals.
>
> Am 31.12.2013 11:27, schrieb Bert Freudenberg:
>> Yes, multiple ones in fact. This is a major reason working in
>> Smalltalk feels more immediate than in other environments.
> ......
> Great explanation scrubbed
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 31 Dec 2013 13:02:51 -0600
> From: Chris Muller <asqueaker(a)gmail.com>
> Subject: Re: [Newbies] object instance browser?
> To: "A friendly place to get answers to even the most basic questions
> about Squeak." <beginners(a)lists.squeakfoundation.org>
> Message-ID:
> <CANzdToH+hPyJqeBqSdWLwROi5w_SbdAu_G9oWm3BgRkTqa=z9w(a)mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> Great post, I learned some new things.
>
> On Tue, Dec 31, 2013 at 4:27 AM, Bert Freudenberg <bert(a)freudenbergs.de> wrote:
>> On 31.12.2013, at 08:53, David Holiday <neuburge(a)rohan.sdsu.edu> wrote:
>>
>>> Is there a way to browse the ecosystem of objects in a Smalltalk image?
>>
>> Yes, multiple ones in fact. This is a major reason working in Smalltalk feels more immediate than in other environments.
>>
>>> I'm not talking about the class browser, what I'm looking for is a way to see what objects have actually been instantiated and what their state is.
>>
>> The basic tool for this is called an Inspector. Whenever you have an expression, like "3 + 4", you press cmd-i to "inspect it", which opens an inspector on the result. This works in any text area. Try for example inspecting "self" in a class browser, and you will inspect the underlying class object (which the browser shows a high-level view of).
>>
>> In the Inspector you see the objects referenced by this object (via instance variables or indexed fields) in the left panel. Select any of them and choose "inspect" from the context menu (or press cmd-i again). This way you can inspect all the objects in the system.
>>
>> A more modern tool than the Inspector (which was around 40 years ago already) is the Object Explorer. It presents you a tree view of an object and its "children", which again are the instance variables and indexed fields of the object. Open it with cmd-shift-i (or "explore" in the context menu).
>>
>> You can also do the reverse. If you choose "objects pointing to this value" you get an inspector showing all the objects that directly point to this object. Similarly there is a "reverse explorer", which you can open by selecting "explore pointers".
>>
>> There are two roots to all the objects in the system:
>>
>> Smalltalk specialObjectsArray
>>
>> which basically holds everything the Virtual Machine needs to know about, and in turn almost every object in the whole image, and
>>
>> thisContext
>>
>> which is the current execution context, holding onto temporary objects. When a garbage collection is performed, any object not reachable form either of these two roots is removed from memory.
>>
>> An "interesting" global object to explore is
>>
>> Project current
>>
>> which holds your current workspace, in particular
>>
>> Project current world
>>
>> , the root of all morphs in the world. And of course
>>
>> Smalltalk
>>
>> itself is the dictionary that holds all global objects, including all classes (unless they are defined in a non-global environment).
>>
>> There is also a low-level way to enumerate all objects in memory. "self someObject" will return the very first object in memory (which happens to be the nil object), and "anObject nextObject" will return the next one:
>>
>> | object count |
>> count := 0.
>> object := self someObject.
>> [0 == object]
>> whileFalse: [count := count + 1.
>> object := object nextObject].
>> count
>>
>> Interestingly, this also finds objects that are due to be garbage-collected. For example, if you accidentally closed a text window, there is a good chance its contents will still be in memory, and can be retrieved using an expression like
>>
>> ByteString allInstances last: 10
>>
>> This makes use of the someInstance/nextInstance methods, which are similar to someObject/nextObject, but restricted to instances of one class only.
>>
>> Hope you have fun poking around in the world of objects :)
>>
>> - Bert -
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners(a)lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 1 Jan 2014 02:23:04 +0100
> From: karl ramberg <karlramberg(a)gmail.com>
> Subject: Re: [Newbies] object instance browser?
> To: "A friendly place to get answers to even the most basic questions
> about Squeak." <beginners(a)lists.squeakfoundation.org>
> Cc: David Holiday <neuburge(a)rohan.sdsu.edu>
> Message-ID:
> <CAGzzWLgJCGf1AkddemfwwvsRtfaHoHO5R+mRPu5eR4ZQy+iFfw(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> I do it :-)
>
> Happy new year!
>
> Cheers,
> Karl
>
>
> On Tue, Dec 31, 2013 at 12:40 PM, Bert Freudenberg <bert(a)freudenbergs.de>wrote:
>
>> Hey, I wrote it, you make the workspace, deal? ;)
>>
>> Happy New Year, btw.
>>
>> - Bert -
>>
>> On 31.12.2013, at 12:37, karl ramberg <karlramberg(a)gmail.com> wrote:
>>
>> Make a Welcome Workspace with this info :-)
>>
>> Cheers,
>> Karl
>>
>>
>> On Tue, Dec 31, 2013 at 11:27 AM, Bert Freudenberg <bert(a)freudenbergs.de>wrote:
>>
>>> On 31.12.2013, at 08:53, David Holiday <neuburge(a)rohan.sdsu.edu> wrote:
>>>
>>>> Is there a way to browse the ecosystem of objects in a Smalltalk image?
>>>
>>> Yes, multiple ones in fact. This is a major reason working in Smalltalk
>>> feels more immediate than in other environments.
>>>
>>>> I'm not talking about the class browser, what I'm looking for is a way
>>> to see what objects have actually been instantiated and what their state is.
>>>
>>> The basic tool for this is called an Inspector. Whenever you have an
>>> expression, like "3 + 4", you press cmd-i to "inspect it", which opens an
>>> inspector on the result. This works in any text area. Try for example
>>> inspecting "self" in a class browser, and you will inspect the underlying
>>> class object (which the browser shows a high-level view of).
>>>
>>> In the Inspector you see the objects referenced by this object (via
>>> instance variables or indexed fields) in the left panel. Select any of them
>>> and choose "inspect" from the context menu (or press cmd-i again). This way
>>> you can inspect all the objects in the system.
>>>
>>> A more modern tool than the Inspector (which was around 40 years ago
>>> already) is the Object Explorer. It presents you a tree view of an object
>>> and its "children", which again are the instance variables and indexed
>>> fields of the object. Open it with cmd-shift-i (or "explore" in the context
>>> menu).
>>>
>>> You can also do the reverse. If you choose "objects pointing to this
>>> value" you get an inspector showing all the objects that directly point to
>>> this object. Similarly there is a "reverse explorer", which you can open by
>>> selecting "explore pointers".
>>>
>>> There are two roots to all the objects in the system:
>>>
>>> Smalltalk specialObjectsArray
>>>
>>> which basically holds everything the Virtual Machine needs to know about,
>>> and in turn almost every object in the whole image, and
>>>
>>> thisContext
>>>
>>> which is the current execution context, holding onto temporary objects.
>>> When a garbage collection is performed, any object not reachable form
>>> either of these two roots is removed from memory.
>>>
>>> An "interesting" global object to explore is
>>>
>>> Project current
>>>
>>> which holds your current workspace, in particular
>>>
>>> Project current world
>>>
>>> , the root of all morphs in the world. And of course
>>>
>>> Smalltalk
>>>
>>> itself is the dictionary that holds all global objects, including all
>>> classes (unless they are defined in a non-global environment).
>>>
>>> There is also a low-level way to enumerate all objects in memory. "self
>>> someObject" will return the very first object in memory (which happens to
>>> be the nil object), and "anObject nextObject" will return the next one:
>>>
>>> | object count |
>>> count := 0.
>>> object := self someObject.
>>> [0 == object]
>>> whileFalse: [count := count + 1.
>>> object := object nextObject].
>>> count
>>>
>>> Interestingly, this also finds objects that are due to be
>>> garbage-collected. For example, if you accidentally closed a text window,
>>> there is a good chance its contents will still be in memory, and can be
>>> retrieved using an expression like
>>>
>>> ByteString allInstances last: 10
>>>
>>> This makes use of the someInstance/nextInstance methods, which are
>>> similar to someObject/nextObject, but restricted to instances of one class
>>> only.
>>>
>>> Hope you have fun poking around in the world of objects :)
>>>
>>> - Bert -
>>>
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners(a)lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners(a)lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners(a)lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>>
>
Hello,
I would like to use Squeak to develop a MAC application that needs to access the address book and the calendar on a local machine. I have been able to access these items with Objective C but I was wondering if there was a way that I can do it in Squeak. I have read the information about FFI but this seems to not be supported in Squeak any more. Can someone point me to a reference or tell me if this is not a good idea?
Thanks in advance,
Michael
Greetings,
How do I debug over loops? I tried using the "over" step and the "through" step, but that just keeps me inside the loop.
I don't know what the other buttons do, like "tally". Is there somewhere that explains this?
Sincerely,
Joe.
Fake Guru Hamid Arabnia and bogus WORLDCOMP and CSCI
If you have any thought of attending the world’s biggest
fake or bogus conference in computer science, WORLDCOMP
http://www.world-academy-of-science.org you must visit any
websites below
https://sites.google.com/site/worlddump1
or
https://sites.google.com/site/dumpconfhttps://sites.google.com/site/moneycomp1https://sites.google.com/site/worlddump4
The organizer of this conference is Hamid Arabnia
http://www.cs.uga.edu/~hra a professor from University
of Georgia, USA. The primary goal of this
conference is to collect registration fee by accepting
all submitted papers. Several fake papers were published
in the conference proceedings. He already earned millions
of dollars from the registration fee and is using part
of the money for anti-Christmas greetings campaign.
http://worldcomp-fake-bogus.blogspot.com has
additional information on this campaign. He recently
started another new conference CSCI due to his hunger
for money http://www.americancse.org
Hamid Arabnia failed to reveal the reviews and reviewers'
information for all the papers he received, despite
repeated requests and challenges. The reason for his
failure is there were no reviews and reviewers and he
just cheated the research community for more than a
decade by announcing that each draft paper is reviewed
by two experts. We challenge him to publish these details
at the conference website. Where are these experts?
Where are these reviews?
He pays tens of thousands of dollars and brings keynote
speakers and project his conference as a great one. He
lists the names of current and former keynote speakers
on the front page of the conference and use those names
as baits to attract paper submissions from innocent researchers.
He always conducts the conferences in the “sin city” to attract
people who prefer “other” activities.
DBLP stopped indexing these conferences since 2011
and displayed an explicit message;
The DBLP Advisory Board decided to discontinue indexing of
this conference series. Visit
http://www.informatik.uni-trier.de/~ley/db/conf/biocomp/index.html
as a sample.
He was forced to remove his name, the university of
Georgia name, and university of Georgia email address from
the conference’s contact page because the University has
banned him from doing that. He is running the conference
behind the scenes and there is no coordinator or general chair
listed for this conference.
Almost every week (until the conference date is so close),
Hamid Arabnia updates the conference website with things
like this: You are invited to submit a "Late Breaking Paper",
"Position Paper", "Abstract/Poster Paper" or “Abstract of
Thesis or Dissertation” for consideration, etc. He wants
more papers because each paper generates around 500 US
dollars in to his pocket.
Additional information on this conference bogus conference is
available by searching internet using the keywords
worldcomp fake or Hamid Arabnia fake
Apologies for posting to multiple mailing lists. Spreading the
word is the only way to stop this conference from cheating
innocent researchers.
Hi,
I want to draw gray scale bitmap using byte array which has pixel by pixel
gray
scale value as byte like this;
[0 0 0 0 0 0 0 0
16 23 255 78 12 12 12 12
...
...] (8x4 for example)
I can draw this using Pen class pixel by pixel manner but this is very slow
and
I think there should be faster way of creating a Form using above byte
array.
Anyone can help me? Thanks in advance.
Hello,
I can't find any way to load an .image file into Squeak while it is running,
and dragging the file to Squeak's launcher and dropping it there doesn't
work.
Is there any way to load an .image file while Squeak is running, or do I
have to edit Squeak's configurations file and launch Squeak whenever I want
to load a specific .image file?
Thank you for reading,
-ParadoxMachine
--
View this message in context: http://forum.world.st/How-to-load-an-image-tp4762057.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.
Hello.
I'm having problems with this code:
That code results in the following text being written in Transcript:
I don't know how to fix this.
Thank you for reading.
--
View this message in context: http://forum.world.st/Unknown-error-tp4761926.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.
I am getting these messages on my Transcript.
What does "is shadowed" mean?
Sincerely,
Joe.
House>>report4a(sortbyrank is shadowed)
House>>report4a(sortbyrank is shadowed)
House>>report4a(sortbyrank is shadowed)
House>>report4a(sortbyrank is shadowed)
House>>report4a(sortbyrank is shadowed)
House>>report4a(sortbyrank is shadowed)
House>>loadSecurities:(array is shadowed)