Somehow I've lost the do it, print it, inspect it, explore it, debug it section from workspace menus.
I installed the Magma packages and was trying to do the FishStore->Magma tutorial on the wiki. I guess I'll resinstall Magma on a backup of my image, but I'd like to know how I lost those items or .. how to build them from scratch onto a new menu. I'm looking through the wiki about morph's and morph menu's and have been looking through the system trying to see how debug / inspect an existing menu, but I'm a bit overwhelmed at the moment. This is only day 3 (hour ~20) of getting into Squeak / Seaside :) I've programmed with other languages / environments, but never with Smalltalk and am getting frustrated trying to "battle" the interface for the simplest things. Mike |
Well for anyone else you might run into this problem, I had turned on "novice" mode :) .... which although I admittedly am, it makes it hard (impossible ??) to evaluate any code in a workspace <g>. Mike |
In reply to this post by mstram-2
On Saturday 19 May 2007 2:56 am, mstram wrote:
> This is only day 3 (hour ~20) of getting into Squeak / Seaside :) I've > programmed with other languages / environments, but never with Smalltalk > and am getting frustrated trying to "battle" the interface for the simplest > things. Squeak is really a beast for beginners because its paradigm is very different. Missing and outdated docs and links add to the confusion. I arrived at the following tips to get around: 1. Squeak image is like a 'software computer' - an entire computer, not just an IDE. The 'quit' doesn't shutdown, it only suspends this computer and the vm resumes it from where you left off next time you start it. Objects created in this image can live on for years! This soft computer even crashes like a real one. I always work with copies of images when experimenting with it. 2. Commands take the form "<subject> <verb> .." instead of the usual "<verb> <subject>". Though, this sounds simple, it takes some time to switch mental models from imperative mode to message sends. 3. Most tutorials exhort beginners to "doIt". Please don't. Use "debugIt", so you can see trace the execution and learn a lot from it. Tracing something even as simple as "3+4" can be very illuminating as it takes you through compiler, string conversions, primitive calls and so on. After a few hours browsing code, DNU pop-ups are no longer scary :-(. Morphs (like menus) can be traced by using the debug halo item. 4. I find the "explain" menu item very handy while browsing code (e.g. Is SoundPlayer a class or a variable?). It is buried one level deep in content menu :-(. I also make liberal use of "implementors of" and "senders of" to understand the larger context. 5. The "browse protocol" is another useful menu item listing all messages (including inherited ones) for an object. Here again, the most useful category, '--all--', comes in the end :-(. Hope this helps .. Subbu _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Hi Subbu,
Thanks for the great tips ! .. and for taking an interest. I don't know if you saw my follow up message, but thanks to some helpful people on IRC #squeak, I was reminded that I had turned on "novice" mode. The "VM" paradigm is both interesting and frustrating. I really do actually "digging" around and it's neat that you can trace / debug / browse everything on the system. Squeak suffers from the same-old open source curse though that I've found with just about ever other o.s. package ... lack of good documentation. For example, I've been also playing with Ruby / Ruby on Rails, and .. though admittedly an isolated case, their is no comparison for the documentation for their "Intro / Newbie web appication compared to what I found for the Magma database on the Wiki. The OmniBasse docs look better, but my first attempt at installing it into Squeak 3.9-7067 have so far failed, I'll try an older image. You sound like you've been programming with Smalltalk for awhile :) I've done some programming with a lot of languages but I'm not a real "hard core" programmer. Have you done anything with Seaside / web/remote programming in general? Have you used SeasideHosting (www.seasidehosting.st) ? In the Seaside image there is a remote browser that lets you change classes /etc remotely, I'd like to setup a remote "workspace" where I could issue commands to my image over the internet, especially since I'm on dialup, and my image is ~25meg ! I'm looking at the seaside classes and the looking for that remote browser class ,and also the "native" "doit" command to try to cobble something together, but any tips you can offer (including a "that's not possible" would be great. I'll take a look on SqueakMap and see if it's already been done. ttyl Mike I tried to get a smaller image (seaside2.6) running there but haven't had much luck yet. >From: subbukk <[hidden email]> >Reply-To: "A friendly place to get answers to even the most basic >questionsabout Squeak." <[hidden email]> >To: [hidden email] >Subject: Re: [Newbies] do it, print it, inspect it, explore it,debug it >missing from workspace menu >Date: Sat, 19 May 2007 12:17:19 +0530 > >On Saturday 19 May 2007 2:56 am, mstram wrote: > > This is only day 3 (hour ~20) of getting into Squeak / Seaside :) I've > > programmed with other languages / environments, but never with Smalltalk > > and am getting frustrated trying to "battle" the interface for the >simplest > > things. >Squeak is really a beast for beginners because its paradigm is very >different. >Missing and outdated docs and links add to the confusion. I arrived at the >following tips to get around: >1. Squeak image is like a 'software computer' - an entire computer, not >just >an IDE. The 'quit' doesn't shutdown, it only suspends this computer and the >vm resumes it from where you left off next time you start it. Objects >created >in this image can live on for years! This soft computer even crashes like a >real one. I always work with copies of images when experimenting with it. >2. Commands take the form "<subject> <verb> .." instead of the usual >"<verb> ><subject>". Though, this sounds simple, it takes some time to switch mental >models from imperative mode to message sends. >3. Most tutorials exhort beginners to "doIt". Please don't. Use "debugIt", >so >you can see trace the execution and learn a lot from it. Tracing something >even as simple as "3+4" can be very illuminating as it takes you through >compiler, string conversions, primitive calls and so on. After a few hours >browsing code, DNU pop-ups are no longer scary :-(. Morphs (like menus) can >be traced by using the debug halo item. >4. I find the "explain" menu item very handy while browsing code (e.g. Is >SoundPlayer a class or a variable?). It is buried one level deep in content >menu :-(. I also make liberal use of "implementors of" and "senders of" to >understand the larger context. >5. The "browse protocol" is another useful menu item listing all messages >(including inherited ones) for an object. Here again, the most useful >category, '--all--', comes in the end :-(. > >Hope this helps .. Subbu >_______________________________________________ >Beginners mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
On Saturday 19 May 2007 5:50 pm, Mike Stramba wrote:
> Hi Subbu, > Thanks for the great tips ! .. and for taking an interest. You are welcome. I am glad you found them helpful. > For example, I've been also playing with Ruby / Ruby on Rails, and .. > .... > You sound like you've been programming with Smalltalk for awhile :) I've > done some programming with a lot of languages but I'm not a real "hard > core" programmer. I started using Squeak only a few months back, though I have been in systems and network programming for over two decades. The learning curve in Squeak is a bit steep because of two reasons a) it is not just an IDE but a whole computing env (like GNU/Linux) and, b) It suffers from extreme monoculture - it is 100% Smalltalk. So frameworks take much longer to develop and get into the basic image. But once you get past the initial misdirections and hurdles, it is a nice environment to "think" in. > Have you done anything with Seaside / web/remote programming in general? > Have you used SeasideHosting (www.seasidehosting.st) ? So far, I haven't strayed much beyond the core classes and Morphic in Squeak, so I am afraid I can't help you much. But there are many others in its mailing list who could help you out. Enjoy .. Subbu _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Hi Subbu,
I'm plowing along in the Smalltalk / Squeak .. and now Dolphin jungle :) http://www.object-arts.com/content/navigation/products/dce.html If you haven't heard of it, they have a really nice free version with very good DOCUMENTATION, that I've been using along with Squeak to try to get up to speed. I've been trying to figure out Magma and Omnibase in Squeak, as I'm trying to get database connectivity working. Have you done anything with databases in Squeak? I'm very frustrated with the lack of docs for both of those db, about to look for other ones or more info on maybe the Squeak mailing list. Dolphin has a nice implemantion of WELL DOCUMENTED api's for database connectivity that works out the box. I have it working with ODBC -> mdb (access databases), but am having a problem with MYSQL ... something to do with my user / host combination. I can connect fine through comand line tools or PHP scripts, but the Dolphin stuff seems to be adding my "real" host (i.e. "internet connection" instead of localhost. Any idea of what the problem might be ? ttyl Mike _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
On Sunday 20 May 2007 9:25 pm, Mike Stramba wrote:
> Hi Subbu, > > I'm plowing along in the Smalltalk / Squeak .. and now Dolphin jungle :) > > http://www.object-arts.com/content/navigation/products/dce.html > > If you haven't heard of it, they have a really nice free version with very > good DOCUMENTATION, that I've been using along with Squeak to try to get up > to speed. No, I haven't used Dolphin. I do most of my work on Linux. > I've been trying to figure out Magma and Omnibase in Squeak, as I'm trying > to get database connectivity working. Have you done anything with > databases in Squeak? I'm very frustrated with the lack of docs for both > of those db, about to look for other ones or more info on maybe the Squeak > mailing list. No :-(. You could try asking in the squeak-dev mailing lists. > ,, but the Dolphin stuff seems to be adding my "real" > host (i.e. "internet connection" instead of localhost. Any idea of what > the problem might be ? Difficult for me to say. But in your place, I would start looking at hosts file and see if the ipaddress and hostnames are mapped correctly. Try using raw ip addresses to see if the problem is in the hosts file or elsewhere. Hope this helps .. Subbu _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
2007/5/20, subbukk <[hidden email]>:
> HI cdrick thanks for your reply > i will tell you in detail. > This is the actual DAML sentence (input) given to the XMLParser > <daml:Class rdf:ID = "Person"> > <rdfs:subClassOf rdf:resource = "#Animal" /> > <rdfs:subClassOf> > <daml:Restriction> > <daml:onProperty rdf:resource = "#hasParent" /> > <daml:toClass rdf:resource = "#Person" /> > </daml:Restriction> > </rdfs:subClassOf> > </daml:Class> > <person rdf:ID = "Joe"> > <hasParent rdf:resource = "#John"/> > </person> > > > Iam parsing this using the code | stream | > [ > | tree | > stream := FileStream fileNamed: 'test.daml'. > tree := XMLDOMParser parseDocumentFrom: stream. > tree elements collect: [:each| each name]. > ] ensure: [stream close]. > > >From the above code, "tree elements collect: [:each | each name]." actually collects the root elements. for example from the above example it collects <daml:class> and <person>. My aim is to collect all the elements including attributes and attribute values from that parsed tree in a sequeanceable order. > After collecting it in a sequence i have to store it in a variable, so that i can check with that elements with other conditions. that you navigate the xml tree and do whatever you want with elements/attributes... The DOMParser is actually building a full tree for further exploration... can be long and you have to process it again to get more information... I dit that once to collect wheteher data for a large xml file... The process is maybe not obvious, you need to subclass SAXHandler with say DAMLHandler, where you'll redefine messages likes characters: startDocument: endElement: startElement:attribute:list:... but the better is probably to subclass, then you put a self halt in the method startDocument: and little by little you see how it works... Also, you'll probably have to create a class where you'll store the information you want (Meteo class in my case...)... Sorry, but I cannot help you more on this... really busy for some monthes :'( Cédrick ps: I joined my meteo handlers, of course it won't work but it will give you another example of SAXHandler (that the XMLDOMParser which is a particular case of SAXHandler)... sorry for the bad code :p _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners SUP-Model-Meteo.st (24K) Download Attachment |
sorry, wrong post ... ;) forget the previous mail...
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |