Re: [Newbies] object instance browser?

2013-12-31 Thread Chris Muller
Great post, I learned some new things.

On Tue, Dec 31, 2013 at 4:27 AM, Bert Freudenberg b...@freudenbergs.de wrote:
 On 31.12.2013, at 08:53, David Holiday neubu...@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@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] What is Squeak called a practical Smalltalk

2014-01-30 Thread Chris Muller
It's a philosophy more than technical application.  It means many, but
not all, decisions w.r.t development of the system are motivated by
real-world requirements.  Requirements like legacy applications able
to keep running.

On Wed, Jan 29, 2014 at 11:41 PM, Azka Niazi azka@live.com wrote:
 Squeak is referred to as a practical Smalltalk. Practical must technically
 mean something. What goals of practicality has Squeak achieved versus other
 Smalltalks or other programming environment/languages.

 Regards,
 Azka

 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: [squeak-dev] re: Running Squeak on Mac OS X fails due to damaged file.

2014-09-30 Thread Chris Muller
On Mon, Sep 29, 2014 at 6:26 PM, Craig Latta cr...@netjam.org wrote:

 Hoi Tobias--

 Probably Craig can [check the Mac signature on the current release of
 the Squeak 4.5 app]. Craig?

  Hm, yes, that Gatekeeper error is what you get when Gatekeeper is
 turned on and allows apps signed by identified developers, but the app
 signature doesn't correspond to the contents. The manual Gatekeeper
 override (opening the app from the menu get by control-clicking or
 right-clicking) doesn't work. The only way to open such an app is to
 turn Gatekeeper off. However, after the first time you open it, you can
 always open it, regardless of Gatekeeper's state after that. See [1].

  Just when all that seems intelligible (albeit annoying), there's a
 new wrinkle with Mac OS 10.9.5. Oh joy! :)  Apparently you can no longer
 have arbitrary things (like super-evil malicious code, or super-helpful
 documentation) floating around the app folder tree outside the
 Resources folder. I had to move all that stuff (in this case, the
 host-dependent-but-non-Macish code and resources) before I could sign it
 again.

This is a big problem for the All-In-One.  The purpose of the
All-In-One is to be *accessible* to the widest possible audience.
This new structure makes it not very user-friendly for new Squeak
users using Windows or Linux.

Before, everything was in the root folder, and Windows users would
recognize squeak.exe while Linux users would recognize squeak.sh.
Mac users had whatever they needed.  Now, are you saying those folks
are supposed navigate down into the
./Squeak-4.5-All-in-One.app/Contents/hostDependentNonMac directory to
look for the executable and .sh file?

Wait, I'm not seeing squeak.sh at all anywhere..

We probably need to discuss this.  I'm not sure I understand the point
of an All-In-One that is as hard for a new user to figure out as
simply downloading the individual pieces or maybe 3 separate downloads
one per OS or maybe just go back to the old All-In-One format but call
it Windows/Linux make Mac separate..?



  I imagine there will be differing opinions about where that stuff
 should go and what it should be called, but in the meantime I made a
 choice, fixed the start.sh script for Linux, signed the app, and put it
 at [2].


  thanks,

 -C

 [1] http://support.apple.com/kb/ht5290
 [2] http://bit.ly/1CBwx1I (Dropbox)

 --
 Craig Latta
 netjam.org
 +31 6 2757 7177 (SMS ok)
 + 1 415 287 3547 (no SMS)


___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] How to doubble sort a collection

2015-02-16 Thread Chris Muller
Hi Raymond,

On Wed, Feb 4, 2015 at 12:42 PM, Raymond Asselin jgr.asse...@me.com wrote:





Whoa!  That looks familiar!  :)

With Maui, you normallly don't need to do methods like #sortedNotes.  You
can just have #notes in there like you do at the bottom (set its output
resultView to #panel).  Then if you simply implement these methods on your
Note class:

mauiDefaultColumns
^ #(med date heures com)

and

mauiSortableColumns
   ^ #(med date heures comString)

and

comString
^ self com ifNil: [ String empty ]

Then, hover your mouse inside the yellowish area of the collection, press
ESC to invoke the menu, then select generate heading.

You will get proper headers for those columns with ascending / descending
sort arrows for each column.  All for free from Maui.

HTH.
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] How to doubble sort a collection

2015-02-16 Thread Chris Muller
On Mon, Feb 16, 2015 at 5:21 PM, Raymond Asselin jgr.asse...@me.com wrote:
 I Got it.
 You talked about generate heading in the past but can't figure how to send
 it.
 Now it's clear hover your mouse inside the yellowish area of the
 collection, press ESC to invoke the menu, then select generate heading.

Ah, sorry I did not make that more clear!  Yes, that is the
collection-object itself is represented on the screen, with its own
context menu.

And, you can actually do a poor-mans multi-level sorting by selecting
the ascending / descending arrows in \reverse\ order (inner-most sort
level to outer-most).


 Envoyé de mon iPhone

 Le 2015-02-16 à 16:36, Chris Muller asquea...@gmail.com a écrit :

 Hi Raymond,

 On Wed, Feb 4, 2015 at 12:42 PM, Raymond Asselin jgr.asse...@me.com wrote:

 SortedNotesExample.png



 Whoa!  That looks familiar!  :)

 With Maui, you normallly don't need to do methods like #sortedNotes.  You
 can just have #notes in there like you do at the bottom (set its output
 resultView to #panel).  Then if you simply implement these methods on your
 Note class:

 mauiDefaultColumns
 ^ #(med date heures com)

 and

 mauiSortableColumns
^ #(med date heures comString)

 and

 comString
 ^ self com ifNil: [ String empty ]

 Then, hover your mouse inside the yellowish area of the collection, press
 ESC to invoke the menu, then select generate heading.

 You will get proper headers for those columns with ascending / descending
 sort arrows for each column.  All for free from Maui.

 HTH.

 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners


 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Beginner's List Question

2015-01-27 Thread Chris Muller
On Tue, Jan 27, 2015 at 3:01 PM, Phil (list) pbpubl...@gmail.com wrote:
 On Sun, 2015-01-25 at 23:44 +0100, Bert Freudenberg wrote:

  On Jan 24, 2015 11:00 PM, Kirk Fraser overcomer@gmail.com
  wrote:
  Bert says there are easy to follow instructions to do it.


 I actually said that there should be easy to follow instructions and
 was hoping for someone to provide them.

 One likely issue is that the packaging on Linux still seems to be a bit
 inadequate which may cause problems for new users:  one click still
 appears to only include a 32-bit build on a platform that has been
 64-bit for many (most?) of its users for quite a while.  New /
 non-technical users who don't know what that means might be turned off
 by that initial experience.  Why doesn't one click include both 32- and
 64-bit VMs builds for 32-bit images rather than presenting a 'cross your
 fingers' message (which assumes that they fire it up from a terminal
 window to even see it) when launching?

Simply because we don't have a 64-bit ready general consumption yet.
We want to do that.  It's being worked on.
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Is there a preference setting to block automatic parentheses?

2015-02-22 Thread Chris Muller
 Some people like this preference a lot. Others think it is horrible.

 This implmenentation is not the best. The one in E/OCompletion is better.

 I love the feature (in other editors), but hate its current behavior.  If 
 that one is better, why don't we use that?

This preference is part of the low-level interface which affects the
overall fidelity of the Squeak user-experience.  If we are going to
make any changes to this, may we please start it out in the Inbox
where we can all try it and discuss it in more objective terms than
love, hate, better and horrible?

I see OCompletion has a head version in SqueakMap, great!  So we can
try it out right now and see why its better..
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Beginner's List Question

2015-01-25 Thread Chris Muller
On Sun, Jan 25, 2015 at 7:52 AM, Michael Rice limitc...@gmail.com wrote:
 That being said, double-clicking the squeak.sh in the extracted all-in-one
 folder should get everything running, or give you error messages that Google
 could help with.

 Double-clicking doesn't work in my Fedora 19 Linux. Must do this instead:

 1) Find the icon that looks like a terminal; open it to type a command on
 the command line
 2) Go to the Squeak-All-In-One folder using the cd (change directory)
 command
 2) Type ./squeak.sh  (omit the quotes) and the enter key

If you can do that shouldn't Fedora 19 Linux let the user double-click
on a shell script in its File-Manager to execute it?  It seems Ubuntu
does..



 Michael

 On Sun, Jan 25, 2015 at 3:21 AM, Tim Retz human.shield@gmail.com
 wrote:

 The squeak mailing list is happy to help you with problems that have to do
 with squeak. This assumes you know the basics of how to install/use a
 program on your computer. While there are basic instructions for Windows and
 MacOS, there aren't for Linux for a few reasons: both Windows and Mac are
 very mainstream OS's, and so they have very unified ways of installing
 things. Also, there is really only 1 or 2 ways to install something on one
 of those systems. This is not the case with Linux. The Linux way of doing
 things focuses on the super old school UNIX mentality that the person using
 the system knows what they're doing better than any program or developer can
 guess, and so the power, and responsibility, is in your hands.

 ...or you can just give them the source code, and have them figure it
 out. Linux users aren't retarded. - a friend of mine giving another friend
 advice on releasing some software.

 I mention this because, if you use Linux, it's the user's responsibility
 to know (or figure out) how to get a piece of software working. Whether you
 need too look up something using the man pages, or ask a question on your
 distribution's forums, How do I get insert_program_name_here to run?
 isn't really a question for the squeak community if you're on a Linux
 machine.

 Pardon my ranting, I'm a little drunk and bored, and saw this message on
 my phone, thinking What the hell. *shrug*

 That being said, double-clicking the squeak.sh in the extracted
 all-in-one folder should get everything running, or give you error messages
 that Google could help with.

 On Jan 24, 2015 11:00 PM, Kirk Fraser overcomer@gmail.com wrote:

 I finally found the responses to my email that never arrived in my inbox
 yet by looking in the Archive.  Thanks.

 Apparently my question needs to be restated in better jargon.  So here
 goes:
 A beginner might want to start Squeak on a Linux machine.  The Beginner's
 heading has no information for a beginner using Linux. Yet the claim is
 Squeak works on both Windows and Linux.  So how does a beginner do it?

 Casey says take a flying leap and eventually you'll get it.
 Bert says there are easy to follow instructions to do it.

 Where are these easy to follow instructions for beginners?


 Kirk W. Fraser
 www.JesusGospelChurch.com - Replace the fraud churches with the true
 church.
 http://freetom.info - Example of False Justice common in America

 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners


 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners



 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] What happened to all the toys?

2015-10-14 Thread Chris Muller
>
> Squeak has few resources nowadays and nobody (including me) has continued
> to work on these things.
>

(sigh) Forgive me for feeling the need to set the record straight.  I think
your phrase, "few resources nowadays" implies that Squeak is barely on
life-support when, in fact, we just put out best release at least since 3.8
thanks to the hundreds of hours poured in by volunteers from all over.

I'm not sure what work needs to be done on these things, but they're still
there and available in Squeak 5.0 right now.  I just loaded up Chess
straight into 5.0 from SqueakMap.  It was flawless.


> For me the big breakdown was that project save broke in 4.5.
>

That was due to the premature introduction of Environments.  I wish I had
time to try to figure it out because this is clearly affecting Squeak's
users..  :-(   Is anyone using Environments who might know enough how to
fix that bug?

In any case, you can save Projects with the Ma Serializer package.


>
> The big plus of Squeak for me is it's backwards compatibility. So I
> develop in 4.4 and if I need the speed of the new VM I just deploy it on
> 5.0. This is for example all my Raspberry Pi work.
>

Why not develop in 5.0?  Because of the project save bug?


> I did a lot of work in 3.8 which afaik has all the toys you mention and
> some development tools I like.
>

PianoMorph and WaveEditorMorph, are right there in the 5.0 image.  Chess is
on SqueakMap, it works.  There are multiple FreeCell games on SqueakMap as
well as a "Games" package.  I would recommend at least _trying_ to load
them before reverting to any old image.


> Basically with todays computers it runs fast as lightning compared to
> then. You'll need to find the latest interpreter (non cog, non spur) VM,
>

The latest interpreter VM has problems and is not maintained.  Its use is
not recommended.

By contrast, the VM's for 4.6 and 5.0 ARE actively maintained today.
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] What happened to all the toys?

2015-10-14 Thread Chris Muller
>
> I opened up SqueakMap, clicked "Update", and saw a whole lot of packages,
> but I clearly don't understand the UI. If these packages were available
> somewhere, I couldn't figure out how to use it.
>
>
Hi Eric, it looks like youtube has a video which shows how to load the
"Games" package from SqueakMap.

   https://www.youtube.com/watch?v=illOe7wvVJ8
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] What happened to all the toys?

2015-10-17 Thread Chris Muller
>
> Good to know,
> but it is not listed under the 5.0 loadable packages. Could it be added?
>
>
Sure, done.
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Incomplete Seaside instruction on squeak.org?

2015-08-26 Thread Chris Muller
Is there any way to load Seaside without OmniBrowser?  It's just for
that one configuration panel right?  If I'm willing to forego that one
configuration panel, could I leave OB out of my Seaside image?

On Wed, Aug 26, 2015 at 7:58 AM, Tobias Pape das.li...@gmx.de wrote:
 Hi
 On 22.08.2015, at 20:11, lostgweilo lostgwe...@gmail.com wrote:

 Thanks for the help and advice.

 I tried to evaluate the code you shared and indeed something doesn't work
 right.
 A debugger pops up while Fetching 3.1.4.1 of ConfigurationsOfSeaside3,
 about 45% in, because of Error: Name not found: OB- Standard.

 I am actually trying to run Magma and Seaside in the same image. Magma works
 beautifully, and I kind of hoped Seaside would be a breeze, but... :-) Oh
 well.
 I will wait to hear if anyone can get it to work and share how. Thanks
 again.

 PS: Here is the transcript (up to when the error happens), I guess that part
 worked OK:

 found ConfigurationOfSeaside3-JohanBrichau.268.mcz...

 ConfigurationOfSeaside3 classcopyMczFromSmalltalkhubToFileTree: (Gofer is
 Undeclared)
 ConfigurationOfSeaside3 classcopyMczFromSmalltalkhubToFileTree: (Gofer is
 Undeclared)
 ConfigurationOfSeaside3 classscriptToCopyMczs (Gofer is Undeclared)
 ConfigurationOfSeaside3 classscriptToCopyMczs (Gofer is Undeclared) loaded

 Loading 1.0-beta.31.1.8 of ConfigurationOfMetacello...


 Thanks.
 Omnibrowser's Configuration is not yet fixed for Squeak5.
 Once I get around to do that, it should work.

 Thanks for your patience.

 In the meantime, you may want to try the Squeak4.4 Seaside 3.0.8 All-in-one
 package:

 http://ftp.squeak.org/4.4/seaside/Seaside-3.0.8-AllInOne.zip

 Best regards
 -Tobias___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] An Error Preference?

2016-02-04 Thread Chris Muller
Are you sure you're in the method-entry pane and not the
class-definition pane?  You ahve to select a method or method-category
to enter a new method.

Teh other possibility is you have a bad character in the text.  If so,
I would just delete all that text and re-type your code.  Select
"cancel" on the text menu.  Or, you could press Command+a followed by
Backspace.

On Thu, Feb 4, 2016 at 4:22 PM, Kirk Fraser  wrote:
> When programming I sometimes encounter a situation where the method entry
> pane stays in error mode so anything I type or copy in, even perfectly good
> code produces an error, usually nothing more expected and most or all of the
> code stays red.  In the past I've lucked out of it somehow, deleting a hard
> to see misplaced character.  But this time it doesn't stop even on a method
> with only a name, comment and hand entered | |.  How is this preference for
> calling everything an error defeated?  Thanks.
>
> Kirk Fraser
>
> ___
> Beginners mailing list
> Beginners@lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] Version 5.0 running hot

2016-08-11 Thread Chris Muller
Hi Joseph, nothing in the base Squeak 5 should make your image that busy.

You might be able to get a list of things your image is doing by
executing this code in a workspace:

   MessageTally spyAllOn: [ (Delay forSeconds: 10) wait ]

Wait 10 seconds for the window to appear.

On Thu, Aug 11, 2016 at 10:07 AM, Joseph Alotta  wrote:
> I just switched from version 4.3 to 5.0.  I like the new features, thank you.
>
> But I have 5.0 running, hidden from my desktop, and I am reading my mail. I 
> notice the laptop is getting very warm on the
> bottom.  I look at the Activity Monitor and find that Squeak 5.0 accounts for 
> 50% of my processing load.  (I have 4 cores, so
> I think it is 50% of all 4.)
>
> When I save and quit Squeak, it immediately starts to cool off.
>
> Again, Squeak 4.3 could run hidden in a window and never affect my power 
> consumption.
>
> What is 5.0 doing that 4.3 is not?
>
> Sincerely,
>
> Joe.
>
>
>
> ___
> Beginners mailing list
> Beginners@lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: [Vm-dev] [ANN] Squeak 5.1 released; www.squeak.org; Trunk open again

2016-08-23 Thread Chris Muller
Someone please get this man a beer!

On Tue, Aug 23, 2016 at 9:30 AM, Marcel Taeumel  wrote:
>
> We are happy to announce the release of Squeak 5.1!
>
> Visit the Website [1], read the release notes in the image or outside [2], 
> and try it out for yourself [3][4]!
>
> Thank you all for the contributions! :-)
>
> Happy birthday Squeak! It has been (almost) 20 years!!! [5]
>
> Best,
> Marcel
>
> [1] http://www.squeak.org/
> [2] 
> https://github.com/squeak-smalltalk/squeak-app/blob/master/release-notes/5.1
> [3] http://files.squeak.org/5.1/
> [4] http://try.squeak.org/ (to be updated soonish)
> [5] http://files.squeak.org/docs/OOPSLA.Squeak.html
>
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners