Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 5 participants
- 50350 messages
Re: [Pharo-users] [Pharo-dev] [gsoc-mentors] The truth on GSOC, ESUG and bad attitude
by Janko Mivšek
Phil,
This matter is actually very important for Smalltalk community, because
it exposes nontransparent, meddling behind the scenes, and in some cases
blatantly unethical behavior of some ESUG board members. Which is
certainly bad for our community on long term.
Such matters need to be clarified and some conclusions to be made for a
community to preserve health and go on. Otherwise you are drowning into
murky waters more and more.
Best regards
Janko
Dne 10. 02. 2014 09:12, piše phil(a)highoctane.be:
> Guys,
>
> From the outside it just looks like a couple of spoiled kids battling in
> the kindergarten.
>
> All of this is not moving Smalltalk and Pharo any single bit forward.
> Backwards, there is a fair chance.
>
> Now, could you take this discussion elsewhere? Pick up a phone and talk.
>
> Who cares if anyone is right? Oh yeah, EUR 4K, what a huge amount to
> fight over for an European org... (rolleyes).
>
> Phil
>
>
>
>
> On Mon, Feb 10, 2014 at 8:29 AM, Luc Fabresse <luc.fabresse(a)gmail.com
> <mailto:luc.fabresse@gmail.com>> wrote:
>
> Hi Janko,
>
> I do not have all numbers at hand now but in 2013 there were 4
> extra-GSOC but we paid only 3 because one student gave
> up (Jean-Baptiste Beuzelin).
> So yes you are probably right that it remains money if we integrate
> last year BUT we were willing to spend it.
>
> Luc
>
>
> 2014-02-09 Janko Mivšek <janko.mivsek(a)eranova.si
> <mailto:janko.mivsek@eranova.si>>:
>
> Dear all,
>
> First to Luc: from your numbers it is clear that you are not to be
> blamed on anything, because you were obviously misinformed and
> misguided.
>
> Facts namely are:
>
> 1. GSoC mentors decided to pay extra stipendiums 3000 USD [1] while
> ESUG without approval paid 2000 more, 5000 USD, without any
> report
> back to GSoC mentors,
>
> 2. GSoC mentors decided to add past GSoC2012 amount to the pool for
> paying extra projects [2][3].
>
> Calculation (without the Summit expenses) therefore is:
>
> Income: GSoC 2012 13x 500 = 6.500 USD
> GSoC 2013 13x 500 = 6.500 USD
> ------------------------------
> 13.000 USD
>
> Expenses:
> Extra stipendiums: 3x 3.000 = 9.000 USD
>
> Difference: + 4.000 USD
>
> If ESUG would follow the decisions of GSoC mentors it wouldn't
> loose any
> money but gain 4.000 USD.
>
> Those that misinformed and misguided you needs therefore to
> apologize to
> you Luc, to the GSoC mentors and to me as admin!
>
> Janko
>
> [1]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/Yrlj8dIgGPg
> [2]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/WwnxpkXzAB8
> [3]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/tR44jdPT5Hw
>
>
> Dne 09. 02. 2014 17:26, piše Luc Fabresse:
> > Hi all,
> >
> > ------------
> > FACTS
> >
> > As you all know, I am the ESUG treasurer.
> > So please find the numbers attached for the ESUG support of GSOC
> > projects in 2013.
> >
> > ESUG sponsored 3 "extra-GSOC" meaning extra slots not accepted
> by Google.
> > In the file it is: Alejandro Infante, Pablo Estefo and
> Benjamin Arezki.
> >
> > All in all we paid:
> > - 3695EUR (~5000USD at that time i.e. same cost as a regular
> GSOC) each
> > projects
> > - Serge trip to Mentor summit
> >
> > And we received 5552EUR from Google
> >
> > so yes we lost ~6582EUR
> > That is easy 13*500 USD would only cover 1 plain extra-Gsoc and we
> > sponsorized 3.
> >
> > I also think that it is important to send someone to the GSoc
> mentor
> > summit because it participates to the fact that Google
> recognizes ESUG
> > ang gives slots the next year.
> >
> > It is alos important to note dates.
> > ESUG paid first and then has been refund by Google.
> > It would not be possible to do it without ESUG.
> >
> > ------------
> > FROM HERE, MY POINT OF VIEW ON THIS STORY:
> >
> > As some of you know, I doing the ESUG treasury stuff on my
> *own* time
> > and it takes a lot!
> > I am doing it because I strongly believe that Smalltalk (all
> falvors!)
> > is a really great language that should be more widespread.
> >
> > I also completely open to discussions.
> > The ESUG board can also explain its actions and even money status.
> > I can do errors too.
> > So if Janko wants some details on GSOC related money, JUST ASK!
> >
> > I cannot admit that:
> >
> > - Janko wrote about some money accusation. This is directly
> directed
> > against the treasurer so me.
> > And honestly, just reading again that I am biased and that I
> hide or
> > steal money make me think that I should better quit.
> >
> > - Janko asked for apologies! what is that? even if I would
> have done a
> > mistake (and ESUG did not loose money), YOU STILL MUST THANK
> ME for
> > DOING THIS BORING TASK! and then I can correct mistakes if any
> >
> > - People wants an answer fast, this conversation started
> yesterday and I
> > am spending my week-end with my kids
> >
> >
> > I am really fed up with this kind of attitude.
> > Stop accuse, better ask, discuss and we will solve the
> problems together
> > if any.
> > But I think it will never happen...
> >
> > #Luc
> > The disgusted Treasurer of ESUG who will finish his week-end
> in bad mood
> >
>
>
> --
> Janko Mivšek
> Smalltalk GSoC Admin Team
>
>
>
--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel: 01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
Feb. 10, 2014
Re: [Pharo-users] Xs&Os game
by phil@highoctane.be
I loaded the game in Pharo2.0
There is ImageMorph>>form: aForm missing but adding
ImageMorph>>form: aForm
self image: aFrom
makes it work.
Phil
On Sun, Feb 9, 2014 at 9:59 PM, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
> Thanks for comment.
> I'll fix all problems and change everything you mentioned, hope to succeed
> in it.
>
> Mark
>
>
> 2014-02-09 22:51 GMT+02:00 Pharo4Stef <pharo4Stef(a)free.fr>:
>
>> Hi mark
>>
>> I read a bit your code
>>
>> It is nice for a first project!!!!
>>
>> Here are some feedback. I suggest that you take into account the easy one
>> and produce a new version and if you want to
>> train your skills you try to see how to address the difficult ones.
>>
>> Stef
>>
>>
>>
>> - Add it in the class comment
>> XsAndOsGame new openInWorld.
>>
>> - you have some unclassified protocols on the class side.
>>
>> - you may want to run smallLint (criticBorwser on your code and see the
>> hints that it can give you).
>>
>> - When you create a new game do not move the window to the top corner :)
>>
>> easyBtn -> easyButton (you do not pay per character :))
>>
>> findEmptyCellPos -> findEmptyCellPosition
>> not in accessing
>>
>> impBtn -> impossibleButton
>>
>> â¦. :)
>> - Why do you need a separate class just for three colors?
>> I would merge
>> XsAndOsGameColors and XsAndOsGame
>>
>> XsAndOsGame>>initialize is long
>> May be you should extract some methods from it (methods that you can
>> then reuse for other tasks)
>>
>>
>> renderOContents
>> | delta offset x1 y1 x2 y2 rect |
>> delta := CellRenderer cellExtent - 1.
>> offset := self offsetWithinGridForm.
>> x1 := offset x + self oCorner x.
>> x2 := offset x + delta x - self oCorner x.
>> y1 := offset y + self oCorner y.
>> y2 := offset y + delta y - self oCorner y.
>> rect := Rectangle new setOrigin: x1 @ y1 corner: x2 @ y2.
>> self targetForm getCanvas
>> fillOval: rect
>> color: XsAndOsGameColors gameBoardBackgroundColor
>> borderWidth: 3
>> borderColor: XsAndOsGameColors OColor
>>
>> What do you refer to CellRenderer direcly? self class ?
>>
>>
>> rendererFor: aCell
>> "VERY BAD IMPLEMENTATION OF THIS METHOD!!!"
>>
>> aCell class = EmptyCell
>> ifTrue: [ ^ CellRenderer ].
>> aCell class = XCell
>> ifTrue: [ ^ XCellRenderer ].
>> aCell class = OCell
>> ifTrue: [ ^ OCellRenderer ]
>>
>> indeed :)
>> why not implementing some methods call renderClass and sending a message
>> to the object :)
>>
>> mptyCell>>initialize
>> super initialize.
>>
>>
>>
>> CellRenderer>>offsetWithinGridForm
>> "Returns a point - left top corner of current cell"
>>
>> ^ CellRenderer cellExtent * ((self cellLocation x - 1) @ (self
>> cellLocation y - 1))
>> => self clas cellExtent
>>
>> CellRenderer >> renderBorderBottom
>> | delta offset x1 y1 x2 y2 |
>> delta := CellRenderer cellExtent - 1.
>> offset := self offsetWithinGridForm.
>> x1 := offset x.
>> x2 := x1 + delta x.
>> y1 := offset y + delta y.
>> y2 := y1.
>> self targetForm getCanvas
>> line: x1 @ y1
>> to: x2 @ y2
>> width: 1
>> color: XsAndOsGameColors cellBorderColor
>>
>> =>
>> CellRenderer >> renderBorderBottom
>> | delta offset x1 y1 x2 y2 |
>> delta := self class cellExtent - 1.
>> offset := self offsetWithinGridForm.
>> x1 := offset x.
>> x2 := x1 + delta x.
>> y1 := offset y + delta y.
>> y2 := y1.
>> self targetForm getCanvas
>> line: x1 @ y1
>> to: x2 @ y2
>> width: 1
>> color: XsAndOsGameColors cellBorderColor
>>
>>
>> I was wondering why you need Grid (I would rename it CellGrid) and do not
>> use a Matrix.
>>
>> grid sizeOfGrid
>> -> I would rename sizeOfGrid into size like that your grid can be a bit
>> more polymorphic from its API point of view
>>
>>
>> makeGameBoarMorph
>> -> typo :)
>> Now I want wondering why you do not have an instance variable to hold it
>>
>>
>> Future fun ideas for new versions:
>> ââââââââââââââââââââââ
>> playerVsComputer
>> self vsComputer
>> ifTrue: [
>> self vsComputer: false.
>> self stateMorph contents: 'Player 1 VS Player 2' ]
>> ifFalse: [
>> self vsComputer: true.
>> self stateMorph contents: 'Player VS Computer ---> Difficulty: ' , self
>> difficulty asString ].
>> self vsComputer
>> ifTrue: [
>> self easyBtn enable.
>> self normalBtn enable.
>> self impBtn enable ]
>> ifFalse: [
>> self easyBtn disable.
>> self normalBtn disable.
>> self impBtn disable ]
>> This kind of code may be think that may be you need another object that
>> represent the
>> TwoUsers
>> vsComputer
>> strategy
>> Iâm not sure but clicked look quite long.
>> May be you should create another class that can represent the logic of
>> the game.
>>
>> A really interesting exercise would be to see how you can create a
>> boardGame for 15*15 and see how it breaks some hidden rules.
>> On 08 Feb 2014, at 15:07, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
>>
>> Updated XsAndOsGame: added AI, also fixed some problems, that Damien
>> mentioned in his comments.
>> Btw, thanks to Damien, because I learned for myself a lot of new useful
>> things.
>> Note: The new version is XsAndOsGame (NOT Xs&OsGame) !
>> To play it type in workspace: XsAndOsGame new openInWorld.
>> If you want to play vs computer press button "ToggleMode" and choose
>> difficulty. Initially it is easy.
>>
>> Mark
>>
>>
>> 2014-02-05 15:57 GMT+02:00 ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com>:
>>
>>> Thanks, I'll certainly take a look at it
>>>
>>>
>>> 2014-02-05 Damien Cassou <damien.cassou(a)gmail.com>:
>>>
>>> On Tue, Feb 4, 2014 at 8:58 PM, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
>>>> > I should think how to write this tutorial.
>>>>
>>>>
>>>> on the technical point of view, I advise you to use Pillar:
>>>> http://www.smalltalkhub.com/#!/~Pier/Pillar
>>>>
>>>> --
>>>> Damien Cassou
>>>> http://damiencassou.seasidehosting.st
>>>>
>>>> "Success is the ability to go from one failure to another without
>>>> losing enthusiasm."
>>>> Winston Churchill
>>>>
>>>>
>>>
>>
>>
>
Feb. 10, 2014
Re: [Pharo-users] Google Summer of Code is here, your ideas please!
by Goubier Thierry
Le 09/02/2014 15:42, Joachim Tuchel a écrit :
> Hi,
>
> so that's not exactly what i had in mind. In a portable git interface for Smalltalk code, menticello would be an optional plugin (just like store, envy, sts or whatever), but it would be self contained with a clever api to implant it into a dialect. Let's call it "git native" with plugs for dialects...
Looks like FileSystem-Git to me :)
http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git
I'm effectively at the other end: making a plugin for Monticello to talk
to git. Like the hg equivalent I'v seen announced for ST/X, it shows
possible usage patterns of git (and hence be a requirements for your
interface).
Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Feb. 10, 2014
Re: [Pharo-users] [Pharo-dev] [gsoc-mentors] The truth on GSOC, ESUG and bad attitude
by phil@highoctane.be
Guys,
>From the outside it just looks like a couple of spoiled kids battling in
the kindergarten.
All of this is not moving Smalltalk and Pharo any single bit forward.
Backwards, there is a fair chance.
Now, could you take this discussion elsewhere? Pick up a phone and talk.
Who cares if anyone is right? Oh yeah, EUR 4K, what a huge amount to fight
over for an European org... (rolleyes).
Phil
On Mon, Feb 10, 2014 at 8:29 AM, Luc Fabresse <luc.fabresse(a)gmail.com>wrote:
> Hi Janko,
>
> I do not have all numbers at hand now but in 2013 there were 4 extra-GSOC
> but we paid only 3 because one student gave up (Jean-Baptiste Beuzelin).
> So yes you are probably right that it remains money if we integrate last
> year BUT we were willing to spend it.
>
> Luc
>
>
> 2014-02-09 Janko Mivšek <janko.mivsek(a)eranova.si>:
>
>> Dear all,
>>
>> First to Luc: from your numbers it is clear that you are not to be
>> blamed on anything, because you were obviously misinformed and misguided.
>>
>> Facts namely are:
>>
>> 1. GSoC mentors decided to pay extra stipendiums 3000 USD [1] while
>> ESUG without approval paid 2000 more, 5000 USD, without any report
>> back to GSoC mentors,
>>
>> 2. GSoC mentors decided to add past GSoC2012 amount to the pool for
>> paying extra projects [2][3].
>>
>> Calculation (without the Summit expenses) therefore is:
>>
>> Income: GSoC 2012 13x 500 = 6.500 USD
>> GSoC 2013 13x 500 = 6.500 USD
>> ------------------------------
>> 13.000 USD
>>
>> Expenses:
>> Extra stipendiums: 3x 3.000 = 9.000 USD
>>
>> Difference: + 4.000 USD
>>
>> If ESUG would follow the decisions of GSoC mentors it wouldn't loose any
>> money but gain 4.000 USD.
>>
>> Those that misinformed and misguided you needs therefore to apologize to
>> you Luc, to the GSoC mentors and to me as admin!
>>
>> Janko
>>
>> [1]
>> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/Yrlj8dIgGPg
>> [2]
>> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/WwnxpkXzAB8
>> [3]
>> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/tR44jdPT5Hw
>>
>>
>> Dne 09. 02. 2014 17:26, piše Luc Fabresse:
>> > Hi all,
>> >
>> > ------------
>> > FACTS
>> >
>> > As you all know, I am the ESUG treasurer.
>> > So please find the numbers attached for the ESUG support of GSOC
>> > projects in 2013.
>> >
>> > ESUG sponsored 3 "extra-GSOC" meaning extra slots not accepted by
>> Google.
>> > In the file it is: Alejandro Infante, Pablo Estefo and Benjamin Arezki.
>> >
>> > All in all we paid:
>> > - 3695EUR (~5000USD at that time i.e. same cost as a regular GSOC) each
>> > projects
>> > - Serge trip to Mentor summit
>> >
>> > And we received 5552EUR from Google
>> >
>> > so yes we lost ~6582EUR
>> > That is easy 13*500 USD would only cover 1 plain extra-Gsoc and we
>> > sponsorized 3.
>> >
>> > I also think that it is important to send someone to the GSoc mentor
>> > summit because it participates to the fact that Google recognizes ESUG
>> > ang gives slots the next year.
>> >
>> > It is alos important to note dates.
>> > ESUG paid first and then has been refund by Google.
>> > It would not be possible to do it without ESUG.
>> >
>> > ------------
>> > FROM HERE, MY POINT OF VIEW ON THIS STORY:
>> >
>> > As some of you know, I doing the ESUG treasury stuff on my *own* time
>> > and it takes a lot!
>> > I am doing it because I strongly believe that Smalltalk (all falvors!)
>> > is a really great language that should be more widespread.
>> >
>> > I also completely open to discussions.
>> > The ESUG board can also explain its actions and even money status.
>> > I can do errors too.
>> > So if Janko wants some details on GSOC related money, JUST ASK!
>> >
>> > I cannot admit that:
>> >
>> > - Janko wrote about some money accusation. This is directly directed
>> > against the treasurer so me.
>> > And honestly, just reading again that I am biased and that I hide or
>> > steal money make me think that I should better quit.
>> >
>> > - Janko asked for apologies! what is that? even if I would have done a
>> > mistake (and ESUG did not loose money), YOU STILL MUST THANK ME for
>> > DOING THIS BORING TASK! and then I can correct mistakes if any
>> >
>> > - People wants an answer fast, this conversation started yesterday and I
>> > am spending my week-end with my kids
>> >
>> >
>> > I am really fed up with this kind of attitude.
>> > Stop accuse, better ask, discuss and we will solve the problems together
>> > if any.
>> > But I think it will never happen...
>> >
>> > #Luc
>> > The disgusted Treasurer of ESUG who will finish his week-end in bad mood
>> >
>>
>>
>> --
>> Janko Mivšek
>> Smalltalk GSoC Admin Team
>>
>
>
Feb. 10, 2014
Re: [Pharo-users] [gsoc-mentors] The truth on GSOC, ESUG and bad attitude
by Luc Fabresse
Hi Janko,
I do not have all numbers at hand now but in 2013 there were 4 extra-GSOC
but we paid only 3 because one student gave up (Jean-Baptiste Beuzelin).
So yes you are probably right that it remains money if we integrate last
year BUT we were willing to spend it.
Luc
2014-02-09 Janko Mivšek <janko.mivsek(a)eranova.si>:
> Dear all,
>
> First to Luc: from your numbers it is clear that you are not to be
> blamed on anything, because you were obviously misinformed and misguided.
>
> Facts namely are:
>
> 1. GSoC mentors decided to pay extra stipendiums 3000 USD [1] while
> ESUG without approval paid 2000 more, 5000 USD, without any report
> back to GSoC mentors,
>
> 2. GSoC mentors decided to add past GSoC2012 amount to the pool for
> paying extra projects [2][3].
>
> Calculation (without the Summit expenses) therefore is:
>
> Income: GSoC 2012 13x 500 = 6.500 USD
> GSoC 2013 13x 500 = 6.500 USD
> ------------------------------
> 13.000 USD
>
> Expenses:
> Extra stipendiums: 3x 3.000 = 9.000 USD
>
> Difference: + 4.000 USD
>
> If ESUG would follow the decisions of GSoC mentors it wouldn't loose any
> money but gain 4.000 USD.
>
> Those that misinformed and misguided you needs therefore to apologize to
> you Luc, to the GSoC mentors and to me as admin!
>
> Janko
>
> [1]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/Yrlj8dIgGPg
> [2]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/WwnxpkXzAB8
> [3]
> https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/tR44jdPT5Hw
>
>
> Dne 09. 02. 2014 17:26, piše Luc Fabresse:
> > Hi all,
> >
> > ------------
> > FACTS
> >
> > As you all know, I am the ESUG treasurer.
> > So please find the numbers attached for the ESUG support of GSOC
> > projects in 2013.
> >
> > ESUG sponsored 3 "extra-GSOC" meaning extra slots not accepted by Google.
> > In the file it is: Alejandro Infante, Pablo Estefo and Benjamin Arezki.
> >
> > All in all we paid:
> > - 3695EUR (~5000USD at that time i.e. same cost as a regular GSOC) each
> > projects
> > - Serge trip to Mentor summit
> >
> > And we received 5552EUR from Google
> >
> > so yes we lost ~6582EUR
> > That is easy 13*500 USD would only cover 1 plain extra-Gsoc and we
> > sponsorized 3.
> >
> > I also think that it is important to send someone to the GSoc mentor
> > summit because it participates to the fact that Google recognizes ESUG
> > ang gives slots the next year.
> >
> > It is alos important to note dates.
> > ESUG paid first and then has been refund by Google.
> > It would not be possible to do it without ESUG.
> >
> > ------------
> > FROM HERE, MY POINT OF VIEW ON THIS STORY:
> >
> > As some of you know, I doing the ESUG treasury stuff on my *own* time
> > and it takes a lot!
> > I am doing it because I strongly believe that Smalltalk (all falvors!)
> > is a really great language that should be more widespread.
> >
> > I also completely open to discussions.
> > The ESUG board can also explain its actions and even money status.
> > I can do errors too.
> > So if Janko wants some details on GSOC related money, JUST ASK!
> >
> > I cannot admit that:
> >
> > - Janko wrote about some money accusation. This is directly directed
> > against the treasurer so me.
> > And honestly, just reading again that I am biased and that I hide or
> > steal money make me think that I should better quit.
> >
> > - Janko asked for apologies! what is that? even if I would have done a
> > mistake (and ESUG did not loose money), YOU STILL MUST THANK ME for
> > DOING THIS BORING TASK! and then I can correct mistakes if any
> >
> > - People wants an answer fast, this conversation started yesterday and I
> > am spending my week-end with my kids
> >
> >
> > I am really fed up with this kind of attitude.
> > Stop accuse, better ask, discuss and we will solve the problems together
> > if any.
> > But I think it will never happen...
> >
> > #Luc
> > The disgusted Treasurer of ESUG who will finish his week-end in bad mood
> >
>
>
> --
> Janko Mivšek
> Smalltalk GSoC Admin Team
>
Feb. 10, 2014
Re: [Pharo-users] [launcher] to manage StartupLoader scripts
by Damien Cassou
> The simplest first thing might be just having a button in Preferences
which opened the appropriate system folder outside of Pharo - similar to
how "Show in folder" works for images.
You can expriment on this if you want. If the user has no script yet, you
can propose to create a default one.
Feb. 10, 2014
Re: [Pharo-users] [gsoc-mentors] The truth on GSOC, ESUG and bad attitude
by Janko Mivšek
Dear all,
First to Luc: from your numbers it is clear that you are not to be
blamed on anything, because you were obviously misinformed and misguided.
Facts namely are:
1. GSoC mentors decided to pay extra stipendiums 3000 USD [1] while
ESUG without approval paid 2000 more, 5000 USD, without any report
back to GSoC mentors,
2. GSoC mentors decided to add past GSoC2012 amount to the pool for
paying extra projects [2][3].
Calculation (without the Summit expenses) therefore is:
Income: GSoC 2012 13x 500 = 6.500 USD
GSoC 2013 13x 500 = 6.500 USD
------------------------------
13.000 USD
Expenses:
Extra stipendiums: 3x 3.000 = 9.000 USD
Difference: + 4.000 USD
If ESUG would follow the decisions of GSoC mentors it wouldn't loose any
money but gain 4.000 USD.
Those that misinformed and misguided you needs therefore to apologize to
you Luc, to the GSoC mentors and to me as admin!
Janko
[1]
https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/Yrlj8dIgGPg
[2]
https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/WwnxpkXzAB8
[3]
https://groups.google.com/forum/#!topic/smalltalk-gsoc-mentors/tR44jdPT5Hw
Dne 09. 02. 2014 17:26, piše Luc Fabresse:
> Hi all,
>
> ------------
> FACTS
>
> As you all know, I am the ESUG treasurer.
> So please find the numbers attached for the ESUG support of GSOC
> projects in 2013.
>
> ESUG sponsored 3 "extra-GSOC" meaning extra slots not accepted by Google.
> In the file it is: Alejandro Infante, Pablo Estefo and Benjamin Arezki.
>
> All in all we paid:
> - 3695EUR (~5000USD at that time i.e. same cost as a regular GSOC) each
> projects
> - Serge trip to Mentor summit
>
> And we received 5552EUR from Google
>
> so yes we lost ~6582EUR
> That is easy 13*500 USD would only cover 1 plain extra-Gsoc and we
> sponsorized 3.
>
> I also think that it is important to send someone to the GSoc mentor
> summit because it participates to the fact that Google recognizes ESUG
> ang gives slots the next year.
>
> It is alos important to note dates.
> ESUG paid first and then has been refund by Google.
> It would not be possible to do it without ESUG.
>
> ------------
> FROM HERE, MY POINT OF VIEW ON THIS STORY:
>
> As some of you know, I doing the ESUG treasury stuff on my *own* time
> and it takes a lot!
> I am doing it because I strongly believe that Smalltalk (all falvors!)
> is a really great language that should be more widespread.
>
> I also completely open to discussions.
> The ESUG board can also explain its actions and even money status.
> I can do errors too.
> So if Janko wants some details on GSOC related money, JUST ASK!
>
> I cannot admit that:
>
> - Janko wrote about some money accusation. This is directly directed
> against the treasurer so me.
> And honestly, just reading again that I am biased and that I hide or
> steal money make me think that I should better quit.
>
> - Janko asked for apologies! what is that? even if I would have done a
> mistake (and ESUG did not loose money), YOU STILL MUST THANK ME for
> DOING THIS BORING TASK! and then I can correct mistakes if any
>
> - People wants an answer fast, this conversation started yesterday and I
> am spending my week-end with my kids
>
>
> I am really fed up with this kind of attitude.
> Stop accuse, better ask, discuss and we will solve the problems together
> if any.
> But I think it will never happen...
>
> #Luc
> The disgusted Treasurer of ESUG who will finish his week-end in bad mood
>
--
Janko Mivšek
Smalltalk GSoC Admin Team
Feb. 9, 2014
Re: [Pharo-users] Xs&Os game
by ÐаÑкÑÑн Ð ÑзÑн
Thanks for comment.
I'll fix all problems and change everything you mentioned, hope to succeed
in it.
Mark
2014-02-09 22:51 GMT+02:00 Pharo4Stef <pharo4Stef(a)free.fr>:
> Hi mark
>
> I read a bit your code
>
> It is nice for a first project!!!!
>
> Here are some feedback. I suggest that you take into account the easy one
> and produce a new version and if you want to
> train your skills you try to see how to address the difficult ones.
>
> Stef
>
>
>
> - Add it in the class comment
> XsAndOsGame new openInWorld.
>
> - you have some unclassified protocols on the class side.
>
> - you may want to run smallLint (criticBorwser on your code and see the
> hints that it can give you).
>
> - When you create a new game do not move the window to the top corner :)
>
> easyBtn -> easyButton (you do not pay per character :))
>
> findEmptyCellPos -> findEmptyCellPosition
> not in accessing
>
> impBtn -> impossibleButton
>
> .... :)
> - Why do you need a separate class just for three colors?
> I would merge
> XsAndOsGameColors and XsAndOsGame
>
> XsAndOsGame>>initialize is long
> May be you should extract some methods from it (methods that you can then
> reuse for other tasks)
>
>
> renderOContents
> | delta offset x1 y1 x2 y2 rect |
> delta := CellRenderer cellExtent - 1.
> offset := self offsetWithinGridForm.
> x1 := offset x + self oCorner x.
> x2 := offset x + delta x - self oCorner x.
> y1 := offset y + self oCorner y.
> y2 := offset y + delta y - self oCorner y.
> rect := Rectangle new setOrigin: x1 @ y1 corner: x2 @ y2.
> self targetForm getCanvas
> fillOval: rect
> color: XsAndOsGameColors gameBoardBackgroundColor
> borderWidth: 3
> borderColor: XsAndOsGameColors OColor
>
> What do you refer to CellRenderer direcly? self class ?
>
>
> rendererFor: aCell
> "VERY BAD IMPLEMENTATION OF THIS METHOD!!!"
>
> aCell class = EmptyCell
> ifTrue: [ ^ CellRenderer ].
> aCell class = XCell
> ifTrue: [ ^ XCellRenderer ].
> aCell class = OCell
> ifTrue: [ ^ OCellRenderer ]
>
> indeed :)
> why not implementing some methods call renderClass and sending a message
> to the object :)
>
> mptyCell>>initialize
> super initialize.
>
>
>
> CellRenderer>>offsetWithinGridForm
> "Returns a point - left top corner of current cell"
>
> ^ CellRenderer cellExtent * ((self cellLocation x - 1) @ (self
> cellLocation y - 1))
> => self clas cellExtent
>
> CellRenderer >> renderBorderBottom
> | delta offset x1 y1 x2 y2 |
> delta := CellRenderer cellExtent - 1.
> offset := self offsetWithinGridForm.
> x1 := offset x.
> x2 := x1 + delta x.
> y1 := offset y + delta y.
> y2 := y1.
> self targetForm getCanvas
> line: x1 @ y1
> to: x2 @ y2
> width: 1
> color: XsAndOsGameColors cellBorderColor
>
> =>
> CellRenderer >> renderBorderBottom
> | delta offset x1 y1 x2 y2 |
> delta := self class cellExtent - 1.
> offset := self offsetWithinGridForm.
> x1 := offset x.
> x2 := x1 + delta x.
> y1 := offset y + delta y.
> y2 := y1.
> self targetForm getCanvas
> line: x1 @ y1
> to: x2 @ y2
> width: 1
> color: XsAndOsGameColors cellBorderColor
>
>
> I was wondering why you need Grid (I would rename it CellGrid) and do not
> use a Matrix.
>
> grid sizeOfGrid
> -> I would rename sizeOfGrid into size like that your grid can be a bit
> more polymorphic from its API point of view
>
>
> makeGameBoarMorph
> -> typo :)
> Now I want wondering why you do not have an instance variable to hold it
>
>
> Future fun ideas for new versions:
> --------------------------------------------
> playerVsComputer
> self vsComputer
> ifTrue: [
> self vsComputer: false.
> self stateMorph contents: 'Player 1 VS Player 2' ]
> ifFalse: [
> self vsComputer: true.
> self stateMorph contents: 'Player VS Computer ---> Difficulty: ' , self
> difficulty asString ].
> self vsComputer
> ifTrue: [
> self easyBtn enable.
> self normalBtn enable.
> self impBtn enable ]
> ifFalse: [
> self easyBtn disable.
> self normalBtn disable.
> self impBtn disable ]
> This kind of code may be think that may be you need another object that
> represent the
> TwoUsers
> vsComputer
> strategy
> I'm not sure but clicked look quite long.
> May be you should create another class that can represent the logic of the
> game.
>
> A really interesting exercise would be to see how you can create a
> boardGame for 15*15 and see how it breaks some hidden rules.
> On 08 Feb 2014, at 15:07, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
>
> Updated XsAndOsGame: added AI, also fixed some problems, that Damien
> mentioned in his comments.
> Btw, thanks to Damien, because I learned for myself a lot of new useful
> things.
> Note: The new version is XsAndOsGame (NOT Xs&OsGame) !
> To play it type in workspace: XsAndOsGame new openInWorld.
> If you want to play vs computer press button "ToggleMode" and choose
> difficulty. Initially it is easy.
>
> Mark
>
>
> 2014-02-05 15:57 GMT+02:00 ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com>:
>
>> Thanks, I'll certainly take a look at it
>>
>>
>> 2014-02-05 Damien Cassou <damien.cassou(a)gmail.com>:
>>
>> On Tue, Feb 4, 2014 at 8:58 PM, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
>>> > I should think how to write this tutorial.
>>>
>>>
>>> on the technical point of view, I advise you to use Pillar:
>>> http://www.smalltalkhub.com/#!/~Pier/Pillar
>>>
>>> --
>>> Damien Cassou
>>> http://damiencassou.seasidehosting.st
>>>
>>> "Success is the ability to go from one failure to another without
>>> losing enthusiasm."
>>> Winston Churchill
>>>
>>>
>>
>
>
Feb. 9, 2014
Re: [Pharo-users] Xs&Os game
by Pharo4Stef
Hi mark
I read a bit your code
It is nice for a first project!!!!
Here are some feedback. I suggest that you take into account the easy one and produce a new version and if you want to
train your skills you try to see how to address the difficult ones.
Stef
- Add it in the class comment
XsAndOsGame new openInWorld.
- you have some unclassified protocols on the class side.
- you may want to run smallLint (criticBorwser on your code and see the hints that it can give you).
- When you create a new game do not move the window to the top corner :)
easyBtn -> easyButton (you do not pay per character :))
findEmptyCellPos -> findEmptyCellPosition
not in accessing
impBtn -> impossibleButton
â¦. :)
- Why do you need a separate class just for three colors?
I would merge
XsAndOsGameColors and XsAndOsGame
XsAndOsGame>>initialize is long
May be you should extract some methods from it (methods that you can then reuse for other tasks)
renderOContents
| delta offset x1 y1 x2 y2 rect |
delta := CellRenderer cellExtent - 1.
offset := self offsetWithinGridForm.
x1 := offset x + self oCorner x.
x2 := offset x + delta x - self oCorner x.
y1 := offset y + self oCorner y.
y2 := offset y + delta y - self oCorner y.
rect := Rectangle new setOrigin: x1 @ y1 corner: x2 @ y2.
self targetForm getCanvas
fillOval: rect
color: XsAndOsGameColors gameBoardBackgroundColor
borderWidth: 3
borderColor: XsAndOsGameColors OColor
What do you refer to CellRenderer direcly? self class ?
rendererFor: aCell
"VERY BAD IMPLEMENTATION OF THIS METHOD!!!"
aCell class = EmptyCell
ifTrue: [ ^ CellRenderer ].
aCell class = XCell
ifTrue: [ ^ XCellRenderer ].
aCell class = OCell
ifTrue: [ ^ OCellRenderer ]
indeed :)
why not implementing some methods call renderClass and sending a message to the object :)
mptyCell>>initialize
super initialize.
CellRenderer>>offsetWithinGridForm
"Returns a point - left top corner of current cell"
^ CellRenderer cellExtent * ((self cellLocation x - 1) @ (self cellLocation y - 1))
=> self clas cellExtent
CellRenderer >> renderBorderBottom
| delta offset x1 y1 x2 y2 |
delta := CellRenderer cellExtent - 1.
offset := self offsetWithinGridForm.
x1 := offset x.
x2 := x1 + delta x.
y1 := offset y + delta y.
y2 := y1.
self targetForm getCanvas
line: x1 @ y1
to: x2 @ y2
width: 1
color: XsAndOsGameColors cellBorderColor
=>
CellRenderer >> renderBorderBottom
| delta offset x1 y1 x2 y2 |
delta := self class cellExtent - 1.
offset := self offsetWithinGridForm.
x1 := offset x.
x2 := x1 + delta x.
y1 := offset y + delta y.
y2 := y1.
self targetForm getCanvas
line: x1 @ y1
to: x2 @ y2
width: 1
color: XsAndOsGameColors cellBorderColor
I was wondering why you need Grid (I would rename it CellGrid) and do not use a Matrix.
grid sizeOfGrid
-> I would rename sizeOfGrid into size like that your grid can be a bit more polymorphic from its API point of view
makeGameBoarMorph
-> typo :)
Now I want wondering why you do not have an instance variable to hold it
Future fun ideas for new versions:
ââââââââââââââââââââââ
playerVsComputer
self vsComputer
ifTrue: [
self vsComputer: false.
self stateMorph contents: 'Player 1 VS Player 2' ]
ifFalse: [
self vsComputer: true.
self stateMorph contents: 'Player VS Computer ---> Difficulty: ' , self difficulty asString ].
self vsComputer
ifTrue: [
self easyBtn enable.
self normalBtn enable.
self impBtn enable ]
ifFalse: [
self easyBtn disable.
self normalBtn disable.
self impBtn disable ]
This kind of code may be think that may be you need another object that represent the
TwoUsers
vsComputer
strategy
Iâm not sure but clicked look quite long.
May be you should create another class that can represent the logic of the game.
A really interesting exercise would be to see how you can create a boardGame for 15*15 and see how it breaks some hidden rules.
On 08 Feb 2014, at 15:07, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
> Updated XsAndOsGame: added AI, also fixed some problems, that Damien mentioned in his comments.
> Btw, thanks to Damien, because I learned for myself a lot of new useful things.
> Note: The new version is XsAndOsGame (NOT Xs&OsGame) !
> To play it type in workspace: XsAndOsGame new openInWorld.
> If you want to play vs computer press button "ToggleMode" and choose difficulty. Initially it is easy.
>
> Mark
>
>
> 2014-02-05 15:57 GMT+02:00 ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com>:
> Thanks, I'll certainly take a look at it
>
>
> 2014-02-05 Damien Cassou <damien.cassou(a)gmail.com>:
>
> On Tue, Feb 4, 2014 at 8:58 PM, ÐаÑкÑÑн Ð ÑзÑн <mrizun(a)gmail.com> wrote:
> > I should think how to write this tutorial.
>
>
> on the technical point of view, I advise you to use Pillar:
> http://www.smalltalkhub.com/#!/~Pier/Pillar
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
>
>
>
Feb. 9, 2014
Re: [Pharo-users] The truth on GSOC, ESUG and bad attitude
by Sven Van Caekenberghe
Luc,
I think many people, if not most, including myself very much appreciate all the work that you and others have been doing behind the scenes. Thank you !
Things, even small ones, do not happen by themselves. Running an international organisation is not a small thing. ESUG certainly has a nice track record.
Sven
On 09 Feb 2014, at 17:26, Luc Fabresse <luc.fabresse(a)gmail.com> wrote:
> Hi all,
>
> ------------
> FACTS
>
> As you all know, I am the ESUG treasurer.
> So please find the numbers attached for the ESUG support of GSOC projects in 2013.
>
> ESUG sponsored 3 "extra-GSOC" meaning extra slots not accepted by Google.
> In the file it is: Alejandro Infante, Pablo Estefo and Benjamin Arezki.
>
> All in all we paid:
> - 3695EUR (~5000USD at that time i.e. same cost as a regular GSOC) each projects
> - Serge trip to Mentor summit
>
> And we received 5552EUR from Google
>
> so yes we lost ~6582EUR
> That is easy 13*500 USD would only cover 1 plain extra-Gsoc and we sponsorized 3.
>
> I also think that it is important to send someone to the GSoc mentor summit because it participates to the fact that Google recognizes ESUG ang gives slots the next year.
>
> It is alos important to note dates.
> ESUG paid first and then has been refund by Google.
> It would not be possible to do it without ESUG.
>
> ------------
> FROM HERE, MY POINT OF VIEW ON THIS STORY:
>
> As some of you know, I doing the ESUG treasury stuff on my *own* time and it takes a lot!
> I am doing it because I strongly believe that Smalltalk (all falvors!) is a really great language that should be more widespread.
>
> I also completely open to discussions.
> The ESUG board can also explain its actions and even money status.
> I can do errors too.
> So if Janko wants some details on GSOC related money, JUST ASK!
>
> I cannot admit that:
>
> - Janko wrote about some money accusation. This is directly directed against the treasurer so me.
> And honestly, just reading again that I am biased and that I hide or steal money make me think that I should better quit.
>
> - Janko asked for apologies! what is that? even if I would have done a mistake (and ESUG did not loose money), YOU STILL MUST THANK ME for DOING THIS BORING TASK! and then I can correct mistakes if any
>
> - People wants an answer fast, this conversation started yesterday and I am spending my week-end with my kids
>
>
> I am really fed up with this kind of attitude.
> Stop accuse, better ask, discuss and we will solve the problems together if any.
> But I think it will never happen...
>
> #Luc
> The disgusted Treasurer of ESUG who will finish his week-end in bad mood
>
>
> <2013-GsocSupportFromESUG.pdf>
Feb. 9, 2014