Re: [Pharo-dev] Smalltalk in a C World
How can people even know Smalltalk MT still exist with their website and their communication ? I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on what's new on their website and I got that: [image: Images intégrées 1] Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further. 2013/12/8 Stéphane Ducasse stephane.duca...@inria.fr Yes - still alive and kicking. But I'm sure you did not notice since there are no big announcements or advertising for it. ObjectConnect follows the time is better invested into technology strategy. It is one of the most interesting Smalltalks ever implemented. http://www.objectconnect.com/stmt_overview.htm I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) And the web site stop and 5.6 in 2009. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) Stef Screen Shot 2013-12-09 at 9.18.11 AM.png
Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser?
Hi Hernan, the problem is not the button - but the missing standard and standardized descriptions on the configs... For instance I also write markup docu on my configs (see ConfigurationOfINIFile) - it is loadable as a usual config but adds two class side methods: #documentation and #tutorialOn: using the onlineTutorial pragma. The documentation is stored as class comment in markdown format on the ConfigurationOfINIFile class. I use the same description then for the STHub project page. If one loads additionally the PharoOnlineHelp package afterwards it will also appear magically in my Pharo online help as a tutorial. This was my proposal - but so far it looks like nobody is really interested. this is not that this is a question of time. And sorry but I will not use markdown. Maybe because often this ends in which syntax discussions and due to the lack of good in image default text display facilities for markup, pier-syntax, ... In general it can be done easily, but we have to agree on some kind of common standard for configurations and documentation on - how to describe a package (also the format, either markdown or pier syntax with http://smalltalkhub.com/#!/~Pier/Pillar) - how to name the methods or pragmas that are used Stef also did something (with Catalog), the ConfigurationOfINIFile for instance has two supporting methods: #catalogDescription and #repositoryUrlString. this one is deprecated after discussing with versioner. Still Catalog uses Pier and is not really visible - and STHub does support markdown by default. As of today I would like to see Pharo moving into the following direction: - using the configs for describing the help/documentation/package descriptions - also tagging with package categories (for instance there are packages/projects for database access, others for parsers, or games) - maybe use pier syntax for descriptions (it can be parsed by Pillar and other formats like HTML, markdown, Latex, ... be generated) - generate pages like catalog https://ci.inria.fr/pharo-contribution/job/PharoProjectCatalog/HTML_Report/? but with a better design and visibility like http://packages.pharo.org; The code is open. My time is really counted. Just merged your convention to mine and unify. together with a loadable list for the config browser - when one uploads such a ConfigurationOfMyKillerApp to STHub it should automagically update the STHub description (which is currently only possible via the web interface) - additional rankings (number of downloads like on STHub, successful CI builds, member rankings, ...) - automated verfication - ... sniplot of other ideas/snip Bye T. Gesendet: Sonntag, 08. Dezember 2013 um 22:12 Uhr Von: Hernán Morales Durand hernan.mora...@gmail.com An: Pharo Development List pharo-dev@lists.pharo.org Betreff: Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser? Hi Torsten, 2013/12/8 Torsten Bergmann asta...@gmx.de The reason is simple: when I wrote the config browser there was no such additional description on the configs itself and one would have to load the config into the image first. Think of 2000 config's (note each is a package) loading in the future when the config browser opens. This will take ages. I think this is not good since the app should be responsive. Maybe a show details button helps when the package is selected. I agree (see attached screenshot). I have added the button but the thing is: Package can be fetched from the repository, but there is no package description. There are only textual descriptions of commits. So anyone see any workaround here? I would rather see: 1. Either a simple hosted seaside app Pharo Store that one can use to register a config for a specific pharo version (similar like squeakmap) maybe directly from the STHub interface with description, ... This app can be queried by the config browser (JSON/XML/Fuel/...) to display infos on the package, maybe also a rating about downloads, ... 2. Or a general mechanism that loads the configs, runs tests and if OK provides them for the config browser as yes these config really work Absolutely. Configurations should be certified. Hernán
Re: [Pharo-dev] Smalltalk in a C World
You should think that they use their smalltalk for their projects. Stef On Dec 9, 2013, at 9:21 AM, Clément Bera bera.clem...@gmail.com wrote: How can people even know Smalltalk MT still exist with their website and their communication ? I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on what's new on their website and I got that: Screen Shot 2013-12-09 at 9.18.11 AM.png Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further. 2013/12/8 Stéphane Ducasse stephane.duca...@inria.fr Yes - still alive and kicking. But I'm sure you did not notice since there are no big announcements or advertising for it. ObjectConnect follows the time is better invested into technology strategy. It is one of the most interesting Smalltalks ever implemented. http://www.objectconnect.com/stmt_overview.htm I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) And the web site stop and 5.6 in 2009. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) Stef
[Pharo-dev] Issue for Pharo2 needs review
12300 #date:time: fix backport 2.0 https://pharo.fogbugz.com/f/cases/12300/
[Pharo-dev] [Pharo 3] Failing tests on Build Server
Linux: ReleaseTesttestUnknownProcesses BlockClosureTesttestOnForkErrorTakesLessThanOneSecond Win: ZnHTTPSTests.testGetPharoVersion All: ReleaseTest#testObsoleteBehaviors
Re: [Pharo-dev] [Pharo 3] Failing tests on Build Server
On 09 Dec 2013, at 09:38, Marcus Denker marcus.den...@inria.fr wrote: Linux: ReleaseTesttestUnknownProcesses BlockClosureTesttestOnForkErrorTakesLessThanOneSecond Win: ZnHTTPSTests.testGetPharoVersion This is a problem with the networking infrastructure on the windows slave. Error Message cannot resolve ‘ci.inria.fr' in other words, its a DNS lookup failure. There is not much that higher level code can do but to give up. All: ReleaseTest#testObsoleteBehaviors
Re: [Pharo-dev] Smalltalk in a C World
please note that generating dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. On Mon, Dec 9, 2013 at 10:28 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: You should think that they use their smalltalk for their projects. Stef On Dec 9, 2013, at 9:21 AM, Clément Bera bera.clem...@gmail.com wrote: How can people even know Smalltalk MT still exist with their website and their communication ? I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on what's new on their website and I got that: Screen Shot 2013-12-09 at 9.18.11 AM.png Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further. 2013/12/8 Stéphane Ducasse stephane.duca...@inria.fr Yes - still alive and kicking. But I'm sure you did not notice since there are no big announcements or advertising for it. ObjectConnect follows the time is better invested into technology strategy. It is one of the most interesting Smalltalks ever implemented. http://www.objectconnect.com/stmt_overview.htm I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) And the web site stop and 5.6 in 2009. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) Stef
Re: [Pharo-dev] Issue for Pharo2 needs review
Downloaded 20628 288 VM, run on a Mavericks mac Browse the slice: Segmentation fault Mon Dec 9 10:12:26 2013 https://github.com/pharo-project/pharo-vm.git Commit: 71adca113a9aff2876288927e5c1c86bf7ac13e2 Date: 2013-12-07 05:00:47 -0800 By: Philippe Back philippeb...@gmail.com Jenkins build #14776 C stack backtrace: 0 Pharo 0x0019fdac reportStackState + 140 1 libsystem_platform.dylib0x9b433deb _sigtramp + 43 2 ??? 0x 0x0 + 4294967295 Smalltalk stack dump: 0xbffb64e0 M DisplayScreenforceToScreen: 0x1f5031f4: a(n) DisplayScreen 0xbffb64fc M [] in DisplayScreenforceDamageToScreen: 0x1f5031f4: a(n) DisplayScreen
Re: [Pharo-dev] [Nautilus] How to copy a method from a class to another class ?
ok I figured some things out and created the relevant methods but I am getting a MNU with copyMethod: toTheClass: Array(Object)doesNotUnderstand: #realClass PackageTreeNautilusUI(AbstractNautilusUI)copyMethod:toTheClass: PackageTreeNautilusUI(NautilusUI)pasteMethod MethodWidget classelementsMenu: in Block: [ target pasteMethod ] BlockClosurecull: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: in Block: [ ... BlockClosureensure: CursorWithMask(Cursor)showWhile: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)mouseUp: ToggleMenuItemMorph(MenuItemMorph)handleMouseUp: MouseButtonEventsentTo: ToggleMenuItemMorph(Morph)handleEvent: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: ToggleMenuItemMorph(Morph)processEvent:using: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: MenuMorph(Morph)processEvent:using: MenuMorph(Morph)processEvent: MenuMorphhandleFocusEvent: HandMorphsendFocusEvent:to:clear: in Block: [ ... BlockClosureon:do: WorldMorph(PasteUpMorph)becomeActiveDuring: HandMorphsendFocusEvent:to:clear: HandMorphsendEvent:focus:clear: HandMorphsendMouseEvent: HandMorphhandleEvent: HandMorphprocessEvents WorldStatedoOneCycleNowFor: in Block: [ :h | ... you can find my code here http://www.smalltalkhub.com/#!/~kilon/copyMethod/ Am I doing something wrong ? Just for your information I added 2 menu entries and 2 corresponding methods , one for Copy and one for Paste. On Sun, Dec 8, 2013 at 12:27 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The menus are on AbstractNautilusUI class, protocol “menus” You can find how to move methods in AbstractTool. I guess the copy will be there too :) Ben On 07 Dec 2013, at 23:16, kilon alios kilon.al...@gmail.com wrote: Check Mate in 2 moves. Well played my friend, well played. :P Ok I will bite , how I figure out the right click menu and the copy function ? Which classes and methods should I look at ? Help me understand and Santa Clause will bring the slice down your chimney. On Sun, Dec 8, 2013 at 12:11 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: Was not plan, but if someone propose a slice, it will get in :P Ben On 07 Dec 2013, at 22:53, kilon alios kilon.al...@gmail.com wrote: thanks. Is there any chance this will make it into the right click menu ? Looks like quite essential to me. Also it would make it unnecessary to open a new nautilus window for the shake of copying to an another package. On Sat, Dec 7, 2013 at 11:26 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: drag and drop them holding shift (you should see a little red “+”) Ben On 07 Dec 2013, at 22:15, kilon alios kilon.al...@gmail.com wrote: Hey there I was wondering how to copy a couple of methods I have from one class to another. I can't find anything that can do this from right clicking the method.
Re: [Pharo-dev] Smalltalk in a C World
The main issue is that it is complicated to embed the VM in C code. That's due to how the VM is done. Compared to TCL, where you can easily embed the interpreter in a C program, this is a problem. http://wiki.tcl.tk/3474 Where you can embed the interpreter in a C program, you can do whatever integration you want. Now, with NativeBoost, we can call C. The next challenge would be to be able to call Pharo from C by embedding the interpreter. I am curious to see what you guys think about this. I would love to see things like mod_pharo (as there is mod_php, mod_perl, mod_tcl...) in Apache. --- Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail:p...@highoctane.be | Web: http://philippeback.eu Blog: http://philippeback.be | Twitter: @philippeback Youtube: http://www.youtube.com/user/philippeback/videos High Octane SPRL rue cour Boisacq 101 | 1301 Bierges | Belgium Pharo Consortium Member - http://consortium.pharo.org/ Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller On Mon, Dec 9, 2013 at 9:48 AM, kilon alios kilon.al...@gmail.com wrote: please note that generating dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. On Mon, Dec 9, 2013 at 10:28 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: You should think that they use their smalltalk for their projects. Stef On Dec 9, 2013, at 9:21 AM, Clément Bera bera.clem...@gmail.com wrote: How can people even know Smalltalk MT still exist with their website and their communication ? I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on what's new on their website and I got that: Screen Shot 2013-12-09 at 9.18.11 AM.png Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further. 2013/12/8 Stéphane Ducasse stephane.duca...@inria.fr Yes - still alive and kicking. But I'm sure you did not notice since there are no big announcements or advertising for it. ObjectConnect follows the time is better invested into technology strategy. It is one of the most interesting Smalltalks ever implemented. http://www.objectconnect.com/stmt_overview.htm I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) And the web site stop and 5.6 in 2009. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) Stef
Re: [Pharo-dev] Issue for Pharo2 needs review
Hmm, not easily reproducible. Stephan
Re: [Pharo-dev] Smalltalk in a C World
kilon alios kilon.al...@gmail.com writes: Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are indeed dlls and you will need C/C++ for that. I only Know Free Pascal as another language to generate DLLs but even in that case its extra work. So if you look for the most direct solution then Pharo wont cut it and probably most other programming languages. Theoretically of course its possible , but someone would need to implement this to make it easy to do and currently AFAIK none has. Bare in mind that DLLs are strictly a C/C++ invention and definitely not how highly dynamic languages like Pharo work so there is no direct need for Pharo to do such thing cause it would complicate the workflow. I don't this is entirely true. AFAIKT Except Smalltalk can be used for generateing DLLs. However they are compiling to C AFAIKT. I'm quite sure that one can use ObjectArts Smalltalk also to generate niche Active X and I bet also shared libraries. Regards Friedrich
Re: [Pharo-dev] Using TreeModelselectAll
I am still chasing why it’s executed three times Must be an issue in the info propagation. Ben On 09 Dec 2013, at 06:48, Martin Dias tinchod...@gmail.com wrote: Hi, I'm back with more annoying questions :) Using #whenSelectedItemsChanged:, I see that the block is evaluated a lot of times: log := OrderedCollection new. roots := #(1 2) collect: [ :each | TreeNodeModel new content: each; selected: true; yourself ]. TreeModel new roots: roots; multiSelection: true; whenSelectedItemsChanged: [ :items | log add: items ]; openWithSpec. log --- an OrderedCollection(#() an OrderedCollection(1) an OrderedCollection(1) an OrderedCollection(1 2) an OrderedCollection(1 2) an OrderedCollection(1 2)) I'd expect only one evaluation... is it a bug or a feature? cheers, Martín On Sun, Dec 8, 2013 at 12:22 AM, Martin Dias tinchod...@gmail.com wrote: aha! thanks Martín On Sat, Dec 7, 2013 at 10:33 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: roots := #(1 2 3) collect: [ :e | TreeNodeModel new content: e ; yourself ]. TreeModel new roots: roots; multiSelection: true; openWithSpec. roots third selected: true; takeHighlight Ben On 07 Dec 2013, at 05:44, Martin Dias tinchod...@gmail.com wrote: ouch! thanks Ben. Another related question: is there any way of selecting an arbitrary item? I tried (among others) with: TreeModel new roots: #(1 2 3); multiSelection: true; openWithSpec; selection: 3 without success. Cheers, Martín On Thu, Dec 5, 2013 at 4:17 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: your tree here is single selection so it will not work TreeModel new roots: #(1 2 3); multiSelection: true; openWithSpec; selectAll Ben On 05 Dec 2013, at 15:38, Martin Dias tinchod...@gmail.com wrote: Hi, I'm not sure how this method should be used. I tried in different ways, for example: TreeModel new roots: #(1 2 3); selectAll; openWithSpec But always the items are unselected. Is it a bug? or I didn't find the way to use it? Thanks, Martín
Re: [Pharo-dev] Searchbar in the browser
On 09 Dec 2013, at 11:20, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: What I would like, is a setting to remove it. I usually do not use the packages list, and once you end up tabbing in the search field, you can not escape without your mouse, and this is really grinding my gears :s So if I could just disable it, I would appreciate it :) The tabbing should be fixed in addition. Marcus
Re: [Pharo-dev] Searchbar in the browser
On 09 Dec 2013, at 11:19, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: What I would like, is a setting to remove it. I usually do not use the packages list, and once you end up tabbing in the search field, you can not escape without your mouse, and this is really grinding my gears :s So if I could just disable it, I would appreciate it :) +1 I don’t like it that (the clutter) much either. If I search for something, I always Shift-Enter and that works super. For the rest, there are menus and keyboard shortcuts. Ben On 08 Dec 2013, at 19:45, Usman Bhatti usman.bha...@gmail.com wrote: On Sun, Dec 8, 2013 at 4:41 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Dec 8, 2013, at 4:33 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi All, You may have noticed that Nautilus now has a search bar next to the list of packages. I personally find this extremely useful. This is the work of Juraj and he is interested in hearing your feedback. The textfield accepts regular expression. It means that entering “Roassal” will display all the packages having the word “Roassal” in it (e.g., RoassalExtra, ConfigurationOfRoassal). If I enter “^Roassal”, it displays all the packages that begin with “Roassal”. (e.g., RoassalExtra). Any idea how to make this feature more apparent? Anything else you want to see with the searching in the browser? I would love to have the search bar searching also based on class name Maybe -Point could select the package that contains the class Point -Point* could select the package that contains the classes *Point* +1. I could not get used to spotlight search (may be i am too lazy). But this would definitely help and I remember some earlier browser had it, and I used it so often. But then it was removed and I could never get accustomed to the new ways. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Json case: Mapping objects to dictionaries
Am 05.12.2013 um 17:03 schrieb Chris Cunningham cunningham...@gmail.com: I've used the SCouchDB interface - which include mapping object to dictionaries (well, JSONObjects) and mapping back from them. http://www.squeaksource.com/SCouchDB.html Of course, it is tied to CouchDB, but shouldn't be to hard to pry the mapping part out (once you find it). Thanks. I’ll take a look at the code. norbert On Thu, Dec 5, 2013 at 7:44 AM, Norbert Hartl norb...@hartl.name wrote: What would be the best software to map my objects to dictionaries? There are a lot of packages in pharo that deal with JSON somehow. But it seems none does mapping from objects to dictionaries and is standalone. We’ve got - NeoJSON package . Maps objects to strings directly for performance reason - JSON package. Maps string to JsonObject (subclassed from dictionary) - Voyage magritte based mapper: Closest to what I find useful but buried inside of Voyage. And I’m not sure it would be easy to factor out this module as a standalone mapper. - Seaside javascript… : I forgot what it really does. I often shy away looking at it because I don’t want to suck in all the dependencies. I’m asking because for me this is an important asset. If we talk about JSON there are three things: Objects, JSON structure (being dictionaries and other collections in pharo) and JSON strings. Writing to another server or to a file producing JSON strings seems to be enough. But using it for another system like MongoDB or ElasticSearch this does not work. Here the common interface seems to be dictionaries. With ElasticSearch mapping dictionaries to JSON and MongoDB mapping dictionaries to BSON. So a good descriptive way to map objects to dictionaries would be a good thing to have. Any thoughts? Norbert
Re: [Pharo-dev] Smalltalk in a C World
Kilon wrote: dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. You can be sure it can :) Clement wrote: How can people even know Smalltalk MT still exist with their website and their communication ? If you follow the hype and advertising you go to Java - if you search for something more powerful you search for it and will find Smalltalk. Same for ST/MT - if you need something more specific (like building DLLs, COM components, access DirectX/OpenGL, ... and stay with Smalltalk you may end up at their system. I know several projects using MT, it is also used for games (like Aura - Fate of the Ages). Note that also other Smalltalks are able to build DLLs like Dolphin, ST/X and SmallScript. Bye T.
Re: [Pharo-dev] Smalltalk in a C World
this is why i said Theoretically of course its possible , but someone would need to implement this to make it easy to do and currently AFAIK none has.. Please note I was talking about Pharo. Even if you take into account Slang , pharo is not compiling to C, it has actually a completely different ideology to C. C/C++ does what it does because it favors raw performance, Pharo does what it does because its favors ease of use , simplicity and flexibility. So its definitely doable technically but the questions is do you REALLY want to do this. The sort answer NO with the exceptions depending on the situation. Because you don't want to further complicate your life. On the issue of embedding I think its a good option to have but something I rather avoid. If you want to know why , then read this very well written article for python http://twistedmatrix.com/users/glyph/rant/extendit.html. To sum up extending is just better than embedding because it allow you to put focus on your language of choice and take full advantage of its merits. Blender the 3d app , written in C/C++ , embeds python for its addon architecture. Python makes the addons and also manages the GUI. I can tell you there are clear advantages to have blender as python library instead of embedding python inside blender. It would offer a lot easier customization of blender. But since all developers of Blender are C/C++ developers , embedding seemed like an obvious solution to them. Mostly because they saw python as a third class citizent in their app. But with blender addons popping up like mushrooms , python has played such a central role to Blender that now it compromises 12% of the 1 million lines of code , blender's code base. 12% might not seem much but once you figure out that python is generally 2-5 times less verbose than C/C++ it become a huge number. Take also to account the world in general move towards dynamic languages mainly because they make life easier and more manageable. For me its far more important to improve Nativeboost and create high quality documentation for it even before considering embedding pharo. On Mon, Dec 9, 2013 at 12:09 PM, Friedrich Dominicus fr...@q-software-solutions.de wrote: kilon alios kilon.al...@gmail.com writes: Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are indeed dlls and you will need C/C++ for that. I only Know Free Pascal as another language to generate DLLs but even in that case its extra work. So if you look for the most direct solution then Pharo wont cut it and probably most other programming languages. Theoretically of course its possible , but someone would need to implement this to make it easy to do and currently AFAIK none has. Bare in mind that DLLs are strictly a C/C++ invention and definitely not how highly dynamic languages like Pharo work so there is no direct need for Pharo to do such thing cause it would complicate the workflow. I don't this is entirely true. AFAIKT Except Smalltalk can be used for generateing DLLs. However they are compiling to C AFAIKT. I'm quite sure that one can use ObjectArts Smalltalk also to generate niche Active X and I bet also shared libraries. Regards Friedrich
Re: [Pharo-dev] Json case: Mapping objects to dictionaries
Paul, Am 05.12.2013 um 19:10 schrieb Paul DeBruicker pdebr...@gmail.com: FWIW - The ElasitcSearch stuff only maps to Dictionaries because of an oversight on my part. It should be fine if those objects materialized as JsonObjects. What are you doing to get Dictionaries? Its been a while since I looked at the code. My question does not rely on exact wording. As JsonObject is derived from Dictionary you can exchange the words Dictionary/JsonObject in my question. I’m really on to finding a good way going from/to JsonObject/Dictionary. I can do it myself like you do. But if it comes to tasks I know I need more often I like to have something more generalized. Simple approaches have mostly just support for simple conversions but do not support structure changing conversion. Norbert To map domain objects I usually do something custom because I usually don't want all inst vars being sent as JSON. An example of what I normally do is: #jsonWriteOn: aStream | y | y := JsonObject new. self varNamesToSerializeAsJson. do: [ :each | (self perform: each asSymbol) isNil ifFalse: [ y at: each put: (self perform: each asSymbol) ] ]. y jsonWriteOn: aStream and then when materializing: fromJson: aJsonResult self varsToMaterializeFromJson do: [ :eachSymbol | | jsonObj class obj | jsonObj := aJsonResult at: eachSymbol asString ifAbsent: [ nil ]. jsonObj notNil ifTrue: [ class := MyDomain classForJsonVariableNamed: eachSymbol. obj := class isNil ifTrue: [ jsonObj trimBoth ] ifFalse: [ class fromJson: jsonObj ]. self perform: (eachSymbol , ':') asSymbol with: obj ] ] #classForJsonVariableNamed: just looks up in a dictionary that contains inst var names as keys and classes as values. That all being said I'd be interested to learn a better way to do it. Hope this helps Paul Norbert Hartl wrote What would be the best software to map my objects to dictionaries? There are a lot of packages in pharo that deal with JSON somehow. But it seems none does mapping from objects to dictionaries and is standalone. We’ve got - NeoJSON package . Maps objects to strings directly for performance reason - JSON package. Maps string to JsonObject (subclassed from dictionary) - Voyage magritte based mapper: Closest to what I find useful but buried inside of Voyage. And I’m not sure it would be easy to factor out this module as a standalone mapper. - Seaside javascript… : I forgot what it really does. I often shy away looking at it because I don’t want to suck in all the dependencies. I’m asking because for me this is an important asset. If we talk about JSON there are three things: Objects, JSON structure (being dictionaries and other collections in pharo) and JSON strings. Writing to another server or to a file producing JSON strings seems to be enough. But using it for another system like MongoDB or ElasticSearch this does not work. Here the common interface seems to be dictionaries. With ElasticSearch mapping dictionaries to JSON and MongoDB mapping dictionaries to BSON. So a good descriptive way to map objects to dictionaries would be a good thing to have. Any thoughts? Norbert -- View this message in context: http://forum.world.st/Json-case-Mapping-objects-to-dictionaries-tp4727773p4727802.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
[Pharo-dev] The Future of Programming ~ Bret Victor
Brilliant talk guys, it's a must watch for smalltalkers, you'll love it https://vimeo.com/71278954 Anybody here knows Bret? sebastian o/
Re: [Pharo-dev] The Future of Programming ~ Bret Victor
On 09 Dec 2013, at 12:16, Sebastian Sastre sebast...@flowingconcept.com wrote: Brilliant talk guys, it's a must watch for smalltalkers, you'll love it https://vimeo.com/71278954 Anybody here knows Bret? Yes, we do ;-) He does amazing work, including doing excellent presentations of it. sebastian o/
Re: [Pharo-dev] Smalltalk in a C World
On 09 Dec 2013, at 11:37, Torsten Bergmann asta...@gmx.de wrote: Kilon wrote: dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. You can be sure it can :) Clement wrote: How can people even know Smalltalk MT still exist with their website and their communication ? If you follow the hype and advertising you go to Java - if you search for something more powerful you search for it and will find Smalltalk. You search and you find a website that convinces you that Smalltalk it indeed dead. Marcus
Re: [Pharo-dev] The Future of Programming ~ Bret Victor
On 9 December 2013 11:37, Sven Van Caekenberghe s...@stfx.eu wrote: On 09 Dec 2013, at 12:16, Sebastian Sastre sebast...@flowingconcept.com wrote: Brilliant talk guys, it's a must watch for smalltalkers, you'll love it https://vimeo.com/71278954 Anybody here knows Bret? Yes, we do ;-) He does amazing work, including doing excellent presentations of it. That particular presentation is right up there with Guy Steele's Growing a Language talk (http://www.youtube.com/watch?v=_ahvzDzKdB0). Both lectures demonstrate through the presentation technique itself, the point of the talk. frank sebastian o/
Re: [Pharo-dev] [Nautilus] How to copy a method from a class to another class ?
The copy/paste mechanism is always a bit confusing since you often do not know what is in the clipboard (even if people are use to it, I often see people copying a line, then retype it because they forgot it was here etc) Why not a “move” like popup where you choose directly the destination ? For your bug, I cannot have a look right now, but I will asap Ben On 09 Dec 2013, at 10:57, kilon alios kilon.al...@gmail.com wrote: ok I figured some things out and created the relevant methods but I am getting a MNU with copyMethod: toTheClass: Array(Object)doesNotUnderstand: #realClass PackageTreeNautilusUI(AbstractNautilusUI)copyMethod:toTheClass: PackageTreeNautilusUI(NautilusUI)pasteMethod MethodWidget classelementsMenu: in Block: [ target pasteMethod ] BlockClosurecull: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: in Block: [ ... BlockClosureensure: CursorWithMask(Cursor)showWhile: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)mouseUp: ToggleMenuItemMorph(MenuItemMorph)handleMouseUp: MouseButtonEventsentTo: ToggleMenuItemMorph(Morph)handleEvent: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: ToggleMenuItemMorph(Morph)processEvent:using: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: MenuMorph(Morph)processEvent:using: MenuMorph(Morph)processEvent: MenuMorphhandleFocusEvent: HandMorphsendFocusEvent:to:clear: in Block: [ ... BlockClosureon:do: WorldMorph(PasteUpMorph)becomeActiveDuring: HandMorphsendFocusEvent:to:clear: HandMorphsendEvent:focus:clear: HandMorphsendMouseEvent: HandMorphhandleEvent: HandMorphprocessEvents WorldStatedoOneCycleNowFor: in Block: [ :h | ... you can find my code here http://www.smalltalkhub.com/#!/~kilon/copyMethod/ Am I doing something wrong ? Just for your information I added 2 menu entries and 2 corresponding methods , one for Copy and one for Paste. On Sun, Dec 8, 2013 at 12:27 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The menus are on AbstractNautilusUI class, protocol “menus” You can find how to move methods in AbstractTool. I guess the copy will be there too :) Ben On 07 Dec 2013, at 23:16, kilon alios kilon.al...@gmail.com wrote: Check Mate in 2 moves. Well played my friend, well played. :P Ok I will bite , how I figure out the right click menu and the copy function ? Which classes and methods should I look at ? Help me understand and Santa Clause will bring the slice down your chimney. On Sun, Dec 8, 2013 at 12:11 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: Was not plan, but if someone propose a slice, it will get in :P Ben On 07 Dec 2013, at 22:53, kilon alios kilon.al...@gmail.com wrote: thanks. Is there any chance this will make it into the right click menu ? Looks like quite essential to me. Also it would make it unnecessary to open a new nautilus window for the shake of copying to an another package. On Sat, Dec 7, 2013 at 11:26 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: drag and drop them holding shift (you should see a little red “+”) Ben On 07 Dec 2013, at 22:15, kilon alios kilon.al...@gmail.com wrote: Hey there I was wondering how to copy a couple of methods I have from one class to another. I can't find anything that can do this from right clicking the method.
Re: [Pharo-dev] Voronoi diagram
Hi My thesis (10 years ago) was about Voronoi and its use for path planning on robot soccer. I think that the most interesting part was the visualization (and testing) tool built to see the construction of the graph by following the front wave in a continuous way by dragging the mouse over the field. Part of the thesis was to extend the building algorithm to consider the sides of the field as non punctual obstacles. I think it was nice to see it work :) but the code may be not as nice nowadays. Let me know if you think it may be useful. Best! Emilio -Mensaje original- De: Pharo-dev [mailto:pharo-dev-boun...@lists.pharo.org] En nombre de Alexandre Bergel Enviado el: Domingo, 08 de Diciembre de 2013 10:37 Para: Pharo Development List Asunto: Re: [Pharo-dev] Voronoi diagram Hi! I have planned to have some people on having Voronoi in Roassal in March. Alexandre On 7 Dec 2013, at 13:59, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia
Re: [Pharo-dev] [Nautilus] How to copy a method from a class to another class ?
ok dont look at it, apparently it was not that either, I passed an array to a method that expected a single object so it was my bad. Sorry to bother you I will take a thorough look and test it further to make sure it works 100% . For now it looks like it copy pastes work just fine. I tried to copy paste a single method it has done so without any issues. I was thinking adding Paste new... to offer the user the option to paste the method but with a different name. Hows that sounds ? On Mon, Dec 9, 2013 at 2:38 PM, kilon alios kilon.al...@gmail.com wrote: I don't think its confusing , what I am doing is store self selectedMethods to methodsToBeCopied instance variable. I choose this approach for when you dont remember the name of the class or why do that extra dialog step when you can just simple paste it ? I see an issue with my code though I think it may cause a problem if I open another instance of nautilus window then that instance variable value wont exist for that instance so apparently I am doing it wrong and I will need to move this to class side. Maybe thats the reason for DNU. Dont worry I am not in a hurry, apparently I need to look into this. Sorry for that, I am not a very good coder :( On Mon, Dec 9, 2013 at 2:29 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The copy/paste mechanism is always a bit confusing since you often do not know what is in the clipboard (even if people are use to it, I often see people copying a line, then retype it because they forgot it was here etc) Why not a “move” like popup where you choose directly the destination ? For your bug, I cannot have a look right now, but I will asap Ben On 09 Dec 2013, at 10:57, kilon alios kilon.al...@gmail.com wrote: ok I figured some things out and created the relevant methods but I am getting a MNU with copyMethod: toTheClass: Array(Object)doesNotUnderstand: #realClass PackageTreeNautilusUI(AbstractNautilusUI)copyMethod:toTheClass: PackageTreeNautilusUI(NautilusUI)pasteMethod MethodWidget classelementsMenu: in Block: [ target pasteMethod ] BlockClosurecull: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: in Block: [ ... BlockClosureensure: CursorWithMask(Cursor)showWhile: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)mouseUp: ToggleMenuItemMorph(MenuItemMorph)handleMouseUp: MouseButtonEventsentTo: ToggleMenuItemMorph(Morph)handleEvent: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: ToggleMenuItemMorph(Morph)processEvent:using: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: MenuMorph(Morph)processEvent:using: MenuMorph(Morph)processEvent: MenuMorphhandleFocusEvent: HandMorphsendFocusEvent:to:clear: in Block: [ ... BlockClosureon:do: WorldMorph(PasteUpMorph)becomeActiveDuring: HandMorphsendFocusEvent:to:clear: HandMorphsendEvent:focus:clear: HandMorphsendMouseEvent: HandMorphhandleEvent: HandMorphprocessEvents WorldStatedoOneCycleNowFor: in Block: [ :h | ... you can find my code here http://www.smalltalkhub.com/#!/~kilon/copyMethod/ Am I doing something wrong ? Just for your information I added 2 menu entries and 2 corresponding methods , one for Copy and one for Paste. On Sun, Dec 8, 2013 at 12:27 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The menus are on AbstractNautilusUI class, protocol “menus” You can find how to move methods in AbstractTool. I guess the copy will be there too :) Ben On 07 Dec 2013, at 23:16, kilon alios kilon.al...@gmail.com wrote: Check Mate in 2 moves. Well played my friend, well played. :P Ok I will bite , how I figure out the right click menu and the copy function ? Which classes and methods should I look at ? Help me understand and Santa Clause will bring the slice down your chimney. On Sun, Dec 8, 2013 at 12:11 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: Was not plan, but if someone propose a slice, it will get in :P Ben On 07 Dec 2013, at 22:53, kilon alios kilon.al...@gmail.com wrote: thanks. Is there any chance this will make it into the right click menu ? Looks like quite essential to me. Also it would make it unnecessary to open a new nautilus window for the shake of copying to an another package. On Sat, Dec 7, 2013 at 11:26 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: drag and drop them holding shift (you should see a little red “+”) Ben On 07 Dec 2013, at 22:15, kilon alios kilon.al...@gmail.com wrote: Hey there I was wondering how to copy a couple of methods I have from one class to another. I can't find anything that can do this from right clicking the method.
Re: [Pharo-dev] [Pharo 3] Failing tests on Build Server
On 09 Dec 2013, at 09:44, Sven Van Caekenberghe s...@stfx.eu wrote: Win: ZnHTTPSTests.testGetPharoVersion This is a problem with the networking infrastructure on the windows slave. Error Message cannot resolve ‘ci.inria.fr' in other words, its a DNS lookup failure. There is not much that higher level code can do but to give up. ok, I added https://pharo.fogbugz.com/f/cases/12377
Re: [Pharo-dev] Smalltalk in a C World
2013/12/9 Marcus Denker marcus.den...@inria.fr: Clement wrote: How can people even know Smalltalk MT still exist with their website and their communication ? If you follow the hype and advertising you go to Java - if you search for something more powerful you search for it and will find Smalltalk. You search and you find a website that convinces you that Smalltalk it indeed dead. +1 I'd prefer ObjectConnect shutdown their website rather than having that. And, at certain degree the same applies to my beloved ObjectArts and its Dolphin masterpiece. Regards, ps: Java is no Hype. You might like the language or not, but it has established throughout the last decade, and is the language/platform that runs on almost all devices. Only C can beat that.
Re: [Pharo-dev] Using TreeModelselectAll
thanks for your help, Ben On Mon, Dec 9, 2013 at 11:15 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I am still chasing why it’s executed three times Must be an issue in the info propagation. Ben On 09 Dec 2013, at 06:48, Martin Dias tinchod...@gmail.com wrote: Hi, I'm back with more annoying questions :) Using #whenSelectedItemsChanged:, I see that the block is evaluated a lot of times: log := OrderedCollection new. roots := #(1 2) collect: [ :each | TreeNodeModel new content: each; selected: true; yourself ]. TreeModel new roots: roots; multiSelection: true; whenSelectedItemsChanged: [ :items | log add: items ]; openWithSpec. log --- an OrderedCollection(#() an OrderedCollection(1) an OrderedCollection(1) an OrderedCollection(1 2) an OrderedCollection(1 2) an OrderedCollection(1 2)) I'd expect only one evaluation... is it a bug or a feature? cheers, Martín On Sun, Dec 8, 2013 at 12:22 AM, Martin Dias tinchod...@gmail.com wrote: aha! thanks Martín On Sat, Dec 7, 2013 at 10:33 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: roots := #(1 2 3) collect: [ :e | TreeNodeModel new content: e ; yourself ]. TreeModel new roots: roots; multiSelection: true; openWithSpec. roots third selected: true; takeHighlight Ben On 07 Dec 2013, at 05:44, Martin Dias tinchod...@gmail.com wrote: ouch! thanks Ben. Another related question: is there any way of selecting an arbitrary item? I tried (among others) with: TreeModel new roots: #(1 2 3); multiSelection: true; openWithSpec; selection: 3 without success. Cheers, Martín On Thu, Dec 5, 2013 at 4:17 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: your tree here is single selection so it will not work TreeModel new roots: #(1 2 3); multiSelection: true; openWithSpec; selectAll Ben On 05 Dec 2013, at 15:38, Martin Dias tinchod...@gmail.com wrote: Hi, I'm not sure how this method should be used. I tried in different ways, for example: TreeModel new roots: #(1 2 3); selectAll; openWithSpec But always the items are unselected. Is it a bug? or I didn't find the way to use it? Thanks, Martín
Re: [Pharo-dev] Smalltalk in a C World
kilon alios wrote: Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are indeed dlls and you will need C/C++ for that. I only Know Free Pascal as another language to generate DLLs but even in that case its extra work. So if you look for the most direct solution then Pharo wont cut it and probably most other programming languages. Theoretically of course its possible , but someone would need to implement this to make it easy to do and currently AFAIK none has. Bare in mind that DLLs are strictly a C/C++ invention and definitely not how highly dynamic languages like Pharo work so there is no direct need for Pharo to do such thing cause it would complicate the workflow. For instance you would not want to create a dll for pharo code when you can have an image and live object that offer far more flexibility of code that can modify itself even on runtime. People choose dynamic languages for the very reason that want to avoid such complications and limitations. If you dont mind workarounds the then answer changes from "no" to "yes". You could of course create a CAD plugin that triggers pharo and pass information to it through sockets , pipes or other ways of application communication. Its a workaround but it works and I have seen it used in 3d apps. For example in blender that support mainly python addons , I know of a python addon (city generator addon) that uses Java libraries. In this case you create a "bridge" between your CAD application and Pharo and you make the two work together. The good news is that if Pharo crashes , it wont crash your CAD app so that a good thing about this workaround. The bad news is that you would be responsible to expose the CAD functionality to Pharo meaning you will have to create a bridge between pharo and CAD. Of course you will need to expose only the functionality that your plugin uses to Pharo so its not as hard as it may sound. To paraphrase a favorite quote "good coders invent , great coders cheat " ;) So yes there definetly many roads that lead to Rome. If you are determined to use Pharo nothing will stop you. About debugging nativeboost of course you can use the pharo debugger because nativeboost commands are fully pharo compliant , meaning they are like everything else, messages and objects. For the machine code generated by nativeboost you can use a C debugger like gdb that could let you disassemble the code to see whats wrong with it. I guess that "Native Debugger" [1] project proposed for Google Summer of Code would have potential for seamless debugging through NativeBoost and C library. [1] http://gsoc2013.esug.org/projects/native-code-debugger cheers -ben Though usually you will just ask here and Igor that is the expert and creator of nativeboost will reply back. He is very helpful and never turns down a question ;) On Sun, Dec 8, 2013 at 8:20 PM, askoh as...@askoh.com wrote: Good that NativeBoost can do what the paper says. How does one debug Pharo and NativeBoost working together? Can one step in Pharo, encounter NativeBoost code, the step in C and return to Pharo? I would like to create addins for CAD programs (Windows for now). The CAD program starts and calls the addin to be part of the CAD program. User interactions within the CAD are passed to the addin which then drives the data or display in the CAD. The addin is a separate DLL or EXE but the user sees only the CAD with extra capabilities - not as distinct programs. Can Pharo make such an addin? Thanks, Aik-Siong Koh -- View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] [Nautilus] How to copy a method from a class to another class ?
ok I think I am done with it. Tested also on Macos and it looks that it works fine. So it works fine both on Macos and Windows. Work on the same Nautilus window but also across multiple Nautilus windows. A summary of what I have done, I have created a class variable methodsToBeCopied, storing the methods to be copied marked by the copyMethod and then pasted by the pasteMethod in NautilusUI class. I have added them in the method right click menu and also I have added paste method in the class right click menu in case you have a class that has no methods and you want to paste the copied methods. The procedure works with one method but also multiple methods can be copied and also they can be pasted multiple times. So if you want to past the same methods again and again across different classes thats possible too. I decided to abandon the Paste New idea since its trivial to just rename the pasted method and I don't want to overcrowd the menus. Hope you like my code :) On Mon, Dec 9, 2013 at 2:51 PM, kilon alios kilon.al...@gmail.com wrote: ok dont look at it, apparently it was not that either, I passed an array to a method that expected a single object so it was my bad. Sorry to bother you I will take a thorough look and test it further to make sure it works 100% . For now it looks like it copy pastes work just fine. I tried to copy paste a single method it has done so without any issues. I was thinking adding Paste new... to offer the user the option to paste the method but with a different name. Hows that sounds ? On Mon, Dec 9, 2013 at 2:38 PM, kilon alios kilon.al...@gmail.com wrote: I don't think its confusing , what I am doing is store self selectedMethods to methodsToBeCopied instance variable. I choose this approach for when you dont remember the name of the class or why do that extra dialog step when you can just simple paste it ? I see an issue with my code though I think it may cause a problem if I open another instance of nautilus window then that instance variable value wont exist for that instance so apparently I am doing it wrong and I will need to move this to class side. Maybe thats the reason for DNU. Dont worry I am not in a hurry, apparently I need to look into this. Sorry for that, I am not a very good coder :( On Mon, Dec 9, 2013 at 2:29 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The copy/paste mechanism is always a bit confusing since you often do not know what is in the clipboard (even if people are use to it, I often see people copying a line, then retype it because they forgot it was here etc) Why not a “move” like popup where you choose directly the destination ? For your bug, I cannot have a look right now, but I will asap Ben On 09 Dec 2013, at 10:57, kilon alios kilon.al...@gmail.com wrote: ok I figured some things out and created the relevant methods but I am getting a MNU with copyMethod: toTheClass: Array(Object)doesNotUnderstand: #realClass PackageTreeNautilusUI(AbstractNautilusUI)copyMethod:toTheClass: PackageTreeNautilusUI(NautilusUI)pasteMethod MethodWidget classelementsMenu: in Block: [ target pasteMethod ] BlockClosurecull: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: in Block: [ ... BlockClosureensure: CursorWithMask(Cursor)showWhile: ToggleMenuItemMorph(MenuItemMorph)invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)mouseUp: ToggleMenuItemMorph(MenuItemMorph)handleMouseUp: MouseButtonEventsentTo: ToggleMenuItemMorph(Morph)handleEvent: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: ToggleMenuItemMorph(Morph)processEvent:using: MorphicEventDispatcherdispatchDefault:with: MorphicEventDispatcherdispatchEvent:with: MenuMorph(Morph)processEvent:using: MenuMorph(Morph)processEvent: MenuMorphhandleFocusEvent: HandMorphsendFocusEvent:to:clear: in Block: [ ... BlockClosureon:do: WorldMorph(PasteUpMorph)becomeActiveDuring: HandMorphsendFocusEvent:to:clear: HandMorphsendEvent:focus:clear: HandMorphsendMouseEvent: HandMorphhandleEvent: HandMorphprocessEvents WorldStatedoOneCycleNowFor: in Block: [ :h | ... you can find my code here http://www.smalltalkhub.com/#!/~kilon/copyMethod/ Am I doing something wrong ? Just for your information I added 2 menu entries and 2 corresponding methods , one for Copy and one for Paste. On Sun, Dec 8, 2013 at 12:27 AM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: The menus are on AbstractNautilusUI class, protocol “menus” You can find how to move methods in AbstractTool. I guess the copy will be there too :) Ben On 07 Dec 2013, at 23:16, kilon alios kilon.al...@gmail.com wrote: Check Mate in 2 moves. Well played my friend, well played. :P Ok I will bite , how I figure out the right click menu and the copy function ? Which classes and methods should I look at ? Help me understand and Santa Clause will bring the slice down your chimney. On Sun, Dec 8, 2013 at 12:11 AM,
Re: [Pharo-dev] [ANN] Roassal 3d
3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. Yes! You’re very right. Can you add me as a contributor to MetaRepoForPharo30 ? I need this to commit right? I added you, but I think you can also commit without since this is in group Pharo, so I think anyone who contributes to Pharo is able to contribute to the meta repo for configs Done :-) Roassal3d is loadable from the configuration browser Indeed, much easier! Thanks Torsten Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Voronoi diagram
Hi! I've tried to load the code, but the class Quadrangle is missing... :-( Alexandre On Dec 7, 2013, at 3:25 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Check this out http://www.smalltalkhub.com/#!/~goonsh/Voronoi-2d-Diagram http://www.squeaksource.com/VoronoiDiagram.html There is also an old package implementing Voronoi diagrams also, I can have a look if you those are not enough for your needs. Cheers Hernán El 07/12/2013 13:59, Natalia Tymchuk escribió: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
I found a workaround. See https://pharo.fogbugz.com/f/cases/12379/Shape-is-missing-a-comment For me, the Nautilus create a slice and commit” doesn’t work. Creating the slice from the monticello browser and saving it there does work.
Re: [Pharo-dev] Smalltalk in a C World
Esteban wrote: I'd prefer ObjectConnect shutdown their website rather than having that. And, at certain degree the same applies to my beloved ObjectArts and its Dolphin masterpiece. What a nonsense - why should they shutdown their site if it is valuable to provide infos and new downloads to their customers? If you want to shut down any page that is not up-to date you may have to shut down a big part of the internet. ps: Java is no Hype. You might like the language or not, but it has established throughout the last decade, and is the language/platform that runs on almost all devices. Only C can beat that. I think mainstream is the better word here. I like Java and use it a lot. Some days I dislike it when I see how complicated things can get although there are better easier alternatives. Others feel the same which is the reason for Groovy, Scala, ... And there is no doubt about Javas and especially the JVMs place in the IT universe. But Smalltalk is (at least to me) not interesting because it is a programming language - it is interesting because it is a dynamic object system that is easily changeable (including metamodel and language itself). And Pharo should not stop changing this object system until something new and better comes out of it... Bye T.
Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
And a new version of the 12324 slice is committed
Re: [Pharo-dev] Smalltalk in a C World
Stef wrote: I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. You have to additionally count the runtime DLL also which is also a few KB. But even when storage is cheap size matters. Same for Smallscript which was/is also very outstanding. Write a small ST script, run it from the console or IDE. Package a few classes into a shared library and compose the image from loadable binary components in a few seconds. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) Yes its not. And the web site stop and 5.6 in 2009. No, thats just a bug on the news page. Look at http://www.objectconnect.com/release_downloads.htm which is the one that gets updated from time to time and as I said latest release was November 2013 there. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) His name is Tarik Bye T.
Re: [Pharo-dev] Smalltalk in a C World
2013/12/9 Torsten Bergmann asta...@gmx.de: Esteban wrote: I'd prefer ObjectConnect shutdown their website rather than having that. And, at certain degree the same applies to my beloved ObjectArts and its Dolphin masterpiece. What a nonsense - why should they shutdown their site if it is valuable to provide infos and new downloads to their customers? I can't shutdown anything that's not mine. And that's perfectly fine. The point is that, IMHO, for the Smalltalk community it's counterproductive. It's my opinion, I don't want you to share it :) If you want to shut down any page that is not up-to date you may have to shut down a big part of the internet. Nothing sells less and causes more rejection than an outdated site. Particularly if it is about programming. But Smalltalk is (at least to me) not interesting because it is a programming language - it is interesting because it is a dynamic object system that is easily changeable (including metamodel and language itself). We agree on this. And that's why we're here. And Pharo should not stop changing this object system until something new and better comes out of it... If you want to reach broader audiences I'm 100% confident that you need not only a good product, but also good marketing assets. Though I never used it, I know the benefits of S/MT because I'm a long time smalltalker, but what about somebody who's evaluating other alternatives? Will a Company invest a million dollar (or a hundred at least) in a product built with a technology whose website is like ObjectConnect's one? I know this business runs on hype for a good part, but some things are just unavoidable. Regards, pd: I rather don't continue this here, it's hardly Pharo related. Pharo is doing a good job in this aspect, or at least much better than many predecessors.
Re: [Pharo-dev] Smalltalk in a C World
very interesting I wonder whether is pharo related or how easily can be ported to Pharo. The funny thing about nativeboost is that because it has its own inline assembler it is possible to use nativeboost to debug the machine code generated by nativeboost or to be more precise AsmJit. Of course thats a manual way of doing this and less ideal than using a dedicated debugging tool but its definitely an interesting concept. I am also wondering and imagining things about Shared memory concept , where 2 apps can shared the same memory addresses and so share data and wonder how nativeboost could help there since it offer complete access to memory. But of course that are low level concept I am not familiar at all, but I would not mind messing with them at least once. It could even eliminate the need to embed pharo inside a C app. Definetly loads of ideas to explore here if one is willing to invest the time. On Mon, Dec 9, 2013 at 5:40 PM, b...@openinworld.com wrote: kilon alios wrote: Sort answer is no , Pharo does not try to replace C/C++. CAD plugins are indeed dlls and you will need C/C++ for that. I only Know Free Pascal as another language to generate DLLs but even in that case its extra work. So if you look for the most direct solution then Pharo wont cut it and probably most other programming languages. Theoretically of course its possible , but someone would need to implement this to make it easy to do and currently AFAIK none has. Bare in mind that DLLs are strictly a C/C++ invention and definitely not how highly dynamic languages like Pharo work so there is no direct need for Pharo to do such thing cause it would complicate the workflow. For instance you would not want to create a dll for pharo code when you can have an image and live object that offer far more flexibility of code that can modify itself even on runtime. People choose dynamic languages for the very reason that want to avoid such complications and limitations. If you dont mind workarounds the then answer changes from no to yes. You could of course create a CAD plugin that triggers pharo and pass information to it through sockets , pipes or other ways of application communication. Its a workaround but it works and I have seen it used in 3d apps. For example in blender that support mainly python addons , I know of a python addon (city generator addon) that uses Java libraries. In this case you create a bridge between your CAD application and Pharo and you make the two work together. The good news is that if Pharo crashes , it wont crash your CAD app so that a good thing about this workaround. The bad news is that you would be responsible to expose the CAD functionality to Pharo meaning you will have to create a bridge between pharo and CAD. Of course you will need to expose only the functionality that your plugin uses to Pharo so its not as hard as it may sound. To paraphrase a favorite quote good coders invent , great coders cheat ;) So yes there definetly many roads that lead to Rome. If you are determined to use Pharo nothing will stop you. About debugging nativeboost of course you can use the pharo debugger because nativeboost commands are fully pharo compliant , meaning they are like everything else, messages and objects. For the machine code generated by nativeboost you can use a C debugger like gdb that could let you disassemble the code to see whats wrong with it. I guess that Native Debugger [1] project proposed for Google Summer of Code would have potential for seamless debugging through NativeBoost and C library. [1] http://gsoc2013.esug.org/projects/native-code-debugger cheers -ben Though usually you will just ask here and Igor that is the expert and creator of nativeboost will reply back. He is very helpful and never turns down a question ;) On Sun, Dec 8, 2013 at 8:20 PM, askoh as...@askoh.com wrote: Good that NativeBoost can do what the paper says. How does one debug Pharo and NativeBoost working together? Can one step in Pharo, encounter NativeBoost code, the step in C and return to Pharo? I would like to create addins for CAD programs (Windows for now). The CAD program starts and calls the addin to be part of the CAD program. User interactions within the CAD are passed to the addin which then drives the data or display in the CAD. The addin is a separate DLL or EXE but the user sees only the CAD with extra capabilities - not as distinct programs. Can Pharo make such an addin? Thanks, Aik-Siong Koh -- View this message in context: http://forum.world.st/Smalltalk-in-a-C-World-tp4728217p4728573.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
[Pharo-dev] VM Segmentation Fault on Roassal Easel
Hello, I'm having a segmentation fault of the VM when opening Roassal Easel on Linux Mint 15 AMD64. Here's an image that reproduces the problem: https://www.dropbox.com/s/lp54v7o3flfn5pa/pharo-easel-crash.zip Attached is the crash.dmp and the gdb stack trace. Apparently, is related to font handling in linux. Greetings, Ronie Salgado (gdb) bt #0 0xb74ce0e2 in ?? () from /usr/lib/i386-linux-gnu/libpixman-1.so.0 #1 0xb7494f16 in pixman_composite_glyphs_no_mask () from /usr/lib/i386-linux-gnu/libpixman-1.so.0 #2 0xb7514222 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #3 0xb75647fe in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #4 0xb7566a01 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #5 0xb7566ca1 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #6 0xb7507a46 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #7 0xb751ab49 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #8 0xb755341b in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #9 0xb7511f99 in ?? () from /usr/lib/i386-linux-gnu/libcairo.so.2 #10 0xb7502b74 in cairo_show_text () from /usr/lib/i386-linux-gnu/libcairo.so.2 #11 0xba606036 in ?? () #12 0x08120215 in primitiveNativeCall () #13 0x08091d8a in executeNewMethod () #14 0x08092300 in primitiveObjectperformwithArgumentslookedUpIn () #15 0x08092417 in primitivePerformWithArgs () #16 0xb77a34f9 in ?? () #17 0x08094f36 in interpret () #18 0x080a18b3 in main () crash.dmp Description: Binary data
Re: [Pharo-dev] Smalltalk in a C World
The main issue is that it is complicated to embed the VM in C code. That's due to how the VM is done. Compared to TCL, where you can easily embed the interpreter in a C program, this is a problem. http://wiki.tcl.tk/3474 Where you can embed the interpreter in a C program, you can do whatever integration you want. Now, with NativeBoost, we can call C. The next challenge would be to be able to call Pharo from C by embedding the interpreter. I am curious to see what you guys think about this. It is one of my dream! Now I'm too bad in C to make this dream comes true. Sadly. But I would love to have Pharo being able to be embedded in C. I would love to see things like mod_pharo (as there is mod_php, mod_perl, mod_tcl...) in Apache. --- Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail:p...@highoctane.be | Web: http://philippeback.eu Blog: http://philippeback.be | Twitter: @philippeback Youtube: http://www.youtube.com/user/philippeback/videos High Octane SPRL rue cour Boisacq 101 | 1301 Bierges | Belgium Pharo Consortium Member - http://consortium.pharo.org/ Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller On Mon, Dec 9, 2013 at 9:48 AM, kilon alios kilon.al...@gmail.com wrote: please note that generating dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. On Mon, Dec 9, 2013 at 10:28 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: You should think that they use their smalltalk for their projects. Stef On Dec 9, 2013, at 9:21 AM, Clément Bera bera.clem...@gmail.com wrote: How can people even know Smalltalk MT still exist with their website and their communication ? I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on what's new on their website and I got that: Screen Shot 2013-12-09 at 9.18.11 AM.png Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn't look any further. 2013/12/8 Stéphane Ducasse stephane.duca...@inria.fr Yes - still alive and kicking. But I'm sure you did not notice since there are no big announcements or advertising for it. ObjectConnect follows the time is better invested into technology strategy. It is one of the most interesting Smalltalks ever implemented. http://www.objectconnect.com/stmt_overview.htm I like the idea that you can get 50kb applications. Now since this is a closed system and windows-centric. But I like that it shows that Smalltalk does not have to be the image centric way. The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013 Now it is not a community thing. :) And the web site stop and 5.6 in 2009. Last time I talk to tarrick he told me that he could control the no gc in the next 250 frames on PS2 but it was in 1998 :) Stef
Re: [Pharo-dev] Voronoi diagram
On Dec 9, 2013, at 7:19 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! I've tried to load the code, but the class Quadrangle is missing... :-( It should be in Pharo 20 or Pharo1.3 Alexandre On Dec 7, 2013, at 3:25 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Check this out http://www.smalltalkhub.com/#!/~goonsh/Voronoi-2d-Diagram http://www.squeaksource.com/VoronoiDiagram.html There is also an old package implementing Voronoi diagrams also, I can have a look if you those are not enough for your needs. Cheers Hernán El 07/12/2013 13:59, Natalia Tymchuk escribió: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Searchbar in the browser
What I would like, is a setting to remove it. I usually do not use the packages list, and once you end up tabbing in the search field, you can not escape without your mouse, and this is really grinding my gears :s So if I could just disable it, I would appreciate it :) this is fun because I use it all the time. +1 I don’t like it that (the clutter) much either. If I search for something, I always Shift-Enter and that works super. For the rest, there are menus and keyboard shortcuts. Ben On 08 Dec 2013, at 19:45, Usman Bhatti usman.bha...@gmail.com wrote: On Sun, Dec 8, 2013 at 4:41 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Dec 8, 2013, at 4:33 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi All, You may have noticed that Nautilus now has a search bar next to the list of packages. I personally find this extremely useful. This is the work of Juraj and he is interested in hearing your feedback. The textfield accepts regular expression. It means that entering “Roassal” will display all the packages having the word “Roassal” in it (e.g., RoassalExtra, ConfigurationOfRoassal). If I enter “^Roassal”, it displays all the packages that begin with “Roassal”. (e.g., RoassalExtra). Any idea how to make this feature more apparent? Anything else you want to see with the searching in the browser? I would love to have the search bar searching also based on class name Maybe -Point could select the package that contains the class Point -Point* could select the package that contains the classes *Point* +1. I could not get used to spotlight search (may be i am too lazy). But this would definitely help and I remember some earlier browser had it, and I used it so often. But then it was removed and I could never get accustomed to the new ways. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Searchbar in the browser
El 09-12-2013, a las 17:28, Stéphane Ducasse stephane.duca...@inria.fr escribió: What I would like, is a setting to remove it. I usually do not use the packages list, and once you end up tabbing in the search field, you can not escape without your mouse, and this is really grinding my gears :s So if I could just disable it, I would appreciate it :) this is fun because I use it all the time. I use it also. It is possible to have settings of System / Settings. There is a Nautilus group. I will do it. I am just playing with package selection. It should keep selected package. Thank for all the suggestions, Jura +1 I don’t like it that (the clutter) much either. If I search for something, I always Shift-Enter and that works super. For the rest, there are menus and keyboard shortcuts. Ben On 08 Dec 2013, at 19:45, Usman Bhatti usman.bha...@gmail.com wrote: On Sun, Dec 8, 2013 at 4:41 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Dec 8, 2013, at 4:33 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi All, You may have noticed that Nautilus now has a search bar next to the list of packages. I personally find this extremely useful. This is the work of Juraj and he is interested in hearing your feedback. The textfield accepts regular expression. It means that entering “Roassal” will display all the packages having the word “Roassal” in it (e.g., RoassalExtra, ConfigurationOfRoassal). If I enter “^Roassal”, it displays all the packages that begin with “Roassal”. (e.g., RoassalExtra). Any idea how to make this feature more apparent? Anything else you want to see with the searching in the browser? I would love to have the search bar searching also based on class name Maybe -Point could select the package that contains the class Point -Point* could select the package that contains the classes *Point* +1. I could not get used to spotlight search (may be i am too lazy). But this would definitely help and I remember some earlier browser had it, and I used it so often. But then it was removed and I could never get accustomed to the new ways. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Bogus validation report
https://ci.inria.fr/pharo/job/Pharo-3.0-Issue-Validator/4185//artifact/validationReport.html
Re: [Pharo-dev] Issue for Pharo2 needs review
Stephan, was that the entire backtrace? I’m investigating a possible VM bug that manifests itself in segfaults. If there was more (and you still have the trace) could you mail it to me? Cheers, Max On 09.12.2013, at 11:09, Stephan Eggermont step...@stack.nl wrote: Hmm, not easily reproducible. Stephan
Re: [Pharo-dev] Issue for Pharo2 needs review
Updated the case with short review. On 09.12.2013, at 09:32, Marcus Denker marcus.den...@inria.fr wrote: 12300 #date:time: fix backport 2.0 https://pharo.fogbugz.com/f/cases/12300/
Re: [Pharo-dev] Bogus validation report
I also got this message once :) Revalidated the issue (and waiting for the monkey to try again) “fixed” it :P Ben On 09 Dec 2013, at 21:58, Stephan Eggermont step...@stack.nl wrote: https://ci.inria.fr/pharo/job/Pharo-3.0-Issue-Validator/4185//artifact/validationReport.html
Re: [Pharo-dev] Smalltalk in a C World[SEC=UNCLASSIFIED]
On Mon, 2013-12-09 at 11:37 +0100, Torsten Bergmann wrote: If you follow the hype and advertising you go to Java - if you search for something more powerful you search for it and will find Smalltalk. That's no way to think! Smalltalk is wonderful, but it gains nothing by being obscure and largely forgotten. Whenever people are fans of something arcane there's a temptation for them to wear that obscurity like a medal. And it does no good. No good at all. Steve
[Pharo-dev] Systemtools and roadmap for pharo3
Hi there, I have a couple of questions about Systemtools (Messagebrowser, Browser, Changesorter ...). Is there roadmap for pharo3, on what are you working, what should work for the next release. I filed (and fixed) some bugs. And have some more. But I don't want to do this if some of the tools may be deprecated or will be replaced. I read the Pharo2 and 3 changelog, but I am still unsure, and before I make unneeded bug reports: There are some bugs on MessageBrowser: Time stamp from source/byte code /time stamp-combo doesn't work. MessageBrowser doesn't play well with RGCommentDefinition as search results: Textpanel tries to parse comments as code (this is an old bug, even recent squeak versions) Browse senders/Implementers doesn't make sense /doesn't work for comments Browse Version does not work for comments No menu on comment entries. MNU if exactly one entry is found Some of these issues aren't new and there were already discussions for the older FlatMessageList.(issue 5860https://pharo.fogbugz.com/default.asp?5860). Work on dualchangesorter seems to be half-done (menu-handling broken). (no one uses dualchangesorter nowadays?) It distract me a bit that the completion menu *in spotlight* shows codecompletion that *spotlight can not find* (class vars for example). and more. I am not a total novice, but more than most of you. And so I may stumble across some issues, that you don't encounter in your workflow. (Otherwise I can not explain why there are no bug reports for these issues :-). Am I free in reporting all kind of bugs or is this too much noise. Btw, what about Pharo2.0, is this release freezed, or can/should issues be reported and fixed for Pharo2.0 as well? regards Nicolai
Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser?
Ok, in 12374 (incomplete, needs love) https://pharo.fogbugz.com/f/cases/12374/Display-package-description-on-selection-in-the-Configuration-Browser Cheers, Hernán 2013/12/9 Stéphane Ducasse stephane.duca...@inria.fr Hi Hernan, the problem is not the button - but the missing standard and standardized descriptions on the configs... For instance I also write markup docu on my configs (see ConfigurationOfINIFile) - it is loadable as a usual config but adds two class side methods: #documentation and #tutorialOn: using the onlineTutorial pragma. The documentation is stored as class comment in markdown format on the ConfigurationOfINIFile class. I use the same description then for the STHub project page. If one loads additionally the PharoOnlineHelp package afterwards it will also appear magically in my Pharo online help as a tutorial. This was my proposal - but so far it looks like nobody is really interested. this is not that this is a question of time. And sorry but I will not use markdown. Maybe because often this ends in which syntax discussions and due to the lack of good in image default text display facilities for markup, pier-syntax, ... In general it can be done easily, but we have to agree on some kind of common standard for configurations and documentation on - how to describe a package (also the format, either markdown or pier syntax with http://smalltalkhub.com/#!/~Pier/Pillarhttps://3c.gmx.net/mail/client/dereferrer?redirectUrl=http%3A%2F%2Fsmalltalkhub.com%2F%23%21%2F%7EPier%2FPillar ) - how to name the methods or pragmas that are used Stef also did something (with Catalog), the ConfigurationOfINIFile for instance has two supporting methods: #catalogDescription and #repositoryUrlString. this one is deprecated after discussing with versioner. Still Catalog uses Pier and is not really visible - and STHub does support markdown by default. As of today I would like to see Pharo moving into the following direction: - using the configs for describing the help/documentation/package descriptions - also tagging with package categories (for instance there are packages/projects for database access, others for parsers, or games) - maybe use pier syntax for descriptions (it can be parsed by Pillar and other formats like HTML, markdown, Latex, ... be generated) - generate pages like catalog https://ci.inria.fr/pharo-contribution/job/PharoProjectCatalog/HTML_Report/? but with a better design and visibility like http://packages.pharo.org; The code is open. My time is really counted. Just merged your convention to mine and unify. together with a loadable list for the config browser - when one uploads such a ConfigurationOfMyKillerApp to STHub it should automagically update the STHub description (which is currently only possible via the web interface) - additional rankings (number of downloads like on STHub, successful CI builds, member rankings, ...) - automated verfication - ... sniplot of other ideas/snip Bye T. *Gesendet:* Sonntag, 08. Dezember 2013 um 22:12 Uhr *Von:* Hernán Morales Durand hernan.mora...@gmail.com *An:* Pharo Development List pharo-dev@lists.pharo.org *Betreff:* Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser? Hi Torsten, 2013/12/8 Torsten Bergmann asta...@gmx.de The reason is simple: when I wrote the config browser there was no such additional description on the configs itself and one would have to load the config into the image first. Think of 2000 config's (note each is a package) loading in the future when the config browser opens. This will take ages. I think this is not good since the app should be responsive. Maybe a show details button helps when the package is selected. I agree (see attached screenshot). I have added the button but the thing is: Package can be fetched from the repository, but there is no package description. There are only textual descriptions of commits. So anyone see any workaround here? I would rather see: 1. Either a simple hosted seaside app Pharo Store that one can use to register a config for a specific pharo version (similar like squeakmap) maybe directly from the STHub interface with description, ... This app can be queried by the config browser (JSON/XML/Fuel/...) to display infos on the package, maybe also a rating about downloads, ... 2. Or a general mechanism that loads the configs, runs tests and if OK provides them for the config browser as yes these config really work Absolutely. Configurations should be certified. Hernán
[Pharo-dev] [Spec] Non resizable window
Hi, Is there any simple way to make a SpecWindow not resizable? Cheers, R
Re: [Pharo-dev] Smalltalk in a C World
I agree 100% with you, it takes like no effort to fine one of the millions of online sexy looking template and there like tons of apps out there that can autogenerate good looking websites. But then I find this much , much worse - http://java.com/en/ . Sure it looks more current but really ? Is that the best mega-company like Oracle can do. No because as it seems this is the same site they inherited from Sun. Actually as far I remember Java from back into 2000 that I was aware of its existence , the website has only slightly changed. Actually I know of no language that has a very well designed web site. Taking full advantage of HMTL5 and the current technology. But I like Pharo website none the less. Java Hyped !!! What ? Are you serious ? Java - C++ - Javascript is the triangle of hate. Back in 2000 + was an army of blog posts of how dead Java is and still you can see articles of how much people dont like these languages. Not that I blame them , but I always kinda liked Java. Hype is not the same thing as popular. I think the most Hyped language by far is Lisp , nothing can touch its hype. You could even believe that Lisp can cure cancer. I really like Lisp, but its over-hyped none the less. I had to try lisp because of how much overwhelmed I was by people saying how much of a great language it is. Learning Java was curiosity on the ground how popular it became and how fast. I never heard anyone describe Java as Lisp. Actually the most hyped thing about Java is Clojure, guess what Clojure is , yeap Lisp :D But Smalltalk is (at least to me) not interesting because it is a programming language - it is interesting because it is a dynamic object system that is easily changeable (including metamodel and language itself). I could not agree more. I came for the IDE, I feel in love with live coding. Beatiful, makes coding 10 times more fun and very productive. But I have to say Smalltalk really does justice to its name. Its a Small language but also everything feels like you Talk-ing to objects, I really like this conversation with my computer , If I could remove case sensitive it would be 100% natural for me. So yes definetly there is not much in the language to be surprised about but in the end that element of least surprise is what make Smalltalk a great choice for me. On Mon, Dec 9, 2013 at 1:46 PM, Marcus Denker marcus.den...@inria.frwrote: On 09 Dec 2013, at 11:37, Torsten Bergmann asta...@gmx.de wrote: Kilon wrote: dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution. You can be sure it can :) Clement wrote: How can people even know Smalltalk MT still exist with their website and their communication ? If you follow the hype and advertising you go to Java - if you search for something more powerful you search for it and will find Smalltalk. You search and you find a website that convinces you that Smalltalk it indeed dead. Marcus
Re: [Pharo-dev] Multiples OpenGL contexts with NBOpenGL
JB or igor can you give access to ronie to NBOpenGL? @Ronie please publish directly to NBOpenGL no need to have a slice but update the configuration. Stef On Dec 9, 2013, at 10:07 PM, Ronie Salgado ronies...@gmail.com wrote: nbopengl-contexts.zip
Re: [Pharo-dev] Systemtools and roadmap for pharo3
Hi there, I have a couple of questions about Systemtools (Messagebrowser, Browser, Changesorter ...). Is there roadmap for pharo3, on what are you working, what should work for the next release. Basically everything inheriting from CodeHolder should get rewritten. MessageBrowser was rewritten but before Spec, ChangeSorter with Spec but it should be improved. I filed (and fixed) some bugs. And have some more. But I don't want to do this if some of the tools may be deprecated or will be replaced. Indeed. I read the Pharo2 and 3 changelog, but I am still unsure, and before I make unneeded bug reports: There are some bugs on MessageBrowser: Time stamp from source/byte code /time stamp-combo doesn't work. We should fix messagebrowser because it is important and may be one day we will rewrite it. MessageBrowser doesn't play well with RGCommentDefinition as search results: Textpanel tries to parse comments as code (this is an old bug, even recent squeak versions) Browse senders/Implementers doesn't make sense /doesn't work for comments Browse Version does not work for comments No menu on comment entries. MNU if exactly one entry is found Some of these issues aren't new and there were already discussions for the older FlatMessageList.(issue 5860). Yes sadly we got distracted. Work on dualchangesorter seems to be half-done (menu-handling broken). (no one uses dualchangesorter nowadays?) Apparently. But I use it and I started to fix the Menu of the changeSorter and I should finish then work on the DualChangeSorter but no time for that. It distract me a bit that the completion menu *in spotlight* shows codecompletion that *spotlight can not find* (class vars for example). and more. One pass should be done to improve ecompletion. Then indeed merging spotlight logic and ecompletion would be good. I am not a total novice, but more than most of you. And so I may stumble across some issues, that you don't encounter in your workflow. (Otherwise I can not explain why there are no bug reports for these issues :-). Because people have different workflow. I systematically report bugs. Am I free in reporting all kind of bugs or is this too much noise. No if there are bugs there are. Btw, what about Pharo2.0, is this release freezed, or can/should issues be reported and fixed for Pharo2.0 as well? Pharo 20 is frozen. Only **severe** bugs are retro pushed. We should improve 3.0 so thanks for any bug fixes. regards Nicolai
Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser?
The problem is that to see the description you will need to load all the configurations. So I think that the way to go is the following: - extend the catalog to generate a STON file with all the configuration and their descriptions - publish it in a stable url - fetch this description and display it in your tool. This would be really great. Stef On Dec 10, 2013, at 6:38 AM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Ok, in 12374 (incomplete, needs love) https://pharo.fogbugz.com/f/cases/12374/Display-package-description-on-selection-in-the-Configuration-Browser Cheers, Hernán 2013/12/9 Stéphane Ducasse stephane.duca...@inria.fr Hi Hernan, the problem is not the button - but the missing standard and standardized descriptions on the configs... For instance I also write markup docu on my configs (see ConfigurationOfINIFile) - it is loadable as a usual config but adds two class side methods: #documentation and #tutorialOn: using the onlineTutorial pragma. The documentation is stored as class comment in markdown format on the ConfigurationOfINIFile class. I use the same description then for the STHub project page. If one loads additionally the PharoOnlineHelp package afterwards it will also appear magically in my Pharo online help as a tutorial. This was my proposal - but so far it looks like nobody is really interested. this is not that this is a question of time. And sorry but I will not use markdown. Maybe because often this ends in which syntax discussions and due to the lack of good in image default text display facilities for markup, pier-syntax, ... In general it can be done easily, but we have to agree on some kind of common standard for configurations and documentation on - how to describe a package (also the format, either markdown or pier syntax with http://smalltalkhub.com/#!/~Pier/Pillar) - how to name the methods or pragmas that are used Stef also did something (with Catalog), the ConfigurationOfINIFile for instance has two supporting methods: #catalogDescription and #repositoryUrlString. this one is deprecated after discussing with versioner. Still Catalog uses Pier and is not really visible - and STHub does support markdown by default. As of today I would like to see Pharo moving into the following direction: - using the configs for describing the help/documentation/package descriptions - also tagging with package categories (for instance there are packages/projects for database access, others for parsers, or games) - maybe use pier syntax for descriptions (it can be parsed by Pillar and other formats like HTML, markdown, Latex, ... be generated) - generate pages like catalog https://ci.inria.fr/pharo-contribution/job/PharoProjectCatalog/HTML_Report/? but with a better design and visibility like http://packages.pharo.org; The code is open. My time is really counted. Just merged your convention to mine and unify. together with a loadable list for the config browser - when one uploads such a ConfigurationOfMyKillerApp to STHub it should automagically update the STHub description (which is currently only possible via the web interface) - additional rankings (number of downloads like on STHub, successful CI builds, member rankings, ...) - automated verfication - ... sniplot of other ideas/snip Bye T. Gesendet: Sonntag, 08. Dezember 2013 um 22:12 Uhr Von: Hernán Morales Durand hernan.mora...@gmail.com An: Pharo Development List pharo-dev@lists.pharo.org Betreff: Re: [Pharo-dev] It would be too expensive to add a description for packages in Configuration Browser? Hi Torsten, 2013/12/8 Torsten Bergmann asta...@gmx.de The reason is simple: when I wrote the config browser there was no such additional description on the configs itself and one would have to load the config into the image first. Think of 2000 config's (note each is a package) loading in the future when the config browser opens. This will take ages. I think this is not good since the app should be responsive. Maybe a show details button helps when the package is selected. I agree (see attached screenshot). I have added the button but the thing is: Package can be fetched from the repository, but there is no package description. There are only textual descriptions of commits. So anyone see any workaround here? I would rather see: 1. Either a simple hosted seaside app Pharo Store that one can use to register a config for a specific pharo version (similar like squeakmap) maybe directly from the STHub interface with description, ... This app can be queried by the config browser (JSON/XML/Fuel/...) to display infos on the package, maybe also a rating about downloads, ... 2. Or a general mechanism that loads the configs, runs tests and if OK provides them for
Re: [Pharo-dev] [Spec] Non resizable window
On Dec 10, 2013, at 7:49 AM, Roberto Minelli roberto.mine...@usi.ch wrote: Hi, Is there any simple way to make a SpecWindow not resizable? No idea but we should be able to specify that in the spec Cheers, R
Re: [Pharo-dev] [Spec] Non resizable window
On Dec 10, 2013, at 8:11 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Dec 10, 2013, at 7:49 AM, Roberto Minelli roberto.mine...@usi.ch wrote: Hi, Is there any simple way to make a SpecWindow not resizable? No idea but we should be able to specify that in the spec +1 ;-) Cheers, R