Hi all,
Although I've been developing in (VisualWorks) Smalltalk for a number of years, I'm an absolute newbie when it comes to Squeak. I downloaded and played around with Squeak 3.9 recently (because I was curious about Seaside) and was surprised to see how far Squeak has come since I last had a look a few years ago. Anyway, I've read a few helpfiles/wikis/tutorials/blogs/etc., saw several images available for download with several different browsers and tools loaded, and read about a few more that I haven't been able to find/load (OmniBrowser, Cees' RefractoringBrowser, Ramon's SentorsaBrowser). So I was wondering what you guys would recommend as a base image and if you could point me to the right place for finding out how best to go about loading tools. (I've downloaded a few packages with the universe package browser, which was fairly intuitive, but couldn't find several things I was after - should I use that MonticelloBrowser instead? What's the difference?) Playing around with a few things, I missed the option to "dive into" an element from an Inspector and then "pop" back out to the previously inspected object(s), so I modified the Inspector class to add those options. Is something like that useful enough to submit the code somewhere for others to load? Or am I re-inventing the wheel and someone's already done that? Any help or pointers where to read up on this stuff would be greatly appreciated. Cheers, Amos |
Hello Amos,
A> Anyway, I've read a few helpfiles/wikis/tutorials/blogs/etc., saw A> several images available for download with several different browsers A> and tools loaded, and read about a few more that I haven't been able A> to find/load (OmniBrowser, Cees' RefractoringBrowser, Ramon's A> SentorsaBrowser). So I was wondering what you guys would recommend as For looking into Seaside I'd suggest Damien's Web image, for development his dev images, see http://damien.cassou.free.fr/ Cees RB is a RB which only dispays the categories you select. It's my preferred one but I guess omnibrowser can do that too. You'll find the latter in the dev images. Drop me an email if you can't find it. I think it hasn't been updated for some time. A> a base image and if you could point me to the right place for finding A> out how best to go about loading tools. (I've downloaded a few A> packages with the universe package browser, which was fairly A> intuitive, but couldn't find several things I was after - should I use A> that MonticelloBrowser instead? What's the difference?) SqueakMap is a place to browse, can't tell what's the current state but downloading things via the Web and installing it via the FileList is an option. A> Playing around with a few things, I missed the option to "dive into" A> an element from an Inspector and then "pop" back out to the previously A> inspected object(s), so I modified the Inspector class to add those Try the explorer instead of the inspector. Be careful, it doesn't auto update while the inspector does. A> options. Is something like that useful enough to submit the code A> somewhere for others to load? Or am I re-inventing the wheel and A> someone's already done that? You can decide after trying the explorer (anyOldObject explore). I myself am on 3.8 so take everything I said with a grain of salt. Cheers Herbert mailto:[hidden email] |
Hello Amos,
HK> Cees RB is a RB which only dispays the categories you select. It's my HK> preferred one but I guess omnibrowser can do that too. You'll find the HK> latter in the dev images. Drop me an email if you can't find it. I "it" refers to Cees RB enhancement. Proof reading shouldn't be an option :-)) HK> HK> ... so take everything I said with a grain of salt. See, I said so :-)) Cheers, Herbert mailto:[hidden email] |
In reply to this post by Amos-15
Hi Amos,
2007/12/13, Amos <[hidden email]>: > Although I've been developing in (VisualWorks) Smalltalk for a number > of years, I'm an absolute newbie when it comes to Squeak. I downloaded > and played around with Squeak 3.9 recently (because I was curious > about Seaside) and was surprised to see how far Squeak has come since > I last had a look a few years ago. > > Anyway, I've read a few helpfiles/wikis/tutorials/blogs/etc., saw > several images available for download with several different browsers > and tools loaded, and read about a few more that I haven't been able > to find/load (OmniBrowser, Cees' RefractoringBrowser, Ramon's > SentorsaBrowser). So I was wondering what you guys would recommend as > a base image I would advise you to use a squeak-dev or squeak-web image. See http://damien.cassou.free.fr/squeak-dev.html for more information. Feel free to ask any question about these images. > and if you could point me to the right place for finding > out how best to go about loading tools. (I've downloaded a few > packages with the universe package browser, which was fairly > intuitive, but couldn't find several things I was after - should I use > that MonticelloBrowser instead? What's the difference?) I can see 4 ways of loading things in your image: - Universe: it's a set of packages known to work together. Every package you find in the universe browser should be loadable into the image. If it's not the case, please report the bug. - Monticello: it's a kind of Store. There, you will find latest versions of tools, not always stable. - SqueakMap: it contains all the packages that have been released for Squeak since SqueakMap creation. Most of the packages won't load, but you can find things that can't be found anywhere else. - Drag&Drop: if you download a file (either .mcz, .st, .sar, .cs...), you can always drag & drop it into the squeak desktop and Squeak will ask you what to do (load, explore...). > Playing around with a few things, I missed the option to "dive into" > an element from an Inspector and then "pop" back out to the previously > inspected object(s) you can always press ALT+i (or CTRL+i) on an element to inspect it. So, you can "dive into" a field by just pressing this shortcut or right clicking and selecting "inspect it". > , so I modified the Inspector class to add those > options. Is something like that useful enough to submit the code > somewhere for others to load? Or am I re-inventing the wheel and > someone's already done that? It can be useful. What have you done exactly? > Any help or pointers where to read up on this stuff would be greatly > appreciated. Any feedback on your user experience would be greatly appreciated too :-). -- Damien Cassou |
In reply to this post by Amos-15
> more that I haven't been able to find/load (OmniBrowser,
> Cees' RefractoringBrowser, Ramon's SentorsaBrowser). So I was No no, I don't have a browser, that's just a subclass of Cees' browser that added some trivial Magritte code generation to create accessors. I don't use it anymore, I use OmniBrowser now. You should start with Damien's dev image and load it up to suit you, or my image which is his image loaded to suit me. Ramon Leon |
In reply to this post by Herbert König
A propos, auto-updating inspector are not always working that well...
Try to inspect a WeakSet like: (Symbol classPool at: #SymbolTable) inspect. Scroll a little, the inspector flashes once or more and you end up with a debugger saying 'Error: subscript is out of bounds: 687'. Well that is for sure a bug. I'am pretty sure some Symbol are created on the fly then reclaimed, and cause this error. But that makes me wonder why? Is it really a good idea to create short lived Symbols? Or is it another bug? There are too many senders of asSymbol for me to understand... Anyone has a clue? Nicolas Herbert König a écrit : > > A> Playing around with a few things, I missed the option to "dive into" > A> an element from an Inspector and then "pop" back out to the previously > A> inspected object(s), so I modified the Inspector class to add those > > Try the explorer instead of the inspector. Be careful, it doesn't auto > update while the inspector does. > > A> options. Is something like that useful enough to submit the code > A> somewhere for others to load? Or am I re-inventing the wheel and > A> someone's already done that? > > You can decide after trying the explorer (anyOldObject explore). > > I myself am on 3.8 so take everything I said with a grain of salt. > > Cheers > > Herbert mailto:[hidden email] > > > |
I traced creation of Symbol with
Transcript cr; show: aStringOrSymbol storeString. in Symbol class>>#intern: and got: 'weakSetInspectorWindowColor' 'setInspectorWindowColor' 'inspectorWindowColor' 'weakSetInspectorWindowColor' 'setInspectorWindowColor' 'inspectorWindowColor' Seems like the WeakSetInspector is killing itself... Nicolas nicolas cellier a écrit : > A propos, auto-updating inspector are not always working that well... > Try to inspect a WeakSet like: > > (Symbol classPool at: #SymbolTable) inspect. > > Scroll a little, the inspector flashes once or more and you end up with > a debugger saying 'Error: subscript is out of bounds: 687'. > Well that is for sure a bug. > > I'am pretty sure some Symbol are created on the fly then reclaimed, and > cause this error. But that makes me wonder why? > Is it really a good idea to create short lived Symbols? > Or is it another bug? > There are too many senders of asSymbol for me to understand... > Anyone has a clue? > > Nicolas > > Herbert König a écrit : >> >> A> Playing around with a few things, I missed the option to "dive into" >> A> an element from an Inspector and then "pop" back out to the previously >> A> inspected object(s), so I modified the Inspector class to add those >> >> Try the explorer instead of the inspector. Be careful, it doesn't auto >> update while the inspector does. >> >> A> options. Is something like that useful enough to submit the code >> A> somewhere for others to load? Or am I re-inventing the wheel and >> A> someone's already done that? >> >> You can decide after trying the explorer (anyOldObject explore). >> >> I myself am on 3.8 so take everything I said with a grain of salt. >> >> Cheers >> >> Herbert mailto:[hidden email] >> >> >> > > > |
In reply to this post by Amos-15
Hi Damien and everyone else,
> > Hi Amos, > > I would advise you to use a squeak-dev or squeak-web image. See > http://damien.cassou.free.fr/squeak-dev.html for more information. > Feel free to ask any question about these images. > > I can see 4 ways of loading things in your image: > > - Universe: it's a set of packages known to work together. Every > package you find in the universe browser should be loadable into the > image. If it's not the case, please report the bug. > - Monticello: it's a kind of Store. There, you will find latest > versions of tools, not always stable. > - SqueakMap: it contains all the packages that have been released for > Squeak since SqueakMap creation. Most of the packages won't load, but > you can find things that can't be found anywhere else. > - Drag&Drop: if you download a file (either .mcz, .st, .sar, .cs...), > you can always drag & drop it into the squeak desktop and Squeak will > ask you what to do (load, explore...). > Thanks for the info, I'll be sure to have a closer look at those images and the ways of loading stuff over the weekend. Thanks also to Ramon for pointing out that your browser customisation has been "decommissioned" (I'll see what the OmniBrowser is like and then extend that if there's any additional functionality I want), and to Herbert for pointing out the explore option (I'd seen it but hadn't used it, I imagine it can be quite useful in some cases). > > > Playing around with a few things, I missed the option to "dive into" > > an element from an Inspector and then "pop" back out to the previously > > inspected object(s) > > > you can always press ALT+i (or CTRL+i) on an element to inspect it. > So, you can "dive into" a field by just pressing this shortcut or > right clicking and selecting "inspect it". > > > > , so I modified the Inspector class to add those > > options. Is something like that useful enough to submit the code > > somewhere for others to load? Or am I re-inventing the wheel and > > someone's already done that? > > > It can be useful. What have you done exactly? > What I've done is to add the ability, like in VW, to "dive into" an attribute of an object being inspected without opening a new inspector, i.e. in the same window. So for instance if you inspect something like, say: OrderedCollection with: 'abc' with: #(1 2 'def') then click on the collection's second element, i.e. the Array, right-click and "dive into" it, the inspector's object is updated to be the Array instead of the OrderedCollection. You could then dive further into the SmallIntegers or the ByteString, or "pop" back out to the previously inspected object. The Inspector instance remembers its own history, so any number of dives can be retraced to the initial object. For convenience, the double-click action on a selected attribute is defined to be "dive into", unless you double-click on "self" in the inspector, in which case you "pop" back one step. I haven't found a good way of updating the window title yet, so it's a bit hacky for now (checking the inspector's dependents for a SystemWindow doesn't seem very elegant), but otherwise it works great. Just a convenient way of drilling down through various layers of objects and being able to back up if need be, without having 16 inspectors cluttering up your screen when you're done ;-) > > > Any help or pointers where to read up on this stuff would be greatly > > appreciated. > > Any feedback on your user experience would be greatly appreciated too :-). > > -- > Damien Cassou Certainly looks like I've found the right place to ask questions - everyone on this list seems very friendly and helpful - thanks again guys =o) I've also downloaded the Squeak By Example book and will work my way through that as time allows to get a feel for all those Squeak-specific things like Morphs and what-have-yous. Cheers, Amos |
Hi Amos,
2007/12/15, Amos <[hidden email]>: > Thanks for the info, I'll be sure to have a closer look at those > images and the ways of loading stuff over the weekend. Thanks also to > Ramon for pointing out that your browser customisation has been > "decommissioned" (I'll see what the OmniBrowser is like and then > extend that if there's any additional functionality I want), I would really appreciate if you could share all the additional functionalities you create. Once you get used to using Monticello, you can commit them yourself to source.wiresong.ca/ob which is the official repository for OmniBrowser; you don't need any login/password. > > > Playing around with a few things, I missed the option to "dive into" > > > an element from an Inspector and then "pop" back out to the previously > > > inspected object(s) > > > > > > you can always press ALT+i (or CTRL+i) on an element to inspect it. > > So, you can "dive into" a field by just pressing this shortcut or > > right clicking and selecting "inspect it". > > > > > > > , so I modified the Inspector class to add those > > > options. Is something like that useful enough to submit the code > > > somewhere for others to load? Or am I re-inventing the wheel and > > > someone's already done that? > > > > > > It can be useful. What have you done exactly? > > > > What I've done is to add the ability, like in VW, to "dive into" an > attribute of an object being inspected without opening a new > inspector, i.e. in the same window. So for instance if you inspect > something like, say: > > OrderedCollection with: 'abc' with: #(1 2 'def') > > then click on the collection's second element, i.e. the Array, > right-click and "dive into" it, the inspector's object is updated to > be the Array instead of the OrderedCollection. You could then dive > further into the SmallIntegers or the ByteString, or "pop" back out to > the previously inspected object. The Inspector instance remembers its > own history, so any number of dives can be retraced to the initial > object. For convenience, the double-click action on a selected > attribute is defined to be "dive into", unless you double-click on > "self" in the inspector, in which case you "pop" back one step. I > haven't found a good way of updating the window title yet, so it's a > bit hacky for now (checking the inspector's dependents for a > SystemWindow doesn't seem very elegant), but otherwise it works great. > Just a convenient way of drilling down through various layers of > objects and being able to back up if need be, without having 16 > inspectors cluttering up your screen when you're done ;-) Please open a bug report on bugs.squeak.org on the project Squeak, assign it to me and attach your fix. I'll take care of integrating it into the squeak images. -- Damien Cassou |
In reply to this post by Nicolas Cellier-3
WeakSetInspector bug has nothing to do with short-lived Symbols.
Short-lived Symbols are created in NewSymbols, which avoid coetly rehash of SymbolTable. So creating short-lived Symbol is not a problem. Problem is that WeakSetInspector collect: a WeakArray... Since WeakArray species = WeakArray, slot indices are put in a WeakArray which leads to vanishing fieldList. See http://bugs.squeak.org/view.php?id=6812 That raise the question: should WeakArray species = WeakArray? Some guru advice required please. Nicolas nicolas cellier a écrit : > I traced creation of Symbol with > Transcript cr; show: aStringOrSymbol storeString. > in Symbol class>>#intern: > and got: > > 'weakSetInspectorWindowColor' > 'setInspectorWindowColor' > 'inspectorWindowColor' > 'weakSetInspectorWindowColor' > 'setInspectorWindowColor' > 'inspectorWindowColor' > > Seems like the WeakSetInspector is killing itself... > > Nicolas > > nicolas cellier a écrit : >> A propos, auto-updating inspector are not always working that well... >> Try to inspect a WeakSet like: >> >> (Symbol classPool at: #SymbolTable) inspect. >> >> Scroll a little, the inspector flashes once or more and you end up >> with a debugger saying 'Error: subscript is out of bounds: 687'. >> Well that is for sure a bug. >> >> I'am pretty sure some Symbol are created on the fly then reclaimed, >> and cause this error. But that makes me wonder why? >> Is it really a good idea to create short lived Symbols? >> Or is it another bug? >> There are too many senders of asSymbol for me to understand... >> Anyone has a clue? >> >> Nicolas >> >> Herbert König a écrit : >>> >>> A> Playing around with a few things, I missed the option to "dive into" >>> A> an element from an Inspector and then "pop" back out to the >>> previously >>> A> inspected object(s), so I modified the Inspector class to add those >>> >>> Try the explorer instead of the inspector. Be careful, it doesn't auto >>> update while the inspector does. >>> >>> A> options. Is something like that useful enough to submit the code >>> A> somewhere for others to load? Or am I re-inventing the wheel and >>> A> someone's already done that? >>> >>> You can decide after trying the explorer (anyOldObject explore). >>> >>> I myself am on 3.8 so take everything I said with a grain of salt. >>> >>> Cheers >>> >>> Herbert mailto:[hidden email] >>> >>> >>> >> >> >> > > > |
In reply to this post by Damien Cassou-3
Hi Damien,
On 12/15/07, Damien Cassou <[hidden email]> wrote: > > I would really appreciate if you could share all the additional > functionalities you create. Once you get used to using Monticello, you > can commit them yourself to source.wiresong.ca/ob which is the > official repository for OmniBrowser; you don't need any > login/password. > Ok, will do (assuming I can think of something useful to add, of course...). > > Please open a bug report on bugs.squeak.org on the project Squeak, > assign it to me and attach your fix. I'll take care of integrating it > into the squeak images. > > -- > Damien Cassou > > Sorry, gotta ask another newbie question: The mantis doc says the attached fix/enhancement "should be a changeset that is gzipped" - how do I do that? I simply added the methods to the unsuspecting Inspector class in my image; I remember the changes I made, but how do I create a changeset from them? Is that related to the changes file? A URI where to read up on that would be great. |
Hi Amos,
2007/12/16, Amos <[hidden email]>: > Sorry, gotta ask another newbie question: You have nothing to be sorry about :-) > The mantis doc says the > attached fix/enhancement "should be a changeset that is gzipped" - how > do I do that? I simply added the methods to the unsuspecting Inspector > class in my image; I remember the changes I made, but how do I create > a changeset from them? Is that related to the changes file? A URI > where to read up on that would be great. Most of the time, the Squeak wiki contains your answer: wiki.squeak.org. In your case, you want to have a look at http://wiki.squeak.org/squeak/2145 and related links. If you can't find anything useful, just post again on the list. -- Damien Cassou |
Hi Damien,
Thanks - I've now added the change to Mantis and uploaded the changeset, but I don't think I've got permission as a mere "reporter" to assign it to you... the ID is 6814. Cheers, Amos > Please open a bug report on bugs.squeak.org on the project Squeak, > assign it to me and attach your fix. I'll take care of integrating it > into the squeak images. > > > The mantis doc says the > > attached fix/enhancement "should be a changeset that is gzipped" - how > > do I do that? I simply added the methods to the unsuspecting Inspector > > class in my image; I remember the changes I made, but how do I create > > a changeset from them? Is that related to the changes file? A URI > > where to read up on that would be great. > > > Most of the time, the Squeak wiki contains your answer: > wiki.squeak.org. In your case, you want to have a look at > http://wiki.squeak.org/squeak/2145 and related links. If you can't > find anything useful, just post again on the list. > > -- > Damien Cassou > |
Thank you. It's now attached to me.
2007/12/16, Amos <[hidden email]>: > Hi Damien, > > Thanks - I've now added the change to Mantis and uploaded the > changeset, but I don't think I've got permission as a mere "reporter" > to assign it to you... the ID is 6814. > > Cheers, > > Amos > > > Please open a bug report on bugs.squeak.org on the project Squeak, > > assign it to me and attach your fix. I'll take care of integrating it > > into the squeak images. > > > > > The mantis doc says the > > > attached fix/enhancement "should be a changeset that is gzipped" - how > > > do I do that? I simply added the methods to the unsuspecting Inspector > > > class in my image; I remember the changes I made, but how do I create > > > a changeset from them? Is that related to the changes file? A URI > > > where to read up on that would be great. > > > > > > Most of the time, the Squeak wiki contains your answer: > > wiki.squeak.org. In your case, you want to have a look at > > http://wiki.squeak.org/squeak/2145 and related links. If you can't > > find anything useful, just post again on the list. > > > > -- > > Damien Cassou > > > > -- Damien Cassou |
Free forum by Nabble | Edit this page |