[Pharo-users] Re: Happy New Year and Pharo 90 good news.
Congratulation. This is impressive how much was done. Happy New Year 2021 Le 25/01/2021 à 12:26, Stéphane Ducasse a écrit : Dear happy Pharoers, First we wish you a good 2021 year. We really hope that we will get out of this situation. On the Pharo side we have excellent news. -- Dr. Geo http://drgeo.eu http://blog.drgeo.eu
Re: [Pharo-users] [ANN] PharoPro
Le 17/06/2020 à 10:34, Norbert Hartl a écrit : we are very proud to announce the availability of PharoPro, a company that offers professional support for the pharo platform. Our mission is to enable people and companies to secure their business when building products with pharo. Congratulations! Hilaire -- Dr. Geo http://drgeo.eu https://pouet.chapril.org/@hilaire
Re: [Pharo-users] mentor wanted
Find it. It is a chapter of the book Squeak, Open Personal Computing and Multimedia <http://sdmeta.gforge.inria.fr/FreeBooks/CollectiveNBlueBook/> http://sdmeta.gforge.inria.fr/FreeBooks/GuzdialBookDrafts/DesignObjects-ch4.pdf Le 24/04/2020 à 09:39, Hilaire a écrit : I remember about a Smalltalk book presenting the CRC concept precisely used to cut complex problem in small chunks. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] mentor wanted
Hi Roelof, I remember about a Smalltalk book presenting the CRC concept precisely used to cut complex problem in small chunks. I can't find the reference right now but it is very likely among those books available online (http://stephane.ducasse.free.fr/FreeBooks.html). May be a member of the list remember about it. Hilaire Le 23/04/2020 à 12:31, Roelof Wobben via Pharo-users a écrit : With complex problems I do not see how to solve things in small steps. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Minimality
Le 16/04/2020 à 14:23, Richard O'Keefe a écrit : I'm not sure what "descendants of Smalltalk-80" means. Obviously, I mean the Apple' Smalltalk-80 Squeak takes its origin from. I should have write that. Smalltalk is simple enough, it's just that things we need to talk to are insanely complex. (Hands up everyone who has actually read But Pharo is over this point. Its complexity is not because of additional packages but from its internal way of doing things, I can't tell you exactly why, I am just observing this situation when trying to understand how things work from the inside. See for example my idiotic struggle a couple of days ago. For example, Morph was not cleanup as done in Cuis but since ten years there were attempts to develop additional frameworks (athens, bloc, brick, other?) with unclear results. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Minimality
I forgot the graph: Now, will Pharo9 reach the sky with *10'000* classes? Very likely if you observe the graph below: -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Minimality
As a matter of fact it is interesting to compare the number of classes in the last releases of the descendants of Smalltalk 80: * Cuis5 (480 classes), * Squeak 5.2 (2713 classes) * Pharo8 (*9084 *classes) I don't think the last Pharo vision statement: /A system with robust abstractions that a single person can understand./ is in anyway realistic. Now, will Pharo9 reach the sky with *10'000* classes? Very likely if you observe the graph below: Hilaire Le 13/04/2020 à 14:30, Cédrick Béler a écrit : Just a reflexion that I’d like to share here. When Hilaire talks about complexity. I have to agree too, even if I like the progress under the hood, and explored spaces like GToolkit. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Minimality
Hi Cédrick, Remember the Pharo vision back in 2005. Pharo Zen Our values and convictions are condensed in this simple list. Easy to understand, easy to learn from, easy to change. Objects all the way down. Examples to learn from. Fully dynamic and malleable. Beauty in the code, beauty in the comments. Simplicity is the ultimate elegance. Better a set of small polymorphic classes than a large ugly one. Classes structure our vocabulary. Messages are our vocabulary. Polymorphism is our esperanto. Abstraction and composition are our friends. Tests are important but can be changed. Explicit is better than implicit. Magic only at the right place. One step at a time. There is no unimportant fix. Learning from mistakes. Perfection can kill movement. Quality is a emerging property. Simple processes to support progress. Communication is key. A system with robust abstractions that a single person can understand. Le 13/04/2020 à 14:30, Cédrick Béler a écrit : Just a reflexion that I’d like to share here. When Hilaire talks about complexity. I have to agree too, even if I like the progress under the hood, and explored spaces like GToolkit. But how to change such legacy beast, the pharo image ? Potential is huge but resistance is also tough for so few people… Just imagining changing method protocols seems so complex at the end ! Instead, I’d start with minimal images, bootstrapped ones. A system I would love to understand every bits. I’m pretty sure this is what lots of us have in mind and the progress in bootstrap has been teasing us ;-) -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Thinking aloud about project at hand
Take a look at the DrGeo example app, it shows how to do that (link bellow). Hilaire Le 11/04/2020 à 12:43, Tomaž Turk a écrit : I have one really silly question - when you create an app (with Spec2), how can you made it start automatically when the image starts, and avoid displaying the World? I browsed through many of Pharo books and documentation recently and cannot remember if this is mentioned anywhere. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Thinking aloud about project at hand
Hi, No doubt Pharo will fit the task. I developed a financial application for mortgages debt consolidation where the sources of data were numerous. With Pharo you will build a model with classes representing each part of the domain of your data set. With Tests you will consolidate your model, important when you change your model it will ensure your computations are still valid. I use it a lot in mortgage, debt ratio and debt consolidation calculus. From your description, it seems your application will be mono-user. If so any text file to keep the data will be ok: xml, json, csv. But sqlite could be a very nice option too, I think this is what I will use. I think you will enjoy using Pharo to write your app. Hilaire Le 09/04/2020 à 21:12, Tomaž Turk a écrit : I'm thinking about implementing a software solution in Pharo (as one of the candidate environments), it's a project that I'm dealing with professionally. The goal is to develop a financial planning/simulation application on the country level, which is at present developed as a set of interrelated Excel spreadsheets. The requirement is that the solution should be more "manageable", resilient and straightforward than Excel permits, that it should present a workflow to the user - i.e. , that the tasks the user should do are suggested through the GUI. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [Pharo-dev] Cover for PBE8
Nice Le 07/04/2020 à 14:31, Cédrick Béler a écrit : I searched for free picture around the words lighthouse and/or (mosaic patchwork painter…). -- Dr. Geo http://drgeo.eu
[Pharo-users] Google Form
Hi, As teachers and students are confined home, there are some needs of tooling for distance learning. Did any of you worked on generating Google Form with Pharo? Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [ANN] Pharo-Spreedsheet on GitHub
Nice community work Hilaire -- Dr. Geo http://drgeo.eu
[Pharo-users] [Spec] Min script browser
Hi, I am experimenting Spec to write a DrGeo user scripts browser (in DrGeo scripts are classes). The layout and widgetery is so far ok (see screenshot). Nevertheless I have issue to keep synchronized the compiled methods in the Spec list, a recompiled method when the user edit its code and save it, then the source code in the code widget. Indeed when the user press save to keep the code it is compiled fine but the Spec list still hold what I guess is another instance of the compiled method. My attempt to manage this situation makes my code to look like shit. How will you manage this to keep up to date and synchronized the script information in the different Spec widgets? Thanks Hilaire -- Dr. Geo http://drgeo.eu 'From Pharo8.0.0 of 20 February 2020 [Build information: Pharo-8.0.0+build.1129.sha.278304fdce17a1b7cc3ede1006275ffbc7baf20a (64 Bit)] on 30 March 2020 at 4:07:31.728507 pm'! SpPresenter subclass: #DrGScriptBrowser2 instanceVariableNames: 'scripts methods source saveBtn' classVariableNames: '' package: 'DrGeoII-UI-Window'! !DrGScriptBrowser2 commentStamp: 'HilaireFernandes 3/28/2020 12:59' prior: 0! A DrGeo script browser written with Spec2.! !DrGScriptBrowser2 methodsFor: 'action-button-actions' stamp: 'HilaireFernandes 3/30/2020 15:54'! saveCode | compiledMethod selectedMethodItem | selectedMethodItem := methods selectedPage activePresenter selection. compiledMethod := selectedMethodItem selectedItem. methods selectedPage activePresenter inspect. (compiledMethod notNil and: [ source pendingText ~= source text ]) ifTrue: [ compiledMethod methodClass compile: source pendingText. methods selectedPage activePresenter selection selectedItem compiledMethod selector == #scriptName ifTrue: [ "Update the script name in Scripts list" " scripts selection inspect" scripts updateList ]. self inform: ('Method "{1}" saved' translated format: {compiledMethod selector}) ]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/30/2020 09:57'! newButtons saveBtn := self newButton label: 'Save' translated; icon: (self iconNamed: #smallSave); yourself! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/30/2020 15:38'! instanceMethodsTab ^ SpNotebookPage title: 'Methods' translated provider: [ self newList display: [:aMethod | aMethod selector ]; whenSelectionChangedDo: [ :selection | | method | method := selection selectedItem. source text: method sourceCode; behavior: method methodClass]; yourself]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:31'! newScriptCode source := self instantiate: SpLabelledContainer. source label: 'Source' translated; content: SpCodePresenter! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/30/2020 15:39'! connectPresenters scripts whenSelectedItemChanged: [ :class | source clearContent; behavior: nil. class ifNotNil: [ (methods pageAt: 1) whenRetrievedDo: [ :list | list items: class methods]. (methods pageAt: 2) whenRetrievedDo: [ :list | list items: class class methods]. methods resetAllPageContents.]]. saveBtn action: [ self saveCode ]. source acceptBlock: [ :text | text inspect ]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/29/2020 13:15'! classMethodsTab ^ SpNotebookPage title: 'Script data' translated provider: [ self newList display: [:aMethod | aMethod selector ]; whenSelectionChangedDo: [ :selection | source text: selection selectedItem sourceCode. source behavior: selection selectedItem methodClass]; yourself]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:31'! newScriptsList scripts := self instantiate: SpLabelledList. scripts label: 'Scripts' translated; items: DrGeoUserScript allSubclasses; display: [ :aClass | aClass scriptName ]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:10'! newMethodsList methods := self newNotebook. methods addPage: self instanceMethodsTab; addPage: self classMethodsTab! !
[Pharo-users] [Spec] List and notebook page
I resolved the issue, but it looks counter intuitive. Any rational? connectPresenters scripts whenSelectedItemChanged: [ :class | source clearContent; behavior: nil. class ifNotNil: [ *methods resetAllPageContents.* (methods pageAt: 1) whenRetrievedDo: [ :list | list items: class methods]. (methods pageAt: 2) whenRetrievedDo: [ :list | list items: class class methods]. *methods resetAllPageContents.*]]. -- Dr. Geo http://drgeo.eu
[Pharo-users] [Spec] List and notebook page
Hi, I refactor a bit the code, to have a slightly better behavior. I send the #display: message at the time the list is installed in the notebook page: *newMethodsList methods := self newNotebook. methods addPage: self instanceMethodsTab; addPage: self classMethodsTab* *instanceMethodsTab ^ SpNotebookPage title: 'Methods' translated provider: [ self newList display: [:aMethod | aMethod selector ]; yourself]* *classMethodsTab ^ SpNotebookPage title: 'Script data' translated provider: [ self newList display: [:aMethod | aMethod selector ]; yourself]* Then I connect the presenters: *connectPresenters scripts whenSelectedItemChanged: [ :class | methods resetAllPageContents. (methods pageAt: 1) whenRetrievedDo: [ :list | list items: class methods]. (methods pageAt: 2) whenRetrievedDo: [ :list | list items: class class methods]. methods selectPageIndex: 1. source clearContent ].* The behavior is mostly as expected, but when the I click for the first time on a script at the left, the notebook list in page 1 is not updated (empty): Then when I click a second time on another script it is updated, then also in the first clicked script: Any idea ? I joined the complete class too. Thanks. Keep safe. Hilaire -- Dr. Geo http://drgeo.eu 'From Pharo8.0.0 of 20 February 2020 [Build information: Pharo-8.0.0+build.1129.sha.278304fdce17a1b7cc3ede1006275ffbc7baf20a (64 Bit)] on 29 March 2020 at 12:30:38.350572 pm'! SpPresenter subclass: #DrGScriptBrowser2 instanceVariableNames: 'scripts methods source' classVariableNames: '' package: 'DrGeoII-UI-Window'! !DrGScriptBrowser2 commentStamp: 'HilaireFernandes 3/28/2020 12:59' prior: 0! A DrGeo script browser written with Spec2.! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 19:22'! instanceMethodsTab ^ SpNotebookPage title: 'Methods' translated provider: [ self newList display: [:aMethod | aMethod selector ]; yourself]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:31'! newScriptCode source := self instantiate: SpLabelledContainer. source label: 'Source' translated; content: SpCodePresenter! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 19:43'! connectPresenters scripts whenSelectedItemChanged: [ :class | methods resetAllPageContents. (methods pageAt: 1) whenRetrievedDo: [ :list | list items: class methods]. (methods pageAt: 2) whenRetrievedDo: [ :list | list items: class class methods]. methods selectPageIndex: 1. source clearContent ].! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 19:22'! classMethodsTab ^ SpNotebookPage title: 'Script data' translated provider: [ self newList display: [:aMethod | aMethod selector ]; yourself]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:31'! newScriptsList scripts := self instantiate: SpLabelledList. scripts label: 'Scripts' translated; items: DrGeoUserScript allSubclasses; display: [ :aClass | aClass scriptName ]! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:10'! newMethodsList methods := self newNotebook. methods addPage: self instanceMethodsTab; addPage: self classMethodsTab! ! !DrGScriptBrowser2 methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 15:12'! initializePresenters self newScriptsList. self newMethodsList. self newScriptCode! ! "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "! DrGScriptBrowser2 class instanceVariableNames: ''! !DrGScriptBrowser2 class methodsFor: 'initialization' stamp: 'HilaireFernandes 3/28/2020 14:28'! defaultSpec ^ SpBoxLayout newVertical add: (SpBoxLayout newHorizontal add: #scripts; add: #methods; yourself); add: #source; yourself ! !
[Pharo-users] [Spec] List and notebook page
Hi, In a list contained in a notebook page, the display bloc is not called as expect: Likely I missed something, any idea? Thank. Keep safe. Hilaire connectPresenters scripts whenSelectedItemChanged: [ :class | methods selectPageIndex: 1. ((methods pageAt: 1) activePresenter ) items: class methods; display: [:aMethod | self halt. aMethod selector]. source clearContent ]. newMethodsList methods := self newNotebook. methods addPage: self instanceMethodsTab; addPage: self classMethodsTab instanceMethodsTab ^ SpNotebookPage title: 'Methods' translated provider: [ self newList ] -- Dr. Geo http://drgeo.eu
[Pharo-users] [pharo8-api-change] GLMCompositePresentation did not understand #wrapper
Hi, GLMCompositePresentation does not understand #wrapper anymore in P8 (valid in P7). More, the class GLMWrapper vanished (present in P7). In DrGeo a custom script browser is build to edit script, in this browser when clicking on a script there is now this error. I tool a look to the I don't understand much this framework. How should the code bellow be rewritten to work on P8? |methodsIn: composite composite /*wrapper*/ title: 'Methods' translated; show: [ :wrapper | wrapper fastList display: [ :aClass | aClass methods collect: [ :m | m asRingDefinition ]]; format: [ :aCompiledMethod | aCompiledMethod selector asString ] ]. composite /*wrapper*/ title: 'Script data' translated; show: [ :wrapper | wrapper fastList display: [ :aClass | aClass class methods collect: [ :m | m asRingDefinition ]]; format: [ :aCompiledMethod | aCompiledMethod selector asString ] ]. composite updateOn: MethodModified from: [ SystemAnnouncer uniqueInstance ]; updateOn: MethodAdded from: [ SystemAnnouncer uniqueInstance ]. composite onChangeOfPort: #activePresentation act: [ :presentation | (presentation pane port: #activePresentation) value ifNotNil: [ :activePresentation | ((browser paneNamed: #methods) port: #selection) value: (activePresentation /*defaultPane*/ port: #selection) value ] ]. | | | -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [pharo8-api-change] newTextEditor
Ok, never mind I figure out. Announcement framework is neat. They were a couple of errors with the Rub** related to the change of #contents to #text message, which is more meaningful. Le 01/03/2020 à 11:44, Hilaire a écrit : > *Question.* > > In RubPluggableTextMorph why the access to the announcer instance is > different in this two methods (quoted message of mine below) > > Am I missing something? -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [pharo8-api-change] newTextEditor
*Question.* In RubPluggableTextMorph why the access to the announcer instance is different in this two methods (quoted message of mine below) *self textArea announcer* ... and in the other place *self announcer* ... >From my understanding the former is the announcer attached as a property of the text area morph and the later the announcer attached to the RubPluggableTextMorph. Am I missing something? Hilaire Le 29/02/2020 à 20:00, Hilaire a écrit : > For the latter how should it be rewritten? > > I read these > > self textArea announcer when: RubTextChanged send: > #whenTextChangedInTextArea: to: self. > > and > > whenTextChangedInTextArea: anAnnouncement > self announcer announce: anAnnouncement -- Dr. Geo http://drgeo.eu
[Pharo-users] [pharo8-api-change] newTextEditor
Hi, RubPluggableTextMorph replaced the old PluggableTextMorph. acceptOnCR: and changedAction: are not valid any more. For the former never mind. For the latter how should it be rewritten? I read these self textArea announcer when: RubTextChanged send: #whenTextChangedInTextArea: to: self. and whenTextChangedInTextArea: anAnnouncement self announcer announce: anAnnouncement It looks like we have both the old and new word of changes propagation. I am wondering how to propagate it in DrGeo (pre-Announcement era) Thanks newDescriptionMorph ^(self newTextEditorFor: self getText: #description setText: #description: getEnabled: nil) acceptOnCR: false; setBalloonText: 'A description of the script. To help the user, describe carefully what the script does and the input arguments to select to use it.' translated; changedAction: [:text | self changed: #isValid ]; selectAll -- Dr. Geo http://drgeo.eu
[Pharo-users] [pharo8-api-change] #mouseEnter event on Menu
Hi, On P8, the code bellow does not generate the #mouseEnter event when the cursor enter the menu. This code was working on P7. Any idea why it is not working on P8 :-) menuBar add: 'Macro-construction' translated font: self theme menuBarFont icon: nil help: 'Build or execute macro-construction. A macro is a construction template you can apply to items in the sketch area.' translated subMenu: self macroconstructionMenu. menuBar lastSubmorph on: #mouseEnter send: #updateMacroMenu to: self. Thanks Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [Pharo8-api-change] announcer for model
Le 26/02/2020 à 19:19, Hilaire a écrit : > Now Model are required to understand announcer, for example in: > > UITheme>>newTextEntryIn: aThemedMorph for: aModel get: getSel set: > setSel class: aClass getEnabled: enabledSel help: helpText > > What is the rational behind, should my model be subclass of Model (which > I prefer not) or implement announcer? Then, how should it be cleanup? > > The RubPLuggableText* classes replacement breaks my code in two places. These two were easy to fix by adding an anouncer to the model. All in all, so far I did not see much breaks, only one with Glamour Presenter not easy top fix as GLM is a hard to understand for me. https://bugs.launchpad.net/drgeo/+bugs?field.tag=pharo8 -- Dr. Geo http://drgeo.eu
[Pharo-users] [Pharo8-api-change] announcer for model
Hi, Now Model are required to understand announcer, for example in: UITheme>>newTextEntryIn: aThemedMorph for: aModel get: getSel set: setSel class: aClass getEnabled: enabledSel help: helpText What is the rational behind, should my model be subclass of Model (which I prefer not) or implement announcer? Then, how should it be cleanup? The RubPLuggableText* classes replacement breaks my code in two places. In P8 I see these classes are in Compatibility-toBeDEprecated package.. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P8/Linux - External module not found LGitLibrary
An update. I pickup the wget bash script option, and the provided VM is doing fine. Therefore, the issue is related to the proposed VM for download. Hilaire -- Dr. Geo http://drgeo.eu
[Pharo-users] P8/Linux - External module not found LGitLibrary
Hi, I have this issue with P8 standalone VM and image installed from pharo.org/download. Am I missing something? PharoDebug attached. Thanks Hilaire PS1: I need standalone to prepare dev. environment and application for drgeo. PS2: On the same host I have been running P7 to contribute pull request without this git issue. -- Dr. Geo http://drgeo.eu THERE_BE_DRAGONS_HERE External module not found 21 February 2020 7:39:47.022436 pm VM: unix - x86_64 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2509 uuid: 91e81f64-95de-4914-a960-8f842be3a194 Feb 6 2019 StackToRegisterMappingCogit VMMaker.oscog-eem.2509 uuid: 91e81f64-95de-4914-a960-8f842be3a194 Feb 6 2019 VM: 201902062351 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Wed Feb 6 15:51:18 2019 CommitHash: a838346b Plugins: 201902062351 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Image: Pharo8.0.0 [Build information: Pharo-8.0.0+build.1129.sha.278304fdce17a1b7cc3ede1006275ffbc7baf20a (64 Bit)] ExternalLibraryFunction(Object)>>error: Receiver: >externalCallFailed Receiver: >invokeWithArguments: Receiver: >libgit2_init Receiver: a LGitLibrary Arguments and temporary variables: Receiver's instance variables: initialized: false FFICalloutAPI>>function:library: Receiver: a FFICalloutAPI Arguments and temporary variables: functionSignature: #(#int #git_libgit2_init #()) moduleNameOrLibrary: a LGitLibrary sender: LGitLibrary>>libgit2_init ffiMethod: LGitLibrary>>#libgit2_init ffiMethodSelector: #ffiCall Receiver's instance variables: options: #() callingConvention: #cdecl senderContext: nil uFFIEntryPointContext: LGitLibrary(Object)>>ffiCall:library:options: LGitLibrary(Object)>>ffiCall:library:options: Receiver: a LGitLibrary Arguments and temporary variables: fnSpec: #(#int #git_libgit2_init #()) aLibrary: a LGitLibrary callOptions: #() ffiLibrary: a LGitLibrar Receiver's instance variables: initialized: false LGitLibrary(Object)>>ffiCall:library: Receiver: a LGitLibrary Arguments and temporary variables: fnSpec: #(#int #git_libgit2_init #()) aLibrary: a LGitLibrar Receiver's instance variables: initialized: false LGitLibrary(Object)>>ffiCall: Receiver: a LGitLibrary Arguments and temporary variables: fnSpec: #(#int #git_libgit2_init #() Receiver's instance variables: initialized: false LGitLibrary>>libgit2_init Receiver: a LGitLibrary Arguments and temporary variables: Receiver's instance variables: initialized: false [ self libgit2_init. self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 Receiver: a LGitLibrary Arguments and temporary variables: Receiver's instance variables: initialized: false BlockClosure>>on:do: Receiver: [ self libgit2_init. self recordInitializationSuccess ] Arguments and temporary variables: exception: Error handlerAction: [ :ex | self recordInitializationFailure. ex pass Receiver's instance variables: outerContext: LGitLibrary>>initializeLibGit2 startpc: 77 numArgs: 0 LGitLibrary>>initializeLibGit2 Receiver: a LGitLibrary Arguments and temporary variables: Receiver's instance variables: initialized: false LGitLibrary class>>startUp: Receiver: LGitLibrary Arguments and temporary variables: isImageStarting: tru Receiver's instance variables: superclass: FFILibrary methodDict: a MethodDictionary(#forgetInitializationState->LGitLibrary>>#forget...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #LGitLibrary classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'LibGit-Core-FFI-Handling' uniqueInstance: a LGitLibrary ClassSessionHandler>>startup: Receiver: a ClassSessionHandler(LGitLibrary) Arguments and temporary variables: isImageStarting: tru Receiver's instance variables: registeredClassName: #LGitLibrary [ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: Receiver: a WorkingSession Arguments and temporary variables: isImageStarting: true each: a ClassSessionHandler(LGitLibrary Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ self manag...etc... id: nil creationTime: 2020-02-21T19:39:46.658864+01:00 properties: a Dictionary(#accessMode->#readWrite ) [ aBlock value: each ] in [ :each | [ aBlock value: each ] on: Exception do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: Receiver: a WorkingSession Arguments and temporary variables: aList: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(Sessi...etc... aBlock: [ :each | each startup:
Re: [Pharo-users] Annonce Pharo-LibVLC
Le 14/01/2020 à 19:21, Benoit Verhaeghe a écrit : > > |If you use a symbolic link and it works please let me know so I can > add this step in the installation.| > |Did so, so no more error but then executing the code snippet from github, nothing happen.| || vlc mediaPlayer media | "VLCLibrary reset" vlc := VLCLibrary uniqueInstance createVLCInstance. media := vlc createMediaFromPath: '/home/hilaire/Vidéos/Lea2019.webm'. mediaPlayer := VLCLibrary uniqueInstance mediaPlayerNewFromMedia: media. mediaPlayer play | |I reset the unique instannce of VLCLibrary| |Hilaire | -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Annonce Pharo-LibVLC
Hi Benoit, That's cool. Thanks! Hilaire Le 12/01/2020 à 16:41, Benoit Verhaeghe a écrit : > > I just want to let you know that I've developed an FFI binding to VLC. > Since, version 2.1.1 you can use it on Windows, Linux, and OSX. > https://github.com/badetitou/Pharo-LibVLC > > Thanks to the binding you can play easily sounds and videos from Pharo. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] NeoCSV with numerous fields
There is no header. I think it is a non-standard case. Thanks for the suggestion. Le 22/12/2019 à 18:44, Paul DeBruicker a écrit : > Is there a header row? IF so you can do: > > csv := (NeoCSVReader on: stream) separator: Character tab. > header:= csv readHeader. > header size timesRepeat:[csv addFloatField]. > csv upToEnd inspect -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] NeoCSV with numerous fields
Merci Cedrick. Looks nice. I heard a bit about on Serge's presentation on polymath. Can you do analysis like prediction with? Joyeuses fêtes également Le 22/12/2019 à 17:11, Cédrick Béler a écrit : > I think data frame is better for such case > > https://github.com/PolyMathOrg/DataFrame -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] NeoCSV with numerous fields
The data come from sensors in 60, 600 and 6000 fields. I can do has below but I need to know first the number of fields. But it's ok. csv := (NeoCSVReader on: stream) separator: Character tab. 60 timesRepeat: [ csv addFloatField]. csv upToEnd inspect. Le 22/12/2019 à 17:34, Sven Van Caekenberghe a écrit : > Or do you want something else ? -- Dr. Geo http://drgeo.eu
[Pharo-users] NeoCSV with numerous fields
Hi, I have float number datas coming with 60, 600 and 6000 rows. Is there a convenient way to let NeoCSV load and convert to array of floats. So far, I am doing it by "hand" with stream? Thanks Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] I feel like an overwhelmed maintenance programmer - how to get some toeholds?
I don't understand what you mean. Can you elaborate it? Le 21/12/2019 à 15:32, ponyatov a écrit : > The problem can be covered by a few experienced programmers who stream their > everyday work on a regular basis. > As I know, there is no anyone doing it. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Code overview - or maybe not
Works with StringMorph too... -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Code overview - or maybe not
You should use TextMorph. What about: || t | t := TextMorph new. t backgroundColor: Color blue. t contents: 'Hello'. t lock. t openInWorld|| | Le 19/12/2019 à 15:28, Kasper Osterbye a écrit : > I was struggling for weeks (not every day, but still) to find out how > to change the system to be able to give background color to text. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] I feel like an overwhelmed maintenance programmer - how to get some toeholds?
Sven, Often the intend is wrongly perceived, I am sorry about that. I know about these Pharo books (but not the Pharo with Style which I did not pay attention to), I bought three of them and I wrote the original Morph chapter in the Pharo By Example book, I donated a bit to the Steph proposal for additionnal resources (sorry forgot the name). For me these resources are just obvious, and I just mentioned ones I have good souvenir with when learning at the very beginning. I understand now it felt like I want to ignore the Pharo documentation effort, but it was really not my intend, I think I am over this kind of silly behavior, I am sorry it felt that way. Hilaire Le 18/12/2019 à 19:39, Sven Van Caekenberghe a écrit : > I consider you a full member of the Pharo community, I have seen you > interacting on the mailing lists for many years and I appreciate your work a > lot, that is why I was surprised you would not know that there are newer, > pharo specific versions of the very old book you mentioned, the Pharo By > Example book is itself many years old already. > > Please understand, many people ask for all kinds of documentation, authors > put a lot of work in writing or updating documentation, and then it seems to > go unnoticed, which is very frustrating. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] I feel like an overwhelmed maintenance programmer - how to get some toeholds?
Keep cool and relax, no need to be harsh. Just mention the additional resources I will happily learn from, I did not see your previous posts. I mentioned resources I was happy to use when learning Smalltalk, I am only distantly following what is going on with Pharo. Last time I code some bits of Pharo was about 2-3 months ago. Serious Smalltalk code was likely about 12 months ago. I am recovering from a surgery where a big part of my large bowel was removed and hoping for no relapse. So excuse me if I am not up to the standard, I am not even a professional programmer. My daily job is teaching to teenagers and staying afloat. Thanks Hilaire Le 18/12/2019 à 19:00, Sven Van Caekenberghe a écrit : > Come on, there is > > http://books.pharo.org/updated-pharo-by-example/ > > which is the same book, but for Pharo, and updated to 5.0 > > And > > http://books.pharo.org/booklet-WithStyle/ > > being written. > > Let's appreciate all the effort done by the authors to do the hard work of > keeping all this up to date. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] I feel like an overwhelmed maintenance programmer - how to get some toeholds?
Hi Steve, Did you give a look at the "Smalltalk by Example" and "Smalltalk with style" ? There are good starters to get an overall idea of the basic objects and how is written Smalltalk code. It could help to jump in Pharo then. There are very easy reading, the advanced parts may not apply to Pharo though, but you can then jump to specific Pharo books. http://stephane.ducasse.free.fr/FreeBooks.html Hilaire Le 18/12/2019 à 09:11, Steve Davies a écrit : > I'm a career programmer but I'm nearly 60 and sadly I can't absorb > information like I used to be able to, and I'm just finding Pharo so > overwhelming - I feel like a maintenance programmer trying to find a > way into a million lines of code when you don't understand the > principles of organisation and the conventions of the developers. > > Is there no way to have some sort of "progressive revelation" of the > insides of Pharo? Just documentation on most classes, examples of how > to use the class, without the implementation being exposed initially? -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Code of Conduct
Le 19/09/2019 à 21:20, Esteban Lorenzano a écrit : > > So we are going to take the simplest one we could find that still can > serve our community, you can see it here: > > https://github.com/pharo-project/pharo/pull/4660 > Hello, Given the heat up on the ml, I took a look on the PR. It looks honest and simple for but... ...I am really surprised -- worried will be more accurate ! -- by the second part of this sentence[1]. I think it is even dangerous! What is happening outside of the Pharo community should not be ruled by the 'WE'. The 'WE' is not the universal moral police or justice. If you think a bit about the Richard Stallman event, he was forced to withdraw of the Free Software Foundation because comments he made in a mailing list not related to FSF. He wrote his email contents were misinterpreted (and we know it happens often) and used against him. Whatever it is true or not, I don't see why you should be socially banned (or socially killed) from one place (or more like all place) because of what happen in another place. This kind of important decision can only be taken by the justice where all matter are taken in consideration. Imagine one of you kicked out of Pharo community because you loose your mind in another channel? It makes me feel a bit like the Aldous Huxley world. [1] /We will not tolerate harassment from anyone in the Pharo community, even outside of Pharo’s public communication channels./ Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] how to open a system browser on a environment?
On DrGeo based on P7, I do this: Smalltalk tools browser openOnClass: DrGeoSketch Hope it help. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [ANN] Pharo Chip Designer
Nice! Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Personal Programming
Thanks Richard for your review of the article and your pedagogical explanations. For me writing these interactive documents are not that much work. But it is true you need to know the DrGeo API. Which can be discovered by exploring the DrGeoSketch class. I am used to the DrGeo API, so my view is biased. A more user discoverable programming interface will be easier. So the interest on Trygve work. I am finishing writing a textbook on DrGeo math programming for my middle high school students. But the resources is in French :( Le 27/07/2019 à 16:26, Richard O'Keefe a écrit : > There are some spelling issues in the PDF one finds at the > Newton-Raphson link. > "bellow" and "below" mean different things and sound quite different > (BELL-owe vs b'-LOW). In "In the sketch bellow" the one you want is > "below". > "bloc" and "block" sound the same but also mean different things, and > the Smalltalk [...] forms are "blocks" not "blocs". > > Is writing these interactive documents as much work as it looks like? > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Personal Programming
Hi Trygve, Personal programming is something I always been fascinated by, since decades, to empower users. In the domain of teaching, the concept can go as far as giving the ability to teachers to craft their own numeric tools in their respective area. This is for this exact reason I ported DrGeo to Squeak, then Pharo, in 2005. The end user programming gives the power to design very advanced teaching models[1]. However, Smalltalk scripting can be tricky, so this is with profound interest I will read your paper in the later days. Hilaire [1] http://blog.drgeo.eu/post/2019/The-Newton-Raphson-Method Le 25/07/2019 à 11:29, Trygve a écrit : > The final draft of my magnum opus about Personal Programming is now > ready for review: > http://folk.uio.no/trygver/themes/Personal/PP-019%20-%20Copy%20(17).pdf -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P7 regression
Not at the same time on the same file. #put:into is use in one situation to write out a sketch as a XML file, and in another situation to write out a PNG image. However, It is true DrGeo xml document can embed bitmap, but it is base64 encoded, so saving with readStream is not a problem. I am still curious how I will use wrappedStream in case DrGeo's XML document contained binary data. Le 26/07/2019 à 08:03, Sven Van Caekenberghe a écrit : > You said you wanted to write both character data (XML) as binary data > (images) to the same stream, or so I understood. > >> On 26 Jul 2019, at 00:22, Hilaire wrote: >> >> I don't understand how #wrappedStream works in my situation? >> >> Is #isBinary not good enougth? >> >> Le 25/07/2019 à 21:53, Sven Van Caekenberghe a écrit : >>> If you have a character read or write stream, you can use #wrappedStream to >>> access the underlying binary stream, should you need to do that. >>> >>>> On 25 Jul 2019, at 20:31, Hilaire wrote: >>>> >>>> Thanks for the tips. It is definitely a left over from porting DrGeo to >>>> P7 from P4/5/6 (not sure) >>>> >>>> But it can't really work as put:into: is used to write both sktech >>>> content (XML file) and its PNG preview. >>>> >>>> At some point in Pharo history both UTF8 and bitmap were using binary >>>> stream. >>>> >>>> Likely a putBinary:into: is needed too. >>>> >>>> -- >>>> Dr. Geo >>>> http://drgeo.eu >>>> >>>> >>>> >> -- >> Dr. Geo >> http://drgeo.eu >> >> >> > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P7 regression
I don't understand how #wrappedStream works in my situation? Is #isBinary not good enougth? Le 25/07/2019 à 21:53, Sven Van Caekenberghe a écrit : > If you have a character read or write stream, you can use #wrappedStream to > access the underlying binary stream, should you need to do that. > >> On 25 Jul 2019, at 20:31, Hilaire wrote: >> >> Thanks for the tips. It is definitely a left over from porting DrGeo to >> P7 from P4/5/6 (not sure) >> >> But it can't really work as put:into: is used to write both sktech >> content (XML file) and its PNG preview. >> >> At some point in Pharo history both UTF8 and bitmap were using binary >> stream. >> >> Likely a putBinary:into: is needed too. >> >> -- >> Dr. Geo >> http://drgeo.eu >> >> >> > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P7 regression
Thanks for the tips. It is definitely a left over from porting DrGeo to P7 from P4/5/6 (not sure) But it can't really work as put:into: is used to write both sktech content (XML file) and its PNG preview. At some point in Pharo history both UTF8 and bitmap were using binary stream. Likely a putBinary:into: is needed too. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P7 regression
[...] stream := WriteStream on: (String new: 4000). DrGeoXml new app: self app; saveOn: stream. [...] DrGeoXml>>saveOn: stream | doc writer root | doc := XMLDocument new version: '1.0'. writer := XMLWriter on: stream. root := XMLElement named: #drgenius. self writeFigureAsXmlTo: root. doc addElement: root. doc printXMLOn: writer. The stream is passed to the XMLWriter, then it goes down to each items of the sketch to write its own XML node. For example, to write its basic information as its name, where I have issue: writeAsXmlTo: aNode "return the newly created element" | node | self rehash. node := XMLElement named: self basicType attributes: Dictionary new. node attributeAt: #type put: self nodeType; attributeAt: #name put: (name ifNil: ['']); attributeAt: #id put: self hash asString. self writeParentsAsXmlTo: node. aNode addElement: node. ^node This code is as is since about 2005-2007 I will dig in it but it is strange. Le 24/07/2019 à 18:45, Sven Van Caekenberghe a écrit : > But how do you write it to a file then ? > > FileLocator desktop / 'hilaire.xml' writeStreamDo: [ :out | out << 'Les > élèves Françaises ont 10 €' ]. > > (FileLocator desktop / 'hilaire.xml') contents. > > ">> 'Les élèves Françaises ont 10 €'" -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] P7 regression
Hi Sven, Le 24/07/2019 à 17:05, Sven Van Caekenberghe a écrit : > Can you include the file that you are trying to load ? Attached. It looks like issue come when saving the file. The UTF8 characters are not saved properly. The unix file command was indicating it is an utf8 but Emacs shows it was different. > > Also, the stack trace is very short. Yes, I saw that... I don't know why. I did not cut it. I got a longer one this time. But it is likely not the cause. > Are you sure XML parser is ready for Pharo 8 (i.e. are its tests green) ? My bad, I am using P7. But I don't know either about the full compatibility of the XMLParser version I am using, the one before compatibility break. It is now clear the is issue when saving. To write, I use WriteStream on String. Should it be different? Hilaire -- Dr. Geo http://drgeo.eu test.fgeo Description: application/drgeo THERE_BE_DRAGONS_HERE ZnInvalidUTF8: Illegal continuation byte for utf-8 encoding 24 July 2019 5:26:33.315521 pm VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Image: Pharo7.0.2 [Build information: Pharo-7.0.2+build.152.sha.890f474a81f116ead0e68c8de77790aef4e9a752 (32 Bit)] ZnUTF8Encoder>>error: Receiver: a ZnUTF8Encoder Arguments and temporary variables: message: 'Illegal continuation byte for utf-8 encoding' Receiver's instance variables: a ZnUTF8Encoder ZnUTF8Encoder>>errorIllegalContinuationByte Receiver: a ZnUTF8Encoder Arguments and temporary variables: Receiver's instance variables: a ZnUTF8Encoder [ ((next := stream next ifNil: [ ^ self errorIncomplete ]) bitAnd: 2r1100) == 2r1000 ifTrue: [ code := (code bitShift: 6) + (next bitAnd: 2r0011) ] ifFalse: [ ^ self errorIllegalContinuationByte ] ] in ZnUTF8Encoder>>nextCodePointFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables: < Receiver's instance variables: a ZnUTF8Encoder SmallInteger(Integer)>>timesRepeat: Receiver: 2 Arguments and temporary variables: aBlock: [ ((next := stream next ifNil: [ ^ self errorIncomplete ]) bitAnd: 2r1...etc... count: 1 Receiver's instance variables: 2 ZnUTF8Encoder>>nextCodePointFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables: stream: a ZnBufferedReadStream byte: 233 next: 116 code: 9 Receiver's instance variables: a ZnUTF8Encoder ZnUTF8Encoder(ZnCharacterEncoder)>>nextFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables: stream: a ZnBufferedReadStream Receiver's instance variables: a ZnUTF8Encoder ZnCharacterReadStream>>nextElement Receiver: a ZnCharacterReadStream Arguments and temporary variables: Receiver's instance variables: stream: a ZnBufferedReadStream encoder: a ZnUTF8Encoder peeked: nil ZnCharacterReadStream(ZnEncodedReadStream)>>next Receiver: a ZnCharacterReadStream Arguments and temporary variables: Receiver's instance variables: stream: a ZnBufferedReadStream encoder: a ZnUTF8Encoder peeked: nil SAXDriver(XMLTokenizer)>>next Receiver: a SAXDriver Arguments and temporary variables: nextChar: nil Receiver's instance variables: stream: a ZnCharacterReadStream nestedStreams: nil entities: nil externalEntities: nil parameterEntities: nil parsingMarkup: false markedPosition: nil peekChar: nil validating: true nameBuffer: a WriteStream attributeBuffer: a WriteStream saxHandler: a XMLDOMParser scope: nil useNamespaces: false validateAttributes: false languageEnvironment: nil SAXDriver(XMLTokenizer)>>nextAttributeValue Receiver: a SAXDriver Arguments and temporary variables: delimiterChar: $" attributeValueStream: a WriteStream nextChar: $' nextPeek: $' referenceString: nil entity: nil entityValue: nil Receiver's instance variables: stream: a ZnCharacterReadStream nestedStreams: nil entities: nil externalEntities: nil parameterEntities: nil parsingMarkup: false markedPosition: nil peekChar: nil validating: true nameBuffer: a WriteStream attributeBuffer: a WriteStream saxHandler: a XMLDOMParser scope: nil useNamespaces: false validateAttributes: false languageEnvironment: nil SAXDriver(XMLTokenizer)>>nextAttributeInto:namespaces: Receiver: a SAXDriver Arguments and temporary variables: attributes: a Dictionary('color'->'Red' 'delta'->'(-26.338720500388376@ -22.481...etc... namespaces: a Dictionary() attrName: 'name' attrValue: nil Receiver's in
[Pharo-users] P8 regression
Hi, We have been hit in DrGeo by another regression in Pharo8 (it is not present in DrGeo versions based on previous Pharo). When loading a Sketch with accentuated Latin characters (same occurs with Chinese but I have so far not enough information to assert it is the same error) there is a ZnInvalidUTF8 error. Attached Pharo8 See details https://bugs.launchpad.net/drgeo/+bug/1837745 For the record the stream passed to the XML parser (an old version but I don't think it is the problem) is from readStream message send to FileReference. Do you want a bug ticket? Hilaire -- Dr. Geo http://drgeo.eu THERE_BE_DRAGONS_HERE ZnInvalidUTF8: Illegal continuation byte for utf-8 encoding 24 July 2019 4:39:08.555248 pm VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Image: Pharo7.0.2 [Build information: Pharo-7.0.2+build.152.sha.890f474a81f116ead0e68c8de77790aef4e9a752 (32 Bit)] ZnUTF8Encoder>>error: Receiver: a ZnUTF8Encoder Arguments and temporary variables: message: 'Illegal continuation byte for utf-8 encoding' Receiver's instance variables: a ZnUTF8Encoder ZnUTF8Encoder>>errorIllegalContinuationByte Receiver: a ZnUTF8Encoder Arguments and temporary variables: Receiver's instance variables: a ZnUTF8Encoder [ ((next := stream next ifNil: [ ^ self errorIncomplete ]) bitAnd: 2r1100) == 2r1000 ifTrue: [ code := (code bitShift: 6) + (next bitAnd: 2r0011) ] ifFalse: [ ^ self errorIllegalContinuationByte ] ] in ZnUTF8Encoder>>nextCodePointFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables: < Receiver's instance variables: a ZnUTF8Encoder SmallInteger(Integer)>>timesRepeat: Receiver: 2 Arguments and temporary variables: aBlock: [ ((next := stream next ifNil: [ ^ self errorIncomplete ]) bitAnd: 2r1...etc... count: 1 Receiver's instance variables: 2 ZnUTF8Encoder>>nextCodePointFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables: stream: a ZnBufferedReadStream byte: 233 next: 116 code: 9 Receiver's instance variables: a ZnUTF8Encoder ZnUTF8Encoder(ZnCharacterEncoder)>>nextFromStream: Receiver: a ZnUTF8Encoder Arguments and temporary variables:
Re: [Pharo-users] Playground auto-save?
Hi Offray, Can I use it from DrGeo because this is what I need to do with my students? If you can try out Grafoscopio+DrGeo I am all eyes opened (tip to install on P7 [1]) The *elementary* needed feature: student write code as script, student save code when necessary. Nevertheless, It is not exactly possible on Pharo. Switching to Workspace could be an option. It also come with its own usability issue though. Kid do not forgive approximation, learn the hard way. Hilaire [1] https://bazaar.launchpad.net/~drgeo-developers/drgeo/trunk/view/head:/src/INSTALL Le 18/07/2019 à 23:39, Offray Vladimir Luna Cárdenas a écrit : > Hi, > > You may try to use Grafoscopio [1], so you can save several nested > and/or sequential playgrounds explicitly as a Grafoscopio notebook. > > [1] https://mutabit.com/grafoscopio/index.en.html > > I'll be pretty interested in the feedback from you and your > kids/students and I'm working on improving the Grafoscopio DOM to > support a better user experience (selected and expanded nodes, warnings > on unsaved documents and so on). > > Cheers, > > Offray -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Playground auto-save?
Beside that, auto-save is a nice feature, but it needs to be predictable. Hilaire Le 18/06/2019 à 21:53, Hilaire a écrit : > Hi, > > I have to admit it is working randomly in P7 with Dr.Geo. (19.06 rel) > > Sometime script can be retrieved with the playpage button other time no: > executed script can not be retrieved. > > Its behavior is not predictable and it is a problem for me and the kids > playing code. > > Hilaire -- Dr. Geo http://drgeo.eu
[Pharo-users] Playground auto-save?
Hi, I have to admit it is working randomly in P7 with Dr.Geo. (19.06 rel) Sometime script can be retrieved with the playpage button other time no: executed script can not be retrieved. Its behavior is not predictable and it is a problem for me and the kids playing code. Hilaire -- Dr. Geo http://drgeo.eu
[Pharo-users] Any Pharoer in Geneva?
Hi, I will likely start a course on programming with Smalltalk through Dr.Geo and student text book I am writing [1]. Anyone in Geneva interested on Smalltalk teaching? Hilaire [1] https://launchpad.net/drgeo/trunk/19.06/+download/programmer-avec-drgeo.pdf -- Dr. Geo http://drgeo.eu
[Pharo-users] Dr. Geo release 19.06a
I am please to announce the Dr. Geo release 19.06, the GNU interactive geometry software. It follows the release 19.03 in March 2019. - New features - Bugs fix - Updated French user guide <http://drgeo.eu/help> - New book "Programmer des math avec Dr. Geo" <http://drgeo.eu/help>. WIP - Feedback appreciated! See details in the change log file in the software or read the bugs fix list <https://launchpad.net/drgeo/trunk/19.06>. Download <http://drgeo.eu/download>. Hilaire -- Dr. Geo http://drgeo.eu
[Pharo-users] RealEstate
Hi, I would like new window to be placed in free space of the World. (I try to fix this usability concern https://bugs.launchpad.net/drgeo/+bug/1821501) I took a look at RealEstate but without success. Any though on the matter Thanks -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Bloc of code in tiers programming language
Thanks for the update. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Bloc of code in tiers programming language
Le 15/05/2019 à 20:37, Konrad Hinsen a écrit : > Lambda expressions are indeed Python's anonymous functions, but no > Python programmer would create a lambda expression only to assign it > to a variable. Doing this in an article to "sell" Smalltalk might well > have the opposite effect. Nor a Smalltalk programmer. Bellow the context for FYI. | sketch f df xn ptA ptB| sketch := DrGeoSketch new axesOn. xn := 2. f := [ :x | x cos + x ]. df := [ :x | (f value: x + 1e-8) - (f value: x) * 1e8]. "Derivate number" sketch plot: f from: -20 to: 20. ptA := (sketch point: xn@0) large; name: 'Drag me'. 5 timesRepeat: [ ptB := sketch point: [ :pt | pt point x @ (f value: pt point x)] parent: ptA. ptB hide. (sketch segment: ptA to: ptB) dotted forwardArrow . ptA := sketch point: [:pt | | x | x := pt point x. x - ( (f value: x) / (df value: x) ) @ 0 ] parent: ptB. ptA hide. (sketch segment: ptB to: ptA) dotted forwardArrow]. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Bloc of code in tiers programming language
Hi, It is an important restriction on Python. So Javasctip has several way of doing lambda, correct? Thanks Hilaire Le 15/05/2019 à 16:19, Richard O'Keefe a écrit : > One point worth making is that Python lambdas are artificially restricted: > the body of a Python lambda may only be a single expression, not a > sequence > of statements. This restriction is for ideological reasons (the BDFL does > not *want* you to do that) not for technical reasons. Lisp and Algol 68 > were doing lambda expressions in the 60s. > > As well as function (x, y) { ... }, > modern Javascript has (x, y) => > with subtly different semantics. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Bloc of code in tiers programming language
Thanks guys. -- Dr. Geo http://drgeo.eu
[Pharo-users] Bloc of code in tiers programming language
Hi, We, Smalltalkers, use bloc of code as easily as we breathe air. I am writing an article on Smalltalk programming for a French mathematics teachers magazine. To illustrate the simplicity of Smalltalk, I would like to compare how the bloc of code 'f' and 'df' below will be implemented in Javascript and Python: f := [ :x | x cos + x ]. df := [ :x | (f value: x + 1e-8) - (f value: x) * 1e8]. Here f is a way to implement a function and df its derivate. Do some of you knows how it will be written in Javascript and Python with their own ad-hoc anonymous function? Thanks Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] What's wrong with latest Pharo?
Which external module is not found? I personally had a recurring issue when using the P7 VM+Image. I have to use Launcher to get a working environment. Le 31/03/2019 à 23:21, Richard Kenneth Eng a écrit : > I just installed Pharo under Linux and when I start it up, I get: > > *Error: External module not found* > > It doesn't matter how I install Pharo. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] 7.0.2 and the font glitch - seems far worse than 7.0.1
This problem also randomly shows up in Dr.Geo/Linux. I think I saw it recently in DrGeo build with P7.0.1 or P7.0.2. Tim, did you use an alternate true type font for your Pharo GUI? Until know I though the issue was related to the FreeType plugin and the use of true type font in the UI. Hilaire Le 16/03/2019 à 09:25, Sven Van Caekenberghe a écrit : > I am on the latest macOS, my 64-bit 7.0.2 image with lots of code > (Bootstrap/Seaside/...) is running fine. I did not fiddle with the fonts, > just switched to Dark look. > > I avoid loading any packages that use native code, unless it is very well > proven and/or part of the standard image (IceBerg for example). > > I have none of the issues you describe. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Pharo OSX bundle in Mojave - how to sign ? (Was Re: OS X bundle, some progress)
Hi, Today I realized another problem on some Mac OSX. It looks like when you download an app on the net, whenever your run it, OS X re-localizes it on a read only location. A guess a protection measure. It leads to obvious problem. For example, once I download DrGeo and run it, the image location resolve to this place: /private/var/folders/bb/spq6th0s7814jgk9nybbqjrw45hrqn/T/AppTranslocation/D0FEC575-60D6-4F2B-A1C3-3259271B9C92/d/DrGeo.app/Contents/Resources I don't have the global picture and it is hard to understand what's going on. Moving to the Application place seems to resolve the issue. But some users told me they have to move DrGeo from Download, then Application, then back to Download to get it running without RW error. What a strange world. Guys, what about throwing away these Mac, the promise of freedom[1] is longtime twisted :-) Ok just kidding, well half-kidding. Hilaire [1] https://www.youtube.com/watch?v=2zfqw8nhUwA Le 09/03/2019 à 10:10, Cédrick Béler a écrit : > Hi, > > I tried a bit more to make DrGeo bundle works. > > I have Mojave (10.14) and the problem of corrupted files seems to come from > Gatekeeper with prevent unsigned applications (from unknot developper) to > open. > > Gatekeeper can be temporary stopped and then the bundle work, even when > Gatekeeper is reactivated. But clearly, this is not a friendly user way of > installing DrGeo. > > So I guess the actual (old ?) bundle procedure doesn’t fit Apple politic on > application security. I'm pretty sure PharoLauncher faced this already. > > So my question is: > - how to make a signed bundle for OSX ? > — do we need a real developer account ? I’ve a free one and access to a paid > one. Can we do it with a general « pharaoh » account like for Pharo-Launcher ? > > > Cheers, > > Cédrick -- Dr. Geo http://drgeo.eu
[Pharo-users] Documentation system within Pharo
Hi, Do we have any tool to browse external documentation from Pharo? I will be interested to give the option to DrGeo user to read programming documentation from Pharo (DrGeo doc use the texinfo format[1]). An Info reader will be even greater but I don't think we have one. Hilaire [1] https://www.gnu.org/software/texinfo/ -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Pharo 7.0 image size
Hi, Beside the browser windows, did you close all Transcript windows? Hilaire Le 08/03/2019 à 11:59, Trussardi Dario Romano a écrit : > Ciao, > > this morning i started with an image of about 240 MB. > > I have 3 System Browser open ( for a long time ). -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Fail on condense when image name is drgeo.image
Thanks Alistair. Great! I can now build DrGeo with the P7.0.1 image. I will check with the P7.0.2, but should be fine. Now the OS X DrGeo build behave much more gently, but I need to test a bit further. Hilaire Le 06/03/2019 à 08:53, Alistair Grant a écrit : > For future reference: > > Issue: https://github.com/pharo-project/pharo/issues/2753 > PR: https://github.com/pharo-project/pharo/pull/2754 -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] im using pharo 7 with linux env. but cannot input korean.
Cool. Le 05/03/2019 à 18:04, peter yoo a écrit : > ok. today me tested again. maybe my XIM env is bad before. is ok now. > thanks to all. > all fcitx package remove and re-install. and ok... > > 감사합니다. for pharo users. :D -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Fail on condense when image name is drgeo.image
Alistair, I checked, the error shows under this specific situation I described in my previous email. Yes, your code fixes this condition, the condense does not hit this error anymore. Thanks Hilaire Le 05/03/2019 à 17:59, Alistair Grant a écrit : > I've attached a change-set that fixes #nextVersion so it returns the > correct values for file names with dots in them, e.g. "file.name.ext". > Could you check if it behaves as expected? -- Dr. Geo http://drgeo.eu
[Pharo-users] Fail on condense when image name is drgeo.image
Hi, When I use the stable P7, drgeo build fails. There is an obscure error in File>>nextVersion, with negative index which are not catch, although it looks like it should be. This same build was working on alpha P7 of June. The stack of the debugger is attached as well the PharoDebug.log. Does it sound familiar to any of you? Hilaire -- Dr. Geo http://drgeo.eu ByteString class(ProtoObject)>>primitiveFailed: ByteString class(ProtoObject)>>primitiveFailed ByteString class(Behavior)>>basicNew: ByteString class(String class)>>new: ByteString(SequenceableCollection)>>copyFrom:to: ByteString(SequenceableCollection)>>last: [ :f | Number squeezeNumberOutOfString: (f basename last: f basename size - nameWithoutExtension size - 1) ifFail: [ 0 ] ] in FileReference>>nextVersion in Block: [ :f | ... [ :stream | 1 to: self size do: [ :index | (selectBlock value: (each := self at: index)) ifTrue: [ stream nextPut: (collectBlock value: each) ] ] ] in Array(SequenceableCollection)>>select:thenCollect: in Block: [ :stream | ... Array class(SequenceableCollection class)>>new:streamContents: Array(SequenceableCollection)>>select:thenCollect: FileReference>>nextVersion PharoChangesCondenser>>temporaryFile PharoChangesCondenser>>reset PharoChangesCondenser>>initialize PharoChangesCondenser class(Behavior)>>new PharoChangesCondenser class>>condense AnObsoleteDrGeoInstallerWorkstation(UndefinedObject)>>install AnObsoleteDrGeoInstaller class>>forWorkstation UndefinedObject>>DoIt OpalCompiler>>evaluate DoItChunk>>importFor:logSource: [ :declaration | requestor ifNotNil: [ requestor contents: declaration contents ]. value := declaration importFor: requestor logSource: logSource ] in CodeImporter>>evaluate in Block: [ :declaration | ... OrderedCollection>>do: CodeImporter>>evaluate [ codeImporter evaluate ] in STCommandLineHandler>>installSourceFile: in Block: [ codeImporter evaluate ] BlockClosure>>on:do: STCommandLineHandler>>handleErrorsDuring:reference: STCommandLineHandler>>installSourceFile: [ :reference | self installSourceFile: reference ] in [ sourceFiles do: [ :reference | self installSourceFile: reference ] ] in STCommandLineHandler>>installSourceFiles in Block: [ :reference | self installSourceFile: reference ]...etc... OrderedCollection>>do: THERE_BE_DRAGONS_HERE PrimitiveFailed: primitive #basicNew: in ByteString class failed 4 March 2019 10:09:31.732621 pm VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Image: Pharo7.0.1 [Build information: Pharo-7.0.1+build.142.sha.b8825954d0dcff883bf4f47ea5c516c9cfc2fe4b (32 Bit)] ByteString class(ProtoObject)>>primitiveFailed: Receiver: ByteString Arguments and temporary variables: selector: #basicNew: Receiver's instance variables: THERE_BE_DRAGONS_HERE Instance of ByteString class did not understand #replaceFrom:to:with:startingAt: 4 March 2019 10:14:22.879961 pm VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan 5 2019 VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Image: Pharo7.0.1 [Build information: Pharo-7.0.1+build.142.sha.b8825954d0dcff883bf4f47ea5c516c9cfc2fe4b (32 Bit)] ByteString class(Object)>>doesNotUnderstand: #replaceFrom:to:with:startingAt: Receiver: ByteString Arguments and temporary variables: aMessage: replaceFrom: 1 to: -1 with: 'drgeo' startingAt: 7 exception: MessageNotUnderstood: ByteString class>>replaceFrom:to:with:starting...etc... resumeValue: nil Receiver's instance variables: superclass: String methodDict: a MethodDictionary(#applyLanguageInfomation:->ByteString>>#applyLan...etc... format: 1048576 layout: a ByteLayout organization: a ClassOrganization subclasses: nil name: #ByteString classPool: a Dictionary(#NonAsciiMap->#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...etc... sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Collections-Strings-Base' ByteString(SequenceableCollection)>>copyFrom:to: Receiver: 'drgeo' Arguments and temporary variables: start: 7 stop: 5 newSize
Re: [Pharo-users] OS X bundle, some progress
One useful information will be to know where stdout file is created by default? VM, image, home, folder, ... Obviously there is situation with problem creating stdout files. Can it be shutdown? For the record, the error is REPEATABLE, Pharo started from the CLI or from an installed Application. Once the image started: error with stdout does not exist, force recursive file creation, filename "stdout" This occures with stock OS X 32bits VM and Image. Any one willing to do serious deliverable Pharo Application with Mac will be hit by this error. Is OS X making situation more difficult? Hilaire Le 01/03/2019 à 23:19, Hilaire a écrit : Hi, > I did some progress on the Dr.Geo bundle for OS X. > > The Mac admin of my school told me to download from Safari and > authorized the drgeo.eu web site (not sure what this exactly does), then > we installed the DrGeo.app at the Application location. > > DrGeo started fine but emit a startup error at the image level, related > to stdout. It looks like a stdout file can not be created. The stack is > enclosed here. When looking at the execution stack, I could not > determine (I have to go teaching) where the image wants to create this > stdout file. > > Any idea or opinion on this stdout matter? -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] [ANN] Pharo-SQLite even more multilingual
Thanks! Hilaire Le 02/03/2019 à 14:16, Pierce Ng a écrit : > I've enhanced the Pharo SQLite library to be even more multilingual. It has -- Dr. Geo http://drgeo.eu
[Pharo-users] OS X bundle, some progress
Hi, I did some progress on the Dr.Geo bundle for OS X. The Mac admin of my school told me to download from Safari and authorized the drgeo.eu web site (not sure what this exactly does), then we installed the DrGeo.app at the Application location. DrGeo started fine but emit a startup error at the image level, related to stdout. It looks like a stdout file can not be created. The stack is enclosed here. When looking at the execution stack, I could not determine (I have to go teaching) where the image wants to create this stdout file. Any idea or opinion on this stdout matter? Thanks Hilaire -- Dr. Geo http://drgeo.eu MorphicUIManager>>fileDoesNotExistUserHandling: MorphicUIManager>>fileDoesNotExistsDefaultAction: FileDoesNotExistException>>defaultAction UndefinedObject>>handleSignal: Context>>handleSignal: FileDoesNotExistException(Exception)>>signal FileDoesNotExistException class>>signalWithFile:writeMode: File>>openForWrite: File>>openForWrite File>>writeStream [ ^ (File named: moniker asString) writeStream ] in Stdio class>>standardIOStreamNamed:forWrite: in Block: [ ^ (File named: moniker asString) writeStream ] BlockClosure>>on:do: Stdio class>>standardIOStreamNamed:forWrite: Stdio class>>stdout VTermOutputDriver class>>stdout BasicCommandLineHandler(CommandLineHandler)>>initializeStdout BasicCommandLineHandler(CommandLineHandler)>>initialize BasicCommandLineHandler>>initialize BasicCommandLineHandler class(Behavior)>>new [ self new activate ] in BasicCommandLineHandler class>>startUp: in Block: [ self new activate ] BlockClosure>>cull: WorkingSession>>executeDeferredStartupActions: WorkingSession>>runStartup: WorkingSession>>start: SessionManager>>launchSnapshot:andQuit: [ isImageStarting := self launchSnapshot: save andQuit: quit. wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting := self launchSnapshot: save and...etc... [ self value. Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value
Re: [Pharo-users] Mac OS X test [ smaller image ]
Hi, Out of curiosity, among your test, did you try to copy the app in the Application location? Thanks Hilaire Le 28/02/2019 à 15:52, Christophe Demarey a écrit : > I also did a quick test: > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Thanks for the feedback Cedrick. We have all different experiences, I guess depending on the OS X version. Did you try to drag the DrGeo.app in the Application location and start it from there? Hilaire Le 28/02/2019 à 13:08, Cédrick Béler a écrit : > Can someone with privilege to the Application location, test this new > DrGeo bundle[2]? THANKS ! -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Hi, I have a build script too to build the drgeo bundle from scratch [1], I will take a look yours to add up. In the mean time I built a new mac os bundle with your info.plist. I tested it on a mac, but without privilege to move it to the Applications location. After downloading it to the Desktop folder, I can experiment: 1. Double click on the app does not work 2. From a shell, "Desktop/DrGeo.app/Contents/MacOS/Pharo" starts DrGeo fine, without error, locale is correctly detected 3. Double click again on the app starts it this time, but I got a funny error message: "error with stdout does not exist, force recursive file creation, filename "stdout" Can someone with privilege to the Application location, test this new DrGeo bundle[2]? THANKS ! I own you free meals for the help. [1] https://bazaar.launchpad.net/~drgeo-developers/drgeo/trunk/view/head:/build/makeDrGeo.sh [2] https://www.dropbox.com/s/gbey77opzpw143a/DrGeo-mac-19.03a.zip?dl=0 Le 26/02/2019 à 21:09, Christophe Demarey a écrit : > Basically, it is where you design the UI part of the app. In our case, it is > just the menu of the main app. > >> I noted the Info.plist is a lot shorter in PharoLauncher compared to the >> Mac OSX VM zip archive one, though. >> >> Any reason? > I removed useless entries like associations files type / icons > > Also, what I pointed is to build a dmg used to deliver the app. > Building of the application is done through a shell script: > https://github.com/pharo-project/pharo-build-scripts/blob/master/build-platform.sh > > you could use it to package your image / vm / ressources in an app bundle. > > > > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Thanks, Not sure about what is the nib and xib you are mentioning. Will check on that later. I noted the Info.plist is a lot shorter in PharoLauncher compared to the Mac OSX VM zip archive one, though. Any reason? Le 26/02/2019 à 09:11, Christophe Demarey a écrit : > Pharo Launcher mac packaging is available here: > https://github.com/pharo-project/pharo-launcher/tree/development/mac > You can skip the signing part if not needed. > We reuse the app built for opensmalltalk vm but I fear it is a bit outdated. > I tried to update the nib file but this format is not used anymore. It is now > replaced by xib file (and I do not know much on OS X UI dev). If you do not > need to customize it too much, it should be ok. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Le 25/02/2019 à 21:55, Sven Van Caekenberghe a écrit : > prometheus:DrGeo.app sven$ ./Contents/vm/Pharo > ../Contents/Resources/drgeo.image > 2019-02-25 21:49:49.816 Pharo[68128:5223153] No Info.plist file in > application bundle or no NSPrincipalClass in the Info.plist file, exiting Both Info.plist and NSPrincipalClass are present. Are you sure about the path to the drgeo.image, the '../' should be './' ? > This is not my area of expertise, but you are trying to do this without > having a Mac and/or basic Mac developer experience ? Indeed, no Mac no Mac devel experience. This was has this since many year. In my school our 24 seats computer room is mac OS, so I kind have no choice to get it functioning on mac > Those .app bundles are really harder than they look. This is very much > related to how macOS works (including virus and malware protection). Yes, I have no idea. The last time I worked with bundled application was with RiscOS, it was transparent. > > Can't you look at the PharoLauncher for how this should be done ? Maybe the > developers working on PharoLauncher can help ? Yes good idea, I extracted the dmg archive on linux, its Info.plist is minimal. WIll take a look. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
I think I am running out of option. Since about 10 years, it is the first time I am stuck with Pharo to deliver an end user application on Mac. Any idea? Can some try on a mac to run as this for any meaningful feedback? cd ./DrGeo.app ./Contents/MacOS/Pharo ./Contents/Resources/drgeo.image Thanks Hilaire Le 24/02/2019 à 20:55, Hilaire a écrit : > Thanks Sven, > > It looks like the same VM I used with the previous bundle. md5sum on the > Pharo executable produced the same check sum. > > Still I packaged one with this bundle, this time I preserved the plugin > lib symlink in the zip archive, if you want to give a try. > > https://www.dropbox.com/s/me1z6prfln1pbe8/DrGeo-mac-19.03a.zip?dl=0 -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Thanks Sven, It looks like the same VM I used with the previous bundle. md5sum on the Pharo executable produced the same check sum. Still I packaged one with this bundle, this time I preserved the plugin lib symlink in the zip archive, if you want to give a try. https://www.dropbox.com/s/me1z6prfln1pbe8/DrGeo-mac-19.03a.zip?dl=0 Le 24/02/2019 à 20:32, Sven Van Caekenberghe a écrit : > Yes, it depends on the platform on which you execute that expression. > > It resolved to > > http://files.pharo.org/get-files/70/pharo-mac-stable.zip -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
I know. Last summer I give a try to the 64bits version, but there was a show stopper issue, the PNG image decoder on 64bits architecture. Hilaire Le 24/02/2019 à 13:26, Sven Van Caekenberghe a écrit : > Note that on macOS and Linux, 64 bit is the default and 32 bit is the > exception that will be harder to get running. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Sadly, this is of little use as it will fetch a linux vm. Can you copy it somewhere so I can fetch the archive? The Linux VM at the pharo.org/download was not functionning, so may be the same with mac vm. Hilaire Le 24/02/2019 à 14:42, Sven Van Caekenberghe a écrit : > curl get.pharo.org/vm70 | bash -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Mac OS X test [ smaller image ]
Is there a way to know why it is broken, for example running it from the CLI? Can you give me the URL of the downloaded VM? Thanks Hilaire Le 24/02/2019 à 13:26, Sven Van Caekenberghe a écrit : > The application itself remains 'broken', but if I download a 32-bit > Pharo 7 VM, I can open the image inside it and open a sketch: > -- Dr. Geo http://drgeo.eu
[Pharo-users] Mac OS X test
Hi, I am requesting good will to test a Mac OSX bundle for DrGeo. It is here[1], it is not signed, so you will have OS X warning, and likely should be dropped on the Applications folder. Thanks Hilaire [1] https://www.dropbox.com/s/4ywck26jvfv99pi/DrGeo-mac-19.03a.zip?dl=0 -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] image / software update
Hi Ben, As you mention bootstrap... Do you know of any documentation targeted to application developer willing to produce a bootstraped image for her/his application? Hilaire Le 24/02/2019 à 07:14, Ben Coman a écrit : > to Bootstrapping with Continuous Integration & Testing. Each Pharo > build starts with a completely empty Image. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] im using pharo 7 with linux env. but cannot input korean.
Thanks Pierce. So kind of work out of the box as long as the appropriate font is selected. Hilaire Le 22/02/2019 à 04:34, Pierce Ng a écrit : > Hi Hilaire, > > My self-built VM on Windows 7 doesn't have the option either. But, > multilingual input into Pharo works. > > Outside of Pharo, configure Windows multilingual input. Within Pharo, > choose a font like Arial Unicode MS. Then just switch Windows input > system using hot-key or mouse click, and type. See screenshot. > > Pierce -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] im using pharo 7 with linux env. but cannot input korean.
Hi Pierce, Yes, this option worked to key in Chinese. By the way, do you know if any option is needed on Windows? I checked for the options but I did not see anything relevant: hilaire@PCHome:~/Travaux/Developpement/DrGeoII/trunk/build/bundles/windows/DrGeo$ wine Contents/vm/DrGeo.exe --help Usage: Pharo Virtual Machine [vmOptions] imageFile [imageOptions] vmOptions: -service: ServiceName (install VM as NT service) -headless (force VM to run headless) -timephases (print start load and run times) -log: LogFile (use LogFile for VM messages) -memory: megaByte (set memory to megaByte MB) -breaksel: string (call warning on send of sel for debug) -breakmnu: string (call warning on MNU of sel for debug) -leakcheck: n (leak check on GC (1=full,2=incr,3=both)) -eden: bytes (set eden memory size to bytes) -stackpages: n (use n stack pages) -numextsems: n (allow up to n external semaphores) -checkpluginwrites (check for writes past end of object in plugins -noheartbeat (no heartbeat for debug) -trace[=num] enable tracing (optionally to a specific value) -warnpid (print pid in warnings) -[no]failonffiexception ([never]always catch exceptions in FFI calls) -codesize: bytes (set machine-code memory size to bytes) -cogmaxlits: n (set max number of literals for methods to be compiled to machine code) -cogminjumps: n (set min number of backward jumps for interpreted methods to be considered for compilation to machine code) -tracestores (assert-check stores for debug) -reportheadroom (report unused stack headroom on exit) -dpcso: bytes (stack offset for prim calls for debug) -maxoldspace: bytes (set max size of old space memory to bytes) -logscavenge (log scavenging to scavenge.log) Options begin with single -, but -- prefix is silently accepted Options with arguments -opt:n are also accepted with separators -opt n Le 16/02/2019 à 04:54, Pierce Ng a écrit : > I start Pharo with -compositioninput (one dash, didn't try two dashes -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Monticello diff between image and tonel repo
I confirm again this issue, while annoying, flushing Monticello helps to get a proper diff. https://github.com/pharo-project/pharo/issues/2583 Hilaire Le 16/02/2019 à 11:56, Hilaire a écrit : > Closing Monticello windows and opening a fresh one helped to get the > changes right, sometime... Other time, forcing flush cash on Monticello > helps. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Stability of Pharo 7 vs 6?
Le 18/02/2019 à 02:00, Tim Mackinnon a écrit : > > Having said this - I’m still not having the smooth ride others are > reporting - and 7 is still suspect to me. Indeed, the Pharo stability (or any other software) depends on several factors: in your case OSX, fullscreen, P7 image and VM, plugin. Also likely, not many of us are using Pharo fullscreen > > I’m kind of suprised this isn’t getting much traction from the core > team - and I wonder if I should post this on the dev list instead? > Reporting these kind of issues here seems to me as the right place. The dev list is dedicated to exchange related to the development of Pharo. As your issue is likely related to the VM, you could report it to the VM list, there http://forum.world.st/Squeak-VM-f104410.html? You may have some additional clues. While it is annoying to be under such circumstance when you just want to work on your project (been there many times), it could be a valuable contribution, eventually with self knowledge amplification outcome. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Pharo 7.0 image size
May be you have a lot of still open Seaside session, which if I remember correctly are automatically shutdown after 10 min when not active. Looking at Seaside session instances may give clue. Hilaire Le 16/02/2019 à 13:18, Trussardi Dario Romano a écrit : > Starting from 94 MB, now after rebooting and save the image the > relative size is 252 MB. > > How can I understand what is happening? -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] im using pharo 7 with linux env. but cannot input korean.
Thanks, I will test with my friend -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Stability of Pharo 7 vs 6?
I can't tell, but in your initial email you mentionned using the 64bits VM, so the image is 64bits too. So if you are using 32bits, you can try 64bitsVM https://get.pharo.org/64/ Le 16/02/2019 à 12:01, Tim Mackinnon a écrit : > As mentioned, I’m on OSX HighSierra I get a zero conf image (which I > believe is the 32 bit version?) > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Monticello diff between image and tonel repo
Hi Ben, I am not looking at you reproducing the scenario (you asked for) as it is some work and the outcome may not be reliable as you mentioned it. Nevertheless, the steps I described will likely get you on the trouble and are easy to get in. But more on sharing experience on this topic, as I meet it several times. I think it is an important issue, I have since migrating to Tonel, and it needs to be reported. Closing Monticello windows and opening a fresh one helped to get the changes right, sometime... Other time, forcing flush cash on Monticello helps. But still, this really makes fell the environment to be fragile and inconstant for serious work. It seems Monticello is confused by two sources of package tonel, and mcz. Already meet this problem too. Hilaire PS: DrGeo is free software. Le 16/02/2019 à 10:52, Ben Coman a écrit : > That isn't even close to "steps to reproduce". > > Thats just a lot of effort for me to produce scenario B that has a > high chance of > being entirely unrelated to scenario A you presented. > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Quality assistant
Thanks Denis. By the way, Calypso is pretty cool. Le 15/02/2019 à 23:54, Denis Kudriashov a écrit : > > Use following script to disable it: > > ClyCriticBrowserPlugin disable > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Monticello diff between image and tonel repo
Hi Ben, The screenshot shows two things: 1. In the top (black background), it shows the first lines of the file 'DrGAngle3ptsOrientedItem.class.st' from the tonel repository, in the DrGeoII-Core tonel package. In this source, you see a 'CostumeClasse' method. 2. In the second half of the screenshot, in the Pharo environment, there are three windows to look at: 1. in the background the Monticello window with the DrGeoII-Core package selected from the tonel repo (the same as in 1.); 2. on top of the Monticello window, the repository is open and you can see its packages. The DrGeoII-Core package is selected; 3. then the foreground window shows the changes between two packages: one is the tonel package, the other one I don't know (HilaireFernandes.7). Importantly, it look like costumClass method does not exist in the tonel package, which is wrong as seen in 1. At the minimum, the information misrepresented, or I miss use the tool. Anyway it is confusing for me or not obvious, likely more confusing for newbie which may think the tool is unreliable, and they want to go away. To reproduce, create a tonel repo, add package to this repo, or repo to the package, and test the same as explained above. Hilaire Le 16/02/2019 à 07:23, Ben Coman a écrit : > Its hard to determine what is wrong from the screen shot. > I'm probably not the one able to provide an answer, > but anyway... can you provide steps-to-reproduce in a fresh Image? > -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Stability of Pharo 7 vs 6?
Depends on what you are doing, I guess. I am using the same P7 32bits image on linux since June 2018, but I am doing bare bone smalltalk, and I don't use iceberg. It could be the source of your problem as it is still new, or it could be the 64bits image/vm. You could give a try for the 32bits version for a few days.. Le 15/02/2019 à 12:11, Tim Mackinnon a écrit : > I’m not sure if this is born out by others - but I’m finding that Pharo 7 is > a bit less stable than Pharo 6 - I’m seeing quite a few seg-faults where the > vm dies and terminates - both when the image is left running for a while, but > also in fresh images where I do an Iceberg load of my projects. I’ve also > seen a lot of weird things like corrupted fonts and keyboard focus/cursor > keys not working properly. -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] im using pharo 7 with linux env. but cannot input korean.
In your trad. chinese app were you able to key in chinese? A taiwanese friend of mine will be interested to know. Hilaire Le 15/02/2019 à 19:06, Sean P. DeNigris a écrit : > Will you say more about your issue (e.g. steps to reproduce)? Make sure you > use a font that contains Korean characters. When I wrote a Chinese > (traditional) app, the default Pharo font did not and I had to change to > "Arial Unicode MS" -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Quality assistant
So, no option to turn it off I guess? Hilaire Le 14/02/2019 à 12:03, Hilaire a écrit : > How to turn off the quality assitant in the calypso browser? > > I don't find anymore the option in the settings browser. -- Dr. Geo http://drgeo.eu
[Pharo-users] Quality assistant
Hi How to turn off the quality assitant in the calypso browser? I don't find anymore the option in the settings browser. Hilaire -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Working VM for OS X for Pharo 7
I know what you are describing, for example cairo can be impacted. My self questioning was: Does the VM rely on the host git library or is the one shipped with the vm sufficient? Best, Hilaire Le 14/02/2019 à 10:33, Alistair Grant a écrit : > On Linux it is almost always: > > - A library isn't found because the search path is wrong, i.e. > LD_LIBRARY_PATH needs to be set, and/or > - there's a missing dependency. > > The ldd command helps track these down by showing which dependencies > are missing. > > On Linux you need to be careful because the pharo script sets > up LD_LIBRARY_PATH, so ldd may show something as missing which will be > found when pharo is actually run, e.g libssh. > > Cheers, > Alistair > (on phone) -- Dr. Geo http://drgeo.eu
Re: [Pharo-users] Working VM for OS X for Pharo 7
Hopefully I may have access to a mac tomorrow to test your request, or it will be in 10 days. On the other hand, is not libgit integrated in the VM, so I don't understand how it can be related to system update? Or is libgit a binding to a system git or something like that? Thanks PS: I did an update of my linux system a few days ago, so could it fix the issue... Hilaire Le 14/02/2019 à 09:51, teso...@gmail.com a écrit : > Good morning, > Last week I had a problem with a conflicting version of libgit > installed by brew. In my case, brew had updated the version making it > incompatible with the bindings in FFi. > > Could you check the execution of: > > DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 > ./pharo-vm/Pharo.app/Contents/MacOS/Pharo Pharo.image > > > So we can see the libgit that is loading. This can be fixed in the > image side, I remember I fixed a bug in the lookup of libgit. > -- Dr. Geo http://drgeo.eu