Re: [Pharo-dev] @lab at midday
On Fri, Jul 12, 2013 at 4:13 PM, Norbert Hartl norb...@hartl.name wrote: Ok, that seems to only work for non-native french speakers :) Although it is stupid to explain jokes this should be a proof of my capabilities of speaking french. If I would know how to speak it I probably would have written Au revoir instead… :-D -- Damien Cassou http://damiencassou.seasidehosting.st Success is the ability to go from one failure to another without losing enthusiasm. Winston Churchill
Re: [Pharo-dev] about WidgetAbstractWrapper
Can it be named, please ;) Stephan
Re: [Pharo-dev] Athens + Amber progress
Hi, Great work! Also, Matthias is describing the progress on a dedicated blog, so people can stay tuned: http://amber-athens.m-sp.org/ Cheers, Doru On Jul 12, 2013, at 5:51 PM, Igor Stasenko siguc...@gmail.com wrote: Hi, i just wanna share news about progress on subject GSoC project. Matthew made quite decent progress on the subject. It is almost there, just some glitches here and there, but in overall, i am quite happy, and i think it is already in quite useful state. To check it, just follow the link on your browser: http://matthias-springer.github.io/amber-athens/ (works best with chrome then firefox) For impatient: go to step 2, press doit, then skip to step 32 and press doit again :) -- Best regards, Igor Stasenko. -- www.tudorgirba.com What we can governs what we wish.
Re: [Pharo-dev] Some Spec questions
Exciting times :) Doru On Jul 13, 2013, at 8:08 AM, Clément Bera bera.clem...@gmail.com wrote: Ok, then we will integrate it together when you come to Lille in 2 weeks. Good news. Cheers, 2013/7/12 Andrei Vasile Chis chisvasileand...@gmail.com Hi Clément, Hi Clara, What about integrating the new debugger by default now ? I mean the new debugger is now in Pharo 3.0 alpha but the old debugger is still triggered by default, for example when you do Cmd+Maj+d or when you set the setting 'Always open full debugger'. We (Marcus and I) would like to integrate it now by default in Pharo 3.0 alpha, so we have enough time to stabilize it (in case of problems) and we can then remove the old debugger and old inspectors from Pharo. Now I want your point of view: - What do you think about integrating the spec debugger by default next week ? In two weeks (22 July) I would visit you in Lille. That would be a good time to integrate. - Is it currently stable enough ? All the features that are present at the moment are quite stable. - Should I wait a little more so you can add extra features ? I've talked with Andrei and we've set a milestone. By next week, we would like to have done issues 10956 10952 10954 10953 10955 If at least the first three issues are done, then the new debugger will have most of the necessary features. I'd also help with these and I hope we'll be done by the end of this month. By next week I will have more time, since the semester will be finished. Having Andrei's debugger by default requires that it has the full stack menu ready before the Pharo 3.0 release (next spring), because if not people will blame all the Pharo team. - Are you working on it ? That's what I plan to do next week :) I'm working on it, but not full time. - Will it be ready before the next Pharo release ? If you think you need to improve the debugger before we integrate it by default, for example with Clara's GSoC work, please tell me when it will be ready so we can add it into the Pharo 3.0 integration planning. Then I guess you can add a slice with your improvements in the Pharo bug tracker, and I will add an extra slice with smalltalk tools change so the new debugger will be triggered by default. It would be nice if we can integrate it before the end of september. We'll surely be able to have all the missing features by the end of September. They do not require so much work. In any case I will be in case with both Andrei and you (if you don't mind) to get this done... Please do :) Cheers, Andrei -- www.tudorgirba.com Problem solving efficiency grows with the abstractness level of problem understanding.
[Pharo-dev] Project Catalog getting out slowly :)
Hi guys I start to be able to generate such files for a Pharo project catalog Title: Truc 1. Soup Soup is a frameworks for scrapping HTML. It offers a simplified query mechanism to abstract over the XML and HTML structures of a document. 1.1. Keywords web query XML HTML scrapping 1.2. Implementation notes It is composed of some keys classes: SoupElement is the root of elements that are extracted during the parsing of an HTML document. Contrary to traditional HTML Parser, Soup produces a limited set of elements which approximate the HTML elements but supports querying and extracting information. Soup. Soup is the main public class of the package. It is the class to interact with as shown by the tests. The best way to get started is to get a soup of html elements using Soup classfromString: as follows: Soup fromString: 'http://www.bedetheque.com/album-105582-BD-Atomium-Express.html' asUrl retrieveContents Tests of the Soup class are the place to start to learn the API. 1.3. Main repository The main repository is: http://www.smalltalkhub.com/mc/PharoExtras/Soup/main MCHttpRepository location: http://www.smalltalkhub.com/mc/PharoExtras/Soup/main user: '' password: '' 1.4. Main Versions stable: spec symbolicVersion: #'stable' spec for: #'pharo1.3.x' version: '0.2'. spec for: #'pharo1.4.x' version: '0.2'. spec for: #'pharo2.x' version: '1.4'. spec for: #'pharo3.x' version: '1.4'. 1.5. Current loading expressions and dev history (ConfigurationOfSoup project version: #'stable') load (ConfigurationOfSoup project version: '1.4') load 21/02/2013 - Migrated to SmalltalkHub. (ConfigurationOfSoup project version: '1.4') load Adding better stable version. (ConfigurationOfSoup project version: '1.3') load Todo: update when XMLSupport will be migrated to Smalltalk. Title: Truc 1. XMLWriter XMLWriter allows you to generate well-formed XML documents using a nice API based on a canvas and tag brush API. 1.1. Keywords XML 1.2. Implementation notes The main entry point is the class XMLWriter. Here are examples of the API | writer | writer := XMLWriter new. writer tag name: 'emptyTag'; attributeAt: 'a' put: 'one'; write. | writer | writer := XMLWriter new. writer enablePrettyPrinting; xml; comment: 'an example'. writer tag name: 'example:user'; xmlnsAt: 'example' put: 'urn://example'; with: [ writer tag: 'username' with: 'jsmith'; tag: 'real-name' with: 'John Smith'; tag: 'age' with: '25'; tag: 'id' with: '101'] 1.3. Main repository The main repository is: http://smalltalkhub.com/mc/PharoExtras/XMLWriter/main MCHttpRepository location: http://smalltalkhub.com/mc/PharoExtras/XMLWriter/main user: '' password: '' 1.4. Main Versions stable: spec symbolicVersion: #'stable' spec for: #'pharo1.3.x' version: '0.2'. spec for: #'pharo1.4.x' version: '0.2'. spec for: #'pharo2.x' version: '1.4'. spec for: #'pharo3.x' version: '1.4'. 1.5. Current loading expressions and dev history Version 2.2.1 - 2013-07-10Merged fix of Camillo for fileSystem interaction. (ConfigurationOfXMLWriter project version: '2.2.1') load Version 2.2.0 - Migrated to PharoExtras (ConfigurationOfXMLWriter project version: '2.2.0') load Version 2.1.0Introduced tests and symbolic configurations (ConfigurationOfXMLWriter project version: '2.1.0') load (ConfigurationOfXMLWriter project version: '2.1.0') record loadDirective Version 2.0.0After SmalltalkHub Migration and the introduction of configuration in other projects pre smalltalkhub migration (ConfigurationOfXMLWriter project version: '1.0.5') load I added some metadata to configuration files and it pays off. Stef
Re: [Pharo-dev] Project Catalog getting out slowly :)
How do you generate this? On 2013-07-13, at 14:13, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi guys I start to be able to generate such files for a Pharo project catalog Soup.htmlXMLWriter.html I added some metadata to configuration files and it pays off. Stef
Re: [Pharo-dev] Some updates to GLorp
On Jul 11, 2013, at 3:52 PM, Mariano Martinez Peck marianop...@gmail.com wrote: I do agree. But notice that it took me like 2 days to adapt the pool to the native driver, find the problems, fix the bugs, commit fixed, update the confs, etc. So that was already something :) Indeed :) Stef On Thu, Jul 11, 2013 at 4:14 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Jul 10, 2013, at 10:04 PM, Mariano Martinez Peck marianop...@gmail.com wrote: Hi guys I did a couple of things related to Glorp. I commited 2 fixes related to the connection pool. Also, for the native postgres driver, I adapted the pool we have for OpenDBXDriver. It's quite ugly because we are duplicating quite a lot of code, but the hierarchy make things complicated here and I don't have more time to improve it (at least not right now). If someone wants to give it a shoot :) You can give it as an exercise to a student hahaha. So...to sum up, some fixes in GlorpOpenDBXDriver and the new connection pool to GlorpDriverPostgreSQL. Hi mariano I think that this is important that you allocate a certain percentage of your dev time to improve the tools you use else there is no possibility of progress. I would not wait for a student to fix code that nobody in our team (except esteban probably) ever used. Stef Cheers, -- Mariano http://marianopeck.wordpress.com -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] [update 3.0] #30267
On Jul 12, 2013, at 7:22 AM, Damien Cassou damien.cas...@gmail.com wrote: On Thu, Jul 11, 2013 at 6:36 PM, Esteban Lorenzano esteba...@gmail.com wrote: 11151 More changes needed to trait/classes polymorphism https://pharo.fogbugz.com/f/cases/11151/ That's huge. Soon, we will be able to remove thr ClassDescription and Behavior classes. It makes sense because they are useless in the presence of traits. But do people want it? I'm not sure :) Stef -- Damien Cassou http://damiencassou.seasidehosting.st Success is the ability to go from one failure to another without losing enthusiasm. Winston Churchill
Re: [Pharo-dev] [update 3.0] #30267
Why can't we keep ClassDescription. Then in addition Behavior is a nice class to have to build strange stuff. Stef On Jul 12, 2013, at 7:22 AM, Damien Cassou damien.cas...@gmail.com wrote: On Thu, Jul 11, 2013 at 6:36 PM, Esteban Lorenzano esteba...@gmail.com wrote: 11151 More changes needed to trait/classes polymorphism https://pharo.fogbugz.com/f/cases/11151/ That's huge. Soon, we will be able to remove thr ClassDescription and Behavior classes. It makes sense because they are useless in the presence of traits. But do people want it? -- Damien Cassou http://damiencassou.seasidehosting.st Success is the ability to go from one failure to another without losing enthusiasm. Winston Churchill
Re: [Pharo-dev] [NB]: Review fixes ideas
Igor you should add that to a class comment and into the wiki of NB. On Jul 12, 2013, at 5:43 PM, Igor Stasenko siguc...@gmail.com wrote: Hi, there , i've been working last two weeks on reviewing the code in NB, and update configuration making tests green etc.. So, here the summary: 0. New stuff: external structures (NBExternalStructure) now is normal objects (not var-byte ones), and using 'data' ivar indirection like in NBExternalArray, so you can allocate external struct on both external heap and object memory, e.g.: struct := MyStructClass externalNew. or: struct := MyStructClass new. (so, it is similar to NBExternalArray). - a function with signature MyStruct * foo () which returns a pointer to struct, now will return an instance of MyStruct with the address, so you can use it directly , e.g.: struct := self callFoo. value := struct field1. struct field2: 10 etc.. Thanks to Ciprian for introducing the change. I just polished a bit and fixed some mistakes. 1. NBExternalTypeValueaddress should not exist. You simply cannot use freely an address to object's internal field because object can move in memory. (the tests in NBFFIExternalValueTests testOutIntArg testOutValueArg testOutVoidArg is changed accordingly) 2. In NBExternalEnumerationType: pushing a pointer to this type is not allowed, since it makes no sense. But the mistake there was to generate a code which fails primitive with an error message, instead of failing much much sooner - at code generation stage, since it is already known that user specified wrong type. 3. I reverting generic pushAsPointer: to accept varbyte objects instead of just ByteArray object. - removing #specialPush:asPointer:endLabel: because it will be not used (btw, in NBExternalStructureTypespecialPush:asPointer:endLabel: , there was same mistake that it generates code to checking a pointer arity at runtime, while it is already known during code generation time: asm decorateWith: 'arity checking' during: [ |pointerArityOk| pointerArityOk := asm uniqueLabelName: 'pointerArityOk'. asm mov: pointerArity asImm32 to: asm EAX; cmp: asm EAX with: 1 asImm32; je: pointerArityOk. gen failWithMessage: 'Arity ', pointerArity printString,' not allowed for ', objectClass name, 'objects'. asm label: pointerArityOk]. since pointerArity is known, the produced code will be something like: mov: 1 to: EAX; cmp: EAX with: 1; je: pointerArityOk and makes no sense, because again it can just throw the error at code generation time. 4. Added code to capture argument names (CompiledMethodnbArgumentNames) and 'NativeBoost prepareForProduction', to ensure NB can work without source code accessible. 5. But the general expression, like in (1): object address gave me an interesting idea: what if we introduce a special type, say NBObjectFieldAddress. Consider the following problem: imagine that you have a big array in object memory (byte array), and you want to pass a pointer to n-th element of that array to some function. Right now, there is no way how you can do it, and you can pass only a pointer to array itself (which means it will always point to its first element). So, the idea is to introduce a special type, and special object which represents the address-of-object's-field, so you can tell: array := ByteArray new: 1000. address := array nbAddressAt: 500. create an address object which points to 500th element of given array (and expression 'array nbAddress' is synonym to 'array nbAddressAt: 1'). self callSomeFunctionWith: address. The signature of C function which takes a pointer like: void foo (void * ptr) then should be changed to: void foo (NBObjectFieldAddress ptr) the only question, which remains , shall it use strict type checking (so you have to change the signature), or allow to use such objects with any signatures which takes a pointer to something, e.g. extend generic NBExternalTypepushAsPointer: to additionally check if incoming argument is instance of NBObjectFieldAddress class. P.S. to try new config , load it: Gofer new smalltalkhubUser: 'Pharo' project: 'NativeBoost'; configuration; load. ConfigurationOfNativeBoost loadDevelopment. which should load 2.2 version of it -- Best regards, Igor Stasenko.
Re: [Pharo-dev] [update 3.0] #30267
If you put all methods from ClassDescriptions in traits and move them on Class and Metaclass there is no need for ClassDescription. If previously you want something that inherited from ClassDescription you can simply include the traits now. In the case of a Behavior subclass nothing changes. On 2013-07-13, at 14:38, Stéphane Ducasse stephane.duca...@inria.fr wrote: Why can't we keep ClassDescription. Then in addition Behavior is a nice class to have to build strange stuff. Stef On Jul 12, 2013, at 7:22 AM, Damien Cassou damien.cas...@gmail.com wrote: On Thu, Jul 11, 2013 at 6:36 PM, Esteban Lorenzano esteba...@gmail.com wrote: 11151 More changes needed to trait/classes polymorphism https://pharo.fogbugz.com/f/cases/11151/ That's huge. Soon, we will be able to remove thr ClassDescription and Behavior classes. It makes sense because they are useless in the presence of traits. But do people want it? -- Damien Cassou http://damiencassou.seasidehosting.st Success is the ability to go from one failure to another without losing enthusiasm. Winston Churchill
Re: [Pharo-dev] [NB]: Review fixes ideas
what are the pros and cons? Stef the only question, which remains , shall it use strict type checking (so you have to change the signature), or allow to use such objects with any signatures which takes a pointer to something, e.g. extend generic NBExternalTypepushAsPointer: to additionally check if incoming argument is instance of NBObjectFieldAddress class.
Re: [Pharo-dev] Project Catalog getting out slowly :)
I'm building (I'm consolidating the code now) a Catalog builder that takes metadescribed configurationOf…. It uses Gutenberg. Have a look at the ConfigurationOfSoup to see what I need: two methods + one class comment for now. I want better documented configuration. After if somebody wants to have a better system, I will have no problem to throw away my code. Right now I want all the configurations to support these two methods and a jenkins build to generate the catalog for me. Stef How do you generate this? On 2013-07-13, at 14:13, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi guys I start to be able to generate such files for a Pharo project catalog Soup.htmlXMLWriter.html I added some metadata to configuration files and it pays off. Stef
Re: [Pharo-dev] Project Catalog getting out slowly :)
Camillo look at this one :) I took the auto documentation way up to the generator :) Title: Truc 1. Missing Meta Data ConfigurationOfOrderPreservingDictionary does not have catalog meta data.Please add the class side methods: repositoryUrlString, catalogDescription as well as a nice class comment containing expressions to load the projects and its history. The text can use the pier syntax Add URLhere . 2. Example of meta data Define one method named repositoryUrlString (and you can also use it in your configuration) MyConfiguration classrepositoryUrlString ^ 'http://www.smalltalkhub.com/mc/PharoExtras/Soup/main' Define a method catalogDescription which returns a string having the following section. Keep the annotation to structure the sections. Have a look at the Soup catalog entry available at . MyConfiguration classcatalogDescription ^ '!! Soup Soup is a frameworks for scrapping HTML. It offers a simplified query mechanism to abstract over the XML and HTML structures of a document. !!! Keywords web query XML HTML scrapping !!! Implementation notes It is composed of some keys classes: - ==SoupElement== is the root of elements that are extracted during - ==Soup== is the main class and offers the main API An example Tests of the ==Soup== class are the place to start to learn the API. [[[ Soup fromString: 'http://www.bedetheque.com/album-105582-BD-Atomium-Express.html' asUrl retrieveContents ]]]
[Pharo-dev] [update 3.0] #30270
30270 - 11140 #addDeferredUIMessage: is always sent directly to WorldState https://pharo.fogbugz.com/f/cases/11140 11159 NautilusMonticello new returns the NautilusMonticello class https://pharo.fogbugz.com/f/cases/11159 Diff information: http://smalltalkhub.com/mc/Pharo/Pharo30/main/Tools-MarcusDenker.1173.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/System-CommandLine-MarcusDenker.132.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Tools-MarcusDenker.115.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Examples-MarcusDenker.31.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Polymorph-Widgets-MarcusDenker.856.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Nautilus-MarcusDenker.490.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/NECompletion-MarcusDenker.120.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Morphic-Base-MarcusDenker.45.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/MonticelloGUI-MarcusDenker.242.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Manifest-CriticBrowser-MarcusDenker.90.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Announcements-View-MarcusDenker.15.diff
Re: [Pharo-dev] about WidgetAbstractWrapper
I start to create it, what would you like to get in ? for the moment there is nothing because i focused on something different No problem. I just wanted to know if there is already something more concrete.
Re: [Pharo-dev] Project Catalog getting out slowly :)
+1000 - Original Message - | From: Stéphane Ducasse stephane.duca...@inria.fr | To: Pharo Development List pharo-dev@lists.pharo.org | Sent: Saturday, July 13, 2013 5:13:40 AM | Subject: [Pharo-dev] Project Catalog getting out slowly :) | | Hi guys | | I start to be able to generate such files for a Pharo project catalog | | | | | I added some metadata to configuration files and it pays off. | | Stef
Re: [Pharo-dev] Project Catalog getting out slowly :)
On Jul 13, 2013, at 3:10 PM, Marcus Denker marcus.den...@inria.fr wrote: Actually, it would be nice to take one of the Order preserving dictionary implementation and add it to 3.0 as part of the standard collections. Easy :) On Jul 13, 2013, at 3:07 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: OrderPreservingDictionary.html
Re: [Pharo-dev] [NB]: Review fixes ideas
On 13 July 2013 14:47, Stéphane Ducasse stephane.duca...@inria.fr wrote: what are the pros and cons? pros - you can pass is as parameter everywhere it expects a pointer cons - it will slow down all calls with pointer type because of extra check, even if you don't using it (and in most cases you don't) i think best way is to introduce it as option. Stef the only question, which remains , shall it use strict type checking (so you have to change the signature), or allow to use such objects with any signatures which takes a pointer to something, e.g. extend generic NBExternalTypepushAsPointer: to additionally check if incoming argument is instance of NBObjectFieldAddress class. -- Best regards, Igor Stasenko.
Re: [Pharo-dev] [NB]: Review fixes ideas
On 13 July 2013 19:20, Igor Stasenko siguc...@gmail.com wrote: On 13 July 2013 02:04, Sean P. DeNigris s...@clipperadams.com wrote: Thanks for all this work, Igor! But can we do a simple system call yet?! yes this is strange thing.. once it was worked, but then suddently VM start crashing. the answer is in VM, not NB. btw it works, in at least latest Mac VM. And i did nothing to fix it, so the problem may reoccur. -- Best regards, Igor Stasenko.
Re: [Pharo-dev] Project Catalog getting out slowly :)
You want scraping HTML and not scrapping HTML. Sent from my iPhone On Jul 13, 2013, at 8:13 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi guys I start to be able to generate such files for a Pharo project catalog Soup.html XMLWriter.html I added some metadata to configuration files and it pays off. Stef