Re: [Pharo-project] XPath issue ?
herve did you try pastell? Stef On May 8, 2013, at 11:23 PM, Herve Verjus herve.ver...@univ-savoie.fr wrote: Dear All, I try a very simple example: mydoc.xml document: ?xml version=1.0 encoding=UTF-8 ? first second item type=attvaluenodevalue/item /second /first And the Pharo code found in the book.pharo-project.org: | doc results | doc := XMLDOMParser parseFileNamed: 'mydoc.xml'. results := ( XPath for: 'first' ) in: doc. results explore As a result, I obtain an empty OrderedCollection...It should contain an element. Then a make some changes using different XPath expressions (i.e. '/first/second/item/@type, etc.) but no way. Then I discover the first element of the XPath expression must not be the root of the XML doc. If I change the mydoc.xml, introducing a new root element: ?xml version=1.0 encoding=UTF-8 ? foo first second item type=attvaluenodevalue/item /second /first /foo Everything is ok (the same code as above). Here, XPath assumes that the first tag we are looking for is not the root of the doc, otherwise it fails. I'm not so sure but it seems that such implementation doesn't follow the XPath specs. I tried another example from http://www.w3schools.com/xpath/xpath_syntax.asp and same results: I obtain an empty collection when using an XPath expression beginning with the 'bookstore' tag, the root element of the doc: | doc results | doc := XMLDOMParser parseFileNamed: 'books.xml'. results := ( XPath for: '/bookstore' ) in: doc. results explore Maybe, I missed something... Note: I have had to replace the isTag (deprecated) with isElement in some piece of XPath code. Cheers, Herve
[Pharo-project] suggestions for Smart Suggestions
- When selecting a literal we should be able to get extract method.
[Pharo-project] Fwd: suggestions for Smart Suggestions
Hi gisela. - When selecting a literal we should be able to get extract method. - when I select an instance variable in the class definition I cannot apply refactoring…. yes I know this is because this is a STRING… What a pain. Stef
[Pharo-project] Fwd: [Esug-list] first MOOC about OOP with Smalltalk and Seaside?
Begin forwarded message: From: Johannes Brauer bra...@nordakademie.de Subject: [Esug-list] first MOOC about OOP with Smalltalk and Seaside? Date: May 4, 2013 5:29:33 PM GMT+02:00 To: ESUG Mailing list esug-l...@lists.esug.org, g...@gsug.org g...@gsug.org, VWNC List v...@cs.uiuc.edu Dear Smalltalkers! There is an initiative for funding the development of massive open online courses (moocs) by the Stifterverband für die deutsche Wissenschaft (http://www.stifterverband.info/ueber_den_stifterverband/english/index.html). You can get information about a running competition (MOOC PRODUCTION FELLOWSHIP) here: https://moocfellowship.org. Following the link https://moocfellowship.org/submissions/objektorientierte-programmierung-von-web-anwendungen-von-anfang-an YOU CAN VOTE for the course offered by me resp. the NORDAKADEMIE (www.nordakademie.de). For voting you have to register by Facebook or email only. The MOOC we want to build will be based on a blended learning course we have been pursuing as a first year programming course under the headline object oriented development of web applications since a couple of years. During this class the students learn object oriented programming from the beginning using Smalltalk and Seaside. Since the material of our blended learning course is in German the first version of the projected MOOC will be in German, too. Getting one of the awards should offer the possibility to build an English version later on. I would be delighted if you could adjust our Smalltalk-MOOC project by voting for the course https://moocfellowship.org/submissions/objektorientierte-programmierung-von-web-anwendungen-von-anfang-an Thank you very much Johannes Brauer Prof. Dr.-Ing. Johannes Brauer Dean of Computer Science Departement Tel.: 04121 409030 Fax.: 04121 409040 e-mail: bra...@nordakademie.de e-mal priv.: bra...@acm.org Staatlich anerkannte private Fachhochschule NORDAKADEMIE Gemeinnützige Aktiengesellschaft Köllner Chaussee 11 25337 Elmshorn Vorstand: Prof. Dr. Georg Plate (Vorsitzender), Dipl.-Ing. Jörg Meier (stellv. Vorstand) Vorsitzender des Aufsichtsrats: Dr. h.c. Hans-Heinrich Bruns Sitz: Elmshorn, Amtsgericht Pinneberg, HRB 1682 ___ Esug-list mailing list esug-l...@lists.esug.org http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
[Pharo-project] about logCr: vs. log: vs. trace:/traceCr:
Hi guys Stupidly I introduced log: a while ago to replace Transcript show:. Now is the current situation. I still want to remove all the use of Transcript show: Now since I thought I did a mistake with log: because it overload Integerlog: I introduced trace: and traceCr: Now I do not like traceCr: because it is not a cool message. So what do we do: 1) we use crLog:, logCr: and deprecated log: 2) we use crTrace:, trace: and traceCr: I really prefer solution 1 but I would like to hear from you. Stef
[Pharo-project] looks like move to class side forgets the class message on the instance side
Hi I got SLLogObjecterror To convey an error. level := self errorLevelString SLLogObjecterrorLevelString ^ 'error' then I did move to class side and …. SLLogObjecterror To convey an error. level := self errorLevelString stayed the same. Does anybody encounter this problem? Stef
[Pharo-project] the newlist breaks the changesorter.
running out to do shopping. Stef
[Pharo-project] Strange behvaior with protocols in nautilus
I loaded some morphic games and I have a strange behavior with nautilus. when I press all I see all the methods but when I look at the protocols I only get a couple and I do not see all the methods. Stef
Re: [Pharo-project] Playing with Opal AST-BC Translator
Nicolas I'm convinced marcus and clement will be definitively interested! Open tickets :). Opal is not fully polished yet. It has a nice skeleton but requires more love to really shine. This is great that it was pushed in Pharo so that we can all have a look. For us this is the infrastructure for a new generation open-compiler so this is nice to hear that from you. :) Stef Opal is fun. I have a few simplifications to propose for the AST-BC OCASTTranslator 1) instead of testing isEffectTranslator or refining in subclass, most often we could just let self visit the node. Indeed, self will already be either a Translator ForEffect or ForValue. For example, this could apply to emitIfFalseIfTrue: emitIfNilIfNotNil: visitCascadeNode: This might also remove a few useless pushNil; pop BC sequences. 2) I think we can simplify the #visitBlockNode: / #visitSequenceNode: pair. Indeed, visitSequenceNode: tests if its parent isBlock, and if so will emitValue, else emitEffect. Inversely visitBlockNode: always ask to emitEffect, but since it contains a SequenceNode, this is a big lie. I suggest to always let the valueTranslator emitValue visitBlockNode: and simplify #visitSequenceNode: to just let (self visitNode: statements last). 3) I suggest changing the BC generated for or: and and: instead of: valueTranslator visitNode: aMessageNode receiver. methodBuilder jumpAheadTo: #else if: false; pushLiteral: true; jumpAheadTo: #end; jumpAheadTarget: #else. valueTranslator visitInlinedBlockNode: aMessageNode arguments first. methodBuilder jumpAheadTarget: #end. We could just use dup and thus remove a jump: valueTranslator visitNode: aMessageNode receiver. methodBuilder pushDup; jumpAheadTo: #end if: true; popTop. self visitInlinedBlockNode: aMessageNode arguments first. methodBuilder jumpAheadTarget: #end. ForEffect, this would just be self emitIfFalse: aMessageNode Of course, that last change might disturb the Decompiler a bit, but since we care far less now... I can open 1 or more issues if there is an interest. Nicolas
[Pharo-project] about Pharo 3.0 :)
Hi guys I thought that Pharo 20 got a lot of improvements but when I see Pharo 30, it feels like Pharo 30 is already a big step forward. This is really positive energy. When fernando will arrive we will move some efforts to Morphic so thanks you all for this cool feeling. Stef
[Pharo-project] Fwd: [vwnc] [ANN] DoubleAgents: A Test Double Library for Visualworks
Begin forwarded message: From: Randy Coulman rcoul...@gmail.com Subject: [vwnc] [ANN] DoubleAgents: A Test Double Library for Visualworks Date: April 30, 2013 4:16:50 PM GMT+02:00 To: VW NC v...@cs.uiuc.edu All, I have just released DoubleAgents, a library for creating test doubles in Visualworks Smalltalk. DoubleAgents is available in the Cincom Public Store Repository. A snapshot of the current version is also on GitHub. The Readme file on GitHub includes high-level documentation if you'd like more information before diving in. The full release announcement is on my blog, Courageous Software. Thanks, Randy -- Randy Coulman Email: rcoul...@gmail.com Home: http://randycoulman.com Twitter: @randycoulman GitHub: randycoulman ___ vwnc mailing list v...@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
[Pharo-project] Moment of fun
Hi guys I would like to build a small lectures based on all the small little crazy expressions that we use like StandardWindow allInstances do: #close. or myObject pointersTo or anObject become: String new. Do you have some cool expressions to share with me. Stef
[Pharo-project] froze image just
trying to publish a slice on my harddisc without network…. and I could not interrupt anything. No cmd+. no interdiction sign did anything :( So is it normal? Not being able to interrupt something is a pain. stef
[Pharo-project] Athens news :)
since I'm quite sure that you are happy to know that one guy is pushing Athens :) From: Igor Stasenko siguc...@gmail.com Subject: Re: [Lsehub-staff] [Mm10s] 2013-04-29 Date: April 29, 2013 12:12:50 PM GMT+02:00 To: RMoD private list lsehub-st...@lists.gforge.inria.fr Reply-To: RMoD private list lsehub-st...@lists.gforge.inria.fr On 29 April 2013 07:00, seas...@rmod.lille.inria.fr wrote: Monday morning, time for the weekly mail meeting in 10 seconds! (just reply, inserting bullet points) ### Last week: - implementing scene viewer in Athens. - added bezier3 flattener ### This week (starting 2013-04-29): Athens: - debug/fine tune bezier3 flattener - add arc/elliptical arc tesseleration - implement non-zero fill rule Pharo: - look at DateAndTime again -- Best regards, Igor Stasenko.
Re: [Pharo-project] Why keymap modifiers change receiver instead of return new instance?
Thanks for the explanation but I do not get it Because shortcut1 := $a ctrl. shortcut2 := $a ctrl shift created different shortcuts. I thought you wanted the inverse: You wrote: Why modifiers change receiver state instead of create new instance? And it is fully unexpected that I can not refactor it to: shotcut2 := shortcut1 shift ahhh I got it. Because after that my shortcut1 become broken. It was happen in TxTextMorph where selection and movement shortcuts created at same time TxTextMorphmoveEditorOn: aShortcut by: aSelector self on: aShortcut do: [ self moveEditorBy: aSelector withSelection: false ]. self on: selectionModeModifier + aShortcut do: [ self moveEditorBy: aSelector withSelection: true]. To fix it I add deep copy of given shortcut before modifier operation. There is another example: shortcut := $a ctrl. self assert: shortcut == (KMModifier shift + shortcut) Yes. Such operation modified argument of message #+. What the crapp! Why it not returns new instance? I hope you agree to change this behaviour
Re: [Pharo-project] [ANN] elasticsearch client
Thanks for your contribution. This is good to have a catalog of solutions :) Stef On Apr 24, 2013, at 8:08 PM, Paul DeBruicker pdebr...@gmail.com wrote: Hi - Elasticsearch (http://www.elasticsearch.org/) claims to be a: flexible and powerful open source, distributed real-time search and analytics engine for the cloud I put what I've made up here: MCHttpRepository location: 'http://ss3.gemstone.com/ss/Elasticsearch' user: '' password: '' So far it allows you to create an index, add documents, get documents by id, search using the URI Request api, and then delete the index. I made it in Pharo 1.4. I made an attempt to abstract out the HTTP client and URL stuff so it could be used with Zinc or Webclient. But right now it only works with Zinc. If someone wants it to run in Squeak sooner rather than later let me know and I can either fix it and the config or help you do it. basic usage is like this: index:= ESIndex createIndex: 'test-index'. docContent := Dictionary new. docContent at: 'message' put: 'this is the documents content'. docContent at: 'creator' put: 'Mr T'. document:=ESDocument withContent: docContent. document addToIndex:index. search:=ESURISearch index:index. search queryString:'documents'; search. search results explore. ESIndex deleteIndex:'test-index' I haven't begun implementing the QueryDSL but the ESSearch class does do the required GET with a JSON body and does work. Seems like it'd be useful to have the QueryDSL but right now I don't need more than the URI Request searching provides. It also doesn't do any of the cluster health/maintenance api yet
Re: [Pharo-project] rubric performace
Hi, I did a little experiment to check the performance of Rubric when dealing with large content. And by large, I mean 45 MB or about 15 million lines of text. I opened the file in several other editors: - TextMate: 10s + the text is wrapped and can be browsed smoothly - Sublime Text 2: 10s + the text is wrapped and can be browsed smoothly - Eclipse: 5s + browsing is very slow (so it is basically useless) thanks doru this is really interesting. How did Rubric perform: - When opened with unwrapped lines: 33s + the text can be browsed smoothly - When opened with wrapped lines - Pharo crashed :( In any case, I think being 3 times slower (even if without wrapping) than TextMate is highly exciting. Great job Alain. I think that with more ironing and optimisation it will only get better! Thanks synectique http://www.synectique.eu for sponsoring the work of Alain and releasing it MIT. If you want to reproduce the experiment, here is the Smalltalk snippet I used: --- Gofer new smalltalkhubUser: 'AlainPlantec' project: 'Rubric'; package: 'Rubric-AlainPlantec.26'; load. [ contents := ((FileSystem disk workingDirectory / 'src' / 'ArgoUML-0-34' / 'output.mse') readStreamDo: #contents). (RubLipsumBasicExample windowWithScrolledText: ( RubLipsumBasicExample new string: contents; newScrolledTextNotWrapped)) openInWorld ] timeToRun --- Cheers, Doru -- www.tudorgirba.com What we can governs what we wish.
[Pharo-project] Call for ESUG 2013 presentations
Please distribute as widely as possible :) 21st International Smalltalk Joint Conference - Call for Contributions Annecy, France from 9 to 13 September 2013 http://www.esug.org/conferences/2013/ This call includes: Developer Forum Smalltalk Technology Award International Workshop http://www.esug.org/Conferences/2013/InternationalWorkshop Student Volunteer http://www.esug.org/Conferences/2013/StudentVolunteers Camp Smalltalk 8 September 2013 -- For the past 21 years, the European Smalltalk User Group (ESUG) has organised the International Smalltalk Conference, a lively forum on cutting edge software technologies that attract people from both academia and industry for a whole week. The attendees are both engineers using Smalltalk in business and students and teachers using Smalltalk both for research and didactic purposes. As every year, this year's edition of the largest European Smalltalk event will include the regular Smalltalk developers conference with renowned invited speakers, a Smalltalk camp that proves fruitful for interactions and discussions. This year will be held the 9th edition of the Innovation Technology Awards where prizes will be awarded to authors of best pieces of Smalltalk-related projects and an international workshop on Smalltalk and dynamic languages (http://www.esug.org/Conferences/2013/InternationalWorkshop) You can support the ESUG conference in many different ways: * Sponsor the conference. New sponsoring packages are described at http://www.esug.org/supportesug/becomeasponsor/ * Submit a talk, a software or a paper to one of the events. See below. * Attend the conference. We'd like to beat the previous record of attendance (170 people at Amsterdam 2008)! * Students can get free registration and hosting if they enrol into the the Student Volunteers program. See below. Developers Forum: International Smalltalk Developers Conference We are looking for YOUR experience on using Smalltalk. You will have 30 min for presentations and 45 min for hand-ons tutorial. The list of topics for the normal talks and tutorials includes, but is not limited to the following: * XP practices, Development tools, Experience reports * Model driven development, Web development, Team management * Meta-Modeling, Security, New libraries frameworks * Educational material, Embedded systems and robotics * SOA and Web services, Interaction with other programming languages Teaching Pearls --- New this year!!! We want two news types of sessions in addition to default talk and show us your projects sessions. - Show your business 10 min session (Get prepared!!) - Teaching pearls : we want some session on how to teach some design aspects. We want your tip and tricks to teach Smalltalk or OOP. We expect to have several 10 to 15 min sessions aggregated. Open Forum: starting with Smalltalk New this year!! The event will be held at IAE Savoie Mont-Blanc - University of Savoie. This is an opportunity for students and local professionals to discover Smalltalk. A room will be freely accessible and we would like to propose some talks and workshop for Smalltalk beginners. The list of topics includes, but is not limited to the following: - Why Smalltalk ? - Panorama of Smalltalk solutions - Getting started with Smalltalk - Success stories How to submit? -- Submissions due on 15st June 2013 Notification of acceptance will be on done on the fly. More information at http://www.esug.org/conferences/2013 Pay attention: the places are limited so do not wait till the last minute to apply. Prospective presenters should submit a request to stephane.duca...@inria.fr AND USE THE following header [ESUG 2013 Developers]. Please follow the template below the email will be automatically processed! Subject: [ESUG 2013 Developers] + your name First Name: Last Name: Email where you can always be reached: Title: Type: Tutorial/Talk/Teaching Pearl/OpenForum Abstract: Bio: Any presentation not respecting this form will be discarded automatically International Workshop on Smalltalk Technologies http://www.esug.org/Conferences/2013/InternationalWorkshop Smalltalk is considered as a design pearl and as a beacon in the realm of programming languages and
[Pharo-project] Rubric questions :)
Hi alain better talk not privately :) MCHttpRepository location: 'http://www.smalltalkhub.com/mc/AlainPlantec/Rubric/main' user: '' password: ''. Why RubParagraphDecorator defines findRegex ^ next findRegex I'm trying to understand the interface of the decorator since all the decorator should have the same to be interchangeable. On self blueTextOnGrayBacgroundNotWrapped when I get the menu and change the font nothng changes. I get a DNU when I execute self withOnlyThePrimarySelection When I type the name of a class in RubMethodEditingExample open I get DNUs. more to come
Re: [Pharo-project] [squeak-dev] Xtreams's FileDirectory dependence
We are really interested by Xtreams for replacing Pharo Streams. Now we should evaluate again Xtreams. So any action that make them easier to load is welcome. On Apr 17, 2013, at 4:57 PM, Frank Shearar frank.shea...@gmail.com wrote: Xtreams depends on FileDirectory in at least three places, all in the Xtreams-Terminals package. (Three messages on FileUrl, #appending, #reading, #writing; two tests in XTFileReadingWritingTest #setUp and #tearDown) Pharo 2.0 has no FileDirectory. So it seems like the easiest (not necessarily simple, nor right) thing to is to break that out into Xtreams-Terminals-Squeak and Xtreams-Terminals-Pharo packages, and similarly for the tests. After that, we'd need to adjust the ConfigurationOfXtreams. I think I forgot to fulfil a promise to submit an updated version of this that loaded FFI correctly (sorry!). Thoughts? Do any Pharo folk load Xtreams? frank
[Pharo-project] Seabreeze users?
Hi guys I was watching again this video and I found the concepts and system really interesting. http://www.youtube.com/watch?v=wI1UcwJrJLc Does anybody use SeaBreeze? Stef
[Pharo-project] we spent couple of hours: checking comments and cleaning Athens
:) It was cool to sit and learn stuff by watching igor :). Stef
[Pharo-project] how to publish screen capture of a nice hands-on ?
Hi guys yesterday I coded a small DSL with the students here and I would like to publish it somewhere. Any idea how to proceed? Stef
[Pharo-project] draft of a videos :)
Hi guys I recorded a teaching session yesterday of how to code (2 D20 + 3 D10) roll http://stephane.ducasse.free.fr/Videos/2013-04-10-DiceDraft.mov I will redo it completely but here is a draft version. Stef
[Pharo-project] call for a deprecate code transformation
Hi guys I would love to have a transformation that take a method and generate the body to deprecate it…ie foo: aPoint body = foo: aPoint self deprecated: 'use xxx' on: 'date' in: #Pharo2.0 body so that we deprecate better method. Any takers? Stef
[Pharo-project] [update 3.0] #30034
30034 - 10177 Deprecate accept* in visitor https://pharo.fogbugz.com/f/cases/1017 Diff information: http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/FileSystem-Core-StephaneDucasse.74 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Announcements-Core-StephaneDucasse.38 Stef and Igor (from Lviv)
[Pharo-project] [update 3.0] #30035
30035 - Issue 5602: LinkedList at: index putLink: aLink https://pharo.fogbugz.com/default.asp?5602 Issue 5188-Stage 2: Announcement handlesAnnouncement: Now we use the new protocol that was introduced in previous stage. https://pharo.fogbugz.com/default.asp?5188 Diff information: http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/CollectionsTests-StephaneDucasse.592 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Announcements-Core-StephaneDucasse.39 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Collections-Sequenceable-StephaneDucasse.134
[Pharo-project] [update 3.0] #30036
30036 - Issue 5188 Stage 3: Announcement handlesAnnouncement: Cleaning after the changes. https://pharo.fogbugz.com/default.asp?5188 Move ui code of SmallDictionary to Tools package. Diff information: http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Tools-StephaneDucasse.1073 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Collections-Unordered-StephaneDucasse.153 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Announcements-Core-StephaneDucasse.40 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Announcements-Tests-Core-StephaneDucasse.12 http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Collections-Strings-StephaneDucasse.250
[Pharo-project] Syntax highlithing
Hi guys I think that we should really change the following behavior. If I have an instance variable abc when I type ab is should not be colored in red first then when I type c get black It should tell me that ab is correct and only get red when I type abx I got this behavior for the kid book. Does anybody have an idea how we can fix that? Stef
Re: [Pharo-project] Syntax highlithing
Hi guys I think that we should really change the following behavior. If I have an instance variable abc when I type ab is should not be colored in red first then when I type c get black It should tell me that ab is correct and only get red when I type abx I got this behavior for the kid book. Does anybody have an idea how we can fix that? Well it mostly depends on the parser. But the behavior you describe is pretty common in other languages. To be precise, you actually have invalid code, but you are on the way to make it valid. Yes but you have a difference between code that may be correct once you finish and one that is totally incorrect now. For the botsinc book I did it and you were always sure that you are going in the right direction. For me a solution would be a timer/delay when the syntax coloring hits in. No for me the solution is feedback that tells me continue you are on the way or stop you got it wrong now. I already did that in the past. So while you are typing it stays black, but after some 200ms pause it will give you feedback (also when you press any of: ' ,;:[]|(){}).
Re: [Pharo-project] Syntax highlithing
thanks sean! To me this is a quality change. Today I was doing a demo in front of students and I was surprised that my instance variable was getting red while I was sure it was there. Stef On Apr 10, 2013, at 3:10 PM, Sean P. DeNigris s...@clipperadams.com wrote: Stéphane Ducasse wrote I think that we should really change the following behavior... I opened an issue: 10264 Syntax Highlighting: Less red during editing https://pharo.fogbugz.com/f/cases/10264/Syntax-Highlighting-Less-red-during-editing - Cheers, Sean -- View this message in context: http://forum.world.st/Syntax-highlithing-tp4680534p4680627.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
[Pharo-project] settings: controlling the color of [ ( ….
Hi guys on my screen I can nearly nt see [ ( because the second level of hilighting is green :( In the past we could change the hilighting behavior via setting but I cannot find it anymore. To me it looks like the styles introduction broke the rest :( Screen Shot 2013-04-10 at 9.24.55 PM.pdf Description: Adobe PDF document while in the code I found: settingsOn: aBuilder systemsettings (aBuilder setting: #'Shout: Syntax Highlighting') target: self; dialog: [ self styleTableRow ]; parentName: #codeBrowsing; description: 'Syntax Highlighting As You Type: Enable syntax highlighting in browsers, debuggers and workspaces and set patterns style.'; selector: #enabled; icon: UITheme current smallConfigurationIcon; with: [ (aBuilder setting: #selectorPatternsStyle) label: 'Selector Patterns' translated; description: 'Selector patterns in method pane' translated. (aBuilder setting: #errorStyle) label: 'Syntactic error' translated; description: 'Invalid and undefined code' translated. (aBuilder setting: #argsStyle) label: 'Parameters' translated; description: 'Parameters in patterns, message sends, and blocks' translated. (aBuilder setting: #commentStyle) label: 'Comments' translated; description: 'Comments in code pane' translated. (aBuilder setting: #defaultStyle) label: 'Default' translated; description: 'Default style' translated. (aBuilder setting: #globalVarStyle) label: 'Global variables' translated; description: 'References to global variables, including classes' translated. (aBuilder setting: #instanceVarStyle) label: 'Instance/class variables' translated; description: 'References to instance and class variables' translated. (aBuilder setting: #messageSendsStyle) label: 'Message sends' translated; description: 'Message sends' translated. (aBuilder setting: #primitiveOrModuleStyle) label: 'Primitive or module' translated; description: 'Primitive or module' translated. (aBuilder setting: #primitiveTypesStyle) label: 'Primitive types' translated; description: 'Literal data' translated. (aBuilder setting: #reservedWordsStyle) label: 'Reserved words' translated; description: 'Reserved words of the Smalltalk language' translated. (aBuilder setting: #syntaxStyle) label: 'Syntax' translated; description: 'Any other syntactic element' translated. (aBuilder setting: #variableStyle) label: 'Variable' translated; description: 'Temporary variable' translated ]
[Pharo-project] Pharo resources page by J Robertson :)
Hi guys james organized his videos and this is cool to find its way: http://www.jarober.com/blog/pharoResources.ssp Stef
[Pharo-project] One SlideShare, One Youtube channel for Pharo?
Hi guys I would love to have one - slideshare for pharo presentations reachable from the web site. http://www.slideshare.net/search/slideshow?searchfrom=headerq=pharo - videos conference/presentation on Youtube http://www.youtube.com/results?search_query=pharo+stoq=pharo+stgs_l=youtube.1.0.35i39j0i10l9.10476.10844.0.12212.3.3.0.0.0.0.294.431.2j0j1.3.0...0.0...1ac.1.tZ4dv4ReBZc - lectures http://www.jarober.com/blog/blogView?content=st4u_pharo is wonderful :) http://www.jarober.com/blog/blogView?content=st4u_tools http://www.jarober.com/blog/blogView?content=st4u_pharo_net http://www.pharocasts.com What do you think? Does anybody want to take the lead for that?
Re: [Pharo-project] Global Apology
Thanks camillo Your email is great! And I found mysefl in similar situation so I can tell you that tu en sors grandi :) I would like to apologize for the rather unfriendly and loud mail I sent in response to a bugfix proposal by Igor on the mailing list. Luckily I listened to Esteban to prevent further damage. However my intervention was rude and inappropriate. You experienced an unnecessary presentation of an internal discussion that is not solved yet. Discussing and presenting it in public is counter productive and insulting. I wish to get my ongoing disagreement with Igor settled the following week to get us back into a productive and friendly environment. I'm sure you will but you have to discuss and communicate you two :) I'm convinced you have great things to achieve and I understand your frustration :) Just close the door and discuss :) camillo bruni
[Pharo-project] Big thanks for the organization of the Pharo Conf and MooseDay
Thanks again to Doru and SCG because the pharo conf was really nice and the moose day too. Stef
[Pharo-project] cleaning the PharoCollaboractive book
Hi guys I'm doing a pass on the collaborative book and in particular in the tools part. I think that we should really use this place to describe the cool library we have. Probably in the future we should generate gutenberg information from the package metadata of the published package so like that we would have an up to date description of our stack. Stef
[Pharo-project] news about the association and the consortium
Hi guys We were checking a bit the situation and this is promising :) - Consortium: 9 Members, 1 Sponsor == 20500 EUR/Year - Association: 47 Members == 4040 EUR/Year We really think that we can reach the first goal of enough money for 1 full time engineer within the next year Stef and Marcus
[Pharo-project] Thanks Sensus!! New member of the consortium
Hi guys we want to thank Sensus to be a new member of the consortium. Thanks for your trust. Stef
[Pharo-project] [update 3.0] #30016
30016 - 10168 Spec new layout management https://pharo.fogbugz.com/f/cases/10168 Diff information: http://smalltalkhub.com/#!/~Pharo/Pharo30/diff/Spec-Layout-StephaneDucasse.33 Stef ;)
[Pharo-project] Looking for a Seaside 3.1 Configuration for Pharo 2.0
Hi guys we would like to use seaside to validate the VM and also make sure that Seaside31. works perfectly in Pharo2.0. I saw that some of you have a working configuration. Where can we find it because we would like to publish it in the MetaRepoForPharo20. Stef
Re: [Pharo-project] Some issues with UDP sockets in Pharo 1.4/Pharo 2.0
I passed your mail to noury and luc because they got a lot of trouble with the socket code. On Mar 26, 2013, at 12:12 PM, Holger Hans Peter Freyther hol...@freyther.de wrote: Hi, I am porting a tooling class that I wrote on GST for my SIP and MGCP code to Pharo. This class will create a socket and then fork a RX and TX process. I have some issues with 'stopping' the socket. I have created an example that shows the issue in Pharo 2.0 and Pharo 1.4 with the pharovm (and to have more debug output with a re-compiled one). | s rx | s := Socket newUDP. rx := [ [s waitForData. s halt] on: ConnectionClosed do: [ s halt] ] fork. Wait for the process to hit the readSemaphore (Delay forSeconds: 3) wait. s close. My expectation is that I will get the ConnectionClosed signal or at least that #waitForData will return once the socket is closed. This is based on reading the comment of #waitForData. The Socket#waitForData documentation reads like this: Wait for data to arrive. This method will block until data is available or the socket is closed. If the socket is closed a ConnectionClosed exception will be signaled. I had a look at the socket plugin and the following is happening. First aio is disabled, the state set to ThisEndClosed, then ::close is called and in the above case the result is '0' and the following code will be executed: else if (0 == result) { /* close completed synchronously */ SOCKETSTATE(s)= Unconnected; FPRINTF((stderr, closeConnection: disconnected\n)); SOCKET(s)= -1; } this means that my 'rx' process will happily wait on the readSemaphore of the Socket and will never be woken up. My question are probably: 1.) Is this the intended behavior for Socket#close and Socket#waitForData? 2.) How should I terminate my RX process? kind regards holger PS: The issue is probably socket specific and not related to UDP.
Re: [Pharo-project] [3.0] 9 issues need reviews
On Mar 26, 2013, at 8:38 AM, Marcus Denker marcus.den...@inria.fr wrote: On Mar 25, 2013, at 8:29 PM, Marcus Denker marcus.den...@inria.fr wrote: On Mar 24, 2013, at 7:23 PM, Marcus Denker marcus.den...@inria.fr wrote: Hi, Even with the integrations of saturday, there was a lot done that need attention: https://pharo.fogbugz.com/f/filters/22/3-0-Integration 6 are ready to be integrated, 9 need a code review. now 15 issues need a review. now 18 issues need a review. How do I see them? Because right now I do not see anything just a long list of issues tagged with if time permits.
Re: [Pharo-project] [3.0] 9 issues need reviews
marcus we should change the first list of bugs because - there are far too many options in the filter - we should propose a categorisation It took me 10 min to find how I can et the list of issue that have been resolved. Stef Hi, Even with the integrations of saturday, there was a lot done that need attention: https://pharo.fogbugz.com/f/filters/22/3-0-Integration 6 are ready to be integrated, 9 need a code review. now 15 issues need a review. now 18 issues need a review. Marcus
[Pharo-project] how can I move an issue from resolved to work needed?
for example 10071
[Pharo-project] Fwd: Some question and request for Athens
Begin forwarded message: From: Tristan Bourgois tristan.bourg...@gmail.com Subject: Some question and request for Athens Date: March 25, 2013 11:45:31 AM GMT+01:00 To: Igor Stasenko siguc...@gmail.com Cc: Stéphane Ducasse stephane.duca...@inria.fr, LE PORS Eric eric.lep...@fr.thalesgroup.com Hi Igor! I have some questions and request for Athens :) 1 Do exist a possibility in Athens to draw a Surface on a Surface? For example : aSurf drawSurface: anOtherSurface at: aPosition (I need it for draw image on a surface) 2 About my first question, I try to draw a png image on a Surface and I get some strange behavior. When nothing is applied on my first surface and draw the image in a rectangle path I crash the VM! This an example I tried and crash my VM: |surf pharoLogo ref path patternPaint| surf := AthensCairoSurface extent: 600@600. ref := 'pharo.png' asFileReference. pharoLogo := AthensCairoSurface createFromFile: ref fullName ifFailed:[nil]. surf drawDuring: [:can| surf clear. patternPaint := can setPaint: pharoLogo. patternPaint setExtend: #None. can drawShape: (0@0 extent: pharoLogo extent). ]. Display getCanvas drawImage: surf asForm at: 0@0. If you need more information about the crash and my environment ask it :) 3. Do exist something in Athens to create some text and get the extent of the text? I tried to draw text but I only succeed to draw a text without font (only width) and I don't found how to get the extent of this text :( This is really important for the next of the porting because I'm blocking on that and the textModel is not necessary for the next of my work because they already have a layoutManager for the text. Thanks Igor :) Tristan PS: The porting advance as well :) I have animation and that's really amazing :)
[Pharo-project] Fwd: Some question and request for Athens
Begin forwarded message: From: Igor Stasenko siguc...@gmail.com Subject: Re: Some question and request for Athens Date: March 25, 2013 2:57:33 PM GMT+01:00 To: Tristan Bourgois tristan.bourg...@gmail.com Cc: Stéphane Ducasse stephane.duca...@inria.fr, LE PORS Eric eric.lep...@fr.thalesgroup.com On 25 March 2013 11:45, Tristan Bourgois tristan.bourg...@gmail.com wrote: Hi Igor! I have some questions and request for Athens :) 1 Do exist a possibility in Athens to draw a Surface on a Surface? For example : aSurf drawSurface: anOtherSurface at: aPosition (I need it for draw image on a surface) yes. You can use Forms or surfaces as paints so they act like 2D textures: canvas setPaint: someSurface. canvas drawShape: myRect. 2 About my first question, I try to draw a png image on a Surface and I get some strange behavior. When nothing is applied on my first surface and draw the image in a rectangle path I crash the VM! This an example I tried and crash my VM: |surf pharoLogo ref path patternPaint| surf := AthensCairoSurface extent: 600@600. ref := 'pharo.png' asFileReference. pharoLogo := AthensCairoSurface createFromFile: ref fullName ifFailed:[nil]. surf drawDuring: [:can| surf clear. patternPaint := can setPaint: pharoLogo. patternPaint setExtend: #None. can drawShape: (0@0 extent: pharoLogo extent). ]. Display getCanvas drawImage: surf asForm at: 0@0. If you need more information about the crash and my environment ask it :) weird... it should be working fine. 3. Do exist something in Athens to create some text and get the extent of the text? I tried to draw text but I only succeed to draw a text without font (only width) and I don't found how to get the extent of this text :( This is really important for the next of the porting because I'm blocking on that and the textModel is not necessary for the next of my work because they already have a layoutManager for the text. You can use freetype to measure text extent. Please look how i doing it with AthensTextScanner. Because the default methods of freetype using rounding for font size(s), which is not really nice. I added more precise methods, which do not do any rounding and using them for measuring text extent. Try this: text := 'asdsdgs' asText. lines := (AthensTextComposer scan: text for: AthensTextScanner new) lines. lines first width. will give you the width. (but for that to work, your default font should be TTF font) Thanks Igor :) Tristan PS: The porting advance as well :) I have animation and that's really amazing :) -- Best regards, Igor Stasenko.
[Pharo-project] looking for media to illustrate one important idea :)
Hi guys I'm looking for a video, slides… to convey one key point: making pharo requires thousands of tiny, annoying, tedious tasks (like tagging a bug, checking a bug in the vm, …). I would like to be able to explain that these steps are not happening magically, but that some guys are doing them and that we all benefit from them. So if you have an idea of media that I could use. I was thinking for example to all the steps that you should do to verify your equipment before a long trip in moutain but this is not really good enough. Stef
Re: [Pharo-project] one-click is dead, now we have platform specific builds
On Mar 24, 2013, at 10:43 AM, Marcus Denker marcus.den...@inria.fr wrote: On Mar 24, 2013, at 10:40 AM, Sean P. DeNigris s...@clipperadams.com wrote: Mark Bestley wrote For OSX what should probably happen is that the image is saved to ~/Library/Application Support That doesn't sound right to me. How about the use case where I have a portable image on a USB stick? I don't want to make a local copy of the image, just run it. I get putting the VM in a shared predictable location, but why the image? How does one then keep multiple Pharo 2.0's on the same computer? We will not do it like this. What is planned is that the Pharo installation contains a template (read only). When you open the template, it will ask you to save the image to your home directory. Images are like documents, it should be very easy to have a lot of them. why should we decide where people should put them. I put the images where I want them to be. I should write down what is the plan… sadly I have too much else to do, so this will take a while. Marcus
Re: [Pharo-project] [Pharo-users] [ANN] Phratch: Scratch on Pharo2.0
On Mar 24, 2013, at 8:56 PM, jannik.laval jannik.la...@gmail.com wrote: Hi Pharoers, I am porting Scratch and BYOB on Pharo 2.0. The name of the project is Phratch. To begin, I took Scat (a port of Scratch on Pharo1.3) and modify it to make it work on Pharo 2.0. For that I integrated FileSystem. Then, I took BYOB and port it in the project. Excellent! I have some bugs, but the main features are working. The main issue is that it is slow. I will investigate that too. The goal for me is to use it for teaching software engineering and robotics. I hope to use Phratch and Pharo 2.0 to create new features. The project is on SmalltalkHub, and a google code page is available, mainly for reporting issues: https://code.google.com/p/phratch/ To download Phratch, just run this code: Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main'; package: 'ConfigurationOfPhratch'; load. (Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge. I loaded it using the pharo20 one click. But it does not work. Apparently got blocked in WeakSet something. Loading NScratch…. I reloaded. And it seems ok. How do we open Scratch? Stef Esteban it got blocked in this method. initialize: aString We fill RPackageSet with a collection of matching RPackage. Since this is accessed a lot of times, we optimized the code for speed on resolution, and now we have what you see. This code should be something like this: packageName := aString. packages := RPackageOrganizer default packages select: [ :each | each name = packageName or: [ each name beginsWith: packageName, '-' ] ] sadly, that's incredible slow, so, we changed. BEWARE: Don't change this code without paying attention to speed. | size separatorIndex first | self initialize. packageName := aString asSymbol. size := packageName size. first := packageName at: 1. separatorIndex := size + 1. packages := RPackage organizer packages select: [ :each | | eachSize | eachSize := each name size. (size == eachSize and: [ packageName == each name ]) or: [ eachSize size and: [ (((each name at: separatorIndex) == $-) and: [ (each name at: 1) == first ]) and: [ (each name beginsWith: packageName) ] ] ] ]
[Pharo-project] New consortium member: Thanks a lot High Octane!
We are really happy to announce that High Octane is a new member of the consortium. Thanks a lot for your trust, Philippe! http://www.highoctane.be/sections/vision.html Stef for the Pharo community!
[Pharo-project] where is the inbox for 3.0?
Re: [Pharo-project] Running tests on 2.0 and first impression
Publishing diffs to the mailing list certainly works great for Squeak. Squeak's commit rate is rather less than Pharo's, so it might be too much... but the easiest way to find that out is just switching the diff publishing on and seeing how people feel. Yes I thought about that too. especially since 3.0 will be again a strong release. Stef
[Pharo-project] Log of the retrospective analysis from Pharo 2.0
Hello happy pharoers Since Pharo2.0 will be released pretty soon, we led a retrospective analysis to learn and improve our process. Here are the notes taken by clement from the meeting led by esteban with all the team here. Pharo 2.0 Retrospective meeting by Esteban Lorenzo The Good BugTracker as Backlog Sprint / mini - sprint / pair programming Locking changes before release Community getting involved Web doc jenkins : the monkey, zeroconf script Smalltalkhub The Bad Trello We need a place to backlog what to do. We should use the FogBugz bug tracker Long development cycle (1 year), Focus problem : most things works but are not finished We should have a 1 to 2 months cycle with a part where we introduce new things and a part where we only fix bugs. At the end of each cycle, Pharo should be stable. Each cycle should have a retrospective meeting. We should pair program every friday afternoons on Pharo improvements. New failing test in Jenkins, Red builds on jenkins stayed forever We need a clear separation between pharo and pharo contribution both on smalltalk hub and Jenkins to have a clean green front end to show to end users In case of a red build, we need a quick meeting to pick someone to fix it. We need to fix the red builds on the friday' mandatory mini sprint Integrator bottleneck More intelligent monkey better tools (spec tool idea from Esteban where you just click accept and the slce is integrated) New features accepted only with tests and comments Only slices accepted no more change sets Pointless discussions on the mailing list Documentation : class comments, ... do not integrate undocumented features add code critics features in the monkey change the template of the class comment The Ugly 2 weeks lost : broken image during ESUG 2 weeks lost : beginning of the year : no VM working, jenkins couldn’t test things. - we will staged development. Communication failed : team and community For new features, send more mails to the Pharo or RMOD mailing list and less to the RMOD mailing list or private mails between few people Infrastructure VM : stability Stability : 1 VM release per Pharo release. 1 official Vm which is not just some VM from a build. Stability : VM not release if an acceptance list does not work with the VM. The acceptance list is for now all the Pharo core, seaside and Moose
[Pharo-project] the PharoTeam right now
http://www.pbase.com/giancarlob/image/91276919 or kind of :) Meteo France called the 25 cm of snow falling on us a remarkable event. the last bite of winter is bitting us hard :) Stef
[Pharo-project] some little aif files
Hi guys the sound system requires to have some sounds loaded in the sound library. Befre it was croak, swirl…. Now since the files used to create the objects are probably gone from age, I would like to find some little aif files that we can load in the system. does anybody have an idea of where I can find such aif free files? I could serialize the objects from the squeak image but I do not know if this is a good idea. Stef
[Pharo-project] about communication and collaboration
Dear Pharoers last january I visited another lab and I realised that the Pharo Team was not good at systematically telling what we were doing. I got quite frustrated by that situation, especially because we are working hard to build a better system. So we brainstormed when I came back and we want to apply the same ideas that what we do for our research team. For our research team every monday we get a simple mail that tell us to say to the others what we did and what we plan to do. Simple, easy. Then after people of the rmod team can discuss if they want more. We want to do the same with pharo. Often this is not that we are not doing things. Often we are doing boring, tedious stupid but $^%*^ important tasks and we want that you know it. In addition we want to share on what we are weekly working. So that you can be more engaged to join and collaborate with us. So we will launch an experience and see. For now we will send a notification every two weeks. the Pharo Team
Re: [Pharo-project] Getting SoundRecorder to work: how?
did you try with the new Sound configuration I just published on SmalltalkHub? On Mar 12, 2013, at 5:11 PM, p...@highoctane.be wrote: sr := SoundRecorder new. sr startRecording. sr stopRecording. sr playback. doesn't seem to do anything properly and gives me a DNU inside the playback... Clues? Phil
Re: [Pharo-project] access to pharoextras repository
Hi doru I addressed your point in XMLParser XMLWriter OPAX Pastell Soup and I will pay attention that default always load the tests too. Stef
Re: [Pharo-project] access to pharoextras repository
I added a section with this discussion to the Metacello chapter :) Stef On Mar 10, 2013, at 1:33 AM, Ben Coman b...@openinworld.com wrote: stephane ducasse wrote: That is why, either we explicitly put the 'Tests' group in the 'default' group, - I would go for this behavior because I do not like implicit behavior when this is about configuration and I will start to write comments in all the configurations default is used when nothing is specified by default it will load everything but better specify what everything is So once we agree I will start editing configurations like a mad. Stef In you book chapter about Configurations you might hint why it is preferred to include Tests in default. For me... * people fresh to the package get some examples. * encourages new tests to be added. Having to find load a 'Tests' group at a later time would be an impediment to this. You might also consider a convention for an 'Examples' group.
Re: [Pharo-project] WhatsUp from: 2013-03-11 until: 2013-03-24
On Mar 12, 2013, at 9:04 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, First of all, I think this is a very cool initiative. thanks I really hope that it will improve our sharing and community building :) Stef ### Here's what I've been up to since the last WhatsUp: - Working on getting Moose to work on Pharo 2.0 - Extended (and documented) the CommandLineHandler to run multiple tests based on context specific requirements - Attracted sponsors for PharoConf + MooseDay to make the event free to attend - Annoyed people with requests for giving talks and tutorial at PharoConf + MooseDay - Brainstormed and reviewed with Andrei around a very cool (really :)) and modular debugger model ### What's next, until 2013-03-24 (*): - $NEXT_STEPS_TOWARDS_WORLD_DOMINATION (*) we'll be expecting results by then ;) - Find a solution for running Moose on a Pharo 2.0-compatible VM - Organize the PharoConf + MooseDay Cheers, Doru -- www.tudorgirba.com Things happen when they happen, not when you talk about them happening.
[Pharo-project] Help with MenuMorph
HI guys I'm trying to fix all the sound interface for 2.0 and I got trapped into MenuMorph. How do I schedule a menu and get its selected value? I have to convert code like the following one. | aMenu sz on | aMenu := MenuMorph new title: ('FFT size (currently {1})' translated format:{fft n}). ((7 to: 10) collect: [:n | 2 raisedTo: n]) do: [:r | aMenu add: r printString action: r]. sz := aMenu popUpInWorld. ^ how can I get the selected value? sz ifNil: [^ self]. on := soundInput isRecording. self stop. fft := FFT new: sz. self resetDisplay. on ifTrue: [self start].
[Pharo-project] Menu :)
I'm sure that we can do better... popUpAt: aPoint forHand: hand in: aWorld allowKeyboard: aBoolean Present this menu at the given point under control of the given hand. | evt | aWorld submorphs select: [ :each | (each isKindOf: MenuMorph) and: [each stayUp not]] thenCollect: [ :menu | menu delete]. self items isEmpty ifTrue: [^ self]. (self submorphs select: [:m | m isKindOf: UpdatingMenuItemMorph]) do: [:m | m updateContents]. self layoutItems. precompute width self positionAt: aPoint relativeTo: (selectedItem ifNil: [self items first]) inWorld: aWorld. aWorld addMorphFront: self. Acquire focus for valid pop up behavior hand newMouseFocus: self. aBoolean ifTrue: [hand newKeyboardFocus: self]. evt := hand lastEvent. (evt isKeyboard or: [evt isMouse and: [evt anyButtonPressed not]]) ifTrue: [Select first item if button not down self moveSelectionDown: 1 event: evt]. self updateColor. self changed
[Pharo-project] completion blocking ;)
I typed on: then tab and I get on:send:to: now I want on:send:to:value: so I move down but tab does not let me pick it. Stef Screen Shot 2013-03-10 at 9.52.06 AM.pdf Description: Adobe PDF document
[Pharo-project] MorphicEventHandler behavior.
Hi fernando May be you know more than me on MorphicEventHandler. Gofer new squeaksource: 'PharoNonCorePackages'; package: 'Sound'; package: 'SoundMorphicUserInterface'; load. While trying to make PianoKeyboardMorph new openInWorld (which works in 1.4 and does not in 20). It breaks here: - mouseUpPitch: pitch event: event noteMorph: noteMorph noteMorph color: ((#(0 1 3 5 6 8 10) includes: pitch \\12) ifTrue: [whiteKeyColor] ifFalse: [blackKeyColor]). soundPlaying ifNotNil: [soundPlaying stopGracefully]. pitch is nil because notify:from: uses valueParameter which is nil. - mouseUpPitch is invoked by notify: anEvent from: sourceMorph which is invoked by notifyMorphsOfEvent: anEvent ofType: eventType from: sourceMorph notify: anEvent from: sourceMorph | arity | recipient ifNil: [^ self]. arity := selector numArgs. arity = 0 ifTrue: [^ recipient perform: selector]. arity = 1 ifTrue: [^ recipient perform: selector with: anEvent]. arity = 2 ifTrue: [^ recipient perform: selector with: anEvent with: sourceMorph]. arity = 3 ifTrue: [^ recipient perform: selector with: valueParameter with: anEvent with: sourceMorph]. ^^^ self error: 'Event handling selectors must be Symbols and take 0-3 arguments' notifyMorphsOfEvent: anEvent ofType: eventType from: sourceMorph | result | result := false. ((subscriptions includesKey: eventType) not or: [ (subscriptions at: eventType) isEmpty ]) ifTrue: [ ^false ]. (subscriptions at: eventType) do: [ :s | result := result | ((s notify: anEvent from: sourceMorph) == true) ]. ^ ^result The idea is that morphs get notified when a certain event occurs so when we look at the morph creation and event registry we get: The buildKeyboard create morph and define event with a given value that will be used on: #mouseDown send: #mouseDownPitch:event:noteMorph: to: self withValue: i-1*12 + (#(2 4 7 9 11) at: j) below: buildKeyboard | wtWid bkWid keyRect octavePt nWhite nBlack | self removeAllMorphs. wtWid := 8. bkWid := 5. self extent: 10@10. 1 to: nOctaves+1 do: [:i | i = nOctaves ifTrue: [nWhite := 7. nBlack := 5] ifFalse: [nWhite := 1. nBlack := 0 High C]. octavePt := self innerBounds topLeft + ((7*wtWid*(i-1)-1) @ -1). 1 to: nWhite do: [:j | keyRect := octavePt + (j-1*wtWid@0) extent: (wtWid+1)@36. self addMorph: ((RectangleMorph newBounds: keyRect color: whiteKeyColor) borderWidth: 1; on: #mouseDown send: #mouseDownPitch:event:noteMorph: to: self withValue: i-1*12 + (#(1 3 5 6 8 10 12) at: j))]. 1 to: nBlack do: [:j | keyRect := octavePt + ((#(6 15 29 38 47) at: j)@1) extent: bkWid@21. self addMorph: ((Morph newBounds: keyRect color: blackKeyColor) on: #mouseDown send: #mouseDownPitch:event:noteMorph: to: self withValue: i-1*12 + (#(2 4 7 9 11) at: j))]]. self submorphsDo: [:m | m on: #mouseMove send: #mouseMovePitch:event:noteMorph: to: self; on: #mouseUp send: #mouseUpPitch:event:noteMorph: to: self; on: #mouseEnterDragging send: #mouseDownPitch:event:noteMorph: to: self; on: #mouseLeaveDragging send: #mouseUpPitch:event:noteMorph: to: self]. self extent: (self fullBounds extent + borderWidth - 1) Now I can understand that #mouseDownPitch:event:noteMorph: get notified with a value because this is what is written. But I do not get why this would be the case with #mouseUpPitch:event:noteMorph: since we simply get on: #mouseUp send: #mouseUpPitch:event:noteMorph: to: self; And I do not get why this was working in 1.4
[Pharo-project] what do we do with SoundService?
Hi guy Sound has an AbstractSoundSystem and a Base and Dummy. Then in addition there is SounService. SoundService is not doing much soundEnabled ^ self defaultSoundEnabled defaultSoundEnabled ^DefaultSoundEnabled ifNil: [false] toggleSoundEnabling self soundEnabled: self soundEnabled not So we could just keep AbstractSoundSystem and deprecate SoundService. Stef
Re: [Pharo-project] [Pharo-users] [squeak-dev] GSoC13: Google Summer of Code started, your ideas please!
=== UIPainter === Level: advanced Possible mentor: Stéphane Ducasse Possible second mentor: Esteban Lorenzano Description: The purpose is to offer a way to easily describe and create UI using a point and click interface. This interface should be extendable, as well as the widget proposed. The Painter should also propose a simple way to link widgets together, and to locally redefine behaviours. Technical Details: using Spec, the UIPainter should be able to generate the needed methods (and Layouts). The UI corresponding class could also be generated. Benefits to the Student: A deep understanding of UI creation. A good set of knowledges about widgets interactions. The students will also benefits of an understanding of Spec at all the levels. Benefits to the Community: The community will benefit of a new tool for generating UIs easily using the new platform independent UI framework. A UIPainter will help developers by improving the widgets reuse and simply the process of UI creation. === Spec platform/framework Independence === Level: intermediate Possible mentor: Stéphane Ducasse Possible second mentor: Nicolas Petton Description: The goal is to improve and ensure the platform independence of Spec. Indeed, one of Spec goals is to generate widgets on multiple UI rendering framework (Morphic, Seaside, etc). The student could improve Spec by providing a set of widgets for multiple framework, and ensure the usability of Spec in different Smalltalk dialect. Technical Details: Currently running only in Pharo, Spec should be able to be used easily on Squeak. One interesting target is to be able to use it in Amber by example. Benefits to the Student: the student will acquire knowledge and experience about different Smalltalk implementation. He will also experience different UI framework, and trough Spec how widgets interact with each others. Benefits to the Community: The community will benefit of the coolness of Spec, and will also have a single way to define UIs regardless of the framework used to render them. === Nautilus In Spec === Level: intermediate Possible mentor: Stéphane Ducasse Possible second mentor: Benjamin Van Ryseghem Description: Nautilus is the new default browser for Pharo3.0. But because the UI is fully platform dependent, it can not be used in other dialects (contrary to OB by example). The goal is to migrate the entire Nautilus UI to a Spec based version, ti be able to export Nautilus. Technical Details: Currently Nautilus is fully written using Morphic (and even have its own morphic widgets). The idea is to redefine the existing UI using Spec, rethink the way interaction between sub widget is done, and provide a way to statically describe Nautilus UI. Benefits to the Student: the student will acquire knowledge about Morphic. He will also learn how Spec is working and its mechanisms for event propagation as well as widget static description. He will also learn how to define new Spec widgets and how to link them to already existing Morphic widgets. Benefits to the Community: The community will benefit of a more modular UI for Nautilus (since every one can then specify its one Nautilus UI), as well as a browser which may be used in different dialects. ===
Re: [Pharo-project] [Pharo-users] [squeak-dev] GSoC13: Google Summer of Code started, your ideas please!
Janko I sent some topics now I think that it would be better to edit directly the web site because else somebody will have to do it again. So if you need I can edit directly a form. Stef Hi Stef, Post on the mailing list for each project idea by following this template: Level: (beginner, intermediate, advanced) Possible mentor: Possible second mentor: Description Technical Details Benefits to the Student Benefits to the Community Best regards Janko Dne 09. 03. 2013 13:46, piše stephane ducasse: Hi janko How do you want to proceed for the topics? I have a list of topics now where do we write them. - tool support rewrite rules - new generation debugger - new change model and session manager (with martin dias) - improving roassal (with alexandre bergel et vanessa pena) - improving eyesee (with alexandre bergel et vanessa pena) - support touch event - UIPainter (with esteban lorenzano) - New widgets Stef Dear Smalltalkers, Time for your cool project ideas on this year Smalltalk GSoC! For now just express any idea you have here on the mailing list. Later we will together develop it to be in complete format together with two mentors needed. Deadline is end of Mart, so we have three weeks of time. To see how fully developed ideas look like please look at 2012 ones at: http://gsoc2012.esug.org/ideas. Note also that students yourselves can propose a GSoC project. So if you like to be a student on this year GSoC and have a nice idea, don't be shy and propose it here! The community will listen you and guide to the really nicely proposed project. Last year 6 student proposed projects were accepted and finished successfully! For the community, start looking around for students. Think about how to approach the universities near by you, do you know who to contact there, etc. We are namely preparing an application to this year Smalltalk Google Summer of Code under ESUG umbrella, as last year. If accepted, Google will pay few stipendiums to students on our Smalltalk projects. More on our special Smalltalk GSoC 2013 website: http://gsoc2013.esug.org I'm specially inviting mentors of all past GSoCs to rejoin the mentors mailing list, where we discuss all details about this year GSoC: http://groups.google.com/group/smalltalk-gsoc-mentors While students interested on GSoC please join a special Smalltalk GSoC mailing list for you: http://groups.google.com/group/smalltalk-gsoc-students Best regards Janko -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
[Pharo-project] Deprecating MetaRepoForPharo13
Hello Pharoers I suggest that we deprecate MetaRepoForPharo13 on squeaksource. We can either turn it as private or at least readonly. What do you think? I like cleaning…. Stef
[Pharo-project] is the latest Pharo VM beep enabled?
Hi Beeper primitiveBeep but I do not get any sounds. primitiveBeep Make a primitive beep. Not to be called directly. It is much better to use Beeper classbeep or Beeper classbeepPrimitive since this method bypasses the current registered playable entity and does not check SoundSettings classsoundEnabled. primitive: 140 self primitiveFailed Stef
[Pharo-project] Pharo consultants
Hi guys I just got a nice chat with a cool Pharo expert (Mariano) that is doing consulting and development around Pharo and this is a cool feeling to know that smart guys in our community can find nice jobs that keeps them busy in Pharo. I think that we should market the community much more, because I think that this is important for other companies to know that they can find help with really talented people in our community. May be we should make more noise around: Pharo: a community with smart developers for cool business Stef
[Pharo-project] We should send the call for presentation for ESUG
so what is the status for the registration server? Stef
Re: [Pharo-project] [update 2.0] #20578
On Mar 5, 2013, at 9:53 AM, Pavel Krivanek pavel.kriva...@gmail.com wrote: Hi, the problem is that you have added the new dependency on RPackage to the Kernel, namely to ClassDescriptionaddAndClassifySelector:withMethod:inProtocol:notifying:. I think that RPackage should be in the core and we should remove categories. And UsersManager should not be in the image. I solved it with a next little hack in the loading script but we should rethink the role in RPackage in the kernel. And I think we should make our beta policy stricter to avoid serious changes like this and UsersManager integration in the beta stage. Cheers, -- Pavel On Sat, Mar 2, 2013 at 11:26 AM, Pavel Krivanek pavel.kriva...@gmail.com wrote: This update broke some Pharo Kernel jobs. I will look at it later. -- Pavel On Fri, Mar 1, 2013 at 3:16 PM, Esteban Lorenzano esteba...@gmail.com wrote: 20578 - Issue 7617: make NBExternalEnumeration a subclass of SharedPool again https://code.google.com/p/pharo/issues/detail?id=7617 Issue 7605: moving a method into an extension does not notify the monticello package https://code.google.com/p/pharo/issues/detail?id=7605 Issue 7590: Kill MC History Data (8MB of the image...) https://code.google.com/p/pharo/issues/detail?id=7590 Issue 7553: tons [delaySemaphore wait] process alive in image https://code.google.com/p/pharo/issues/detail?id=7553 (this one for check if it is fixed) Diff information: http://ss3.gemstone.com/ss/Pharo20/NativeBoost-Core-EstebanLorenzano.116.diff http://ss3.gemstone.com/ss/Pharo20/Kernel-EstebanLorenzano.1324.diff
Re: [Pharo-project] XML-Support red tests
Apparently in 1.2.1 the following method works for 1 5 #(1 2 3 4 5) 1 replaceFrom: start to: stop with: replacement startingAt: repStart An ordered collection is growable, so a call to this can make the collection grow. self makeRoomFor: (stop - self capacity). array replaceFrom: start + firstIndex - 1 to: stop + firstIndex - 1 with: replacement startingAt: repStart. lastIndex := lastIndex max: stop + firstIndex - 1. but not in 1.4, 2.0 where the code is replaceFrom: start to: stop with: replacement startingAt: repStart This destructively replaces elements from start to stop in the receiver starting at index, repStart, in the sequenceable collection, replacementCollection. Answer the receiver. No range checks are performed. | index repOff | repOff := repStart - start. index := start - 1. [(index := index + 1) = stop] whileTrue: [self at: index put: (replacement at: repOff + index)] at: anInteger put: anObject Put anObject at element index anInteger. at:put: cannot be used to append, front or back, to an ordered collection; it is used by a knowledgeable client to replace an element. self ensureBoundsFrom: anInteger to: anInteger. ^array at: anInteger + firstIndex - 1 put: anObject ensureBoundsFrom: fromIndex to: toIndex (fromIndex 1) ifTrue: [^self errorSubscriptBounds: fromIndex]. (toIndex + firstIndex - 1 lastIndex) ifTrue: [^self errorSubscriptBounds: toIndex]. On Mar 3, 2013, at 9:10 AM, stephane ducasse stephane.duca...@free.fr wrote: Apparently they were green in in 1.2.1. This clearly shows why we need automated tools for that. Stef On Mar 2, 2013, at 10:16 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi XML-support has two red tests in Pharo 1.4 and Pharo2.0. Does anybody know if they were one day green? I do not want to put on the CI server something red. I will check on 1.3 to see if worked. Stef
[Pharo-project] about OrderedCollection new replaceFrom: 1 to: 5 with: #(6 7 8 9 10) startingAt: 1
Hi guys in 1.2.1 OrderedCollection new replaceFrom: 1 to: 5 with: #(6 7 8 9 10) startingAt: 1 gave an OrderedCollection(6 7 8 9 10) while in 1.4 and 2.0 OrderedCollection new replaceFrom: 1 to: 5 with: #(6 7 8 9 10) startingAt: 1 raised an error Do you have an idea how I can handle that? Because XMLObservableList and XMLOrderedList implements replaceFrom: to: with: startingAt: because there is no self makeRoomFor: (stop - self capacity) invocation. in 1.4 replaceFrom: start to: stop with: replacement startingAt: repStart This destructively replaces elements from start to stop in the receiver starting at index, repStart, in the sequenceable collection, replacementCollection. Answer the receiver. No range checks are performed. | index repOff | repOff := repStart - start. index := start - 1. [(index := index + 1) = stop] whileTrue: [self at: index put: (replacement at: repOff + index)] at: anInteger put: anObject Put anObject at element index anInteger. at:put: cannot be used to append, front or back, to an ordered collection; it is used by a knowledgeable client to replace an element. self ensureBoundsFrom: anInteger to: anInteger. ^array at: anInteger + firstIndex - 1 put: anObject in 1.2.1 replaceFrom: start to: stop with: replacement startingAt: repStart An ordered collection is growable, so a call to this can make the collection grow. self makeRoomFor: (stop - self capacity). array replaceFrom: start + firstIndex - 1 to: stop + firstIndex - 1 with: replacement startingAt: repStart. lastIndex := lastIndex max: stop + firstIndex - 1.
[Pharo-project] why cmd-M on a class is not equal to cmd-B
Hi guys this is at least two times that I reimplement this behavior why cmd-b on a symbol is not equal to cmd-m why cmd-m on a class name is not equal to cmd-b so boring…. this idea that there is a difference between implementor and browse is plain bad. Stef
[Pharo-project] about run tests from nautilus
Hi ben I do not know if you saw this behavior but when I press the button on the class of a test methods that are not tests are also executed and reported as failures. For example I got XMLNodeTestshould: aBlock enumerate: aCollection | enumerated | enumerated := OrderedCollection new. aBlock value: [:each | enumerated add: each]. self assert: enumerated = aCollection asOrderedCollection. executed while it is an helper. With the testrunner I get a class with 100% green tests now. but not with nautilus. Stef
[Pharo-project] About XMLParser
Hi I saw that some change in the XML parser were commited on the gemstone repository. Does it means that this is only for gemstone? Should I take take of them in the new ConfigurationOfXMLParser I'm building? I cannot test gemstone so I'm dealing with it right now. still I was wondering if some of the changes should be push in the main branch or not. Stef
[Pharo-project] About development on symbolic versions
Hi dale for pharo 3.0 alpha I want the following setup. I want to monitor all the pharo-contribution using jenkins. So is there a pattern to make sure that at the same time I can load the stable version of the project on 2.0 but the development baseline for the 3.0 (which may match the 20 if no change are made)? for example for XMLParser I have stable: spec symbolicVersion: #'stable' spec for: #'common' version: '1.1'. now what should I write for development? development: spec symbolicVersion: #'development' spec for: #'common' version: Thanks
[Pharo-project] XMLParser green bar on ci.inria.fr/pharo-contribution
Hi guys so we have a first version of XMLParser migrated to SmalltalkHub and with tests running on our cool integration server. http://ci.inria.fr/pharo-contribution I will continue with OPAX/Pastell and migrate SOUP to use this new version of XMLParser. Stef
[Pharo-project] Pastell is now migrated to SmalltalkHub and has a nice CI job
Hi guys Pastell is now migrated to SmalltalkHub and has a nice CI job https://ci.inria.fr/pharo-contribution/ Did I said that I love continuous integration :). So col
[Pharo-project] about method lookup
Hi I'm rethinking about my objvlisp lecture. In this lecture I'm talking about building the objVlisp kernel in Smalltalk. Now everything is working well except the error handling when a method is not found with different arguments than the original. Methods are represented with blocks having different number of arguments. I have several send messages (I should simplify this in the future) -- binarySend: selector with: argument send the message whose selector is selector to the receiver. The arguments of the messages are an argument. The method is lookep up in the class of the receiver. self is an objObject or a objClass. | ans | ans := (self objClass lookup: selector for: self) value: self value: argument. ^ ans send: selector withArguments: arguments send the message whose selector is selector to the receiver. The arguments of the messages are an array arguments. The method is lookep up in the class of the receiver. self is an objObject or a objClass. | ans | ans := (self objClass lookup: selector for: self) valueWithArguments: (Array with: self) , arguments. ^ ans lookup is as simple as -- lookup: selector for: anObjObject look for the method named selector starting in the receiver. The lookup is done for a message sent to anObjObject. self is an objClass ^(self doesUnderstand: selector) ifTrue: [ self bodyOfMethod: selector] ifFalse: [self objName = #ObjObject ifFalse: [ (Obj giveClassNamed: self objSuperclassId) lookup: selector for: anObjObject.] ifTrue: [ anObjObject objClass lookup: #error for: anObjObject]] Now the problem is that error redefinition only works if the same number of arguments are used and this is not nice. For example error redefinition works: --- testErrorRedefinition (self run: #testErrorRedefinition) self should: [aPoint unarySend: #zork] raise: Error. (pointClass at: pointClass offsetForMethodDict) at: #error put: ([ :superClassOfClassDefiningTheMethod | [:objself | 33]] value: objectClass). self assert: (aPoint unarySend: #zork) = 33. I could use cull: or something like that to be able to execute the block representing the error message But I have the impression that I need a way to say that the lookup failed and that the arguments should be packed in a message object. I looked in the StackVM to see how the arguments were handled: how do we go some lookupMethodInClass: class | currentClass dictionary found | ... currentClass := class. [currentClass ~= objectMemory nilObject] whileTrue: [dictionary := objectMemory fetchPointer: MethodDictionaryIndex ofObject: currentClass. ... found := self lookupMethodInDictionary: dictionary. found ifTrue: [^currentClass]. currentClass := self superclassOf: currentClass]. ... Cound not find a normal message -- raise exception #doesNotUnderstand: self createActualMessageTo: class. messageSelector := objectMemory splObj: SelectorDoesNotUnderstand. ^self lookupMethodInClass: class Am I correct to believe that createActualMessageTo: eats up the call args and does basically what I would like to do Stef
[Pharo-project] added bitmapCharacterSet to STHUB and CI :)
Hi in my slow but steady effort to migrate important project to SmalltalkHub and add CI to cover them, I migrated BitmapCharacterSet (adding configuration of …) I updated the XMLWriter ci configruation to point to PharoExtras. I added one CI job for OrderPreservingDictionary I love https://ci.inria.fr/pharo-contribution/ So next step is XMLParser and Pastell. Stef
[Pharo-project] XML-Support red tests
Hi XML-support has two red tests in Pharo 1.4 and Pharo2.0. Does anybody know if they were one day green? I do not want to put on the CI server something red. I will check on 1.3 to see if worked. Stef
[Pharo-project] Release of the Pharo consortium web site
Hi guys After some efforts, we are proud to announce the consortium around Pharo. http://consortium.pharo.org With such consortium, companies and academic partners will be able to collaborate and sustain the development of the Pharo environment and ecosystem. Today we announce the release of the beta version of the official consortium website. Invest in your future, participate to the consortium! Our goal is to be able to pay a couple of full-time engineers to build a bright future for everyone. Thanks Esteban for the effort, lusy for the design, and our first members: Inria, VMWare, yesplan, 2denker, madEnvironment, BetaNine, Versus for their trust We wish you a lot of business and success! The Pharo Team
[Pharo-project] Stressing SmalltalkHub :)
Hi guys I started to migrate Pharo 1.4 to SmalltalkHub to stress it a bit :) Nicolas was curious to see and he loves to see all the packages getting published there. So I could not resist (my upload bandwidth suffered :). It means also that SmalltalkHub will have to be load balanced in the future because I got some problems (reported to nico). Stef
[Pharo-project] Green CI for Soup :)
Hi guys Yet another ci script running green https://ci.inria.fr/pharo-contribution/job/Soup/ Stef
[Pharo-project] Fwd: CouchDB and Pharo
Begin forwarded message: From: Stéphane Ducasse stephane.duca...@inria.fr Subject: Re: [Pharo-project] CouchDB and Pharo Date: February 21, 2013 12:41:12 PM GMT+01:00 To: Jesus Mari Aguirre jmariagui...@gmail.com On Feb 21, 2013, at 10:58 AM, Jesus Mari Aguirre jmariagui...@gmail.com wrote: Hi Stef! I have been working a lot in the CouchDB Jquery plugin and a ConfigurationOfSCouchDB and now I'm working on Smalltalkize Mustache templates. My idea is to have the new version for next week and start writing the doc just the day after. excellent You should post that to the list I developed a new Albums application with a nice approach. All its code is written in Smalltalk although the whole application runs in client side, it's made using jquery couchdb driver and jquery mobile and covers authentication, open/update/create/delete documents , uploading file attachments and its renderization. It could be nice to guide the text. Sweet :) ConfigurationOfSCouchDB has several groups that will allow us to install only what we need, for instance we have: default viewserver mustache jquerycouchdbplugin... I will detail it in the document we are plaining to write. I've learn on ConfigurationOf... with the Metachello Paro 2.0 draft chapter, very good job! Ah! the project is available in smalltalkhub, I pushed an hour ago… Superbe Let me know when I can read something. Thanks for your suggestions keep contact 2013/2/1 Stéphane Ducasse stephane.duca...@inria.fr On Jan 30, 2013, at 6:55 AM, Jesus Mari Aguirre wrote: Hi Stef! There are many kind of scenarios between Seaside and CouchDB, Although I'm not a professional developer (This is not my job and it has never been) CouchDBServer was my first serious incursion in Smalltalk since one year ago). Cool :) First of all I would write some clarifications. -CouchDB is not only a NoSQL database, it is also an application server and there are several API for this purpose (evently,mustache…). -SCouchDBViewServer project has just few thinks in common with Seaside(templates integration and jquery experimental plugin), When I meant seaside, I wanted to refer to something less javascript or plain html. -SCouchDBViewServer cooperates with CouchDB to create Views, Shows and Lists with your data stored in CouchDB. Views are read by any client that has a CouchDB Driver. -Shows and Lists are pure and STATIC HTML and Js rendered by the function(BlockClosure) List using data(determined by the view in its url) passed by couchDB. All of three are cached and won't be refreshed until there were a modification in the related data and a client asked for this data again. -Main goal of the SCouchDDB.application category is creating a “CouchApp” ‘like environment. -Mustache templates are useful in show and lists and this was the main goal when I ported from javascript. -Mustache.seaside contains the WAMustacheTag class allowing Mustache and Seaside interaction. -SCouchDB.jquery is an attempt to integrate the js jquery couchdb driver in seaside-jquery. But I have had no time enough to depurate and learn how seaside tags and jquery work on seaside. Probably that we should explain that in the chapter After all of this very long clarification list….I would suggest some scenarios: Deployment scenario -SEASIDE DEPLOYMENT WITH COUCHDB. - CouchDB Installation - CouchDB configuration to redirect calls to Seaside. The most difficult is seaside configuration side (paths to access libs,CCS…) - Serving Files with CouchDB.(That could be the hardest work…we can use an app with all files attached…could be interesting ) -loading SCouchDBViewServer project Persistence scenario -SEASIDE PERSISTENCE WITH COUCHDB -Create a new database.(easy…it’s in my tutorial) - Store/load a data model in CouchDB. (easy…it’s in my tutorial) -SEASIDE USING JQUERY-MOBILE and COUCHDB -If we have the application model in seaside….it will be a jquery mobile tutorial. - -USING MUSTACHE TEMPLATES ON SEASIDE Very polemical…There are a lot of discussions about/against this topic. -Loading Mustache project -Using Templates (easy, I have examples) -passing data to the templates. “ jesus I think that it would be good to have some configurationOf for Mustache and SCouch” Yes,it’s true, Stéphane, but first of all I have to lean how a configurationOf it’s done… I will try to do it I can help if you want. I wrote also a (too) long chapter on it and we are working on tools to help peoplem What scenario do you think is more important for you? To me all of them are interesting! The text does not have to be long but show some key points and kind of hand-ons I would say one where we do not have the tutorial of the other
[Pharo-project] Pharo brainstorming workshop to produce Request For Improvements
Hi guys we often meet to hack together and I would really like to take the time that as a group we think about the improvements we want for the system. For example luc and noury told me that the finalization for socket was brittle or combersome to use and I imagine many other cases. I would like that we collect them so that we can address such points. So it would be good if we could organize a workshop where we do not code but produce Documented Requests for Improvement. Name Description: one line description Problem: Solution: What do you think? Stef
[Pharo-project] About Pharo extras
Hi Pharoers We got a discussion in the team to see how we will handle packages that are not in the Pharo image but that some of us maintain or participate to maintain. For example Soup and XMLWriter, XMLSupport…. ProfStef,…. We decided to create a separate team on SmalltalkHub named PharoExtras to host such projects. http://smalltalkhub.com/#!/~PharoExtras/ Everybody is welcome to be member and to help us. We want that each of these projects get also associated with a jenkins job that runs automatically the tests of the projects. Like that we can immediately see if a change get an impact on the close ecosystem. I started with camillo to do it for XMLWriter and I will do it some the projects I'm using. https://ci.inria.fr/pharo-contribution/job/XMLWriter/ http://smalltalkhub.com/#!/~PharoExtras/XMLWriter Stef
[Pharo-project] Migrating ProfStef from Squeaksource to PharoExtras
Hi guys I'm migrating ProfStef to SmalltalkHub/PharoExtras. I'm also copying the configurationOf from MetacelloRepository and I will produce a new configuration for 2.0 and for SmalltalkHub. Stef
Re: [Pharo-project] Metacello issues on Pharo 2.0
Dale We are investing massively on metacello so now this is important for us to know if you will continue to maintain it or not. Because if this is not the case then we will have to rethink our strategy. Stef Christophe, I'm not exactly sure what your problem is ... I have to admit that I haven't kept up with Pharo2.0 since last summer when I couldn't use Pharo2.0 for development because of OsProcess issues. I know that recently those issues have been cleared up, but I haven't had the time to return to Pharo2.0 and check things out (I'm facing more issues with getting PHaro2.0 to work with travis-ci, etc. so it will be a big undertaking for me to fully support Pharo2.0). I've got a fairly recent Pharo2.0 image and it looks like there are pharo-specific versions for each of the packages loaded into Pharo2.0. I assume that the tests are all passing with those versions, although I can't say whether or not the tests had to be modified to pass in Pharo2.0 as well ... which is likely to be a source of one of the problems you are looking at ... I don't know where the configuration exists that is being used to manage the changes for Pharo2.0 and the tests, but that is probably a good starting point ... if you are not using the proper Pharo2.0 configuration, you won't be getting the proper packages loaded ... Dale - Original Message - | From: Christophe Demarey christophe.dema...@inria.fr | To: metace...@googlegroups.com | Cc: Pharo-project@lists.gforge.inria.fr | Sent: Friday, February 15, 2013 6:09:27 AM | Subject: [Pharo-project] Metacello issues on Pharo 2.0 | | Hi all, | | I have issues with Metacello on Pharo 2.0 | | If I load and run tests for the version used in Pharo1.4, it gives: | (ConfigurationOfMetacello project version: '1.0-beta.31.1.4') load: 'Tests' | | | | Metacello packages shipped with Pharo 2.0 are all packages derived from the | latest stable Metacello baseline (1.0-beta.31.1.5) except the | MetacelloToolBox. | If I load and run tests packages with version described in the latest stable | Metacello baseline (1.0-beta.31.1.5), i.e. : | Metacello-TestsCore-DaleHenrichs.14 and | Metacello-TestsMC-dkh.351, | it gives (Pharo 2.0 #20547): | | | So, it seems there are some problems. Do we use the rigth versions of | Metacello packages? | | Regards, | Christophe. | | | Chr
[Pharo-project] SmalltalkHub
Is there a way to remove a file from the repository? Stef
[Pharo-project] Migrated XMLWriter to SmalltalkHub
Hi guys I migrated XMLWriter from Squeaksource to Smalltalkhub. I added a little test package and removed the fact that some old Collections-Support package!!! was loaded on top of new ones! Argh. Stef
[Pharo-project] About migrating Pharo 1.0, 1.1 and 1.2 and 1.3 from ss to Smalltalkhub
Hi I would like to migrate the complete history of Pharo to SmalltalkHub. So I imagine that I will create a new project named Pharo1.0 under the Pharo team We should do the same for Pharo2.0 at some point When we will be start Pharo3.0 we should do the same so like that we will have Pharo/Pharo1.0 Pharo/Pharo1.4 Pharo/Pharo2.0 Pharo/Pharo3.0 is is ok? Stef
[Pharo-project] Citezen - SmalltalkHub/RMoD/Citezen
Just a notification that I migrated Citezen to SmalltalkHub. Stef
[Pharo-project] Migrated SS/Growl to Pharo/Archive
Hi guys since growl has been integrated to Pharo I migrated the SS project to the Pharo/Archive one. Stef
[Pharo-project] RoelTyper - SmalltalkHub
Just a notification that I migrated RoelTyper to SmalltalkHub. I added a configuration. Stef
[Pharo-project] Aout community organization under SHub?
Hi guys I would like that under the PharoTeam we only get projects that are used for Pharo core more or less. Then I think that it would be good to have a place to have Pharo projects such as XMLWriter, XMLParser, SOUP and other. What do you think? Do we create a new team called PharoEcosystem? Stef
[Pharo-project] Publishing OrderPreservingDictionary to SmalltalkHub
Hi guys just to let you know that I'm migrating OrderPreservingDictionary from SS to SmalltalkHub. I will also add a ConfigurationOf So that we can base other configruations on this one. Stef