[Pharo-users] Re: How to log pharo output to stdio safely?

2024-04-17 Thread stephane ducasse
just out of my mind and before breakfast :)

did you see Stdio ?

S

> On 18 Apr 2024, at 01:31, Tim Mackinnon  wrote:
> 
> Hi - I've been messing around with deploying a hobby pharo app to the web.. 
> which has become a lot simpler over the years, although the tech keeps 
> changing and you have to relearn things.
> 
> Anyway, I have my image in one of the wonderful BA Docker containers, and it 
> runs well - and the host I'm using will show the logs for you, so you can 
> figure out what is going on... well that is if your logs come out properly 
> (and of course, if it gets really hairy then you can get a VNC session onto 
> the image and figure stuff out)
> 
> So logs are handy, and pharo these days has a nice headless mode that 
> redirects the Transcript to stdout - and there are also a few decent logging 
> frameworks as well.
> 
> But as most things go to the Transcript, and that goes to stdout - it should 
> be good. 
> 
> HOWEVER - flushing is the killer, as if things happen and the last thing goes 
> wrong, but the output isn't flushed, then you aren't going to see it.
> 
> So my question is how to properly flush? And I'm sure I've read something 
> about this before, but I can't find it.
> 
> From memory,  you often need to have a Transcript cr.  to flush your last 
> line.
> 
> BUT, most things in the image seem to use  "self crTrace:"  these days, which 
> is a cr to ensure the previous msg is separated from what you want to write, 
> and then you write your line out. However, as there is now cr -  you might 
> not see it.
> 
> So I tried changing my stuff to use "self traceCr:" (which is in the image), 
> and that still didn't seem to work - the last failing line wasn't being 
> output. Worse still, its confusing, as many things in the image are using 
> crTrace: and so you get intermingled messages, which are hard to decipher.
> 
> So I tried: Transcript cr; show: msg; flush
> 
> But that didn't seem to work (which I don't understand)
> 
> Eventually I did: Transcript show: msg; cr; flush
> 
> And this seems to ensure things do reliably get outputted - but I'm wondering 
> if anyone can shed light on this areas?
> 
> Ideally I want to use: Transcript cr'; show: msg; flush 
> 
> As this plays much better with everything that is in the image - but is there 
> some way to do this? And indeed, will log tools the Bettersatack or papertail 
> play ball with output like this (as I guess they operate on complete lines to 
> interpret log levels etc),
> 
> Anyway - I'm curious if anyone else has done work in this area to shed light?
> 
> Thanks,
> 
> Tim
> 
> 
> As an aside - for deployment - several years ago I came across dockerize.io 
>  - which lets you upload a Docker image to a host, and 
> it will run it for you. Sadly that service didn't survive... but there are 
> quite a few like it now, and so I'm trying Render.com  - 
> which is similar, but the twist is you need to store a Docker image in a 
> registry somewhere (I use gitlab from my CI pipeline), and then it will 
> retrieve it and run it for you (for either free in 40 minute chunks, or for 
> $7/m - which is pretty good, and possibly bit simpler than Digital Ocean). 
> Its pretty cool, and maybe I will write up about it sometime

Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] Re: remove breakpoint ?

2024-04-14 Thread stephane ducasse


> On 9 Apr 2024, at 01:41, Haroldo Stenger  wrote:
> 
> hi dear Stéphane
> 
> thank you very much for your mail.
> 
> I first have to say that I could already pass over this.
> The problem that originated the red ! in the method pane, or better, what 
> made it disappear, was that x and y were originally written as instance 
> variables without any initialization in an initialize method. It was a weird 
> effect so to say, that a uninitialized variables made this , making one (me ) 
>  think that this was a breakpoint, which in the end , wasn't.  What added to 
> making me think this, was the red breakpoint label in the protocols pane, 
> which in addition , I misperceived was parenting the 'a' protocol, when in 
> fact was simply a sibling. The third thing that misguided me, was that 
> breakpoints are marked in several parts of the system browser as red !, even 
> the right click menu on the method.  However , it was the other issue of 
> uninitialized variables.  I'll try to redo and isolate this , both in Pharo 
> 11 and 12 snapshot in order to help polish the UI, if that's of any value.

Always :)

> I appreaciate a lot that you redirect me to Bloc list, bc I was afraid of 
> going there with such a newbe issue, which by the way I still didn't get 
> right (putting one little square along the circumference). Just a toy 
> approach on my part in order to learn both Pharo and Bloc. But maybe I'm 
> hittiong against some rough part of Bloc, which has to do with 'refreshes' . 
> I still coudn't make the squares render.  I'll report back on this later in 
> the week, maybe also in the Pharo list. 

I will start to work on a little tutorial to build a clock in Bloc based on the 
work on Renaud and I will add it to the Bloc 
chapter. A general problem about software is that it is often fun to develop 
but people forget the documentation part. 

So I will try to learn bloc and write what I understand and share it. 

S

> You always encourage to ask and I value that a lot! I did that also in 
> discord channel.
> best regards
> Haroldo
> 
> El dom, 7 abr 2024 a la(s) 5:38 p.m., stephane ducasse 
> (stephane.duca...@inria.fr <mailto:stephane.duca...@inria.fr>) escribió:
>> Hi arnoldo 
>> 
>> Sorry for the inconvenience often I edit and recompile the method to remove 
>> a breakpoint. 
>> In P12 we redid all this part. 
>>  this is the first time I see this. 
>> Which version of pharo are you using?
>> 
>> - Did you see the vides in the first week of the mooc? because they explain 
>> the IDE.
>>  http://mooc.pharo.org <http://mooc.pharo.org/>
>> - You can have support if you ask in the discord channel
>>   https://discord.gg/QewZMZa
>> 
>> - for Bloc there is separate mailing-list 
>>  lse-openbloc mailto:lse-openb...@inria.fr>>
>>  you can register at http://sympa.inria.fr <http://sympa.inria.fr/>
>> 
>> 
>>> On 5 Apr 2024, at 11:16, Haroldo Stenger >> <mailto:haroldo.sten...@gmail.com>> wrote:
>>> 
>>> hi nice pharo people
>>> 
>>> I'm doing my very initial attempts in Pharo. Having read something
>>> here and there.
>>> Now I've put myself to subclass BlElement in order to add a method of
>>> myself to this subclass.
>>> The subclass got named 'Circulo'. Then I had a hard time trying to
>>> create a protocol to 'host' it, but finally it got created as protocol
>>> 'a'. Initially it got created in the third pane in the browser, below
>>> without any apparent 'breakpoint hierarchy'. However, as soon as I
>>> wrote the method and got to save/accept it, something strange
>>> happened, namely, 'brakepoint' protocol was created out of nothing ,
>>> and my 'a' protocol was put under it. The method itself in the fourth
>>> pane, has a red ! sign. If I right click on the method, and try to
>>> remove the breakpoint, it does nothing. What happens this and how can
>>> I have a normal situation , since I did not put breakpoints ? Thanks
>>> for your kind help
>>> 
>> 
>> Stéphane Ducasse
>> http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/>
>> 06 30 93 66 73
>> 
>> "If you knew today was your last day on earth, what would you do 
>> differently? ESPECIALLY if, by doing something different, today might 
>> not be your last day on earth.” Calvin & Hobbes
>> 
>> 
>> 
>> 
>> 

Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] Early rate deadline is approaching....

2024-04-09 Thread stephane ducasse
Hello

People do not miss this unique opportunity to participate in ESUG in early July

https://esug.org

Pay attention that the early rate end is approaching… 15 of April 2024.

https://registration.esug.org/ESUG



Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] Call for Presentations @ ESUG 2024

2024-04-04 Thread stephane ducasse
Dear Friends

The deadline for the presentation proposal was 1st of April. 
We extended it until 8th of April.
You are probably busy but we the organisers deserve consideration too.



ESUG 2024 Call for Presentations
 from 8 to 11 July 2024
Lille France 
https://esug.github.io 
https://esug.github.io/2024-Conference/conf2024.html

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, software to the award competition, or a paper to IWST 
http://https://esug.github.io/2024-Conference/IWST2024.html
- Attend the conference. We'd like to beat the previous record of attendance 
(180 people at Koln 2019)!
- Students can get free registration and hosting if they enroll in 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 hands-on tutorials. 
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 and Show us Your Business


We added two types of sessions in addition to the regular talks and ''Show us 
your project'' sessions.
- Show your business in a 10-minute session (Get prepared!!)
- Teaching pearls: we want some sessions 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-minute sessions aggregated.

### How to submit?

Make a Pull Request here 
https://github.com/ESUG/esug.github.io/tree/source/2024-Conference/talks
[Or but only if you are not connected to the world… send an email to 
stephane.duca...@inria.fr ]

Title: [ESUG 2024] Please follow the template below the email will be 
automatically processed!
Name:
Email:
Abstract:
Bio:


[Pharo-users] Re: Books about Pharo

2024-04-03 Thread stephane ducasse
Thanks for the pointer!!!

For me I’m lacking time to improve Microdown, so I will focus on the features 
I have on my todo
- > support
- $ $  and 
$$
- I got some ideas about a nice extension mechanism :) quite cool in 
fact


Doing a parser is not that simple. In microdown dev I integrated the latest 
version of the paragraph
parser made by Kasper and now I will check it for real. 

I briefly checked it and :)
well microdown is much much simpler and also more powerful when it is related 
to environment arguments (quite cool to have reference to figs, math 
expressions, extensibility). 

Now I will review it carefully and pick what I find useful. 
I will start to improve the readme because microdown is quite sexy at the end 
and all the books 
I’m producing are done with it. 

S

> On 31 Mar 2024, at 20:22, Offray Vladimir Luna Cárdenas 
>  wrote:
> 
> On the next iteration for Microdown you may find Djot [1] interesting, as it 
> is also trying to be familiar to Markdown users, while fixing the several of 
> its shortcomings and making parsers easier to build, by having a clearer 
> non-ambiguous syntax, that doesn't require look ahead mechanisms. I think 
> that Djot may share the Microdow design principles stated at [2] regarding 
> [2a] familiarity to Markdown [2b] Small uniform core and [2c] extensibility. 
> Umm... I wonder, given that one of the selling points of Djot is the easiness 
> of implementing parsers, how difficult could be to implement a Djot parser 
> and connect it to the Pillar infrastructure?
> 
> Following the idea quoted at the beginning blog post at [3] trying to " to 
> create a light markup syntax that keeps what is good about Markdown, while 
> revising some of the features that have led to bloat and complexity" and 
> finding the sweet spot between popular options and added value, without being 
> tied by popularity or the past, is a worth exploration. It help us, as a 
> community, to reach the people where they are. Even more considering how 
> Markdown is a popular but clumsy standard de facto ( kind of the 
> Git/GitHub of the light Markup languages,  promoted greatly by its GitHub 
> usage ).
> 
> In my case, given the constrains in computer labs where installing Pandoc can 
> be cumbersome, using Markdeep has been an important time saver, even if we 
> need to fork[4] its main repository to document publicly its possibilities 
> and shortcomings. A natively fully supported and well defined light format in 
> Pharo, like Microdown or Djot, could help us a lot in our documentation 
> workflows, given our limited resources[^a]. And, because of the shared design 
> sensibilities behind both formats, I would like to have Microdown more 
> inspired in Djot than in "wild Markdown". The efforts in having a "popular 
> alike" format totally supported in the image are greatly appreciated.
> 
> Cheers,
> 
> Offray
> 
> == Links and footnotes
> 
> [1] https://djot.net/
> [2] 
> https://rmod-files.lille.inria.fr/Team/Texts/Papers/Duca20a-Microdown-IWST.pdf
> [3] 
> https://www.jonashietala.se/blog/2024/02/02/blogging_in_djot_instead_of_markdown/
> [4] https://github.com/ruidajo/markdeep/
> 
> [^a]: I'm half of the population of the two active Smalltalkers/Pharoers in 
> my country, working in the language part time. We need to cleverly combine 
> resources with a low complexity/expressivity ratio, that's where our 
> combination of tools like Pharo/GT, Fossil, Markdeep, Pandoc comes from.
> 
> On 27/03/24 2:48, stephane ducasse wrote:
>> I released yesterday the version 9.0.1 of pillar for Pharo 11. 
>> And I will restart a new iteration on Microdown. 
>> - better support for math
>> - introducing >
>> and more as time allows. 
>> 
>> S
>> 
>>> On 27 Mar 2024, at 01:25, Offray Vladimir Luna Cárdenas 
>>>  <mailto:offray.l...@mutabit.com> wrote:
>>> 
>>> Pretty cool!
>>> 
>>> One of my ideas with Grafoscopio was to be able to read interactive 
>>> documentation inside Pharo, which was obtained in a pretty primitive way. 
>>> Now I have moved to Lepiter as a GUI of our documentation workflows and 
>>> Markdeep as a default format for storage and web rendering. But seeing the 
>>> advances in Microdown and its interactive viewer is pretty inspiring. I 
>>> hope to check some Pharo books prepackaged with upcoming releases.
>>> 
>>> Keep the good work,
>>> 
>>> Offray
>>> 
>>> On 14/03/24 9:40, stephane ducasse wrote:
>>>> Hi Richard
>>>> 
>>>> I did not see your original post because I messed up with my

[Pharo-users] Re: Books about Pharo

2024-03-27 Thread stephane ducasse
I released yesterday the version 9.0.1 of pillar for Pharo 11. 
And I will restart a new iteration on Microdown. 
- better support for math
- introducing >
and more as time allows. 

S

> On 27 Mar 2024, at 01:25, Offray Vladimir Luna Cárdenas 
>  wrote:
> 
> Pretty cool!
> 
> One of my ideas with Grafoscopio was to be able to read interactive 
> documentation inside Pharo, which was obtained in a pretty primitive way. Now 
> I have moved to Lepiter as a GUI of our documentation workflows and Markdeep 
> as a default format for storage and web rendering. But seeing the advances in 
> Microdown and its interactive viewer is pretty inspiring. I hope to check 
> some Pharo books prepackaged with upcoming releases.
> 
> Keep the good work,
> 
> Offray
> 
> On 14/03/24 9:40, stephane ducasse wrote:
>> Hi Richard
>> 
>> I did not see your original post because I messed up with my account.
>> But thanks for your email :)
>> 
>> Now the cool stuff if that we can also read the books from within Pharo.
>> We should improve the Microdown renderer and suddenly we will get shiny cool
>> documentation.
>> 
>> S
>> 
>> 
>> 
>>> This is a new thread because it's not limited to any specific topic.
>>> 
>>> If you have questions about Pharo, especially "how do I do  in
>>> Pharo", you can always ask in this mailing list.  You can, if you like
>>> playing Russian Roulette, ask a Large Language Model "AI".
>>> 
>>> But there is an amazing resource you should really trye.
>>> 
>>> books.pharo.org
>>> 
>>> Did you ever wonder where the manual for Pharo was?
>>> That's where.  The site lists a bunch of Pharo books and booklets,
>>> all of which have free PDFs except for two of the books.
>>> In particular, you'll always want the most recent edition of
>>> "Pharo by Example" handy.
>>> 
>>> These books are really useful.  They are written by people know know
>>> their material thoroughly and do a good job of explaining it.  If you
>>> want to make any serious use of Pharo, or even to have more happiness
>>> than headaches just playing with it, you owe it to yourself to get the
>>> free PDFs  What do we owe the authors?  Well, if you're not trying to
>>> make one pension support four people, you owe them the purchase of
>>> some of the books.  Me, I'm giving them thanks, praise, and a
>>> heartfelt recommendation.
>>> 
>>> Seriously, these books represent a HUGE amount of work and "you are a
>>> fool to yourself and a burden to others" if you don't take advantage
>>> of this great resource.

Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] Call for presentation @ ESUG 2024

2024-02-13 Thread stephane ducasse
Dear friends 

Please distribute the following call

ESUG 2024 Call for Presentations
 from 8 to 11 July 2024
Lille France 
https://esug.github.io
https://esug.github.io/2024-Conference/conf2024.html

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, software to the award competition, or a paper to IWST 
http://https://esug.github.io/2024-Conference/IWST2024.html
- Attend the conference. We'd like to beat the previous record of attendance 
(180 people at Koln 2019)!
- Students can get free registration and hosting if they enroll in 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 hands-on tutorials. 
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 and Show us Your Business


We added two types of sessions in addition to the regular talks and ''Show us 
your project'' sessions.
- Show your business in a 10-minute session (Get prepared!!)
- Teaching pearls: we want some sessions 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-minute sessions aggregated.

### How to submit?

Make a Pull Request here 
https://github.com/ESUG/esug.github.io/tree/source/2024-Conference/talks
[Or but only if you are not connected to the world… send an email to 
stephane.duca...@inria.fr]

Title: [ESUG 2024] Please follow the template below the email will be 
automatically processed!
Name:
Email:
Abstract:
Bio:

## Call for Student Volunteers
Student volunteers help keep the conference running smoothly; in return, they 
have free accommodations, while still having most of the time to enjoy the 
conference.

Pay attention: the places are limited so do not wait till the last minute to 
apply.

Conference details:
Send an email to Steven Costiou  and  Oleksandr 
Zaitsev  with:

title: [ESUG 2024 Student]
name, gender, university/school, country, email address
short description of you and why you are interested in participating

For which period is accommodation covered? Accommodation is covered from Sunday 
from 8 to 11 July 2024 (including nights from Sunday to Monday and from 
Wednesday to Thursday ). Students will be hosted in student rooms. ESUG 
additionally covers the lunches during the week and one dinner.

Duties include handling registration as people arrive at the conference, 
filling coffee machines, collecting presentation slides for ESUG right after 
the presentation is given, being present at an information desk to answer 
questions, and generally being helpful. Student volunteering makes the 
conference better, takes a fairly small amount of time, and doesn't 
significantly interfere with enjoying and learning from the conference. Please 
note, that this role requires discipline and constant attention to all 
attendees.

Information about hotel
Student Volunteer rooms are booked at (to be announced). If you are a student 
volunteer, do not book yourself, we have arranged the booking already!


[Pharo-users] Re: A little post Why class number is an idiotic quality metric?

2024-02-11 Thread stephane ducasse
https://pharoweekly.wordpress.com/2024/02/10/why-class-number-is-an-idiotic-quality-metric/


> On 10 Feb 2024, at 10:13, stephane ducasse  wrote:
> 
> 
> https://wordpress.com/post/pharoweekly.wordpress.com/4226
> 
> 
> Stéphane Ducasse
> http://stephane.ducasse.free.fr
> 06 30 93 66 73
> 
> "If you knew today was your last day on earth, what would you do differently? 
> ESPECIALLY if, by doing something different, today might not be your last 
> day on earth.” Calvin & Hobbes
> 
> 
> 
> 
> 

Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] A little post Why class number is an idiotic quality metric?

2024-02-10 Thread stephane ducasse

https://wordpress.com/post/pharoweekly.wordpress.com/4226


Stéphane Ducasse
http://stephane.ducasse.free.fr
06 30 93 66 73

"If you knew today was your last day on earth, what would you do differently? 
ESPECIALLY if, by doing something different, today might not be your last 
day on earth.” Calvin & Hobbes







[Pharo-users] ESUG 2024 book the dates

2024-01-15 Thread stephane ducasse
Hello 

The ESUG board decided the dates and location of the next ESUG conference

ESUG 2024 will be at Lille from 8th to 11th July 2024.

Notice that this year the conference will be on 4 days. 

The early rate registration will be 15 of April 2024.

The IWST workshop will be chaired by G. Rakic and S. Ducasse.
To help us organizing the conference we will ask authors to register to the 
conference
when submitting their article. In the really rare case an article would not be 
accepted, ESUG 
will fully reimburse you without any cost. 

We will update the website. 

Stef


Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France





[Pharo-users] Call for chapters

2024-01-06 Thread stephane ducasse
Welcome to this collaborative book. We are looking for contributions to new 
tools in the Pharo ecosystem. Here is a non-exhaustive list of possible tools 
we have in mind.

Development tools such as refactoring, memory usage, and new approaches to 
debugging
Development tools such as UI builders
Development tools to develop compilers
Tools for modeling such as Cormas, Moose
Libraries as basis for advanced tools
Each chapter will be reviewed by three reviewers.

We expect the chapters to

describe the tools,
present some clear scenarios,
describe key elements of implementations,
evidence of use of the tools,
Submission process:

A chapter must be written in Microdown. Writers may want to clone the current 
repository and use Pillar (see https://github.com/pillar-markup/pillar and 
https://github.com/pillar-markup/microdown). The Sample1 folder in the Chapters 
folder contains a sample chapter.

The authors should send an email to stephane.duca...@inria.fr 
, g...@dmi.uns.ac.rs 
, and juanpablo.sando...@uc.cl 
.

The authors should then do a PR to this repository with their chapter 
containing all their files.

The length of each chapter is not fixed but authors should make sure that the 
chapter is not either too short or too long. It is worth to see that the format 
is good for tutorials but is not compact. We will give feedback on this aspect.

As usual the material should be new and unpublished.

Citations should be expressed using the microdown citation e.g. 
{!citation|ref=Blac09a!} using {!citation|ref=Blac09a!},

A chapter must be spellchecked with a system such as grammarly,

if needed, each chapter should contain a bibfile having the same name than the 
main folder file,

if needed each chapter should contain a folder named 'figures' that contains 
the figures of the chapter.

The Sample1 folder illustrates this structure, it contains:

Sample1.bib
Sample1.md
figures/pharo.png
figures/rmod.png
This book will be published via the book-on-demand program of http://bod.fr 
. It will be published on the Bibliotheque Nationale de France 
and it will be available on most public platforms such as amazon.com.

S. Ducasse, G. Rakic and J-P Sandoval







Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France





[Pharo-users] PhD on Pharo completion with machine learning

2023-12-22 Thread stephane ducasse
 Code completion for large projects and small languages

https://recrutement.inria.fr/public/classic/fr/offres/2023-07003


S

Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France





[Pharo-users] Re: [rmod] Pharo needs you! Call to save the Pharo UI

2023-11-23 Thread stephane ducasse
Thanks hernan. 

I do not think that there is a fileList in newTools. 
I will check your file dialog.

S

> On 23 Nov 2023, at 20:43, Hernán Morales  
> wrote:
> 
> Hi Stef,
> 
> De: "Stephane Ducasse"  <mailto:stephane.duca...@inria.fr>>
> Para: "rmod" mailto:r...@inria.fr>>, 
> pharo-...@lists.pharo.org <mailto:pharo-...@lists.pharo.org>, 
> pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>
> Enviados: Jueves, 23 de Noviembre 2023 11:28:15
> Asunto: [rmod] Pharo needs you! Call to save the Pharo UI
> Hello people
> If you want that Pharo just do not endlessly stay with such a crappy UI we 
> all know,
> please consider joining the effort.
> 
> We should make sure that as a general principle, a model MUST not refer to a 
> UI. 
> So that we can change the UI. We are working on it. But we need help.
> 
> We should 
> (1) Migrate last cool Morphic-based tools such as Finder, Settings to Spec2, 
> FileList to Spec
> 
> (2) Remove dependencies from Domain objects to Morphic (obviously)
> - remove to UIManager first from code outside Morphic. 
> 
> As a general principle please watch
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4
> It looks basic but it is so true. 
> 
> 
> Current status 
> (1) 
> Hernan started to work on the Setting Browser
> I know someone started to work on Finder but I think the effort was stalled.
> We need help there.
> As a reference so that anyone can check the new Settings current status, this 
> is the repository I'm working on: 
> https://github.com/hernanmd/new-settings-browser
> 
> Regarding the FileList, I'm afraid we duplicate efforts unnecessarily: I 
> worked some time ago on https://github.com/hernanmd/file-dialog and then I 
> saw that https://github.com/pharo-spec/NewTools appeared, it's a pity to have 
> such a bad communication.
> 
> The issue to close is the following: 
> https://github.com/pharo-project/pharo/issues/15455
> 
> 
> Cheers,
> 
> Hernán
> 
> (2) 
> We started to clean the refactorings and we are making progress but this is 
> slow. 
> I started to remove references to UIManager because it should go away. 
> 
> In Spec we introduced dialog, check the examples in subclasses of 
> SpDialogPresenter
> In addition, an application is able to create some default dialog
> check ui - dialogs in SpApplication
> I introduced a simple notification center that should play a kind of growl. 
> The inform: calls should be redirected to notify: because inform: was in P11 
> not blocking and now in P12 there are. 
> 
> I created special issues about the references to UIManager
> I opened issues with a special tag
> https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%3A%22Project%3A+RemoveUIManager+BAD+dependencies%22
> 
> The analysis is here 
> 
> https://github.com/pharo-project/pharo/issues/14174
> 
> Here are some scripts. 
> 
> # Here we see the dependencies from Spec to UIManager
> | allSpec results |
> results := Dictionary new. 
> allSpec := SpPresenter withAllSubclasses.
> 
> UIManager selectors do: 
>   [ :sel | 
>   | size |
>   size := ((SystemNavigation default allCallsOn: sel )
>   select: [ :mth | allSpec includes: mth methodClass ]) size.
>   size isZero ifFalse: [  
>   results at: sel put:  size]].
> String streamContents: [ :s | 
> results keys sorted do: [ :k | 
>   s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
> # The following script shows the callers that are not in Spec nor in Morphic 
> | allSpec results allMorphs |
> results := Dictionary new. 
> allSpec := SpPresenter withAllSubclasses.
> allMorphs := Morph withAllSubclasses.
> allClasses := Smalltalk allClasses.
> allClasses := allClasses reject: [ :c | allSpec includes: c ].
> allClasses := allClasses reject: [ :c | allMorphs includes: c ].
> 
> UIManager selectors sorted do: 
>   [ :sel | 
>   | size |
>   size := ((SystemNavigation default allCallsOn: sel )
>   select: [ :mth | allClasses includes: mth methodClass ]) size.
>   size isZero ifFalse: [  
>   results at: sel put:  size]].
> String streamContents: [ :s | 
> results keys sorted do: [ :k | 
>   s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
> 
> abort: -> 1
> abort:title: -> 5
> activate -> 15
> alert: -> 4
> alert:title: -> 4
> alert:title:configure: -> 2
> beDefault -> 2
> chooseDirectory -> 1
> chooseDirectory: -> 

[Pharo-users] Pharo needs you! Call to save the Pharo UI

2023-11-23 Thread stephane ducasse
Hello people

If you want that Pharo just do not endlessly stay with such a crappy UI we all 
know,
please consider joining the effort.

We should make sure that as a general principle, a model MUST not refer to a 
UI. 
So that we can change the UI. We are working on it. But we need help.

We should 
(1) Migrate last cool Morphic-based tools such as Finder, Settings to 
Spec2, FileList to Spec

(2) Remove dependencies from Domain objects to Morphic (obviously)
- remove to UIManager first from code outside Morphic. 

As a general principle please watch

http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4

http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4
It looks basic but it is so true. 


Current status 
(1) 
Hernan started to work on the Setting Browser
I know someone started to work on Finder but I think the effort 
was stalled.
We need help there. 

(2) 
We started to clean the refactorings and we are making progress 
but this is slow. 
I started to remove references to UIManager because it should 
go away. 

In Spec we introduced dialog, check the examples in subclasses 
of SpDialogPresenter
In addition, an application is able to create some 
default dialog
check ui - dialogs in SpApplication
I introduced a simple notification center that should 
play a kind of growl. 
The inform: calls should be redirected to notify: 
because inform: was in P11 not blocking and now in P12 there are. 

I created special issues about the references to UIManager
I opened issues with a special tag

https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%3A%22Project%3A+RemoveUIManager+BAD+dependencies%22

The analysis is here 

https://github.com/pharo-project/pharo/issues/14174 
   

Here are some scripts. 

# Here we see the dependencies from Spec to UIManager
| allSpec results |
results := Dictionary new. 
allSpec := SpPresenter withAllSubclasses.

UIManager selectors do: 
[ :sel | 
| size |
size := ((SystemNavigation default allCallsOn: sel )
select: [ :mth | allSpec includes: mth methodClass ]) size.
size isZero ifFalse: [  
results at: sel put:  size]].
String streamContents: [ :s | 
results keys sorted do: [ :k | 
s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
# The following script shows the callers that are not in Spec nor in Morphic 
| allSpec results allMorphs |
results := Dictionary new. 
allSpec := SpPresenter withAllSubclasses.
allMorphs := Morph withAllSubclasses.
allClasses := Smalltalk allClasses.
allClasses := allClasses reject: [ :c | allSpec includes: c ].
allClasses := allClasses reject: [ :c | allMorphs includes: c ].

UIManager selectors sorted do: 
[ :sel | 
| size |
size := ((SystemNavigation default allCallsOn: sel )
select: [ :mth | allClasses includes: mth methodClass ]) size.
size isZero ifFalse: [  
results at: sel put:  size]].
String streamContents: [ :s | 
results keys sorted do: [ :k | 
s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]

abort: -> 1
abort:title: -> 5
activate -> 15
alert: -> 4
alert:title: -> 4
alert:title:configure: -> 2
beDefault -> 2
chooseDirectory -> 1
chooseDirectory: -> 1
chooseDirectory:from: -> 2
chooseDirectoryFrom: -> 1
chooseFrom: -> 2
chooseFrom:lines: -> 2
chooseFrom:lines:message: -> 1
chooseFrom:lines:message:title: -> 2
chooseFrom:lines:title: -> 8
chooseFrom:title: -> 5
chooseFrom:values: -> 5
chooseFrom:values:lines: -> 1
chooseFrom:values:lines:message: -> 1
chooseFrom:values:lines:message:title: -> 3
chooseFrom:values:lines:title: -> 4
chooseFrom:values:message:title: -> 4
chooseFrom:values:title: -> 8
chooseFullFileNameMatching: -> 1
chooseFullFileNameMatching:label: -> 1
chooseOrRequestFrom:values:lines:title: -> 3
confirm: -> 47
confirm:label: -> 5
confirm:label:trueChoice:falseChoice:cancelChoice:default: -> 1
confirm:orCancel: -> 1
confirm:trueChoice:falseChoice: -> 2
confirm:trueChoice:falseChoice:cancelChoice:default: -> 6
deactivate -> 5
debugProcess:context:label:fullView:notification: -> 1
defer: -> 24
deny: -> 2565
deny:title: -> 2
displayProgress:from:to:during: -> 4
edit:label: -> 4
edit:label:accept: -> 3
fileExistsDefaultAction: -> 1
handleDebugRequest:fromDebuggerSystem: -> 1
handleError: -> 2
handleError:log: -> 2
handleWarningDebugRequest:fromDebuggerSystem: -> 1
inform: -> 98
inform:actionOnClick: -> 1
informUser:during: -> 13
informUserDuring: -> 5
logError: -> 2

[Pharo-users] Summer school at Split

2023-07-03 Thread stephane ducasse
Hello people

We are so excited to announce the Immersive Pharo Summer School, to be held fro 
11th to 15th of September in Split, Croatia.

If you are or you have a student or a newcomer interested to learn about Pharo 
and technologies around it, please find more info and apply at 
https://newcomers.pharo.org/.

See you in Split!

Summer school team

[Pharo-users] Help Pharo by tagging your pharo projects on GH

2023-06-20 Thread stephane ducasse
Hi guys


We would like to make sure that the numbers given in the following page 
https://github.com/topics/pharo reflects a bit better the numbers of projects 
in Github. 

So could you tag your pharo projects on github with the Pharo tag?

Thanks in advance. 
S

[Pharo-users] Do not miss ESUG 2023

2023-06-13 Thread stephane ducasse
Just a little reminder…

Do not miss ESUG 2023. 
http://registration.esug.org/

come and meet the community
https://www.youtube.com/watch?v=9p-AkoHjRVk

The city is really nice, the food great, super nice conference. 
Really nice museums.
https://esug.github.io/2023-Conference/city2023.html

by train …
2:30 hours from Paris
4 hours from Brussels
5 hours from Barcelona
2 hours from Geneves
An international airport

It is uncertain that we will organize a PharoDays in 2023/2024 so
enjoy the fact that you can come to that conference now. 

S.

PS: do not hesitate to contact the ESUG board in case of special situations




[Pharo-users] Talk next wednesday

2023-05-27 Thread stephane ducasse
Hello

I will give a presentation with discussion via the UK smalltalk online 
gathering next wednesday.

https://www.meetup.com/ukstug/events/293473947/

MeetupStephane Ducasse - Pharo: a vision implemented step by step, Wed, M...For 
our May presentation, Stephane Ducasse will present the vision behind Pharo and 
how that is been implemented incrementally across multiple releases. In Stef's 
words: "

For our May presentation, Stephane Ducasse will present the vision behind Pharo 
and how that is been implemented incrementally across multiple releases. In 
Stef's words: "The vision of Pharo is based on three pillars: 
• First we want to make sure that Pharo is used to develop complex and robust 
systems (by complex we means multiple millions lines of code or objects).
• Second we want Pharo to be a modular system that can be versatile (Pharo on 
iot, on large servers, in the web browser….)
• Third Pharo should be an evolvable system that can adapt to new needs 
(modular tools, first class slot, new debuggers, packages…).

Stef

[Pharo-users] Fwd:  Just scheduled: Stephane Ducasse - Pharo: a vision implemented step by step

2023-05-24 Thread stephane ducasse
Hi guys

I will present some points around Pharo and P11 in particular 


For our May presentation, Stephane Ducasse will present the vision behind Pharo 
and how that is been implemented incrementally across multiple releases. In 
Stef's words:

"The vision of Pharo is based on three pillars:
- First we want to make sure that Pharo is used to develop complex and robust 
systems (by complex we means multiple millions lines of code or objects).
- Second we want Pharo to be a modular system that can be versatile (Pharo on 
iot, on large servers, in the web browser….)
- Third Pharo should be an evolvable system that can adapt to new needs 
(modular tools, first class slot, new debuggers, packages…).

Sometimes it can be unclear that we follow this vision but over the years we 
are delivering this vision and we will continue. In this talk I will briefly 
recall the vision behind Pharo and show the achievements so far. I will show 
that our development is heavily backed by tests.
In the second part of the talk I will focus on the current effort to improve 
the user interface. I will show that the reimplementation of the Spec UI 
framework is a cornerstone of the future replacement of Morphic and use of GTK.
I will also answer questions about Pharo 11 and Pharo 12."


> Begin forwarded message:
> 
> From: UK Smalltalk User Group 
> Subject:  Just scheduled: Stephane Ducasse - Pharo: a vision implemented 
> step by step
> Date: 24 May 2023 at 01:37:08 CEST
> To: stephane.duca...@inria.fr
> 
> 
>  
> <http://clicks.meetup.com/ls/click?upn=XbaZ37larFA-2FuV5MohrYpdrra25MtI4CzodbRR1Rd1kS7anyTJXBWfvig27ZGZbYDJ5Q_m1-2B5T0y9KKTFwH14HcV3J8UQ2V32Ko38YPkuOhXjuAAlrWEmQ-2FG4fVySCq6HgJyaVM-2FwTyzyTWdgkNcNk2KsuiRZMgYUAj7hzaeTi0evW2V6mGNhXjRL1kKeObM6nH8wwvEMh7VqlaWLypJxVK0MZOXKQLJ-2Bql3VaupaTCuq7OCKqlt87YnHjjI-2BiSMGTxBRzgt1JHadtqsBHsv3VXFXJQ-2F6OSrPvB78ZIgAQO0zuYrU4j0nNPqSXZIlnm9VMHNI3JLiZJ7hJyVz4nIszxe0GPV4S0AmXxjsBdkcACghf2bTj5jtNtrYENp3fyfc5pxDgsO5cH9A4r2vSXisUpzlc3ioB5DqZkhBtOmavL1gOGgzVRQQFXnbp1lzSYzuXDr5GGHSeNP3svjkXi32r49Quasy0QMjqueuidrBK4mm-2FpJ7eOZtk8gCbRaVAk-2FHUcUgSwvv7CjzJUdGOCuCajEYY14-2F2rGli0k4BouTwWBrBdNh8WK1BmM-2FTtKJ7GOUI0u1UVuCuhcUzFr6uF6PXRhn1FDNIOwomXmVDZ9j2zIjrjO1dmpkLJ168qREGAQPqP3UI-2FYZhjLQpmX-2B1KsrzC1zLZHU9PMj1jyhZqfCrq6iANvT8F5IboYL6-2FYPZgTRl0OLH6WLwPuCE9cz3N1wGZRrRPYxktw0-2FfbX1DP5jAu1Ymk8FAtpzdrnBg-2Bso64TWo16hGkWjeI3KNUIPI7EHNWE8-2BXIhM8dTVoOxohOBYYrPsXoMb1vMJoInjQRjuqusiqi>
> UK Smalltalk User Group 
> <http://clicks.meetup.com/ls/click?upn=XbaZ37larFA-2FuV5MohrYpdrra25MtI4CzodbRR1Rd1lWRYzEUN13QzF5z-2Fowx75J-2FT6l6-2BQnnLoBdC4chhvhuWKke3cNkOjsVXqlgvMB2EHlw6ETLo6kPKtzuQXrlyjn9WFCzulyY5niiObojtEUmkd-2Fp6K5NgzMbfzFVfU24T6NwLc-2Fcl1MGv8j2anGLp3uzZOrTg9Mc5t2te4eDvqE3tmKmuJEzOmUXBI6SBO00QE-3D08qh_m1-2B5T0y9KKTFwH14HcV3J8UQ2V32Ko38YPkuOhXjuAAlrWEmQ-2FG4fVySCq6HgJyaVM-2FwTyzyTWdgkNcNk2KsuiRZMgYUAj7hzaeTi0evW2V6mGNhXjRL1kKeObM6nH8wwvEMh7VqlaWLypJxVK0MZOXKQLJ-2Bql3VaupaTCuq7OCKqlt87YnHjjI-2BiSMGTxBRzgt1JHadtqsBHsv3VXFXJQ-2F6OSrPvB78ZIgAQO0zuYrU4j0nNPqSXZIlnm9VMHNI3JLiZJ7hJyVz4nIszxe0GPV4S0AmXxjsBdkcACghf2bTj5jtNtrYENp3fyfc5pxDgsO5cH9A4r2vSXisUpzlc3ioB5DqZkhBtOmavL1gOGgzVRQQFXnbp1lzSYzuXDr5GGHSeNP3svjkXi32r49Quasy0QMjqueuidrBK4mm-2FpJ7eOZtk8gCbRaVAk-2FHUcUgSwvv7CjzJUdGOCuCajEYY14-2F2rGli0k4BouTwWBrBdNh8WK1BmM-2FTtKJ7GOUI0u1UVuCuhcUzFr6uF6PXRhn1FDNIOwomXmVDZ9j2zIjrjO1dmpkLJ168qREGAQPqP3UI-2FYZhjLQpmX-2B1KsrzC1zLZudcOsDyNKHww9L9edg9fo5eAFP6iKX202JoC4OUkQdG6KO1y2d59BofnjEAAGs-2ByiZszEx6Yj0DNtIddABmKSA4-2Fea-2FJc487BOdRoYypRdC6bupP6B18eNi-2BGu1CGXTzbsnqKuzxAmRURaDVjmAlYLkfGEOLCDUsHufmDESR3-2B>
>  scheduled a new event
> 
>  
> <http://clicks.meetup.com/ls/click?upn=XbaZ37larFA-2FuV5MohrYpdrra25MtI4CzodbRR1Rd1n52QcWSCVqFdzabbdKO08gtNRUu1YuH0m52MkfBCK6NF-2FVLEBgtPFhO2TMdoqkeXP1QeHvxNEkCFf-2FXP8e6OPWqgYbZMwYb93GF2pxiHhexmlmW-2BgHumgPmzXw76M5nGuCfB3imtoihW7DP-2FcVbYNz6sGI4fhHi4gLinbEBC57mlkf2UpKGpCMoreQ6rBwqiBPGcQaJIXoNUqI6V7PjvHSQZGc_m1-2B5T0y9KKTFwH14HcV3J8UQ2V32Ko38YPkuOhXjuAAlrWEmQ-2FG4fVySCq6HgJyaVM-2FwTyzyTWdgkNcNk2KsuiRZMgYUAj7hzaeTi0evW2V6mGNhXjRL1kKeObM6nH8wwvEMh7VqlaWLypJxVK0MZOXKQLJ-2Bql3VaupaTCuq7OCKqlt87YnHjjI-2BiSMGTxBRzgt1JHadtqsBHsv3VXFXJQ-2F6OSrPvB78ZIgAQO0zuYrU4j0nNPqSXZIlnm9VMHNI3JLiZJ7hJyVz4nIszxe0GPV4S0AmXxjsBdkcACghf2bTj5jtNtrYENp3fyfc5pxDgsO5cH9A4r2vSXisUpzlc3ioB5DqZkhBtOmavL1gOGgzVRQQFXnbp1lzSYzuXDr5GGHSeNP3svjkXi32r49Quasy0QMjqueuidrBK4mm-2FpJ7eOZtk8gCbRaVAk-2FHUcUgSwvv7CjzJUdGOCuCajEYY14-2F2rGli0k4BouTwWBrBdNh8WK1BmM-2FTtKJ7GOUI0u1UVuCuhcUzFr6uF6PXRhn1FDNIOwomXmVDZ9j2zIjrjO1dmpkLJ168qREGAQPqP3UI-2FYZhjLQpmX-2B1KsrzC1zLZ1jvGo-2Bgj-2BptZqjacw9K8K-2BrsqNG5PTw0qjOUiuLiZqzlVbcS6naqHh5h50la7rMkAOEzjTfb-2B-2FftAUWrvVH7UVO1dWDikMzPt-2BZ1APbe2SE390o4bnvtO0mS8Ntsk2UydtxTHO-2F2vHVxgtm35Bf5riLTCrfqsy-2BMJnriL5dBqV>
> Stephane Ducasse - Pharo: a vision implemented step by step 
> <http://clicks.meetup.com/ls/click?upn=XbaZ37larFA-2FuV5MohrYpdrra25MtI4CzodbRR1Rd1n52QcWSCVqFdzabbdKO08gtNRUu

[Pharo-users] Re: It's been a while since I've used Pharo, and I'm having trouble with multibyte input on linux.

2023-05-19 Thread stephane ducasse
Thanks Tomohiro.

S

> On 19 May 2023, at 00:33, Tomohiro Oda  wrote:
> 
> Peter,
> 
> Please try setting the env vars SDL_IM_MODULE=fcitx.
> I haven't tried korean inputs, but I used a japanese input on
> linux/pharo with a trick. (cf
> https://github.com/tomooda/PharoIM/issues/11#issuecomment-1042512413 )
> 
> If you want to use Pharo 10 with input method, please install
> https://github.com/tomooda/PharoIM .
> If you use Pharo 11, you don't need PharoIM.
> ---
> tomo
> 
> 2023年5月19日(金) 1:44 peter yoo :
>> 
>> Until PHARO 9.0, I had no problem with XIM input on LINUX.
>> 
>> After a long time, I heard about PHARO 11 and tested it and it doesn't 
>> accept XIM input. I tested it and it doesn't accept XIM input on PHARO 10 
>> either.
>> 
>> * ubuntu 22.04
>> * linux
>> * fcitx xim
>> * korean input
>> 
>> I'm using this combination, and I'm using pharo-launcher.
>> 
>> Maybe the community can give me a hint?
>> 
>> --
>> http://lookandwalk.com  http://looknw.com | http://onionmixer.net
>> peter yoo(Jonghwa Yoo). ROK


[Pharo-users] Re: It's been a while since I've used Pharo, and I'm having trouble with multibyte input on linux.

2023-05-18 Thread stephane ducasse
Hi peter 

What is xim?
What you should know is that Pharo event / input now is based on SDL 20.

S


> On 18 May 2023, at 18:44, peter yoo  wrote:
> 
> Until PHARO 9.0, I had no problem with XIM input on LINUX.
> 
> After a long time, I heard about PHARO 11 and tested it and it doesn't accept 
> XIM input. I tested it and it doesn't accept XIM input on PHARO 10 either.
> 
> * ubuntu 22.04
> * linux
> * fcitx xim
> * korean input
> 
> I'm using this combination, and I'm using pharo-launcher.
> 
> Maybe the community can give me a hint?
> 
> -- 
> http://lookandwalk.com   http://looknw.com 
>  | http://onionmixer.net 
> peter yoo(Jonghwa Yoo). ROK



[Pharo-users] ESUG Presentation deadline is 1st of JUNE!

2023-05-01 Thread stephane ducasse
Hello people 

do not wait the last moment, it will help the organizers.


ESUG 2023 Call for Presentations
28.8.2023 to 01.9.2023
Lyon France 
https://esug.github.io 
https://esug.github.io/2023-Conference/conf2023.html

Deadline for submission is 1 st of June!

ESUG is the premium and fun conference around smalltalk technologies. 
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 (180 people at Koln 2019)!
- Students can get free registration and hosting if they enroll 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 hands-on tutorials. 
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 and Show us Your Business

New this year!!! We added two types of sessions in addition to the regular 
talks 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.

### How to submit?

Make a Pull Request here 
https://github.com/ESUG/esug.github.io/tree/source/2023-Conference/talks
[Or but only if you are not connected to the world… send an email to 
stephane.duca...@inria.fr ]

Title: [ESUG 2023] Please follow the template below the email will be 
automatically processed!
Name:
Email:
Abstract:
Bio:


Esug-list mailing list -- esug-l...@lists.esug.org 

To unsubscribe send an email to esug-list-le...@lists.esug.org 


[Pharo-users] ESUG 2023 student volunteer program!

2023-05-01 Thread stephane ducasse
Please distribute to the community and more

Call for Student Volunteers

Student volunteers help keep the conference running smoothly; in return, they 
have free accommodations, while still having most of the time to enjoy the 
conference.

Pay attention: the places are limited so do not wait till the last minute to 
apply.

Conference details:
Send an email to stephane.ducasse at inria.fr  and  Oleksandr 
Zaitsev mailto:olk.zayt...@gmail.com>> with:

Title: [ESUG 2023 Student]
name, gender, university/school, country, email address
short description of you and why you are interested in participating

For which period is accommodation covered? Accommodation is covered from Sunday 
27.8.2023 to 01.9.2023 (including nights from Sunday to Monday and from 
Thursday to Friday). Students will be hosted in student rooms. ESUG 
additionally covers for the lunches during the week and one dinner.

Duties include handling registration as people arrive at the conference, 
filling coffee machines, collecting presentation slides for ESUG right after 
the presentation is given, being present at an information desk to answer 
questions, and generally being helpful. Student volunteering makes the 
conference better, takes a fairly small amount of time and doesn't 
significantly interfere with enjoying and learning from the conference. Please 
Note, this role requires discipline and constant attention to all attendees.

Information about hotel
Student Volunteer rooms are booked at (to be announced). If you are student 
volunteer, do not book yourself, we have arranged the booking already!
___

[Pharo-users] Fwd: [Esug-list] [IWST 2023]Call for Papers

2023-04-12 Thread stephane ducasse


> Begin forwarded message:
> 
> From: Gocrdana Rakic via Esug-list 
> Subject: [Esug-list] [IWST 2023]Call for Papers
> Date: 11 April 2023 at 19:40:35 CEST
> To: esug-l...@lists.esug.org
> Reply-To: Gocrdana Rakic 
> 
> Call For Papers
> IWST 2023: International Workshop on Smalltalk Technologies 
> Lyon, France; August 29th-31st, 2023
> Goals and scope
> The goals of the workshop is to create a forum around contributions and 
> experiences in building or using technologies related to Smalltalk. While 
> maturity of presented ideas and results is not crucial, it is expected that 
> their presentation trigger discussion and exchange of ideas. The topics of 
> your paper can be on all aspect of Smalltalk, theoretical as well as 
> practical. Authors are invited to submit research articles or industrial 
> papers.
> 
> Important Dates
> Submission deadline: May 14th, 2023
> 
> Notification deadline: June 11th, 2023
> 
> Re-submission deadline: July 1st, 2023
> 
> Workshop: August 29th-31st, 2023
> 
> Topics
> We welcome contributions on all aspects, theoretical as well as practical, of 
> Smalltalk related topics such as:
> 
> Aspect-oriented programming,
> 
> Design patterns,
> 
> Experience reports,
> 
> Frameworks,
> 
> Implementation, new dialects or languages implemented in Smalltalk,
> 
> Interaction with other languages,
> 
> Meta-programming and Meta-modeling,
> 
> Tools
> 
> Submissions, reviews, and selection
> We are looking for papers of two kinds:
> 
> Short position papers (5 to 10 pages) describing fresh ideas and early 
> results.
> 
> Long research papers (more than 10 pages) with deeper description of 
> experiments and of research results.
> 
> Both submissions and final papers must be prepared using the CEUR ART 
> 1-column style <https://ceur-ws.org/Vol-XXX/CEURART.zip>.
> 
> All submissions must be sent via EasyChair submission page 
> <https://easychair.org/conferences/?conf=iwst23>.
> 
> Reviewing
> 
> Submissions will be reviewed by at least 3 reviewers. Selected papers will be 
> invited to be presented at the workshop in Lyon and published in the CEUR-WS 
> Proceedings <https://ceur-ws.org/>.
> 
> As the workshop form encourage bringing fresh ideas and early results to be 
> presented and discussed, and aims for giving a chance to young community 
> members to learn and grow, it may happen that submissions with discussion 
> potential be conditionally accepted. In this case authors are expected to 
> strictly follow the recommendation of the reviewers and resubmit a new 
> version for the second fast review by the chairs in collaboration with 
> assigned reviewers, and for making the final decision.
> 
> Best Paper Award
> 
> To encourage the submission of high-quality papers, the IWST organizing 
> committee is very proud to announce a Best Paper Award for this edition of 
> IWST.
> 
> We thank our financial contributors who make it possible for prizes for the 
> three best papers (estimated): 1000 USD for first place, 600 USD for second 
> place and 400 USD for third place.
> 
> The ranking will be decided by the program committee during the review 
> process. The awards will be given during the ESUG conference social event.
> 
> The Best Paper Award will take place only with a minimum of six submissions. 
> Notice also that to be eligible, a paper must be presented at the workshop by 
> one of the author and that the presenting author must be registered at the 
> ESUG conference.
> 
> Program chairs
> Stephane Ducasse, Inria Lille, France (chair),
> Gordana Rakic, University of Novi Sad, Serbia (chair)
> Program committee
> 
> Nour Agouf, Inria Lille, France,
> Vincent Blondeau, Lifeware, Switzerland,
> Cedrick Beler, Ecole Nationale d Ingenieurs de Tarbes, Hautes-Pyrenees, 
> France,
> Nicolas Cardozo, Universidad de los Andes, Bogota, Colombia,
> Celine Deknop, Universite catholique de Louvain (UCL), Belgium,
> Michele Lanza, Software Institute, Universita della Svizzera italiana, 
> Lugano, Switzerland,
> Eric Lepors, Thales DMS, France,
> Dave Mason, Ryerson University, Toronto, Canada,
> Kim Mens, Universite catholique de Louvain (UCL), Belgium,
> Ana-Maria Oprescu, University of Amsterdam, Neatherlands,
> Jean Privat, University of Quebec in Montreal, Canada,
> Pooja Rani, University of Bern, Switzerland,
> Larisa Safina, Inria Lille, France,
> Joao Saraiva, University of Minho, Portugal,
> Benoît Verhaeghe, Berger-Levrault, Lyon, France,
> Oleksandr Zaytsev, Cirad, UMR SENS, France
> ___
> Esug-list mailing list -- esug-l...@lists.esug.org 
> <mailto:esug-l...@lists.esug.org>
> To unsubscribe send an email to esug-list-le...@lists.esug.org 
> <mailto:esug-list-le...@lists.esug.org>


[Pharo-users] ESUG 2023 Call for participation

2023-02-11 Thread stephane ducasse
ESUG 2023 Call for Presentations
28.8.2023 to 01.9.2023
Lyon France 
https://esug.github.io
https://esug.github.io/2023-Conference/conf2023.html

ESUG is the premium and fun conference around smalltalk technologies. 
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 (180 people at Koln 2019)!
- Students can get free registration and hosting if they enroll 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 hands-on tutorials. 
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 and Show us Your Business

New this year!!! We added two types of sessions in addition to the regular 
talks 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.

### How to submit?

Make a Pull Request here 
https://github.com/ESUG/esug.github.io/tree/source/2023-Conference/talks
[Or but only if you are not connected to the world… send an email to 
stephane.duca...@inria.fr]

Title: [ESUG 2023] Please follow the template below the email will be 
automatically processed!
Name:
Email:
Abstract:
Bio:

## Call for Student Volunteers
Student volunteers help keep the conference running smoothly; in return, they 
have free accommodations, while still having most of the time to enjoy the 
conference.

Pay attention: the places are limited so do not wait till the last minute to 
apply.

Conference details:
Send an email to stephane.ducasse at inria.fr and  Oleksandr Zaitsev 
 with:

Title: [ESUG 2023 Student]
name, gender, university/school, country, email address
short description of you and why you are interested in participating

For which period is accommodation covered? Accommodation is covered from Sunday 
27.8.2023 to 01.9.2023 (including nights from Sunday to Monday and from 
Thursday to Friday). Students will be hosted in student rooms. ESUG 
additionally covers for the lunches during the week and one dinner.

Duties include handling registration as people arrive at the conference, 
filling coffee machines, collecting presentation slides for ESUG right after 
the presentation is given, being present at an information desk to answer 
questions, and generally being helpful. Student volunteering makes the 
conference better, takes a fairly small amount of time and doesn't 
significantly interfere with enjoying and learning from the conference. Please 
Note, this role requires discipline and constant attention to all attendees.

Information about hotel
Student Volunteer rooms are booked at (to be announced). If you are student 
volunteer, do not book yourself, we have arranged the booking already!


[Pharo-users] IWST proceedings online

2023-01-10 Thread stephane ducasse
Hi guys

I’m happy to sahre with you this EXCELLENT news. The proceedings
of IWST 22 are now online 
https://ceur-ws.org/Vol-3325/

in a nice collection.

I would like to warmly thank all the authors, loic and vincent for their great 
job.

Soon we will send around the call for paper for 2023!

S

[Pharo-users] Re: The System Browser has recently started showing 2 comments tabs - one is text and one is formatted pretty. That seems odd and is not wanted - has anyone else seen this? Pharo 10 stab

2023-01-08 Thread stephane ducasse
Hi mark 

Which version of Pharo are you using?
In P11 I saw some regressions.
S

> On 8 Jan 2023, at 14:30, mark.odonoghue.2...@gmail.com wrote:
> 
> 
> 



[Pharo-users] [ Smalltalkers wanted... ]

2022-11-23 Thread stephane ducasse
We are looking for Smalltalkers for adesso insurance solutions GmbH.
 
Remote work is possible and German language is required (at least B2).
 
Links:
 
https://www.adesso.de/de/jobs-karriere/unsere-stellenangebote/Software-Engineer-Smalltalk-all-genders-fuer-die-adesso-in-de-j2429.html
 

https://www.linkedin.com/jobs/view/3353601212/ 

 
Text:
About the job

Für unsere Tochtergesellschaft, die adesso insurance solutions GmbH, suchen wir 
einen

Software Engineer Smalltalk (all genders)

Als Teil der adesso group bündelt die adesso insurance solutions GmbH das 
eigene Produktportfolio für den Versicherungsmarkt und treibt innovative 
Software-Lösungen in diesem Umfeld voran. Wir sind ein Team aus über 200 
engagierten Kollegen und Kolleginnen. Und du kannst ein Teil davon werden.

DEINE ROLLE - DAS WARTET AUF DICH

Du kennst dich mit objektorientierter Programmierung aus? Smalltalk ist für 
dich eine Programmiersprache mit Tiefgang? Dann suchen wir genau dich als 
Software Engineer für unser Professional Services Team im Umfeld des 
Pensionsmanagements. Bei uns arbeitest du gemeinsam im Team mit Entwicklern, 
Testern und Projektmanagern an den besten Lösungen für unsere CollPhir-Software.

Übrigens: Wir sind langjähriger Sponsor der EUSG.

Deine Aufgaben
·Auf Basis von Smalltalk programmierst du neue Anforderungen und 
Erweiterungen.
·Neue Anforderungen unserer CollPhir-Software setzt du um.
·Du analysierst, konzipierst und realisierst eigenständig 
kundenspezifische Erweiterungen.
·Im Third-Level unterstützt du das Support-Team bei technischen Fragen 
zur Software.
·Die Dokumentation und das Beheben von Fehlern gehören auch zu deinen 
Aufgaben.

Deine Skills - Das Bringst Du Mit
·Du verfügst über einen technischen Hochschulabschluss (Informatik, 
Ingenieurwissenschaften, Mathematik, Physik, o.Ä.) oder hast bereits Erfahrung 
in der Softwareentwicklung mit Smalltalk gesammelt
·Du hast keine Scheu vor Datenbankmanagementsystemen und verfügst über 
– zumindest rudimentäres – Wissen in technologisch benachbarten Bereichen (z.B. 
Java)
·Du bist neugierig und lernbereit, denn bei uns wird Weiterentwicklung 
sowohl technologisch als auch persönlich großgeschrieben
·Deine Deutschkenntnisse sind sehr gut und mindestens auf Level B2

CHANCENGEBER - WAS ADESSO AUSMACHT

Unser Versprechen: Du wirst dich bei uns wohlfühlen! Kollegial, familiär und 
auf Augenhöhe – wir leben Austausch, Teamgeist und einen respektvollen Umgang 
miteinander. Das und viel mehr steht für unser ganz besonderes Wir-Gefühl. Für 
das es sogar ein Wort gibt: adessi. Denn wir sind alle adessi ab Tag Eins und 
bei uns bist du von Anfang an Teil des Teams. Unsere Kultur und das 
Zusammenarbeiten sind geprägt von gegenseitiger Wertschätzung, Anerkennung und 
Unterstützung. Das verbindet uns hierarchieübergreifend – auch im Home-Office. 
Jeder und jedem adessi stehen alle Möglichkeiten zur persönlichen und 
beruflichen Entwicklung offen. Unser umfangreiches Trainings- und 
Weiterbildungsangebot sorgt dafür, dass deine Entwicklung bei uns nicht 
stillsteht. Denn Chancengeber zu sein, das liegt in unserer DNA.


·Welcome Days - Zwei Tage zum Reinkommen und Netzwerken
·Bis zu drei Tage mobiles Arbeiten – keine Frage von Pandemien, sondern 
von Überzeugung
·Deine Entwicklung - über 260 Lern- und Trainingsthemen
·Events - fachlich und mit Spaßfaktor
·Hemden-/Blusenreinigung - zweimal die Woche frisch aufgebügelt
·Sportförderung - Zuschuss zum Fitnessstudio und mehr über qualitrain 
sowie Übernahme der Platzmiete für die Sporthalle
·adesso Mind - Das adesso-Programm rund um Mindfulness
·Prämien für Mitarbeitende - eine Vielzahl an Prämien für zusätzliches 
Engagement
·Auszeitprogramm - Raum für deine persönliche Lebensplanung

KONTAKT

Du bist offen für neue und anspruchsvolle Aufgaben? Dann sende uns deine 
Bewerbungsunterlagen (inkl. deines CV, deiner Arbeits- und Studienzeugnisse 
sowie deiner Gehaltsvorstellungen und dem frühestmöglichen Eintrittstermin) 
vorzugsweise über unser Webformular.
·Sina Möschl
·Recruiting
·+49 231 7000 7100
Best wishes,
 
--
Félix Madrid

adesso insurance solutions GmbH
Agrippinawerft 26
50678 Köln
 
T +49 221 27850-355
M +49 152 38869-784
F +49 221-27850-500
E felix.mad...@adesso-insurance-solutions.de 

www.adesso-insure.de 

[Pharo-users] Re: STON little question

2022-11-04 Thread stephane ducasse
I found 

stonProcessSubObjects: block
"Execute block to (potentially) change each of my subObjects.
In general, all instance and indexable variables are processed.
Overwrite when necessary. Not used when #stonContainSubObjects returns 
false."

1 to: self class instSize do: [ :each |
self instVarAt: each put: (block value: (self instVarAt: each)) 
].
(self class isVariable and: [ self class isBytes not ])
ifTrue: [
1 to: self basicSize do: [ :each |
self basicAt: each put: (block value: (self 
basicAt: each)) ] ]

but I could not really get how to use it and if it was at the moment of 
writing. 
So I will patch my model but to me it defeats the purpose of serialization. 

Either we can serialize everything or we can transform to that we can fall back 
on the stable part. 
Forcing clients to prepare the objects to serialize is always possible but less 
satisfactory.
Because I will have to do it twice. to save 
from sorted to ordered 
save
from ordered to sorted

and on load 
from ordered to sorted. 
S


[Pharo-users] Re: STON little question

2022-11-04 Thread stephane ducasse



> On 4 Nov 2022, at 17:56, stephane ducasse  wrote:
> 
> Hi Sven
> 
> I was using STON in P7 and I’m now migrating to P10.
> In the past I had no problem with a SortedCollection and now I have because 
> of the block serialisation (of course). 
> So I cannot really ignore or skip my sorted collection because it has what I 
> want. 
> I could go over all my collections and transform them into OrderedCollection 
> for the saving. 
> But may be there is a hook for that.
> 
> In fact I do not care to save the sortedCollection as soon as when I reload I 
> restore it. 
> 
> 
> S

I read 

writeObject: anObject
| instanceVariableNames |
(instanceVariableNames := anObject class stonAllInstVarNames) isEmpty
ifTrue: [ 
self writeObject: anObject do: [ self encodeMap: #() ] ]
ifFalse: [ 
self writeObject: anObject streamMap: [ :dictionary | 
instanceVariableNames do: [ :each | 
(anObject instVarNamed: each)
ifNotNil: [ :value | 
dictionary at: each 
asSymbol put: value ]
ifNil: [ 
anObject 
stonShouldWriteNilInstVars 
ifTrue: [ 
dictionary at: each asSymbol put: nil ] ] ] ] ]

It would be nice if we could say

MyClass >> transformedInstances
{
#series -> [:each | each asOrderedCollection ] .

}

Or something like that. I was considering to hack my own version of STON to 
avoid to that in my model. 
Or serializing nicely SortedCollection.

May be I missed something obvious. 

S






[Pharo-users] STON little question

2022-11-04 Thread stephane ducasse
Hi Sven

I was using STON in P7 and I’m now migrating to P10.
In the past I had no problem with a SortedCollection and now I have because of 
the block serialisation (of course). 
So I cannot really ignore or skip my sorted collection because it has what I 
want. 
I could go over all my collections and transform them into OrderedCollection 
for the saving. 
But may be there is a hook for that.

In fact I do not care to save the sortedCollection as soon as when I reload I 
restore it. 


S

[Pharo-users] [Ann] Bloc v1.0

2022-10-26 Thread stephane ducasse
Hi all 

At ESUG and after about a year of development, the Pharo consortium was happy 
to announce 
a first version of the Bloc graphics framework as available in

https://github.com/pharo-graphics/bloc 


Here is the video of the ESUG presentation 

https://rmod-files.lille.inria.fr/Videos/2022-ESUG/Day2/2f-esug-v3.mp4

We are now opening the internal mailing-list and feel free to join. 
We will be soon describing the roadmap for the next 6 months. 

https://sympa.inria.fr/sympa/info/lse-bloc 



S

[Pharo-users] Version of magritte for Pharo10

2022-10-08 Thread stephane ducasse
Hi 

I tried to load v3.7 in plain Pharo 10 and it breaks :(
I tried to load v3.8 and it breaks with the same error

Which version is supposed to work with P10?
Because I saw that the baseline was updated.

S


[Pharo-users] Sponsoring our new mooc

2022-10-05 Thread stephane ducasse
Since more than a year we have been working on a new mooc called: “Advanced 
Object-oriented Design and Development”

It will be quite good. We are bullet proofing it with a new lecture here at 
Lille.
It will not focus on Pharo but on object-oriented design, tests, design 
patterns. 

It will present
- Test and test-driven 
- Essential aspects of OOP 
- Basic and universal principles 
- Double dispatch 
- Case studies in Pharo
- Some design patterns 
- Some coding idioms
and we will composed of 8 modules

Currently it has around 50 lectures and we expect around 60 + exercises.
You can access some drafts of the support here: 
https://rmod-files.lille.inria.fr/?dir=DesignCoffeeClub 


The production cost of this mooc is around 200 K Euros financed by Inria and it 
will be filmed in January.
We hope to deploy it in April or May 2023.
The mooc will be produced in english (and may be dub in french). 




It occurred to me in this difficult time to find good developers that some of 
you may want to sponsor this mooc\to get exposure.
You can be associated with some of the best OO teachers: me, Guillermo Polito 
and Pablo Tesone. 
We have cumulated more than 40 years of teaching experience. Several books...
Yes at the end of the day we should sale a bit our expertise - check below our 
track record with the previous mooc. 

As a sponsor you will get your logo and links on all the supports: Slides and 
videos.
Note that this mooc is designated to have a live time of 10 years or more. 
It is teaching fundamental points of OOP. 
So this is a unique opportunity to market your company to people wanted to 
learn advanced OOP 
Note that there are no other lectures like this one.

We have two levels of sponsoring:
2000 Euros for platinum sponsor
1000 Euros for plain sponsor

Let us know. 


Just a little reminder of the previous Mooc on Pharo. It has more than 8 years. 

For the record, some youtube videos (that we published after 4 years of running 
the pharo mooc) got more than 6000 views
and this is by developers. 

We got around 1 followers not counting the people watching the mooc 
on youtube and here are some of the testimonies we collected over the years.

J'ai trouvé ça très intéressant, beaucoup plus que prévu ! je regrette de ne 
pas m'y être mis plus tôt. J'ai enfin l'impression de vraiment faire de la POO 
! Ou à l'inverse je me rend que je n'en faisais pas vraiment... - Anonymous, 
2019
I have just completed week seven of the Pharo Mooc (beginner and object 
oriented tracks) I am starting a redo of the Mooc with the web track (TinyBlog 
project). I have already learned so much ! I have spent the last 20 years or so 
in software development and, following this Mooc, I realized I hadn’t really 
grasped the essence of object oriented design. - Anonymous 
« Really one of the best mooc I have ever attended. And I have attended quite a 
few (openSAP, openHPI). As an old fashioned ABAP developer I want to be reborn 
as Pharo developer in my next life :-) » - Anonymous
Hi! I finished the MOOC some weeks ago and I would like to congratulate 
everybody involved! After a decade+ of Python programming I think I found my 
new favorite language :). I'm making a small Teapot server for Slack command 
bots, I'm goona push it to Github (yay Iceberg), if anyone is interested. - 
EduardoPadoan
I just completed the @pharoproject Mooc the best investment I have ever made of 
my time. MAQBOOL 
Hey all - I've just finished the Mooc - thanks for an excellent course and a 
thouroughly interesting look at a new way to program :smile: Looking forward to 
starting to play with Pharo on some upcoming ideas I've had. - Tieryn
As much as I thought I understand object-orientation, it is very clear NOW that 
without a truly useable Smalltalk, which Pharo is, it is impossible to really 
understand and exercise object-orientation. Thank you all s much. - Mike D. 
06/12/2020
I finished the Pharo MOOC a few days ago. Thank you very much to Damien, 
Stephane, and Luc for their work on the material! I enjoyed it very much - 
Anonymous
Hey all - I've just finished the Mooc - thanks for an excellent course and a 
thouroughly interesting look at a new way to program :smile: Looking forward to 
starting to play with Pharo on some upcoming ideas I've had 3 - Anonymous
I already had previous Smalltalk experience, but yes, I'm extremely happy 
Chapter 7 has been extremely fulfilling - Anonymous
A general comment I wanted to make is that the MOOC so far has been great. 
Impressed with the quality and content, and grateful that it is available and 
free. Many thanks! - Aryeh
IMHO the videos were very well done. I would even say shockingly well done… for 
a bunch of programmers who are supposed to be clueless about design - 
SeanDeNigris - 10/26/2017
The more I learning about @pharoproject the more I appreciate it's beauty and 
simplicity, finally, object-oriented 

[Pharo-users] [Roassal - Spec ] How can I trigger the refresh of an inspector pane

2022-09-25 Thread stephane ducasse
Hi 

I have a roassal pane in my inspector to display quadtrees. 
I added the possibility to add a point to the inspected quadtree.
But the pane does not refresh
I have to do it by hand
and I would like to know how I can force the inspector to refresh



[Pharo-users] Re: Esug - Angela Bragagnolo

2022-08-21 Thread stephane ducasse
Hi santiago

I just learned that and I’m really so sad.
Do you know who we should call?
Does she have a contact point? 
Do you know the taiwanese ambassy at Paris. 

S

> On 21 Aug 2022, at 15:41, Santiago Bragagnolo  
> wrote:
> 
> Hello everyone, my wife Angela was going to assist esug this year as a 
> student volunteer. She has been stopped in the airport since the information 
> in the ambassy website "was outdated" (really really dickmove. i am starting 
> to hate) and she was actually needing a visa. 
> By the time being she was set into a cell-dorm with only her phone and no 
> electric-socket to charge (so soon incommunicated). She was told to be sent 
> back to paris in 3 days. Meaning that she is going to be in jail for 3 days 
> because the ambassy is not able to keep their website updated. 
> 
> 1st- know that she is not attending.
> 2nd- please if you know someway to help contact me.
> 
> Thanks all. 
> 
> santiago 
> 


[Pharo-users] Re: Porting from VW 8.3 to Pharo

2022-08-03 Thread stephane ducasse
Hi

If in the process you discover easy changes on the pharo side that 
can be either integrated in Pharo or packages from the Pharo side to help 
migration let us know. 
We would like to help but we are really really super full.
I tried to help to package values but I did not understand the process (I know 
the pharo way for sure to define baseline). 
Now a part of the team is really concentrated to improve the VM (we would like 
to have a 1.5 speed up) but 
it requires work and concentration. We are also working on permanent space and 
better memory management
thanks for lifeware sponsoring. 
Still let us know.

Shaping about the spec questions esteban is on vacation and when he will 
reappear he will check the libgit change impacting us. 
Then the spec aspects.

S

> On 3 Aug 2022, at 16:03, Shaping  wrote:
> 
> Hi Christian.
>  
> I’m trying to port from VW 8.3 to Pharo.  Is there a detailed algorithm in 
> addition to the Workflow section mentioned here?:
>  
> https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout 
> 
>  
> generate the source for the target dialect from VisualWorks with the defined 
> code transformations. Fix problems so that there are no errors or warnings.
> …
> 
> How does one generate the source (run the transformation)?  Where are the 
> aforementioned “defined code transformations”,   Is there an example of how 
> to setup the declarative template needed to map VW namespace names to Pharo 
> class prefixes?
>  
> I loaded the following packages into my VW 8.3 image:
>  
> Values Project
> Values
> Values Fileout Pharo
> Values Testing
> Values Tools
> Values Tools Testing
>  
> Pharo Fileout Values
> Pharo Transform
>  
> Smalltalk Transform Project
> Smalltalk Transform TestBundle
> Smalltalk Transform Tests
> Smalltalk Transform
> Smalltalk Transform Model
> Smalltalk Transform Testing
> Smalltalk Transform TestPackage
> Smalltalk Transform Tools
>  
> Any package not updated recently (in the last few months) I didn’t load.  
> Did I miss anything?
> 2. Port the Values package. This is easy, since no namespaces are involved.
> 
>  
> This first instruction after VW package setup says to port the contents of 
> the Values package from VW to Pharo.  Do you mean manually?  Probably not.
>  
> I feel like I’ve missed the main details of how to start the transformation.  
> I’d like to do a small fully contained test package with no external 
> dependencies as a first test, probably my Magnitude or Collection packages.  
> Suggestions are welcome.  Thanks for doing this and sharing it.
>  
> Shaping 
>  
> From: christian.haider  > 
> Sent: Wednesday, 22 June, 2022 05:42
> To: pharo-users@lists.pharo.org 
> Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo
>  
> With help from the community some issues were fixed which improved the test 
> statistics nicely. 
> Check it out: 
> https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo
>  
> 
>  
> 
> Thanks to everybody involved! 
> 
> Happy hacking, 
> Christian 



[Pharo-users] Two engineer positions

2022-07-29 Thread stephane ducasse
Hello 

please distribute

We have two engineer positions opening:
- one on improving the Pharo VMs
- one on designing IA library

We will also have another engineering position on analysing Fortran (with the 
possibility to develop a startup)

Contact us if you are interesting

[Pharo-users] Fwd: [Esug-list] [ESUG 2022] Innovation Technology Awards

2022-07-03 Thread stephane ducasse


> Begin forwarded message:
> 
> From: Noury Bouraqadi 
> Subject: [Esug-list] [ESUG 2022] Innovation Technology Awards
> Date: 20 June 2022 at 11:55:43 CEST
> To: Members ESUG 
> 
> Dear fellow Smalltalkers,
> 
> ESUG conference is a great event  with multiple opportunities to discover and 
> exchange.
> One of them is the Innovation Technology Awards.
> 
> This is a great opportunity to demo and discuss smart and cool Smalltalk 
> software you've been developing the last 2 years.
> All Smalltalk flavors are welcome!
> 
> Submit your project now
> https://esug.github.io/2022-Conference/awardsCall2022.html 
> 
> On Behalf of the ESUG Board,
> Noury
> ___
> Esug-list mailing list -- esug-l...@lists.esug.org
> To unsubscribe send an email to esug-list-le...@lists.esug.org



[Pharo-users] Pharo-vm mailing-list

2022-07-01 Thread stephane ducasse
Hi 

Since a couple of years the Pharo crew has been working on the Pharo-vm and 
most of the communication was using internal channels. 

Now that the community is growing we believe that it is important to have a 
public way to communicate around the VM and our current and future 
developments. 

We are happy to announce that we set up a mailing-list for the Pharo-vm.

https://lists.pharo.org/list/pharo-vm.lists.pharo.org 


Stef on the behalf of the Pharo lille crew.





[Pharo-users] ESUG deadline for Presentation

2022-06-03 Thread stephane ducasse
Hi Happy Smalltalkers

Two important points
- We are starting to work on the program of ESUG 2022 and we will 
accept some more talks 
but do not wait too long. 
https://esug.github.io/2022-Conference/call2022.html 


- The registration is open and the early rate is nicer than the late 
one :)
https://registration.esug.org 

But you can sponsor ESUG by registering with late fees from 6th of July.
But this is more expensive.

S

[Pharo-users] Re: MIDI Interface?

2022-05-18 Thread stephane ducasse
Antoine can you reply to Stewart?


> On 16 May 2022, at 01:03, Stewart MacLean  wrote:
> 
> Hi Santiago,
> 
> Thanks for this. My primary interest at the moment is interfacing with Midi. 
> 
> The sound stuff looks interesting, even if it is not quite my cup of tea 
> music wise :)
> 
> How far has your student got with the PortMidi bindings? As a first step, as 
> I can get a precompiled library via homebrew I thought I'd start by migrating 
> my VisualWorks PortMidi bindings - are they able to share this to get me 
> started?
> 
> I have built a Midi Access Layer (in VisualWorks) which layers over both 
> RtMidi and PortMidi, which I had working on Windows quite a while ago. This 
> maybe useful?
> 
> Cheers,
> 
> Stewart
> 
> On Sun, May 15, 2022 at 11:48 PM Santiago Bragagnolo 
> mailto:santiagobragagn...@gmail.com>> wrote:
> Hi all! 
> In inria we are working with an student on the bindings of PortMIDI in Pharo, 
> and having some exchanges with an italian Dj that uses pharo for 
> live-performances (https://www.youtube.com/watch?v=yBK0UpalBfk 
> )
> 
> We are trying to recover, in the long term the things in 
> https://github.com/pharo-contributions/Sound 
> , since there are awesome! 
> 
> If you have ideas feel free to share them! 
> 
> Santiago
> 
> El dom, 15 may 2022 a las 6:07, Stewart MacLean ( >) escribió:
> Hi all,
> 
> Just wondering what the current state of interfaces to MIDI within Pharo are?
> 
> I gather that there was one (SoundScores that used primitives), but that 
> seems to have disappeared...
> 
> Cheers,
> 
> Stewart



[Pharo-users] Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks

2022-03-27 Thread stephane ducasse
BTW about porting from VW, you see a friend of mine wanted to see how to help 
porting Siren to Pharo. 
Now this is not possible because he could not get a personal VW license. 

So even if people want to help pointing to a store database is equivalent to 
/dev/null for most people.
For example I cannot (and also does not for legal reason) run VW on my machine. 
Not talking about the new M1 I will get.

S

> On 27 Mar 2022, at 22:12, seasidebook  wrote:
> 
> Hi christian 
> 
> I took the squeakValues60 becau se I thought that this is what you wanted 
> that we do.
> I should continue but I’m busy
> 
> 
> ahhh I did not know that you already did it. 
> Do you need help to package your changes?
> Because you can fork my repo and load your changes.
> 
> I got lost with the explanation of OrderedDictionary below because I’m dead 
> :) - worked too mcuh today.
> But what we can do is to package the one that is working for you under 
> http://github.com/pharo-container 
> and update the baseline to load it. 
> Alternatively we could see what is wrong in the pharo’s one. 
> 
> Now my brain decided to shut down :) so I need to sleep.
> 
> S
> 
>> Hi Stef,
>>  
>> Great! Thank you for your work.
>> Good example for the tonel format.
>>  
>> Which sources were you using?
>> How did you generate this? 
>> Do you use VW to create the output?
>>  
>>  
>> For the last ESUG (2.5 years ago – sigh), I already did the transformation 
>> for Values for Pharo. Thanks to you, I revised them and published the result 
>> on GitHub (https://github.com/PortingPDFtalk/PharoValues 
>> ) and added a Pharo porting 
>> page to the wiki (https://wiki.pdftalk.de/doku.php?id=pharoport 
>> ). Please have a look. 
>>  
>> The fileouts are for Pharo versions 6.1, 7.0, 8.0 and 9.0 (7.0 to 9.0 have 
>> identical sources). The sources load without errors or warnings and all 27 
>> tests pass.
>>  
>>  
>> Some of the problems in your code have to do with OrderedDictionary as 
>> superclass of Valuemap. When I did my first round on the port, I had a class 
>> OrderedDictionary in my Values implementation. Unfortunately, 
>> OrderedDictionary does not work as I expected.
>>  
>> (OrderedDictionary with: #a -> 1 with: #b -> 2) = 
>> (OrderedDictionary with: #b -> 2 with: #a -> 1)
>>  
>> answers true, although the order is different. Therefore, it cannot be used 
>> as value.
>>  
>> Instead of raising this issue on a Pharo list (sorry), I decided to use a 
>> new name: Valuemap. 
>> A Valuemap is an OrderedDictionary where the order is relevant for 
>> comparisons. 
>> Squeak had the same problem where it was considered a bug and fixed. 
>> While I subclass Dictionary for Valuemap in Pharo, I can use 
>> OrderedDictionary in Squeak. This removes a lot of methods from the fileout.
>>  
>>  
>> A remark about the renamings you propose in your commit comment.
>> Thank you for the suggestions, but I decline for two reasons:
>> Names for classes, methods and variables are very important to me. Naming is 
>> part of the creative expression of the code author. I do think much about 
>> the right names and therefore, I claim the liberty and right to name things 
>> according to my feeling.
> 
> Yes now you may want to read an excellent book that just came out: 
> http://books.pharo.org  Pharo with Styles.
> If you want to have future contributors this is good to follow good practices
> Else I’m quite sure that you would not like a French Pharo :)
> 
>> Maybe my names are a bit influenced by German, where we tend to have longer 
>> names. Therefore, my names are not so heavily camel-cased J. In contrast, 
>> Pharo has quite a different style with a love for camel-casing J 
>> (#timeStamp, #nanoSeconds etc.). 
>> From a practical view, it would be a lot of work to rename all references to 
>> the items in this basic systems library. There is a lot of code out there 
>> using it. Of course, if there is a good reason for a renaming (like a 
>> spelling mistake or misleading name), it should be done and I am 
>> appreciating any suggestions.
> 
> A pattern that we use is the following. 
> You introduce a new name and let the old one as an empty subclass. Like that 
> you can migrate and still be backward compatible. 
> 
> For the method level refactoring we have a gorgeous mechanism that 
> automatically rewrite client code….
> 
> http://www.jot.fm/issues/issue_2022_01/article1.pdf 
> 
> 
> S



[Pharo-users] Pharo with Style (new version) is now available as physical book

2022-03-12 Thread stephane ducasse
https://www.amazon.fr/Pharo-Style-Stéphane-Ducasse/dp/232218201X/ref=sr_1_1?__mk_fr_FR=ÅMÅŽÕÑ=15GN4OFOFHK56=Pharo+with+style=1647113931=pharo+with+style%2Caps%2C60=8-1
 
<https://www.amazon.fr/Pharo-Style-St%C3%A9phane-Ducasse/dp/232218201X/ref=sr_1_1?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91=15GN4OFOFHK56=Pharo+with+style=1647113931=pharo+with+style,aps,60=8-1>

https://www.decitre.fr/livre-pod/pharo-with-style-9782322182015.html 
<https://www.decitre.fr/livre-pod/pharo-with-style-9782322182015.html>
https://www.bod.fr/librairie/pharo-with-style-stephane-ducasse-9782322182015 
<https://www.bod.fr/librairie/pharo-with-style-stephane-ducasse-9782322182015>

I will update the web site as soon as I get time. 

S

[Pharo-users] Re: Detecting keystrokes in Spec2 input fields

2022-03-12 Thread stephane ducasse
in general this is not a good style to set color directly.
Using style will make sure that your components will support themes in a 
simpler way. 
Because you will not have to have case statements and check all the place where 
you change color.

S

> On 12 Mar 2022, at 15:53, Robert Briggs via Pharo-users 
>  wrote:
> 
>  
> Thanks Esteban
>  
> I’ve made it work based on your example.  As you said I didn’t need 
> registerEvents.  My original block just called a method that I used for 
> trapping with the debugger to investigate how it worked.
>  
> One question.  Why can I not simply send borderColor: #red to the presenter 
> rather than using the stylesheet method?
>  
> Regards
> Robert
>  
> From: Esteban Lorenzano mailto:esteba...@netc.eu>>
> Reply to: Any question about pharo is welcome  >
> Date: Saturday, 12 March 2022 at 13:28
> To: Any question about pharo is welcome 
> Cc: Robert Briggs 
> Subject: [Pharo-users] Re: Detecting keystrokes in Spec2 input fields
>  
> Hi,
> no, you don't need to send any "registerEvents". This is internal and is sent 
> on initialize, when you create the presenter.
> precisely last week I make an example of  what you are asking for: 
>  
> https://github.com/pharo-spec/Spec-QA/blob/main/qa005.md 
> 
> cheers!
> Esteban
>  
> On Mar 12 2022, at 2:20 pm, Robert Briggs via Pharo-users 
>  wrote:
>> Hi Kasper
>>  
>>  
>>  
>> Problem solved.  I’ve done some more experimenting and it seems that 
>> registerEvents needs to be sent to make  whenTextChangedDo: active.  Makes 
>> sense but haven’t seen it documented anywhere.
>>  
>>  
>>  
>> Regards
>>  
>> Robert
>>  
>>  
>>  
>> From: Kasper Osterbye 
>> Reply to: Any question about pharo is welcome 
>> Date: Saturday, 12 March 2022 at 10:31
>> To: Any question about pharo is welcome 
>> Subject: [Pharo-users] Re: Detecting keystrokes in Spec2 input fields
>>  
>> If it is in the TextPresenter you might be looking for 
>>  
>> whenTextChangedDo: or whenSubmitDo:
>> Both inherited from SpAbstractTextPresenter
>>  
>> Best,
>>  
>> Kasper
>>  
>>  
>> 
>>  
>>> On 12 Mar 2022, at 11.26, Robert Briggs via Pharo-users 
>>> mailto:pharo-users@lists.pharo.org>> wrote:
>>>  
>>>  
>>> Hi
>>>  
>>> Is there a simple way to detect when a use makes a keystroke in for example 
>>> a Spec 2 Text Input Presenter?
>>>  
>>> I’ve been going through all the relevant classes and methods, even into 
>>> Morphic, but so far I have not found a way to do it.
>>>  
>>> I want to be able to identify when unaccepted changes have been made to the 
>>> displayed text to ensure that a use does not leave a form without saving 
>>> any input made.
>>>  
>>> Regards
>>> Robert



[Pharo-users] Fwd: ESUG 2022 call for presentations And Call for student volunteers

2022-02-20 Thread stephane ducasse
A reminder…

S

> Begin forwarded message:
> 
> From: "stephane.duca...@free.fr" 
> Subject: ESUG 2022 call for presentations And Call for student volunteers
> Date: 13 January 2022 at 13:23:44 CET
> 
> ESUG 2022 
>   Serbia 22. – 26.8.
> 
> 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 enroll 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 hands-on tutorials. 
> 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 and Show us Your Business
> 
> New this year!!! We added two types of sessions in addition to the regular 
> talks 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.
>  <>How to submit?
> 
> Make a Pull Request here 
> https://github.com/ESUG/esug.github.io/tree/source/2022-Conference/talks
> 
> Or but only if you are not connected to the world… send an email to 
> stephane.duca...@inria.fr
> 
> Title: [ESUG 2022] Please follow the template below the email will be 
> automatically processed!
> Name:
> Email:
> Abstract:
> Bio:
> 
> Call for Student Volunteers
> Student volunteers help keep the conference running smoothly; in return, they 
> have free accommodations, while still having most of the time to enjoy the 
> conference.
> 
> Pay attention: the places are limited so do not wait till the last minute to 
> apply.
> 
> Conference details:
> Send an email to stephane.ducasse at inria.fr and serge.stinckwich at 
> gmail.com with:
> 
> title: [ESUG 2022 Student]
> name, gender, university/school, country, email address
> short description of you and why you are interested in participating
> For which period is accommodation covered? Accommodation is covered from 
> Sunday 21 August until Friday 26 August 2022 (including nights from Sunday to 
> Monday and from Thursday to Friday). Students will be hosted in student 
> rooms. ESUG additionally covers for the lunches during the week and one 
> dinner.
> 
> Duties include handling registration as people arrive at the conference, 
> filling coffee machines, collecting presentation slides for ESUG right after 
> the presentation is given, being present at an information desk to answer 
> questions, and generally being helpful. Student volunteering makes the 
> conference better, takes a fairly small amount of time and doesn't 
> significantly interfere with enjoying and learning from the conference. 
> Please Note, this role requires discipline and constant attention to all 
> attendees.
> 
> Information about hotel
> Student Volunteer rooms are booked at (to be announced). If you are student 
> volunteer, do not book yourself, we have arranged the booking already!
> 



[Pharo-users] ESUG 2022 call for presentations & Call for student volunteers

2022-01-13 Thread stephane ducasse
ESUG 2022 
Novisad Serbia 22. – 26.8.
https://esug.github.io/2022-Conference/call2022.html

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 enroll 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 hands-on tutorials. 
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 and Show us Your Business

New this year!!! We added two types of sessions in addition to the regular 
talks 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.
 <>How to submit?

Make a Pull Request here 
https://github.com/ESUG/esug.github.io/tree/source/2022-Conference/talks

Or but only if you are not connected to the world… send an email to 
stephane.duca...@inria.fr

Title: [ESUG 2022] Please follow the template below the email will be 
automatically processed!
Name:
Email:
Abstract:
Bio:

Call for Student Volunteers
Student volunteers help keep the conference running smoothly; in return, they 
have free accommodations, while still having most of the time to enjoy the 
conference.

Pay attention: the places are limited so do not wait till the last minute to 
apply.

Conference details:
Send an email to stephane.ducasse at inria.fr and serge.stinckwich at gmail.com 
with:

title: [ESUG 2022 Student]
name, gender, university/school, country, email address
short description of you and why you are interested in participating
For which period is accommodation covered? Accommodation is covered from Sunday 
21 August until Friday 26 August 2022 (including nights from Sunday to Monday 
and from Thursday to Friday). Students will be hosted in student rooms. ESUG 
additionally covers for the lunches during the week and one dinner.

Duties include handling registration as people arrive at the conference, 
filling coffee machines, collecting presentation slides for ESUG right after 
the presentation is given, being present at an information desk to answer 
questions, and generally being helpful. Student volunteering makes the 
conference better, takes a fairly small amount of time and doesn't 
significantly interfere with enjoying and learning from the conference. Please 
Note, this role requires discipline and constant attention to all attendees.

Information about hotel
Student Volunteer rooms are booked at (to be announced). If you are student 
volunteer, do not book yourself, we have arranged the booking already!

[Pharo-users] Pharo sprint at Prague

2021-11-23 Thread stephane ducasse
Hi happy smalltalkers   

We want to organise a Pharo sprint at Prague either friday 26 Nov or saturday 
27 Nov
Let us know if you want to join hacking and having fun.

S. 

[Pharo-users] Book the dates: Pharo Days 2021: 3/4 March 2022 @ Lille

2021-10-22 Thread stephane ducasse
Dear Pharoers 

We are super excited to announce the dates of the next Pharo Days. 
Pharo Days 2021 will be held at Lille 3/4 March 2022

We will set soon a program and a website. 
Stay tuned.  

S. 


[Pharo-users] possible dates for Pharo Days 2022 :)

2021-10-07 Thread stephane ducasse
Hello guys

We are super excited because we want to organise PharoDays at Lille 
We are checking some possible dates and we would like to know your point of 
view. 
right now we were thinking that 
3/4 or 10/11 march would be good. 
So let us know. 

S

[Pharo-users] https://yesplan.be/en/vacancy/full-stack-software-engineer

2021-08-01 Thread stephane ducasse
Job at yesplan… 
Cool company.

S

[Pharo-users] Updates from the trenches...

2021-07-28 Thread stephane ducasse
Hello community

Just a little mail from holidays to let you know that from September on we will 
try a new organisation.

Pharo 9 (with Covid and amount of work) was stressful for us.
Seriously we deliver more than expected so we did several meta meetings (and we 
will continue) 
to understand how we can work with less stress. 
In particular we want to be able to give better feedback to the community while 
being able to deliver
the large items we have on our plate.

In a nutshell every month we will have

- a full working day around 
- design ideas such as

https://github.com/pharo-project/pharo/wiki/01-PhIP-Simplify-Pragma-Storage
- new tools such as MethodProxies to look at our lovely system 
in different ways
https://github.com/pharo-contributions/MethodProxies
- code review

- a full internal bug/issue internal sprint
we want to be able to concentrate on issues that require 
concentration
and we want to make sure that we can provide feedback and 
integrate PRs that need brain.

- our monthly open sprint (we hope that Covid 4th wave will not break 
our fun once again).

Stef

Re: [Pharo-users] Sorry - Please Stay!!!

2018-04-22 Thread Stephane Ducasse
I think that I will simply stop to read this mailing-list too.
Like that I will get focused and do not get hurt systematically by all
the wish list
and santa klaus dreams around.

I'm a bit feedup about the stream of "YouShouldDoIt" and also the ton
of certain mails.

Stef

On Sun, Apr 22, 2018 at 6:46 PM, Stephane Ducasse
<stepharo.s...@gmail.com> wrote:
> +1
>
> On Sun, Apr 22, 2018 at 2:29 PM,  <s...@clipperadams.com> wrote:
>>> Well, I guess I don't belong here anymore…
>>
>> Please don't let one personality define our community. I'm sure there are a 
>> lot of people, like me, who appreciate your perspective and efforts. Steph 
>> has said the same thing to me multiple times about talking vs. action and 
>> I've worked on hundreds of issues. It can be frustrating, but I certainly 
>> believe it's worth it because while not perfect, Pharo is the closest to my 
>> Dynabook dream with enough of a community around it to have good up-to-date 
>> libraries around it, etc. GT, Roassal, Grafoscopio, and the new AI stuff are 
>> getting really exciting. Let's focus on inventing the future!
>>
>> _
>> Sent from http://forum.world.st
>>
>>



Re: [Pharo-users] question re. meaning of 'self' in a method used for testing

2018-04-22 Thread Stephane Ducasse
Indeed TestCase is a really a special class and it can be really
looking strange at first.

On Sun, Apr 22, 2018 at 2:20 PM, Sean P. DeNigris  wrote:
> Gregg Williams wrote
>> Hi—I’m a beginner in Pharo and am working my way through Pharo by Example
>> 5.0 (PbE) and Learning OOP and TDD with Pharo (LOTWP).
>
> Welcome! That's a great way to start :)
>
>
> Gregg Williams wrote
>> 1) These two methods are defined on the instance side (the Class button is
>> *not* selected). If so, what is the receiver when they are used?
>
> I think the other two replies covered this and your other questions
> technically, but I just want to mention that the TestCase class can be a bit
> confusing. It represents a convenient way to deal with tests in a class
> browser, at the expense of being the most understandable OOP design. Suffice
> it to say that whenever a test is run, SUnit, the testing system, will do
> the magic to create an instance of your TestCase subclass. This is what
> happens when you click the test bubble in the browser, and this instance is
> what `self` refers to in tests. HTH
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Sorry - Please Stay!!!

2018-04-22 Thread Stephane Ducasse
+1

On Sun, Apr 22, 2018 at 2:29 PM,   wrote:
>> Well, I guess I don't belong here anymore…
>
> Please don't let one personality define our community. I'm sure there are a 
> lot of people, like me, who appreciate your perspective and efforts. Steph 
> has said the same thing to me multiple times about talking vs. action and 
> I've worked on hundreds of issues. It can be frustrating, but I certainly 
> believe it's worth it because while not perfect, Pharo is the closest to my 
> Dynabook dream with enough of a community around it to have good up-to-date 
> libraries around it, etc. GT, Roassal, Grafoscopio, and the new AI stuff are 
> getting really exciting. Let's focus on inventing the future!
>
> _
> Sent from http://forum.world.st
>
>



Re: [Pharo-users] question re. meaning of 'self' in a method used for testing

2018-04-22 Thread Stephane Ducasse
tx guys for your help.
cleaning the garden (was a junggle -well still).

On Sun, Apr 22, 2018 at 12:18 PM, Hilaire  wrote:
> Le 22/04/2018 à 05:25, Gregg Williams a écrit :
>>
>> 2) In testAllIsogramSet, why do you need ‘self’? After all ‘isograms’ is a
>> data structure, and its message is ‘do:’
>
>
> You defined isograms as a method of the class. Therefore only this method
> returns the data structure you defined there.
> It is not an instance variable declared in your GramCheckerTest class. In
> that case you may want to initialize it in your initialize GramCheckerTest
> class (or for a test case it is better to do it it in the setUp method as it
> will be called before each test method call):
>
> initialize
> super initialize.
> isograms := #('pharo' 'pathfinder' 'xavier' 'lumberjacks’)
>
>
> Then your test method can access it directly (without self):
>
>
>isograms do: [ :word | self assert: word isIsogramSet ]
>
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] Where do we go now ?

2018-04-21 Thread Stephane Ducasse
What I find sad is that people spent hours talking instead of doing.
This is why Smalltalk is for them.
Personally I prefer Pharo.

Let me migrate another Seaside chapter so that people can complain after all.

Stef

On Sat, Apr 21, 2018 at 11:48 AM, Peter Uhnák <i.uh...@gmail.com> wrote:
> How a project is named is a choice of the author. Nobody gets to demand how
> someone should name their projects.
>
> Now how project is actually named is not a issue if it is properly handled
> on pharo side, which in some places is, in some places isn't.
>
>> For instance, there's a gazillion UI frameworks out there and, most of the
>> time, the name used for them is one of a famous painter.
>
>
> We have Magritte, which is a meta-data description framework, not UI
> framework. :)
>
>> How many Pharo *users* (not regular contributors!) know what those
>> tools/frameworks/packages do ???
>
>
> Probably not many, because they never encounter them, nor care about whether
> they exist or not.
>
>> A very quick look at what's in Pharo 7 shows the following names :
>> Iceberg, Ombu, Calypso, Flashback, Nautilus, Renraku, Zodiac, Shift, Zinc,
>> Hermes, Beacon, Cargo, Hermes, Opal, Shoreline, Epicea, Balloon, BlueInk,
>> Commander, Fuel, Glamorous, Glamour, Gofer, Hiedra, Metacello, Moose, Ring,
>> Rubric, Shout, Spec, etc...
>
>
> Calypso + Nautilus: as a user you don't get to encounter the names, there's
> only "System Browser"
> Did you know that there are other code browsers you can install? (e.g. Code
> Panels, Alt Browser, ...)
>
> Iceberg: as someone pointed out, this would be nice to have a "(Git)
> Versionner" or whatever entry instead
>
> Metacello: npm => "Package manager 1", pip => "Package manager 2", ...
>
> Ombu/Epicea: you access it via "Code Changes", names are hidden from the
> user
>
> Flashback, Renraku, Hermes, Opal, Shoreline, BlueInk, Hiedra, Ring, Rubric,
> Shout, Glamorous, Glamour: not something a regular user ever encounters
> directly, and if they need to, the unique name helps a lot in finding
> information/docs about it
>
> Moose: are you serious? should Pharo be called "Programming Language 28301"
> too?
>
> Commander: Commander is a library to implement commands. You literally
> cannot have a more descriptive name and yet you still complain.
>
> Spec: ... maybe we can rename
>   * Morphic "UI 1"
>   * Baloon "UI -1"
>   * Spec "UI 2"
>   * Rubric "UI 3"
>   * Tx "UI A"
>   * Bloc "UI א"
>   * Athens "UI  ε"
>   * Cairo "UI Щ"
>   * Sparta "UI さ"
>
> and then try to find any information about anything.
>
>> Was it really that hard to replace the old workspace with Workspace2 or
>> WhateverWorkspace ?  Or even better : get rid of the old Workspace and
>> replace it with Playground while retaining the name "Workspace" ???
>
>
> Well I could claim that "Workspace" is a very confusing name, because it is
> not actually workspace, just a trivial Text Box. If anything, Playground is
> a much more fitting name.
>
>> Or somethings as simple as Regex, the regex package from Bykov.
>
>
> Which variant of regular expressions though?
>
>> Unless we *clearly* publicize/describe what those names are, there's no
>> way in a thousand years you could tell that BlueInk is not a package dealing
>> with fonts (that was my first guess) !
>
>
> I fully agree with this, and as I've mentioned (here, or maybe in another
> thread), this has improved greatly with move to GitHub, as people finally
> started to care about describing their projects. But the transition takes
> time. Btw BlueInk is a "pretty printer", so the name isn't really misleading
> once you know what it is. But being "clever" with names is sure way to get
> it misinterpreted. (E.g. "grafoscopio" which has nothing to do with graphs
> or visualizations, as it is text/nodes/code snippets organization tool.)
>
> (For the record I tend to name projects with the most boring name I can come
> up with (tonel-migration, IconFactory, file-dialog, xml-magritte-generator,
> uml-xmi, ...), but it only works if there's only one such thing... if there
> are competing projects, than sharing the name doesn't help anyone.)
>
> Peter
>
> On Sat, Apr 21, 2018 at 1:34 AM, David T. Lewis <le...@mail.msen.com> wrote:
>>
>> On Fri, Apr 20, 2018 at 07:08:29AM -0700, Sean P. DeNigris wrote:
>> > Stephane Ducasse-3 wrote
>> > > I like when developers are talking about names:
>

Re: [Pharo-users] min:max:

2018-04-21 Thread Stephane Ducasse
Yes :)


On Sat, Apr 21, 2018 at 4:21 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote:
>
>
>> On 21 Apr 2018, at 15:35, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>>
>> Oh yes
>>
>> On Sat, Apr 21, 2018 at 12:12 AM, Chris Cunningham
>> <cunningham...@gmail.com> wrote:
>>> A name like this would be clearer (although much more annoying):
>>>
>>> returnAtLeast: minValue butNoMoreThan: maxValue
>>>10 returnAtLeast: 12 butNoMoreThan: 48
>
> why 'return' ? most methods return something.
>
>   10 atLeast: 12 butNoMoreThan: 48
>
>>> Thanks,
>>> cbc
>>>
>>> On Fri, Apr 20, 2018 at 12:51 PM, Hilaire <hila...@drgeo.eu> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Out of curiosity.
>>>>
>>>> I always found the #min:max: confusing and lost in its expressiveness.
>>>>
>>>> One should write:
>>>>
>>>>10 min: 48 max: 12
>>>>
>>>> to expect 12.
>>>>
>>>> but logically one (at least me) may want to express it as:
>>>>
>>>>10 min: 12 max: 48
>>>>
>>>> Then when reading its source code, it is even more confusing:
>>>>
>>>> min: aMin max: aMax
>>>>^ (self min: aMin) max: aMax
>>>>
>>>> Are not the argument names inversed in their meaning, if any?
>>>>
>>>> Hilaire
>>>>
>>>> --
>>>> Dr. Geo
>>>> http://drgeo.eu
>>>>
>>>>
>>>>
>>>
>>
>
>



Re: [Pharo-users] min:max:

2018-04-21 Thread Stephane Ducasse
Oh yes

On Sat, Apr 21, 2018 at 12:12 AM, Chris Cunningham
 wrote:
> A name like this would be clearer (although much more annoying):
>
> returnAtLeast: minValue butNoMoreThan: maxValue
> 10 returnAtLeast: 12 butNoMoreThan: 48
>
> Thanks,
> cbc
>
> On Fri, Apr 20, 2018 at 12:51 PM, Hilaire  wrote:
>>
>> Hi,
>>
>> Out of curiosity.
>>
>> I always found the #min:max: confusing and lost in its expressiveness.
>>
>> One should write:
>>
>> 10 min: 48 max: 12
>>
>> to expect 12.
>>
>> but logically one (at least me) may want to express it as:
>>
>> 10 min: 12 max: 48
>>
>> Then when reading its source code, it is even more confusing:
>>
>> min: aMin max: aMax
>> ^ (self min: aMin) max: aMax
>>
>> Are not the argument names inversed in their meaning, if any?
>>
>> Hilaire
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>
>



Re: [Pharo-users] min:max:

2018-04-21 Thread Stephane Ducasse
On Fri, Apr 20, 2018 at 9:51 PM, Hilaire  wrote:
> Hi,
>
> Out of curiosity.
>
> I always found the #min:max: confusing and lost in its expressiveness.
>
> One should write:
>
> 10 min: 48 max: 12


I do not understand the result :)
To me this method is illnamed.

>
> to expect 12.
>
> but logically one (at least me) may want to express it as:
>
> 10 min: 12 max: 48
>
> Then when reading its source code, it is even more confusing:
>
> min: aMin max: aMax
> ^ (self min: aMin) max: aMax
>
> Are not the argument names inversed in their meaning, if any?
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] Projects using Magritte meta models

2018-04-21 Thread Stephane Ducasse
Cool I will have a look when I go back to Magritte
Rafael if you see mistake in the booklet please report them to me.
I will do a pass in a couple of weeks I hope

On Sat, Apr 21, 2018 at 4:07 AM, Sean P. DeNigris  wrote:
> Rafael Luque wrote
>> I wonder if there are other relevant projects I could study to discover
>> other possible
>> uses cases of Magritte.
>
> I use it in nearly all my personal projects, almost always via Morphic, not
> Seaside. Here is a public one you can have a look at:
> https://github.com/seandenigris/Small-World
>
> Load in Pharo 6.1 via:
> Metacello new
> baseline: 'SmallWorld';
> repository: 'github://seandenigris/SmallWorld:master/repository';
> onConflict: [ :ex | ex allow ];
> load.
>
> Browse senders of magritteDescription for classes prefixed with "Small".
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Proper way to file in code

2018-04-21 Thread Stephane Ducasse
I think so

On Sat, Apr 21, 2018 at 10:34 AM, Hilaire  wrote:
> Hi,
>
> To use Smalltalk sketch scripts for additional unit tests, I need to file in
> these script files.
>
> I found FileStream>>fileIn: does the job. Is it the proper way to do it?
>
> Thanks
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



[Pharo-users] Migrating Seaside book to Pillar on github

2018-04-21 Thread Stephane Ducasse
Hi

I decided to start to migrate the Seaside book to Pillar and make it a
community-oriented book.
I will work regularly on it and offer it as a gift to the community.

https://github.com/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside

If some of you want to join the effort, you are welcome.

Stef



Re: [Pharo-users] Where do we go now ?

2018-04-20 Thread Stephane Ducasse
>
> On this matter, when I named my project, "Grafoscopio" I thought in
> something evocative and unique, because of the Spanish words "grafo"
> (graph) and grafía[1][2] (graphy, related with writing like in
> "ortografía" "orthography". After naming it I discover there was a old
> device related with writing and visualization, also called
> Grafoscopio[3][4], but I got good search rankings because of the
> uniqueness of the word[5][6].

Obviously and well done!

I like when developers are talking about names:
They use a mac and not a computer, they were nike, lewis and not shoes
and pants

May be we should rename Pharo: programming language.
And Voyage: Layer
And Athens, Cairo: Canvas

And git: versioning system

Hibernate? JavaFX?, Graddle?, Travis?, Bintray?
Do you want more
Docker?

So guys can we focus our energy on positive things.

Stef




>
> Being my first project and lacking any programming style, the "Smalltalk
> with Style" book didn't make any sense at that time, but now, with more
> experience, I wonder, from time to time, how I could/should (re)name the
> software and its classes.
>
> [1] http://www.wordreference.com/definicion/graf%c3%ada
> [2] http://www.wordreference.com/es/en/translation.asp?spen=graf%C3%ADa
> [3]
> https://www.museodelprado.es/actualidad/multimedia/el-grafoscopio/722c13b2-8f3c-42a0-a1ab-1374bbca9d5f
> [4]
> https://www.museodelprado.es/en/whats-on/exhibition/the-graphoscope/81bfb972-aade-4c24-93b2-dbd7e26e5e4a
> [5] https://duckduckgo.com/?q=grafoscopio=ffsb=v76-7=web
> [6] https://www.google.com/search?hl=en=grafoscopio
>
> Cheers,
>
> Offray
>
> On 13/04/18 09:01, Esteban A. Maringolo wrote:
>> On 13/04/2018 10:41, p...@highoctane.be wrote:
>>> A somewhat unique name makes it easier to google for it (like Roassal
>>> Pharo, or DeepTraverser Pharo, or Zinc Pharo).
>>> These will give us hits that are relevant.
>>>
>>> Try System Browser, Inspector...
>>>
>>> And Apple has worked with NSObject and stuff like that without too much
>>> trouble (at a much larger scale for whatever XyzKit they released).
>>> Ah, yes, they used the "Kit" suffix. Maybe can we have something like
>>> that with Pharo. Like SystemBrowserKit ( nah, too Appleish.
>>
>> But I prefer these names:
>> * Calypso System Browser
>> * Calypso Debugger
>> * Iceberg Source Control Management
>> * Zinc HTTP Client
>> * Zinc HTTP Server
>> * Fuel Serialization
>> * Glamorous Spotter [*]
>> * etc.
>>
>> [*] I particularly dislike "Glamorous" adjective.
>>
>> In the case of wrapper for libraries I'm hesitant to decide whether to
>> indicate pharo name in it or not.
>> I mean stuff like a NaCl wrapper calling it "NaCl-Pharo" instead of
>> calling "Salty".
>>
>>
>>> Let's try SystemBrowserMeccano (longish), or SystemBrowserPack (too
>>> bland), or SystemBrowserGear (why not), SystemBrowserRig (this one
>>> sounds cool actually)).
>> Fortunately in the past the lack of namespaces caused the use of
>> prefixes instead of suffixes.
>>
>> With time prefixes become invisible.
>>
>> A suffix, instead, will get into all your names, bothering with other
>> existing suffixes like `Component`, `Model`, `Collection`, and so on.
>>
>>
>>
>>
>>
>>
>>
>
>
>



Re: [Pharo-users] Best method for connecting to an Oracle 11g database

2018-04-20 Thread Stephane Ducasse
Hi Arron

Did you try Garage from https://github.com/pharo-rdbms

Stef

On Fri, Apr 20, 2018 at 7:22 AM, Aaron Blakeman
 wrote:
> Hello,
>
> I'm trying to use Pharo 6 to connect to an Oracle 11g database.  I tried
> using dbxtalk with the opendbx driver, but I can't seem to get that to load
> cleanly into a Pharo 6 image.
>
> Before I spend alot of time trying to debug DBXtalk I wanted to see if
> anyone else had any recommendations.  Is there currently any better method
> for connecting from Pharo 6 to an Oracle database?
>
> Thanks!



Re: [Pharo-users] OSWindow doubt

2018-04-18 Thread Stephane Ducasse
There is no problem alvaro.
Let us know what you are doing.


On Thu, Apr 19, 2018 at 12:52 AM, alvaro piorno
 wrote:
> Please omit this email. I already solved and was my mistake.
>
>
> 2018-04-18 19:46 GMT-03:00 alvaro piorno :
>>
>> Hi,
>> I am using OSWindow and by default when closing the native window, image
>> closes too.
>> how can i change the close handle?
>>  I would like only native window to close. Is it possible/viable?
>>
>> Thanks
>
>



Re: [Pharo-users] Pharo Launcher

2018-04-18 Thread Stephane Ducasse
I'm in 10.12.6

On Wed, Apr 18, 2018 at 11:34 PM, Ben Coman <b...@openinworld.com> wrote:
> A while ago I experienced similar behavior, but I'm not on Mac at the
> moment.
> Maybe it depends on OS version?
>
> cheers -ben
>
>
> On 19 April 2018 at 04:35, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>>
>> sean
>>
>> I do not have this behavior.
>> I can use the launcher to open multiple images from the launcher.
>>
>>
>> On Tue, Apr 17, 2018 at 1:00 PM, Sean P. DeNigris <s...@clipperadams.com>
>> wrote:
>> > Ben Coman wrote
>> >> I *prefer* never to close PharoLauncher.
>> >
>> > That's the way I work as well, especially because I found that on Mac
>> > apparently you have to close all open images before Launcher will open
>> > again
>> > from the Dock.
>> >
>> >
>> >
>> > -
>> > Cheers,
>> > Sean
>> > --
>> > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>> >
>>
>



Re: [Pharo-users] Pharo Launcher

2018-04-18 Thread Stephane Ducasse
sean

I do not have this behavior.
I can use the launcher to open multiple images from the launcher.


On Tue, Apr 17, 2018 at 1:00 PM, Sean P. DeNigris  wrote:
> Ben Coman wrote
>> I *prefer* never to close PharoLauncher.
>
> That's the way I work as well, especially because I found that on Mac
> apparently you have to close all open images before Launcher will open again
> from the Dock.
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] [ANN] Agile Artificial Intelligence: Programming Neural Networks in Pharo

2018-04-18 Thread Stephane Ducasse
Since you want feedback, I do not like the section with one paragraph.
It does not like a book but like a doc.
I thought that I set up all the infrastructure for a booklet on IA for
you and I will remove it
since you do not use it.

Stef


On Wed, Apr 18, 2018 at 5:54 PM, Hilaire  wrote:
> Cool. Thanks
>
>
>
> Le 18/04/2018 à 14:53, Alexandre Bergel a écrit :
>>
>> It is now time to share an early version of a new book.
>> https://agileartificialintelligence.github.io
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



[Pharo-users] Going to give 4 days lectures at University of Skikda in Algeria

2018-04-15 Thread Stephane Ducasse
Hi

Just to let you know that I will be giving a Pharo lectures and advanced design
at the University of Skikda in Algeria to Master and PhD students.

Thanks Abdelghani Alidra for the organisation.

Stef



Re: [Pharo-users] Where do we go now ?

2018-04-15 Thread Stephane Ducasse
Ben

can you open a bug entry.
Now I can tell you that the launcher is one of the most complex
application built in Pharo because
it has to adapt to multiple OS, multiple version of OS, multiple
versions of the images and the VM.
For example we discover that we cannot open certain pharo 30 image
with the pharo 30 vm but
better with a pharo 40 vm.

Stef



On Sun, Apr 15, 2018 at 6:58 AM, Ben Coman  wrote:
>
>
> On 13 April 2018 at 17:49, Benoit St-Jean via Pharo-users
>  wrote:
>>
>>
>>
>> -- Forwarded message --
>> From: Benoit St-Jean 
>> To: Esteban Lorenzano 
>> Cc: Any question about pharo is welcome 
>> Bcc:
>> Date: Fri, 13 Apr 2018 09:49:15 + (UTC)
>> Subject: Re: [Pharo-users] Where do we go now ?
>> For those interested.
>>
>> Created the issues 21686, 21693, 21695, 21696.
>>
>> And more to come...
>
>
> Thanks for those.  I don't much time right to devote, but managed to knock
> one off.
> And I learn't something new.  I'd not known there was a setting for screen
> background.
>
> The other ones seem related to a problem dealing with user home folders
> containing non-ascii characters.
> Currently this seems only to affect a small number of people, but is a show
> stopper for them,
> and the numbers will grow with our hoped for growing popularity.
>
> As a work around, in the PharoLauncher settings can you set the directories
> like
> C:\PharoLauncher\images
> C:\PharoLaucnher\vms
> and report if that helps.
>
> Note, I bumped into an issue changing that setting myself recently where it
> tries to migrate
> the existing images from the old to the new folder, causing a catch-22 when
> your trying
> to do that to work around other problems.  To work around that, I had to
> scroll
> down the debug stack to find where the migration was iterating through the
> image folders,
> and short circuit that with "Return entered value" from the context menu.
> Any value
> will do when the return value is not used.  good luck.
>
> @PharoLauncher maintainers, can the change in this setting be made to
> succeed even if the migration fails.
> (I need to run right now)
>
> cheers -ben
>



Re: [Pharo-users] Where do we go now ?

2018-04-14 Thread Stephane Ducasse
Hilaire

I will not start to argue. The bootstrap is in production since the
beginning of Pharo 70.
Now building multiple different images from it is another story.

Stef


On Sat, Apr 14, 2018 at 10:45 AM, Hilaire <hila...@drgeo.eu> wrote:
> Le 13/04/2018 à 19:49, Stephane Ducasse a écrit :
>>
>> We know where we go (we have a roadmap) and this is always the same
>> and we are getting there. Tell me one smalltalk that is bootstrapped.
>
> I don't see we are there yet. At least from my humble point of view the
> bootstrap still looks like WIP.
>
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] IDEA: I will record an Iceberg cast (an "Icecast" ; ) ) every tuesday

2018-04-14 Thread Stephane Ducasse
Use big fonts.
And add a title: "commiting a change"

Stef

On Sat, Apr 14, 2018 at 9:23 AM, Richard O'Keefe  wrote:
> You hero, sir.
>
>
> On 14 April 2018 at 19:17, Esteban Lorenzano  wrote:
>>
>> hi,
>>
>> The idea is to show a small example of something and to answer questions.
>>
>> First “Icecast" will be next Tuesday.
>> You can send your questions in the iceberg channel or in list.
>>
>> cheers,
>> Esteban
>>
>> ps: Is “every tuesday” until I run out of things to show or time ;)
>
>



Re: [Pharo-users] Where do we go now ?

2018-04-13 Thread Stephane Ducasse
We know where we go (we have a roadmap) and this is always the same
and we are getting there. Tell me one smalltalk that is bootstrapped.
And only bad OOP programmers count number of classes
Now I will not reply to provocation. So I just trashed this thread
because it goes nowhere.
Sorry constructivism criticisms from people that already commited and
helped is something positive.
But in this thread I only read in inverse and I will let you with it
and keep my good energy for it .

Stef

On Fri, Apr 13, 2018 at 7:53 AM, Benoit St-Jean via Pharo-users
 wrote:
>
>
> -- Forwarded message --
> From: Benoit St-Jean 
> To: pharo-users@lists.pharo.org
> Cc:
> Bcc:
> Date: Fri, 13 Apr 2018 05:53:46 + (UTC)
> Subject: Where do we go now ?
> Hello guys,
>
> Just a quick word to get some things straight because, quite frankly, I 
> really don't know where we're heading.
>
> When Pharo started, the goal was to depart from Squeak and do a *major clean 
> up* of all the code, especially Morphic.  The promise of a new, clean & lean 
> Smalltalk attracted a lot of people.  And then...
>
> I'm looking at the Pharo 7.0 image right now and I just don't get where we're 
> heading.  Every Pharo release gets bigger, and bigger, and bigger.  I don't 
> mind the environment getting bigger if it adds functionalities or new tools 
> but that's not quite the case here. LOTS of stuff is just duplicated.
>
> Do we really need 2 code completion classes (NECController, NOCController) ?  
> Do we really need 2 system browsers (Nautilus, Calypso)? Do we really need 2 
> compilers (OpalCompiler, Compiler) ?  Do we really need 8 delay schedulers 
> (DelayMicrosecondScheduler, DelayMillisecondScheduler, DelayNullScheduler, 
> DelayExperimentalSpinScheduler, DelaySpinScheduler, DelayTicklessScheduler, 
> DelayExperimentalCourageousScheduler, DelayExperimentalSemaphoreScheduler) ?  
> Do we really need 2 inspectors (GTInspector, EyeInspector) ?  Do we really 
> need 2 workspaces (GTPlayground, Workspace) ? Et cetera. Et cetera. Et 
> cetera.  I could go on, and on, and on...
>
> Pharo 5.1 had 5885 classes. Pharo 6.1 had 6481 classes. Pharo 7.0 alpha has 
> 7612 classes.  Can you see a trend?
>
> Pharo 5.1 had 416 preference settings. Pharo 6.1 had 494 preference settings. 
> Pharo 7.0 alpha has 662 preference settings.  Can you see a trend?
>
> Pharo 5.1 had a 27.44 MB image. Pharo 6.1 had a 35.18 MB image. Pharo 7.0 
> alpha has a 47.97 MB image.  Can you see a trend?
>
> Add to that the fact that Pharo is a nightmare when you want to port code.  
> Just with the 7.0 release, 61 classes will be deprecated (and lots more to 
> come if you search for the string "deprecated" into the code, most of the 
> time hidden in the comments of the soon-to-be-deprecated-in-Pharo-8-I-guess 
> classes).
>
> You have code that deals with sockets, should you use the old Socket classes 
> or convert everything to Zodiac? And why do we keep both "frameworks" in the 
> image ?  Pharo hasn't been backward compatible with "old socket classes" a 
> looong time ago anyway!
>
> You have code that deals with dependencies, should you use the old dependents 
> mechanism or convert everything to announcements?
>
> UI speaking, what framework should anyone use ?  Athens?  Something else?
>
> You have code that deals with streams, should you use the old stream classes 
> or convert everything to Zinc ? And why do we keep both "frameworks" in the 
> image ?  Pharo hasn't been backward compatible with the old stream classes a 
> looong time ago anyway!
>
> So what's the plan?  For instance, should I keep using the Nautilus Browser 
> or I should switch to the Calypso browser and get used to it because Nautilus 
> will be deprecated?  Or should I just don't care because a third system 
> browser will be added in Pharo 8 just because "it's cool, let's add this one 
> too!" ?
>
> Couldn't we just decide on what's "official" and what's a goodie or an 
> external optional tool/package/framework the same way all other Smalltalks 
> do?  If you say Calypso is the official & supported browser, fine!  Then just 
> get Nautilus out of the image, create a nice loadable package for it and if 
> someone prefers Nautilus, they'll just have to load it into the image, the 
> same way VW has a gazillion optional tools/packages/frameworks you can load 
> from a parcel!
>
> Whenever I get asked a simple question by a newbie like "Oh, which system 
> browser should I use?", quite frankly, I don't know what to answer.  Did we 
> include Calypso to deprecate Nautilus later?  Is Calypso just a proof of 
> concept?  Is it just an optional tool?  What about all those delay schedulers?
>
> "I loaded this code from SqueakSource and it just doesn't work".  Should I 
> help the guy to fix it or just tell him to convert all the code to the 
> corresponding framework in Pharo?
>
> Perhaps a little bit of clarity and details 

Re: [Pharo-users] Frozen at start up

2018-04-12 Thread Stephane Ducasse
Not like that. Pablo proposed to help you and he is much better than me :)
I'm busy with administria.

On Thu, Apr 12, 2018 at 10:38 AM, Hilaire <hila...@drgeo.eu> wrote:
> Hi Stef,
>
> No clue why I have this warning message at start up?
>
> Hilaire
>
> Le 11/04/2018 à 21:48, Stephane Ducasse a écrit :
>>
>> Hi hilaire
>>
>> Favor Smalltalk globals at: #... over Smalltalk at: #
>>
>> Stef
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] migration to 6.1 was super easy.

2018-04-12 Thread Stephane Ducasse
Thanks this is a great testimony.
BTW I would love to have a success story around your project.
Can we take it off line?

On Thu, Apr 12, 2018 at 2:00 AM, PAUL DEBRUICKER  wrote:
> Thanks for all the hard work.
>
>
> It took me about 30 minutes to migrate one of my projects from 32bit Pharo 5 
> to 64bit 6.1 this afternoon.  It has about 40 external dependencies so I 
> thought it would take much longer to get everything sorted.



Re: [Pharo-users] installation of packages on 6.1

2018-04-11 Thread Stephane Ducasse
Hans

just a meta remark (I personally find the API of git quite terrible -
In addition I do not really like the github UI it feels like these
ugly google noUIDesigned "UI")
now you should consider that more and more people find git cool and
powerful. And as a matter of fact it is.
So you should consider that understanding and learning git is a way to
look less obsolete in the future. And it has nothing to do with Pharo.
Except that Pharo is becoming less foreign for mamy people thank to this.
I worked super well with git and iceberg on projects managing my dev
in a branch before it is ready to be incorporated.
So solid branches was what was really missing to monticello and before
you use it you may have problems to really assess them
but once you work with them you get the power they bring and the comfort.
Guille is working on a nice explanation of Git and central concept of
branch and you may want to read (at least I will read it because
Guille
understand it super super well).

Stef


On Wed, Apr 11, 2018 at 11:23 AM, Herbert Vojčík  wrote:
> No, it is possible to install them without github account.
>
> You need to set protocol to https:
>
>  Iceberg enableMetacelloIntegration: true; remoteTypeSelector: #httpsUrl.
>
> Herby
>
> Baveco, Hans wrote:
>>
>> Thanks Ben!
>>
>> I created a github account, installed git and git bash, created SSH keys,
>> added keys to my github account, and changed the settings in Pharo to use
>> these keys, and finally was able to install the packages I wanted to try.
>> (roassal2 still not installing though).
>>
>> Question remains, is this really the only way to get these packages that
>> live on github into the image? I had no plans to work with git/github, but
>> was now forced to spent quite some time on it
>>
>> Cheers,
>>
>> Hans
>>
>> *From:*Ben Coman 
>> *Sent:* maandag 9 april 2018 22:54
>> *To:* Any question about pharo is welcome 
>> *Subject:* Re: [Pharo-users] installation of packages on 6.1
>>
>> On 6 April 2018 at 00:02, Baveco, Hans 
> wur.nl
>>
>> > wrote:
>>
>> Trying to install Territorial the installation got stuck on the
>> installation of Roassal2 1.35, with error “LGitObjectNotInitialized”
>>
>> Transcript says:
>>
>> “Project: Roassal2 1.35
>>
>> I got an error while cloning: There was an authentication error
>> while trying to execute the operation: error authenticating:
>> failed connecting agent.
>>
>> This happens usually because you didn't provide a valid set of
>> credentials.
>>
>> You may fix this problem in different ways:
>>
>> 1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa
>> in your command line.
>>
>> 2. adding your keys in settings (open settings browser search for
>> "Use custom SSH keys" and
>>
>> add your public and private keys).
>>
>> 3. using HTTPS instead SSH (Just use an url in the form
>> HTTPS://etc.git). I will try to clone the HTTPS variant.”
>>
>> I have encountered this several t
>
> imes before, for different
>>
>> packages (on windows 7, pharo 6.1 (Image: Pharo6.0 [Latest update:
>> #60540])) and have no idea how to deal with this.
>>
>> Any suggestions?
>>
>> Hans
>>
>> On Windows you need to use option 2. World Menu > Settings > etc...
>>
>> cheers -ben
>>
>



Re: [Pharo-users] Frozen at start up

2018-04-11 Thread Stephane Ducasse
Hi hilaire

Favor Smalltalk globals at: #... over Smalltalk at: #

Stef

On Wed, Apr 11, 2018 at 3:56 PM, Hilaire  wrote:
> Removing the Splash screen avoid locking the image. About deferred action,
> how do you do it?
>
> However why do I have this start up message about Pharo not been properly
> claused?
>
> The installation of the app ends with a proper save and quit.
>
> DrGeoInstallerWorkstation>>install
> super install.
> DrGDefault beWorkstation.
> self cleanUpForRelease.
> Author fullName: 'MrCleaner'.
> Smalltalk saveAs: 'drgeo'.
> World submorphs
> select: [:m | m class == (Smalltalk at: #DrGeoWindow)]
> thenDo: [:drMorph | drMorph deleteWithoutConfirmation ].
>
> self cleanMySelf.
> Smalltalk fixObsoleteReferences.
> Smalltalk garbageCollect.
> Smalltalk garbageCollect.
> Smalltalk garbageCollect.
>
> PharoChangesCondenser condense.
> ExternalDropHandler registerHandler:
> (ExternalDropHandler
> type: nil
> extension: 'fgeo'
> action: [ :stream | DrGeo fullscreenOn: stream ]).
>
> Smalltalk snapshot: true andQuit: true.
>
>
> What is even strange, when I run the buid in the system building it, this
> message does not show up?
>
> Any idea?
>
> Thanks
>
> Hilaire
>
> Le 10/04/2018 à 21:36, teso...@gmail.com a écrit :
>>
>> In Pharo 7 the startup of the session runs in higher priority so it cannot
>> be interrupted.
>> This is done in that way to fix some problems during the initialization of
>> the session (Now, I could not remember what was fixed).
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] SmalltalkCI now supports loading tonel-based projects

2018-04-11 Thread Stephane Ducasse
Thanks this is good to know because I want to migrate all my projects
and future project to use tonel.

On Mon, Apr 9, 2018 at 2:05 AM, Bernardo Ezequiel Contreras
 wrote:
> i changed the pharo version from 6.0 to 6.1, and use tonel://
> and then it worked!
>
> https://travis-ci.org/vonbecmann/linked-list/builds/363909898
>
> thanks.
>
>
> On Sun, Apr 8, 2018 at 8:15 PM, Bernardo Ezequiel Contreras
>  wrote:
>>
>> do you use filetree:// or tonel:// ?
>>
>> thanks in advance.
>>
>>
>> On Sat, Apr 7, 2018 at 6:28 AM, Peter Uhnák  wrote:
>>>
>>> Hi,
>>>
>>> SmalltalkCI now supports loading tonel-based projects, so feel free to
>>> start using it.
>>>
>>> The configuration is still the same.
>>>
>>> Please note that coveralls support for tonel is not yet in place, but
>>> that's just a cherry on top. :-)
>>>
>>> Cheers,
>>> Peter
>>
>>
>>
>>
>> --
>> Bernardo E.C.
>>
>> Sent from a cheap desktop computer in South America.
>
>
>
>
> --
> Bernardo E.C.
>
> Sent from a cheap desktop computer in South America.



Re: [Pharo-users] IdentityDictionary reset

2018-04-11 Thread Stephane Ducasse
Hello

Can you let us know why you are using pharo 40? It is around at least
three years old and we made a lot of progress in the last 3 years.

Stef

On Mon, Apr 9, 2018 at 10:00 AM, Trussardi Dario Romano
 wrote:
> Ciao,
>
> in the Pharo 4.0 image i have a IdentityDictionary with ten items.
>
> Now when i reset the dictionary the system behaves as follows:
>
> Version A)  resetAllLocks
>
> locks keysAndValuesDo:[:k :v | locks 
> removeKey: k ifAbsent: [self halt]]
>
>
> Not all items are removed fro the dictionary.
>
>
> Version B) resetAllLocks
>
> locks keys do:[:k | locks removeKey: k 
> ifAbsent: [self halt]]
>
> All the items are always removed.
>
>
> Considerations about it?
>
> Thanks,
>
> Dario
>



Re: [Pharo-users] "News" section of the website down

2018-04-10 Thread Stephane Ducasse
Tx mathieu.
We will fix it.


On Mon, Apr 9, 2018 at 10:28 PM, Mathieu Dubois via Pharo-users
 wrote:
>
>
> -- Forwarded message --
> From: Mathieu Dubois 
> To: pharo-users@lists.pharo.org
> Cc:
> Bcc:
> Date: Mon, 9 Apr 2018 22:28:31 +0200
> Subject: Re: "News" section of the website down
> Just wanted to report that the "news" section still doesn't work (same error 
> than before).
>
> Le 27/03/2018 à 19:56, Mathieu Dubois a écrit :
>>
>> Hello,
>>
>> I don't know how to report that but for several weeks (maybe months), I 
>> can't reach the "News" section of the website (I have tried from several 
>> locations with different ISP). I usually get a timeout error (error 524 from 
>> Cloudflare) that comes from pharo.org.
>>
>> Mathieu
>>
>
>
>



[Pharo-users] Did magritte change? Magritte-Morph-SeasnDeNigris.95 is not found

2018-04-07 Thread Stephane Ducasse
Because now when I load pillar


Metacello new
  baseline: 'Pillar';
  repository: 'github://pillar-markup/pillar:newpipeline/src';
  load

I get an error because Magritte-MOrph-SeasnDeNigris.95 is not found


So I cannot build pillar anymore!
:(



Re: [Pharo-users] Black screen on Mac OSX

2018-04-07 Thread Stephane Ducasse
Hi Hilaire

The app goes to the dock but nothing happens. What is strange is that
it is assigned to none display.
I tried to open the drgeo.image with my working Pharo6.1VM and it did not work.
I tried to open the drgeo.image with my working Pharo70VM and it did not work.
=> did not open.

I could open one of my Phaor 70 images with the VM you ship.

I have no log files or others. So I do not know what to do.

Stef

On Thu, Apr 5, 2018 at 10:34 AM, Hilaire <hila...@drgeo.eu> wrote:
> Le 04/04/2018 à 12:13, Stephane Ducasse a écrit :
>>
>> Let me know for P7 because this is easier to check and help.
>
> Ah, so please test this one on your Mac. It is a P7 image based built:
> https://www.dropbox.com/s/f51fh7wa9x52grv/DrGeo.app-18.06a.zip?dl=0
>
>
> Thanks
>
> Hilaire
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] installation of packages on 6.1

2018-04-07 Thread Stephane Ducasse
Hi hans

did you succeed to download any other github stored projects?

Stef

On Thu, Apr 5, 2018 at 6:02 PM, Baveco, Hans  wrote:
> Trying to install Territorial the installation got stuck on the installation
> of Roassal2 1.35, with error “LGitObjectNotInitialized”
>
>
>
> Transcript says:
>
>
>
> “Project: Roassal2 1.35
>
> I got an error while cloning: There was an authentication error while trying
> to execute the operation: error authenticating: failed connecting agent.
>
> This happens usually because you didn't provide a valid set of credentials.
>
> You may fix this problem in different ways:
>
>
>
> 1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your
> command line.
>
> 2. adding your keys in settings (open settings browser search for "Use
> custom SSH keys" and
>
> add your public and private keys).
>
> 3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I
> will try to clone the HTTPS variant.”
>
>
>
> I have encountered this several times before, for different packages (on
> windows 7, pharo 6.1 (Image: Pharo6.0 [Latest update: #60540])) and have no
> idea how to deal with this.
>
>
>
> Any suggestions?
>
>
>
> Hans



Re: [Pharo-users] Slower

2018-04-07 Thread Stephane Ducasse
Thanks for your analysis.
Should we open a enhancement issue for UFFI?

Stf

On Thu, Apr 5, 2018 at 4:09 PM, Henrik Sperre Johansen
 wrote:
> HilaireFernandes wrote
>> After some more investigation, I think it is not the greated bottleneck.
>>
>> When I render points not as discs but as Square, Athens is happy. I
>> guess the Cairo way of doing this is very slow because its seems Cairo
>> does not come with dedicated disc rendering code, it must be render with
>> portion of arc, as far as I remember.
>>
>> If I prevent to render empty text label attached with each point, Athens
>> is even happier. Text font rendering through Athens seems to be slow.
>>
>> Hilaire
>>
>>
>> Le 04/04/2018 à 23:05, Hilaire a écrit :
>>> It reduces by 50% the time to execution. Need to check if this trick
>>> #1 and #2 are still needed at P7 time.
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>
> My notes after looking at the profile for a short while, if anyone feels the
> urge to optimize;
> UFFI:
>
>> 8.8% {11475ms}
>> CairoFreetypeFontRenderer>>convertString:len:ofFont:toGlyphs:numGlyphs:x:y:
>>   | 4.7% {6098ms} ExternalAddress>>packToArity:
>>   | 4.5% {5789ms} ExternalAddress>>pointerAutoRelease
>>   | 2.6% {3439ms} ExternalAddress>>unpackFromArity:
>
> The lifespan of arguments that need arity packing/unpacking is well known,
> rewriting to use explicit free should lessen the overhead somewhat.
>
> CAIRO:
>
>> 26.6% {34593ms} CairoFreetypeFontRenderer>>glyphsOf:from:to:
>>| 12.2% {15842ms} CairoGlyphsArray class>>new:
>
> With this kind of overhead just to create the array to hold results, it
> might be worthwhile to use a buffer array (of sufficient size) for the
> primitive, and copyFrom:to: to return the actual glyphs...
>
> DRGEO:
>
>> 20.9% {27116ms} DrGPointMorph>>drawOnAthensCanvas:
>>|16.7% {21720ms} AthensCairoCanvas(AthensCanvas)>>createPath:
>
> Storing the path in DrGPointMorph, rather than recreating for each draw:,
> should save alot of time.
>
>
>> 7.7% {9962ms} DrGTextMorph>>drawOnAthensCanvas:
>>   | 7.7% {9962ms} Form>>asAthensPaintOn:
>
> Same thing here, only storing the paint, rather than converting from form
> each draw.
>
> Cheers,
> Henry
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] line drawing bug

2018-04-07 Thread Stephane Ducasse
Check the examples around Athens.

On Fri, Apr 6, 2018 at 4:48 PM,   wrote:
>
> That worked, thank you so much! This helps me get running in the interim
> while i investigate how to use Athens.
>
>
> { jb }
>
> On Apr 6, 2018, 9:31 AM -0400, Nicolai Hess , wrote:
>
> Hi Joe,
>
> the problem is that the BalloonCanvas (or some objects it is using) aren't
> fully reset after some drawing operations.
> (the drawString method for example sets the sourceForm as glyph to be
> drawn).
>
> it should work if you do not store the canvas instance, but create a new in
> every loop:
>
> points do: [ :p |
>
>canvas := form getCanvas asBalloonCanvas aaLevel:4; yourself.
>
>canvas drawPolygon: p
>   color: Color transparent
>   borderWidth: 1
>   borderColor: Color red.
>
>canvas drawString: p first asString
>   at: p first
>   font: nil
>   color: Color green.
> ].
>
>
>
>
> Or just reset the engine state (but I don't like this solution, the engine
> state should be private to the canvas).
>
> points do: [ :p |
>
>canvas drawPolygon: p
>   color: Color transparent
>   borderWidth: 1
>   borderColor: Color red.
>
>canvas drawString: p first asString
>   at: p first
>   font: nil
>   color: Color green.
>canvas resetEngine.
> ].
>
>
>
>
>
> 2018-04-06 2:57 GMT+02:00 :
>>
>> Hello everyone!
>>
>> Im trying use the balloon canvas to draw some nice smooth anti aliased
>> lines, but now i seem to have hit upon a bug which i dont know how to fix.
>>
>> if i draw just lines i get everything i want.  but if i add a
>> “drawString:…” in there at any point, all the lines i try to draw
>> subsequently dont show up.
>>
>> Here is code that shows the exact issue:
>>
>> form := Form extent: 100@100 depth: 32.
>> form fillWhite.
>> canvas := BalloonCanvas on: form.
>> canvas aaLevel: 4.
>> "canvas := FormCanvas on: form."
>> points := { {10@10 . 50@43} . {50@42 . 90@75} . {90@75 . 50@90 } }.
>>
>> points do: [ :p |
>>canvas drawPolygon: p
>>   color: Color transparent
>>   borderWidth: 1
>>   borderColor: Color red.
>>
>>canvas drawString: p first asString
>>   at: p first
>>   font: nil
>>   color: Color green.
>> ].
>>
>> morph := ImageMorph new.
>> morph image: form.
>> morph openCenteredInWorld.
>>
>>
>>
>> if i comment out the canvas drawstring i get what you would expect: a
>> squiggly line.
>>
>> if i add in the drawstring, the first line shows up but all the subsequent
>> lines do not get drawn.  (both images attached)
>>
>> I spent a bunch of time tracking it down to its most purest form and then
>> a bunch of time debugging it and im out of my depth with the baloon code, i
>> cant seem to figure out whats wrong.  if anyone knows whats wrong or can
>> give me a clue on how to fix it i’d greatly appreciate it.
>>
>> thanks in advance.
>>
>>
>> { jb }
>
>



Re: [Pharo-users] Slower

2018-04-05 Thread Stephane Ducasse
if I remember correctly that Cairo does not support arc and that igor
was doing point interpolation to support it.

stef

On Thu, Apr 5, 2018 at 11:33 AM, Hilaire  wrote:
> After some more investigation, I think it is not the greated bottleneck.
>
> When I render points not as discs but as Square, Athens is happy. I guess
> the Cairo way of doing this is very slow because its seems Cairo does not
> come with dedicated disc rendering code, it must be render with portion of
> arc, as far as I remember.
>
> If I prevent to render empty text label attached with each point, Athens is
> even happier. Text font rendering through Athens seems to be slow.
>
> Hilaire
>
>
> Le 04/04/2018 à 23:05, Hilaire a écrit :
>>
>> It reduces by 50% the time to execution. Need to check if this trick #1
>> and #2 are still needed at P7 time.
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



[Pharo-users] CFP - IWST 2018 - International Workshop on Smalltalk Technologies

2018-04-05 Thread Stephane Ducasse
CFP - IWST 2018 - International Workshop on Smalltalk Technologies

[Please accept our apologies if you receive multiple copies of this call]
[Please send to interested colleagues / mailing-lists]

CALL FOR PAPERS

IWST 2018 — International Workshop on Smalltalk Technologies
http://esug.org/wiki/pier/Conferences/2018/International-Workshop-IWST_18

Cagliari, Italy; Between September 10th and 14th, 2018


---
Goals and scopes
---
The goals of the workshop is to create a forum around advances or
experience in Smalltalk and to trigger discussions and exchanges of
ideas. The topics of your paper can be on all aspect of Smalltalk,
theoretical as well as practical. Participants are invited to submit
research articles or industrial papers. This year we want to open two
different tracks: one research track and one industrial track with
less scientific constraints.

We expect papers of three kinds:

Short position papers describing emerging ideas
Long research papers with deeper description of experiments and of
research results.
Industrial papers with presentation of real and innovative Smalltalk
applications; this kind of paper should enlighten why Smalltalk is
really appropriate for your application.
We will not enforce any length restriction.


Important Dates

Submission deadline: June 15th, 2018
Notification deadline: July 20th, 2018
Workshop : between September 10th and 14th, 2018
All accepted papers will be published in ACM DL (To be confirmed)

---
Topics
---
We welcome contributions on all aspects, theoretical as well as
practical, of Smalltalk related topics such as:

-Aspect-oriented programming,
-Design patterns,
-Experience reports,
-Frameworks,
-Implementation, new dialects or languages implemented in Smalltalk,
-Interaction with other languages,
-Meta-programming and Meta-modeling,
-Tools

---
Best Paper Award
---
To encourage the submission of high-quality papers, the IWST
organizing committee is very proud to announce a Best Paper Award for
this edition of IWST.

We thank the Lam Research Corporation for its financial contribution
which makes it possible for prizes for the three best papers: 1000 USD
for first place, 600 USD for second place and 400 USD for third place.

The ranking will be decided by the program committee during the review
process. The awards will be given during the ESUG conference social
event.

The Best Paper Award will take place only with a minimum of six
submissions. Notice also that to be illegible, a paper must be
presented at the workshop by one of the author and that the presenting
author must be registered at the ESUG conference.

---
Publication
---
Both submissions and final papers must be prepared using the ACM
SIGPLAN 10 point format. Templates for Word and LaTeX are available at
http://www.acm.org/sigs/sigplan/authorInformation.htm. This site also
contains links to useful informations on how to write effective
submissions.

---
Submission
---
All submissions must be sent via easychair:
https://easychair.org/conferences/?conf=iwst18

---
Program chairs
---
Anne Etien (Université de Lille, France)
Loic Lagadec (Ensta Bretagne, France)
--
Plus d'infos sur le GDR GPL : http://gdr-gpl.cnrs.fr


Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France



Re: [Pharo-users] Slower

2018-04-04 Thread Stephane Ducasse
Hilaire

do you want to see an animation?

Stef

On Wed, Apr 4, 2018 at 3:49 PM, Hilaire  wrote:
> Hi,
>
> I discover this Dr. Geo Smalltalk sketch to animate is about 60% slowler on
> P7 compare to P3:
>
> | fig point comment x y random inArc tries|
> "Monte-Carlo PI approximation"
> fig := DrGeoCanvas new fullscreen scale: 400.
> fig arcCenter: 0@0 from:  1@0 to: 0@1.
> fig polygon: { 0@0. 0@1. 1@1. 1@0 }.
> comment := fig texte: '' a: 0@ -0.1.
> random := Random seed: Time millisecondClockValue.
> tries := 500.
> inArc := 0.
> [1 a: tries faire: [: try |
> x := random next.
> y := random next.
> point := (fig point: x@y) small.
> (x squared + y squared) > 1
> ifTrue: [point color: Color blue  ]
> ifFalse: [inArc := inArc + 1 ].
> comment text: 'Tries: ', try asString, '
> approx: ', (inArc * 4 / try) asFloat asString.
> World doOneCycle.
> ] ] timeProfile
>
> The log are enclosed to compare. The mains differences seems to be during
> the world update. Years ago when porting to P3 I also see an important time
> performance degradation[1] and it remained unresolved.
>
>
> [1] http://forum.world.st/Slowness-question-tt4761717.html
>
>
>
>
> --
> Dr. Geo
> http://drgeo.eu
>



Re: [Pharo-users] Slower

2018-04-04 Thread Stephane Ducasse
Clement

if it would be nice to have the fastCorner and friends added to rectangle.

On Wed, Apr 4, 2018 at 5:33 PM, Clément Bera  wrote:
> Hi Hilaire,
>
> Do you have to use the world or Morphic at all ?
>
> I wrote 2 different real-time 2D games at 50fps in Pharo [1,2]. I tried
> using Morphic but that was crazy slow I could not even get 20fps. Instead I
> use direct bindings to Cairo surface and SDL2 window and I don't open the
> world morph at all to avoid the delays due to its cycles which are also
> crazy (I open Pharo in headless, then the Pharo code opens a SDL2 window and
> draws on it using Cairo). Then I was just careful on the number of
> allocations, especially closures, in between frame rendering and also on
> algorithms (I had 60% of time spent creating rectangle in corner: since it
> performs a lot of min max computation, rewriting that to fastCorner method
> without min max greatly improved the performance in my case). I still have
> frame drops from time to time but that's hardly noticeable.
>
> If you're scared of using Cairo / SDL2 because you deploy on specific
> platforms like mobiles, you can still use BitBlt. The point being not to run
> WorldMorph cycles at all but instead manage yourself what is drawn. If
> possible don't use Morph at all too, it has many features that likely you
> don't use, slowing down your system and wasting battery on mobiles for
> nothing.
>
> [1] https://github.com/clementbera/wizard-battle-arena
> [2] https://github.com/clementbera/SpiderInvasion
>
>
> On Wed, Apr 4, 2018, 15:49 Hilaire  wrote:
>>
>> Hi,
>>
>> I discover this Dr. Geo Smalltalk sketch to animate is about 60% slowler
>> on P7 compare to P3:
>>
>> | fig point comment x y random inArc tries|
>> "Monte-Carlo PI approximation"
>> fig := DrGeoCanvas new fullscreen scale: 400.
>> fig arcCenter: 0@0 from:  1@0 to: 0@1.
>> fig polygon: { 0@0. 0@1. 1@1. 1@0 }.
>> comment := fig texte: '' a: 0@ -0.1.
>> random := Random seed: Time millisecondClockValue.
>> tries := 500.
>> inArc := 0.
>> [1 a: tries faire: [: try |
>>  x := random next.
>>  y := random next.
>>  point := (fig point: x@y) small.
>>  (x squared + y squared) > 1
>>  ifTrue: [point color: Color blue  ]
>>  ifFalse: [inArc := inArc + 1 ].
>> comment text: 'Tries: ', try asString, '
>> approx: ', (inArc * 4 / try) asFloat asString.
>> World doOneCycle.
>> ] ] timeProfile
>>
>> The log are enclosed to compare. The mains differences seems to be
>> during the world update. Years ago when porting to P3 I also see an
>> important time performance degradation[1] and it remained unresolved.
>>
>>
>> [1] http://forum.world.st/Slowness-question-tt4761717.html
>>
>>
>>
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>



Re: [Pharo-users] Black screen on Mac OSX

2018-04-04 Thread Stephane Ducasse
I have the impression that there is something with source and cr.
I'm busy with a project proposal.
Let me know for P7 because this is easier to check and help.

On Tue, Apr 3, 2018 at 11:31 PM, Hilaire <hila...@drgeo.eu> wrote:
> No I am not defining such extra method. I more or less packaged blindly a
> modified universal VMs for P4. I was able to test it on linux and windows
> (throught wine), but not on Mac osx.
>
> I am doing right now the same for P7 based image, but not there yet.
>
>
> Le 03/04/2018 à 22:39, Stephane Ducasse a écrit :
>>
>> Hilaire
>>
>> I looked at the other bug.
>> And I would like to know if you are defining extra
>> methods on SQSurfaceDispatch class.
>> I do not get why I got an error (may be this is related to the source
>> management.
>>
>> Stef
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



[Pharo-users] About async web stuff

2018-04-04 Thread Stephane Ducasse
I’m not good enough to understand it simply :)
But you are :)

http://www.tornadoweb.org/en/stable/guide/intro.html



Re: [Pharo-users] Black screen on Mac OSX

2018-04-03 Thread Stephane Ducasse
Hilaire

I looked at the other bug.
And I would like to know if you are defining extra
methods on SQSurfaceDispatch class.
I do not get why I got an error (may be this is related to the source
management.

Stef

On Tue, Apr 3, 2018 at 9:56 PM, Stephane Ducasse
<stepharo.s...@gmail.com> wrote:
> Hi hilaire
>
> I got startup errors
> I debugged a bit and you are calling to create a directory
>
> createDirectory: path
>
> Path / 'var' / 'folders' / 'gs' /
> '_5w5v50j3m7gl4lcqf9npxhrgq' / 'T' / 'AppTranslocation' /
> '863D37C1-90CD-4901-90DA-F4EC3F4B3080' / 'd' / 'locale'
>
> the encode pathString is
> '/var/folders/gs/_5w5v50j3m7gl4lcqf9npxhrgq/T/AppTranslocation/863D37C1-90CD-4901-90DA-F4EC3F4B3080/d/locale'
>
>
> And this leads to a primitive failure
>
> createDirectory: path
> "Create a directory for the argument path.
> If the path refers to an existing file, raise FileExists.
> If the path refers to an existing directory, raise DirectoryExists.
> If the parent directory of the path does not exist, raise 
> DirectoryDoesNotExist"
>
> | parent encodedPathString pathString result |
> pathString := self stringFromPath: path.
> encodedPathString := Primitives encode: pathString.
> result := Primitives createDirectory: encodedPathString.
> result
>ifNil: [
> parent := path parent.
>(self exists: path)
> ifTrue: [
>  (self isFile: path)
>ifTrue: [ self signalFileExists: path ]
>ifFalse: [ self signalDirectoryExists: path ] ].
>   (self isDirectory: parent)
>  ifFalse: [ ^ self signalDirectoryDoesNotExist: parent ].
> self primitiveFailed ].
> ^^
> It fails here
>
> ^ self
>
>
> On my machine I get
>
> var/folders/gs/_5w5v50j3m7gl4lcqf9npxhrgq/T/AppTranslocation
>
> and not the folder d
>
>
> This comes from reset of the GetTextTranslator
>
> privateStartUp
> self reset.
> GetTextTranslator reset.
> self localeChanged.
>
>
> Tell me how I can help.
>
>
> On Tue, Mar 27, 2018 at 7:15 PM, Hilaire <hila...@drgeo.eu> wrote:
>> Thanks for the tip
>>
>>
>> Le 27/03/2018 à 08:59, Christophe Demarey a écrit :
>>>
>>> If the VM is too old, it does not work well on recent distributions.
>>> You could try to use the stable VM of Pharo 4 instead and it should work.
>>
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>



Re: [Pharo-users] Quick way to switch from playground to system browser

2018-04-02 Thread Stephane Ducasse
Yes define a test and you can press the green button.
Else you can also define a class side method and it you tage it with

XX class>> foo

  ^ self new.


you will get an inspector in the returned object

On Mon, Apr 2, 2018 at 7:48 PM, Andrei Stebakov  wrote:
> I wonder if there is a best practice for modifying code in you class in
> system browser and testing the behavior in the playground.
> The way I do it, I have to type the code, use the mouse to find and switch
> to the playground and then execute some code in it.
> Is there a more ergonomic way to modify/test the new code?



Re: [Pharo-users] How to #currentVersion from a Configuration

2018-04-02 Thread Stephane Ducasse
In my pharo 6.1 image I have

currentVersion
| cacheKey cv |
cacheKey := self configuration class.
^ MetacelloPlatform current
stackCacheFor: #currentVersion
at: cacheKey
doing: [ :cache |
cv := self currentVersionAgainst: nil.
^ cache at: cacheKey put: cv ]

And we do not change the code that Dale release and he is making sure
that old code is working so this is strange.

Stef



On Mon, Apr 2, 2018 at 3:03 PM, Hilaire  wrote:
> Hello,
>
> I use to do perform this code to get the installed version from a
> ConfigurationOfDrGeo:
>
> drgeoVersion
> ^ 'Installed version: ', ConfigurationOfDrGeo new project currentVersion
> versionNumber versionString
>
> It does not work anymore, and produce the following error stack
>
> Any idea?
>
> Hilaire
>
>
> MetacelloMCVersionSpec(Object)>>error:
> [ ^ self error: 'Name not found: ' , aString ] in
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>resolveToLoadableSpec:forLoad:forMap:packages:
> in Block: [ ^ self error: 'Name not found: ' , aString ]
> [ (self importArray notNil or: [ self import notNil ])
> ifTrue:
> [ "expect the 'missing' name to be satisfied within context of
> imported project"
> importArray
> ifNotNil: [ importArray
> do: [ :assoc |
> ((assoc value includes: aString) and: [ map
> includesKey: assoc key ])
> ifTrue: [ importSpec := (map at: assoc key)
> mergeImportLoads: {aString};
> yourself ] ].
> importSpec ifNotNil: [ ^ importSpec ] ].
> (importSpec isNil and: [ self import notNil ])
> ifTrue: [ ^ (map at: self import ifAbsent: absentBlock)
> mergeImportLoads: {aString};
> yourself ] ].
> (aString = 'default' or: [ aString = 'ALL' ])
> ifTrue: [ self project groupSpec
> name: aString;
> includes: self packageNames;
> yourself ]
> ifFalse: [ absentBlock value ] ] in
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>packageNamed:forLoad:forMap:ifAbsent:
> in Block: [ (self importArray notNil or: [ self import notNi...etc...
> Dictionary>>at:ifAbsent:
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>packageNamed:forLoad:forMap:ifAbsent:
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>resolveToLoadableSpec:forLoad:forMap:packages:
> [ :req |
> (self
> resolveToLoadableSpec: req
> forLoad: forLoad
> forMap: map
> packages: packageMap)
> do: [ :loadableSpec |
> newReqd addAll: loadableSpec requires.
> newReqd addAll: loadableSpec includes ] ] in
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>resolveToLoadableSpecs:forLoad:map:
> in Block: [ :req | ...
> Set>>do:
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>resolveToLoadableSpecs:forLoad:map:
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>resolveToLoadableSpecs:
> [ :cache |
> names := (self resolveToLoadableSpecs: nameList)
> collect: [ :spec | spec name ].
> cache at: cacheKey put: names ] in
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>expandToLoadableSpecNames: in
> Block: [ :cache | ...
> [ :dict |
> | cache |
> cache := dict at: cacheName ifAbsent: [  ].
> cache ~~ nil
> ifTrue: [ | value hasEntry |
> hasEntry := true.
> value := cache at: key ifAbsent: [ hasEntry := false ].
> hasEntry
> ifTrue: [ ^ value ] ]
> ifFalse: [ cache := cacheClass new.
> dict at: cacheName put: cache ].
> ^ aBlock value: cache ] in
> IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing:
> in Block: [ :dict | ...
> [ ^ aBlock value: dict ] in
> IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
> in Block: [ ^ aBlock value: dict ]
> BlockClosure>>on:do:
> IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
> IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing:
> IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:at:doing:
> MetacelloMCVersionSpec(MetacelloVersionSpec)>>expandToLoadableSpecNames:
> MetacelloMCVersionSpec>>isPartiallyCurrent
> [ :version |
> | status matchBlock |
> status := resolvedPackageAndProjectNames isNil
> ifTrue: [ version spec isPartiallyCurrent ]
> ifFalse: [ version spec
> isPartiallyCurrentAgainst: resolvedPackageAndProjectNames ].
> matchBlock := [ :matchStatus |
> cv := version copy.
> cv versionStatus: matchStatus.
> ^ cache at: cacheKey put: cv ].
> status isAllLoadedToSpec: matchBlock.
> status isLoadedToSpec: matchBlock.
> status isLoadedMatchConstraints: matchBlock.
> status
> isSomethingLoaded: [ :matchStatus |
> latestSomethingLoaded isNil
> ifTrue: [ cv := version copy.
> cv versionStatus: matchStatus.
> latestSomethingLoaded := cv ] ] ] in [ :cache |
> | cv versions 

Re: [Pharo-users] unsolicited package-cache use

2018-04-02 Thread Stephane Ducasse
Hilaire

A BaselineOf is the equivalent in better to a  ConifgurationOf
The key benefit is that you just specify a kind of ConfigurationOf
baseline and you are done
No need to express manually versions.

With a baseline you can get branches, a specific hash
So you have all the power but with less burden.

Side: I do not like the git API but I coding with git and the branches
are really really nice.
You can have multiple versions
 - release
 - dev
  - dev + a features and simply manage it

So git is really a plus
With Iceberg 20, you will also be able to manage external ressources
(icons, text...)
and this is cool

Stef






-- Forwarded message --
From: Hilaire 
Date: Mon, Apr 2, 2018 at 3:46 PM
Subject: Re: [Pharo-users] unsolicited package-cache use
To: pharo-users@lists.pharo.org


Hi Dale,

Sorry to reply very lately to your help email, I am getting slow on
Pharo those those days.

I am afraid to be a bit out of sync: what is a BaselineOf? I only have
a ConfigurationOfDrGeo and baseline methods into.

Hilaire


Le 18/01/2018 à 16:10, Dale Henrichs a écrit :
>
>
> Hilaire,
>
> Have you included a method in your BaselineOf that looks like this:
>
> projectClass
>
> ^ MetacelloCypressBaselineProject
>
> if not, then what looks like a package-cache problem could be that you 
> haven't told Metacello that you are using a metadataless filetree/tonel 
> repository.
>
> Metacello has an internal rule to not load Monticello packages of the same 
> version, since they are already loaded. However, when using metadataless 
> repositories the filetree/tonel Monticello package readers typically generate 
> a package name using the author/version `-cypress.1`, which make Metacello 
> think that the versions are the same and the package is not loaded ... by 
> including the above method in your baselineof, Metacello will know to ignore 
> the Monticello author/version of the package and always load it
>
> Of course, because Monticello only installs changed definitions when loading 
> a package, "loading the same package over and over again" costs a little bit 
> in loading the _definitions_ into the image from disk, but doesn't end up 
> compiling any new methods or creating new classes ...
>
> Dale
>
> On 1/18/18 6:49 AM, Hilaire wrote:
>>
>> It was a month ago; I don't remember the details but from what I can recover 
>> from my memory the scenario was:
>>
>> - From my dev. environment I saved code through Tonel, in the DrGeo used CVS.
>>
>> - When building, I specifically ask the code saved thought Tonel to be 
>> installed but the package-cache code version was used instead. It could be 
>> out of sync.
>>
>>
>> Le 18/01/2018 à 15:22, Dale Henrichs a écrit :
>>>
>>> Hilaire,
>>>
>>> Metacello just uses Monticello for loading and it is Monticello that is 
>>> using the package-cache ... if there were a way to turn of the 
>>> package-cache for Monticello I don't think that Metacello would know the 
>>> difference.
>>>
>>> But, I am curious why you care whether or not package is used?
>>>
>>> Is there a specific problem that you are having?
>>>
>>> Dale
>>
>>

--
Dr. Geo
http://drgeo.eu



Re: [Pharo-users] Keeping packages up to date

2018-04-01 Thread Stephane Ducasse
Andrei

if you need help we can help you.

Stef

On Sun, Apr 1, 2018 at 7:59 PM, Stephane Ducasse
<stepharo.s...@gmail.com> wrote:
> use metacello and iceberg or gitfiletree
>
> Stef
>
> On Sun, Apr 1, 2018 at 4:32 PM, Andrei Stebakov <lisper...@gmail.com> wrote:
>> Exactly! I guess because there are so many ways to navigate around updating
>> the package, I was lost :) Thank you guys for giving me some pointers, I'll
>> try to learn them. I wonder, which one is the most promising and mainstream?
>>
>> On Sun, Apr 1, 2018, 08:58 <aglyn...@gmail.com> wrote:
>>>
>>> You can open the repository in the Monticello browser if it’s a
>>> Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the
>>> same manner you would with any other git project.  You can also open the
>>> project in Versionner to get the latest version.
>>>
>>>
>>>
>>> As far as scripting it, that’s reasonably obvious if you look at the
>>> Monticello or Versionner code itself.
>>>
>>>
>>>
>>> From: Pharo-users <pharo-users-boun...@lists.pharo.org> On Behalf Of
>>> Andrei Stebakov
>>> Sent: Saturday, March 31, 2018 7:14 PM
>>> To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
>>> Subject: [Pharo-users] Keeping packages up to date
>>>
>>>
>>>
>>> I wonder if there is a generic solution to keeping certain Pharo project
>>> in sync with development tree.
>>>
>>> For example when I want to get latest Roassal I execute
>>>
>>> Gofer it
>>>
>>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>>
>>> package: 'Roassal2';
>>>
>>> package: 'Roassal2GT';
>>>
>>> package: 'Trachel';
>>>
>>> load.
>>>
>>>
>>>
>>> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
>>> the project told me what script to execute to get the latest version.
>>>
>>> If I went to Project Catalog I can only get the stable version and if I go
>>> and find Roassal2 it won't give me information how to get its latest
>>> version.
>>>
>>>
>>>
>>> How would I get info about how to update, say Roassal given the script
>>> above from some Roassal project public page?
>>>
>>> Talking about Roassal, if I go to
>>> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
>>> following script:
>>>
>>> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>> configurationOf: 'Roassal2'; loadDevelopment
>>>
>>>
>>>
>>> Which is probably not exactly equal to the script above (or is it?).
>>>
>>>
>>>
>>> So, is there a generic way to get a latest version of some XYZ package?
>>>
>>> What do I need to learn to be able to get that information about any Pharo
>>> project (other than asking the community)? Something similar to "git pull"
>>> when you know the repository.



Re: [Pharo-users] Keeping packages up to date

2018-04-01 Thread Stephane Ducasse
use metacello and iceberg or gitfiletree

Stef

On Sun, Apr 1, 2018 at 4:32 PM, Andrei Stebakov  wrote:
> Exactly! I guess because there are so many ways to navigate around updating
> the package, I was lost :) Thank you guys for giving me some pointers, I'll
> try to learn them. I wonder, which one is the most promising and mainstream?
>
> On Sun, Apr 1, 2018, 08:58  wrote:
>>
>> You can open the repository in the Monticello browser if it’s a
>> Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the
>> same manner you would with any other git project.  You can also open the
>> project in Versionner to get the latest version.
>>
>>
>>
>> As far as scripting it, that’s reasonably obvious if you look at the
>> Monticello or Versionner code itself.
>>
>>
>>
>> From: Pharo-users  On Behalf Of
>> Andrei Stebakov
>> Sent: Saturday, March 31, 2018 7:14 PM
>> To: Any question about pharo is welcome 
>> Subject: [Pharo-users] Keeping packages up to date
>>
>>
>>
>> I wonder if there is a generic solution to keeping certain Pharo project
>> in sync with development tree.
>>
>> For example when I want to get latest Roassal I execute
>>
>> Gofer it
>>
>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>
>> package: 'Roassal2';
>>
>> package: 'Roassal2GT';
>>
>> package: 'Trachel';
>>
>> load.
>>
>>
>>
>> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
>> the project told me what script to execute to get the latest version.
>>
>> If I went to Project Catalog I can only get the stable version and if I go
>> and find Roassal2 it won't give me information how to get its latest
>> version.
>>
>>
>>
>> How would I get info about how to update, say Roassal given the script
>> above from some Roassal project public page?
>>
>> Talking about Roassal, if I go to
>> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
>> following script:
>>
>> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>> configurationOf: 'Roassal2'; loadDevelopment
>>
>>
>>
>> Which is probably not exactly equal to the script above (or is it?).
>>
>>
>>
>> So, is there a generic way to get a latest version of some XYZ package?
>>
>> What do I need to learn to be able to get that information about any Pharo
>> project (other than asking the community)? Something similar to "git pull"
>> when you know the repository.



Re: [Pharo-users] Namespaces and ASN1 types in Cryptography package

2018-04-01 Thread Stephane Ducasse
Hi  holger

we are planning to work again on Module once we release Pillar 70 and
Iceberg v2.0.
We did not want to let Pillar die so we had to do something to put it
in the rails
for the future.
I hope that by mid may we will get some traction and time to work
again on the class infrastructure.

Stef

On Sat, Mar 31, 2018 at 6:09 PM, Esteban A. Maringolo
 wrote:
> Hi Holger,
>
> Cryptography package lacks a proper modularization, so you could load
> only the groups you need, e.g. ASN1 will only be needed if you load
> X509 (AFAIR).
>
> If Nortbert's ASN1 package is more complete than Cryptography's, then
> we whould either merge it or discard what's there and load Norbert's
> ASN1 package as a dependency instead.
>
> Regards,
>
>
> Esteban A. Maringolo
>
>
> 2018-03-31 12:11 GMT-03:00 Holger Freyther :
>> Hi,
>>
>> I was debugging some test failures and it turns out that my code defines an 
>> ASN1IntegerType and the Cryptography package (a dependency of MongoTalk 
>> which is loaded into my code) has such a class as well.
>>
>> Thanks to Epicea I could see which package added the method but now I have 
>> no idea how to resolve the problem. Mongotalk needs PBKDF2 for modern 
>> authentication... Could Cryptography use "ASN1-Model"[1] instead? This is a 
>> rather complete[2] ASN1 implementation and used in production for some 
>> years. Could the classes be prefixed?
>>
>> If not how can I instruct Metacello to not load a certain package?
>>
>> holger
>>
>>
>> [1] http://smalltalkhub.com/#!/~NorbertHartl/ASN1/source
>> [2] Rather complete parser for ASN1 files but only encoding/decoding for 
>> DER/BER (none of the modern ones like aper/uper
>



Re: [Pharo-users] Keeping packages up to date

2018-04-01 Thread Stephane Ducasse
Alexandre should publish a version in the catalog browser. Projects
should push their configuration once there are stable and updated.

On Sun, Apr 1, 2018 at 1:14 AM, Andrei Stebakov  wrote:
> I wonder if there is a generic solution to keeping certain Pharo project in
> sync with development tree.
> For example when I want to get latest Roassal I execute
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> package: 'Roassal2';
> package: 'Roassal2GT';
> package: 'Trachel';
> load.
>
> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the
> project told me what script to execute to get the latest version.
> If I went to Project Catalog I can only get the stable version and if I go
> and find Roassal2 it won't give me information how to get its latest
> version.
>
> How would I get info about how to update, say Roassal given the script above
> from some Roassal project public page?
> Talking about Roassal, if I go to
> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
> following script:
> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2'; loadDevelopment
>
> Which is probably not exactly equal to the script above (or is it?).
>
> So, is there a generic way to get a latest version of some XYZ package?
> What do I need to learn to be able to get that information about any Pharo
> project (other than asking the community)? Something similar to "git pull"
> when you know the repository.



  1   2   3   4   5   6   7   8   9   10   >