Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Evan Donahue
Yeah, that sounds right. The debugger needed to be able to step through lines
of code like normal (to debug the logic framework) as well as to step
through search steps (to debug programs written in the framework) defined in
terms of the system semantics (since bugs could be in either program or
framework at this point). It also needed to recognize the semantics not only
of the framework, but of the debugging interaction, because I needed it to
step through the search space until it arrived at a particular leaf of the
search frontier. The framework itself basically does a breadth-first-search,
and it doesn't care when a particular frontier node will be visited again,
but if I am tracing the search in one particular part of the space for the
very specific purposes of debugging, only then do I need the debugger to
recognize the semantics of when we are expanding a child of a given frontier
node. 

I also played with the idea of actually changing the search order while
debugging, which would change the semantics of the actual running program to
make it turn out a certain way so that I could observe rare behavior. The
analogy would be manually setting a random number in the debugger, except
that it might take more than a single instance variable assignment to change
the structure of a search tree.

Evan



--
View this message in context: 
http://forum.world.st/What-is-the-craziest-bug-you-ever-face-tp4937984p4938057.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread stepharong

I understand well your point :)

On Thu, 09 Mar 2017 21:30:21 +0100, Dale Henrichs  
 wrote:




The attached screnshot  illustrates why I like having text instead of  
pngs ... being able to highlight the association value (-5.00->5.00) is  
very useful when identifying the entries >in a btree associated with the  
association (the entries at 13, 16,19, and 22)...


On 03/09/2017 11:34 AM, Dale Henrichs wrote:


Stef,

One of the things that I do all of the time when trying to debug  
particularly difficult problems is to keep a "bug notebook".  My "bug  
notebook" is a text file where I >>record information gleaned from an  
inspector intermixed with comments, code and observations...


I've attached an example from a couple of days ago (bug_notebook.txt).
The particular problem I am working on involves btree nodes being  
improperly updated during index object updates. Each btree node is  
basically a 2000+ >>element Array ... so there is a lot of data to deal  
with .
In the notebook, I extract the interesting entries from the btree node  
and record the original set of values and then record the updated set  
of values and in this >>particular case I was able to "see" that after  
the update I had 4 entries that were not properly deleted ...
In addition to recording the interesting chunks of large data  
structures, I often end up with chunks of stacks from the debugger,  
copies of a inspector panes in my >>"bug notebooks" and chunks of code  
...


Over the last several weeks I have been tackling different sets of bugs  
in this same area and I have been keeping a time-stamped log of the  
work that I've done >>along the way (analysis_notebook.txt) ... in this  
notebook I've bee recording test results and branch/SHA information so  
that I can easily reference different >>versions of methods as I work  
through fixing bugs and managing regressions ... There's  a section in  
the notebook where I've record performance information, so >>that when  
I have finished work on this set of bugs, I can evaluate how I've  
impacted performance ... Finally at the very bottom of the notebook,  
I've recorded a >>simple todo-list ...
The  notebooks are on a shared disk so that I can access and update the  
"bug notebook" when I am working from home on a mac or at work from a  
linux box ...  
I rely on the fact that I am working with text and not images ... since  
I like to copy and paste as well as search for particular strings in  
the data from the inspector ... >>in the bug_notebook  I searched for  
the `victim` string in the text output  from an inspector ...


I have come to really depend upon bug notebooks when addressing  
difficult bugs and I think that support for creating and maintaining  
bug notebooks would be a >>valuable addition the the debugging  
arsenal...


Dale

On 03/09/2017 10:50 AM, stepharong wrote:

Thanks you all.

The idea is that we want to see how we cn improve our debugging  
arsenal.So it is important that your scenario give use some hints.It  
is difficult to convey what we are really looking for :)





Hi guys
During the DSU workshop we were brainstorming about what are the most  
difficult bugs we faced and what are the conceptual tools that would  
have helped you.


Stef




--Using Opera's mail client: http://www.opera.com/mail/








--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Dale Henrichs
The attached screnshot  illustrates why I like having text instead of 
pngs ... being able to highlight the association value (-5.00->5.00) is 
very useful when identifying the entries in a btree associated with the 
association (the entries at 13, 16,19, and 22)...



On 03/09/2017 11:34 AM, Dale Henrichs wrote:


Stef,

One of the things that I do all of the time when trying to debug 
particularly difficult problems is to keep a "bug notebook".  My "bug 
notebook" is a text file where I record information gleaned from an 
inspector intermixed with comments, code and observations...


I've attached an example from a couple of days ago (bug_notebook.txt).

The particular problem I am working on involves btree nodes being 
improperly updated during index object updates. Each btree node is 
basically a 2000+ element Array ... so there is a lot of data to deal 
with .


In the notebook, I extract the interesting entries from the btree node 
and record the original set of values and then record the updated set 
of values and in this particular case I was able to "see" that after 
the update I had 4 entries that were not properly deleted ...


In addition to recording the interesting chunks of large data 
structures, I often end up with chunks of stacks from the debugger, 
copies of a inspector panes in my "bug notebooks" and chunks of code ...


Over the last several weeks I have been tackling different sets of 
bugs in this same area and I have been keeping a time-stamped log of 
the work that I've done along the way (analysis_notebook.txt) ... in 
this notebook I've bee recording test results and branch/SHA 
information so that I can easily reference different versions of 
methods as I work through fixing bugs and managing regressions ... 
There's  a section in the notebook where I've record performance 
information, so that when I have finished work on this set of bugs, I 
can evaluate how I've impacted performance ... Finally at the very 
bottom of the notebook, I've recorded a simple todo-list ...


The  notebooks are on a shared disk so that I can access and update 
the "bug notebook" when I am working from home on a mac or at work 
from a linux box ...


I rely on the fact that I am working with text and not images ... 
since I like to copy and paste as well as search for particular 
strings in the data from the inspector ... in the bug_notebook  I 
searched for the `victim` string in the text output  from an inspector ...


I have come to really depend upon bug notebooks when addressing 
difficult bugs and I think that support for creating and maintaining 
bug notebooks would be a valuable addition the the debugging arsenal...


Dale

On 03/09/2017 10:50 AM, stepharong wrote:

Thanks you all.

The idea is that we want to see how we cn improve our debugging arsenal.
So it is important that your scenario give use some hints.
It is difficult to convey what we are really looking for :)



Hi guys

During the DSU workshop we were brainstorming about what are the
most difficult bugs we faced and what are the conceptual tools
that would have helped you.

Stef




--
Using Opera's mail client: http://www.opera.com/mail/






Re: [Pharo-users] New Version of Pillar on Windows

2017-03-09 Thread stepharong

Hi mike

I just checked
- ./download.sh and it took the 50 stable version
- make
this created the html

Now on windows you do not have make probably :)
so you should

$(OUTPUTDIRECTORY)/%.html: $(OUTPUTDIRECTORY)/%.html.json
./mustache --data=$< --template=${HTMLTEMPLATE} > $@

invoke ./mustache --data=output.html.json --template==yourhtmltemplate

Tell me if this is working.


I am trying out the new version of Pillar (build 1940 or 1941) on  
Windows on

Pharo 50770, following the Pillar tutorial in Enterprise Pharo book:

I created the new file first.pillar containing:  ! Hello World

I ran: C:\Users\mldavis\Desktop\mldPillarWorking>Pharo.exe Pillar.image
pillar export --to=html first.pillar

It created a file named:  output.html.json  containing:
{"content":"\r\n1. Hello World\r\n"}

It was supposed to be an HTML document as shown in Enterprise Pharo para
14.2 page 213 "5 Minutes Tutorial".

Any suggestions what I missed or should do?

mike






--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-users] New Version of Pillar on Windows

2017-03-09 Thread stepharong

Hi mike

Was it working before?
I will check on the HTML case (now) because I'm checked the mooc and the  
book.


I am trying out the new version of Pillar (build 1940 or 1941) on  
Windows on

Pharo 50770, following the Pillar tutorial in Enterprise Pharo book:



I created the new file first.pillar containing:  ! Hello World

I ran: C:\Users\mldavis\Desktop\mldPillarWorking>Pharo.exe Pillar.image
pillar export --to=html first.pillar

It created a file named:  output.html.json  containing:
{"content":"\r\n1. Hello World\r\n"}


this is correct.
It looks like the mustache phase is not applied.



It was supposed to be an HTML document as shown in Enterprise Pharo para
14.2 page 213 "5 Minutes Tutorial".

Any suggestions what I missed or should do?


Normally the makefile should invoke mustache to apply a template with as  
input such file


mike






--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread stepharong


we were talking during the workshop and on the simple things to help.

- watch points with history of the value.
- stop if the value of an instance variable is getting irregular i.e.,
   = you get integer and suddenly inside you get a float!
   1 1 1 1 2 3 4 2 2 1 1 12 2  3 32 1 1 1 1  22 1 1 1 1 1 1 1 2  33  
1.2 2 3 3 4 4
- start to monitor (put alarm/breakpoints)  newly created instances from a  
point


I hope that soon we will have instance specific features of the Ressia  
debugger
in Pharo debuger (stop the next time this object receive a message, stop  
the next

tie this object changes any of its instance variables).

[Pharo-users] New Version of Pillar on Windows

2017-03-09 Thread mldavis
I am trying out the new version of Pillar (build 1940 or 1941) on Windows on
Pharo 50770, following the Pillar tutorial in Enterprise Pharo book:

I created the new file first.pillar containing:  ! Hello World

I ran: C:\Users\mldavis\Desktop\mldPillarWorking>Pharo.exe Pillar.image
pillar export --to=html first.pillar

It created a file named:  output.html.json  containing:
{"content":"\r\n1. Hello World\r\n"}

It was supposed to be an HTML document as shown in Enterprise Pharo para
14.2 page 213 "5 Minutes Tutorial".

Any suggestions what I missed or should do?

mike





Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread stepharong
On Thu, 09 Mar 2017 20:53:48 +0100, Evan Donahue   
wrote:



I actually have a whole class of bugs and elements of a very Pharo-y
solution.

I do a lot of work in a logic programming framework. Being a logic
programming framework, it does not execute the code you write in a
start-to-finish manner, but executes a few lines here, then jumps around  
and

executes a few lines there. As a result, if you are trying to trace the
evolution of a particular branch in the search tree, you can only follow  
one

or two operations at a time in the debugger, then that branch gets put in
the queue and you may have to step through tens or hundreds of other
searches before you get back to it (if you can even recognize which  
branch

you were following when it comes around again). This makes debugging
basically impossible in every other language this framework has been  
ported
to, and the standard strategy is just to stare at the code. Pharo's  
debugger

was already a step up, but it still wasn't nearly up to the task.


did you think about adapting the debugger to your execution semantics?
... I read that you did it
Excellent!



I had been trying to get a particularly complex program to work for  
several
days with no success, at which point I decided to investigate the  
moldable

debugger framework. It took me several more days of going through the
debugger code in different versions and emailing with its developers to  
get

something working, which just speaks to the state that framework and
documentation happened to be in at the time, but when I did get it  
working I
found the bug in a few minutes. I essentially set up a visual depiction  
of
the search tree where I could click on a branch and have the framework  
run until that branch came up again to the front of the queue. This  
meant I
could trace execution linearly by giving myself a way to get a handle on  
the control flow via a visual interface. I have since changed my  
framework

and broken the debugger code, but I definitely intend to try to get that

rigged up again when the logic system is in a more polished form.

Admittedly, many programs probably do not have the problem that their
control flow is so complex that a normal linear debugger is too  
difficult to

understand, but on some level the ability to specify a debugging control
flow outside the execution of the program itself seems like a pretty
powerful idea, and something Pharo should be very well suited for with  
its
interactivity/reflectivity. Maybe there would be more complex,  
logic-based

programs if they weren't so hard to write!

Evan



--
View this message in context:  
http://forum.world.st/What-is-the-craziest-bug-you-ever-face-tp4937984p4938039.html

Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Evan Donahue
I should add that users of the logic framework from non-smalltalk languages
were very impressed by the potential.

Evan



--
View this message in context: 
http://forum.world.st/What-is-the-craziest-bug-you-ever-face-tp4937984p4938040.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread stepharong

nice ideas!




Stef,

One of the things that I do all of the time when trying to debug  
particularly difficult problems is to keep a "bug notebook".  My "bug  
notebook" is a text file where I record >information gleaned from an  
inspector intermixed with comments, code and observations...


I've attached an example from a couple of days ago (bug_notebook.txt).
The particular problem I am working on involves btree nodes being  
improperly updated during index object updates. Each btree node is  
basically a 2000+ element Array ... so >there is a lot of data to deal  
with .
In the notebook, I extract the interesting entries from the btree node  
and record the original set of values and then record the updated set of  
values and in this particular case I >was able to "see" that after the  
update I had 4 entries that were not properly deleted ...
In addition to recording the interesting chunks of large data  
structures, I often end up with chunks of stacks from the debugger,  
copies of a inspector panes in my "bug >notebooks" and chunks of code ...


Over the last several weeks I have been tackling different sets of bugs  
in this same area and I have been keeping a time-stamped log of the work  
that I've done along the way >(analysis_notebook.txt) ... in this  
notebook I've bee recording test results and branch/SHA information so  
that I can easily reference different versions of methods as I work  
>through fixing bugs and managing regressions ... There's  a section in  
the notebook where I've record performance information, so that when I  
have finished work on this set of >bugs, I can evaluate how I've  
impacted performance ... Finally at the very bottom of the notebook,  
I've recorded a simple todo-list ...
The  notebooks are on a shared disk so that I can access and update the  
"bug notebook" when I am working from home on a mac or at work from a  
linux box ...  
I rely on the fact that I am working with text and not images ... since  
I like to copy and paste as well as search for particular strings in the  
data from the inspector ... in the >bug_notebook  I searched for the  
`victim` string in the text output  from an inspector ...


I have come to really depend upon bug notebooks when addressing  
difficult bugs and I think that support for creating and maintaining bug  
notebooks would be a valuable >addition the the debugging arsenal...


Dale

On 03/09/2017 10:50 AM, stepharong wrote:

Thanks you all.

The idea is that we want to see how we cn improve our debugging arsenal. 
So it is important that your scenario give use some hints.It is  
difficult to convey what we are really looking for :)





Hi guys
During the DSU workshop we were brainstorming about what are the most  
difficult bugs we faced and what are the conceptual tools that would  
have helped >>>you.


Stef




--Using Opera's mail client: http://www.opera.com/mail/






--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Evan Donahue
I actually have a whole class of bugs and elements of a very Pharo-y
solution. 

I do a lot of work in a logic programming framework. Being a logic
programming framework, it does not execute the code you write in a
start-to-finish manner, but executes a few lines here, then jumps around and
executes a few lines there. As a result, if you are trying to trace the
evolution of a particular branch in the search tree, you can only follow one
or two operations at a time in the debugger, then that branch gets put in
the queue and you may have to step through tens or hundreds of other
searches before you get back to it (if you can even recognize which branch
you were following when it comes around again). This makes debugging
basically impossible in every other language this framework has been ported
to, and the standard strategy is just to stare at the code. Pharo's debugger
was already a step up, but it still wasn't nearly up to the task. 

I had been trying to get a particularly complex program to work for several
days with no success, at which point I decided to investigate the moldable
debugger framework. It took me several more days of going through the
debugger code in different versions and emailing with its developers to get
something working, which just speaks to the state that framework and
documentation happened to be in at the time, but when I did get it working I
found the bug in a few minutes. I essentially set up a visual depiction of
the search tree where I could click on a branch and have the framework run
until that branch came up again to the front of the queue. This meant I
could trace execution linearly by giving myself a way to get a handle on the
control flow via a visual interface. I have since changed my framework and
broken the debugger code, but I definitely intend to try to get that rigged
up again when the logic system is in a more polished form.

Admittedly, many programs probably do not have the problem that their
control flow is so complex that a normal linear debugger is too difficult to
understand, but on some level the ability to specify a debugging control
flow outside the execution of the program itself seems like a pretty
powerful idea, and something Pharo should be very well suited for with its
interactivity/reflectivity. Maybe there would be more complex, logic-based
programs if they weren't so hard to write!

Evan



--
View this message in context: 
http://forum.world.st/What-is-the-craziest-bug-you-ever-face-tp4937984p4938039.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Dale Henrichs

Stef,

One of the things that I do all of the time when trying to debug 
particularly difficult problems is to keep a "bug notebook".  My "bug 
notebook" is a text file where I record information gleaned from an 
inspector intermixed with comments, code and observations...


I've attached an example from a couple of days ago (bug_notebook.txt).

The particular problem I am working on involves btree nodes being 
improperly updated during index object updates. Each btree node is 
basically a 2000+ element Array ... so there is a lot of data to deal 
with .


In the notebook, I extract the interesting entries from the btree node 
and record the original set of values and then record the updated set of 
values and in this particular case I was able to "see" that after the 
update I had 4 entries that were not properly deleted ...


In addition to recording the interesting chunks of large data 
structures, I often end up with chunks of stacks from the debugger, 
copies of a inspector panes in my "bug notebooks" and chunks of code ...


Over the last several weeks I have been tackling different sets of bugs 
in this same area and I have been keeping a time-stamped log of the work 
that I've done along the way (analysis_notebook.txt) ... in this 
notebook I've bee recording test results and branch/SHA information so 
that I can easily reference different versions of methods as I work 
through fixing bugs and managing regressions ... There's  a section in 
the notebook where I've record performance information, so that when I 
have finished work on this set of bugs, I can evaluate how I've impacted 
performance ... Finally at the very bottom of the notebook, I've 
recorded a simple todo-list ...


The  notebooks are on a shared disk so that I can access and update the 
"bug notebook" when I am working from home on a mac or at work from a 
linux box ...


I rely on the fact that I am working with text and not images ... since 
I like to copy and paste as well as search for particular strings in the 
data from the inspector ... in the bug_notebook  I searched for the 
`victim` string in the text output  from an inspector ...


I have come to really depend upon bug notebooks when addressing 
difficult bugs and I think that support for creating and maintaining bug 
notebooks would be a valuable addition the the debugging arsenal...


Dale

On 03/09/2017 10:50 AM, stepharong wrote:

Thanks you all.

The idea is that we want to see how we cn improve our debugging arsenal.
So it is important that your scenario give use some hints.
It is difficult to convey what we are really looking for :)



Hi guys

During the DSU workshop we were brainstorming about what are the
most difficult bugs we faced and what are the conceptual tools
that would have helped you.

Stef




--
Using Opera's mail client: http://www.opera.com/mail/


tMultiEnumeratedIndexUpdateD_ModifyingInstVarAtOffset_to
dkh 3/8/2017 16:14
--
Step one is to understand how things were removed incorrectly ... and then go 
from there
-
victim key value: commonAssoc.
commonAssoc-> -63.00->63.00
commonBinding  -> 63.00
victim -> -60.00->60.00->-63.00->63.00->-60.00->60.00->-63.00->63.00
-
  reachable:
1@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
2@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
3@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
4@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
-
-
dkh 3/8/2017 16:14
--
-
before update:
victim -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
-
73@   -> -60.00->-60.00
74@   -> -60.00
75@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
76@   -> -60.00->-60.00
77@   -> -60.00
78@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
79@   -> -60.00->-60.00
80@   -> -60.00
81@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
82@   -> -60.00->-60.00
83@   -> -60.00
84@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
85@   -> -60.00->60.00
86@   -> -60.00
87@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
88@   -> -60.00->60.00
89@   -> -60.00
90@   -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
---
1507@ -> -60.00->60.00
1508@ -> 60.00
1509@ -> -60.00->60.00->-60.00->-60.00->-60.00->60.00->-60.00->-60.00
1510@ -> -60.00->60.00
1511@ ->

Re: [Pharo-users] [Pharo-dev] What is the craziest bug you ever face

2017-03-09 Thread Holger Freyther

> On 9 Mar 2017, at 12:36, Stephane Ducasse  wrote:
> 
> Hi guys
> 
> During the DSU workshop we were brainstorming about what are the most 
> difficult bugs we faced and what are the conceptual tools that would have 
> helped you.

Tracking down a problem where a header file was like this

struct touch_screen_event {
#ifdef SOME_FLAG
... other fields
#endif
int x;
int y;
int pressure;
};

The touchscreen library was compile with -DSOME_FLAG but the code using that 
library didn't have the flag set. This means the code using the touchscreen 
events read x/y from the wrong offset in memory. The example work of the 
touchscreen library worked while the real user didn't. It would have helped to 
embed struct sizes and offsets into the shared library to find differences at 
link time.

---

Keyboard handling in kdrive (an Xserver for embedded/mobile usage): After 
plugging/unplugging USB into the device, the keyboard started to generate wrong 
keycodes. In Linux (depending on your keyboard mode) every key event is 
represented as a byte(?). This worked for a long time but then keyboards 
started to have more keys. So a special key value is used to indicate that a 
multi byte sequence will follow. As it turns out plugging/unplugging generated 
a multi-byte keyboard event...

Not sure what would have helped? :)






Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread stepharong

Thanks you all.

The idea is that we want to see how we cn improve our debugging arsenal.
So it is important that your scenario give use some hints.
It is difficult to convey what we are really looking for :)




Hi guys

During the DSU workshop we were brainstorming about what are the most  
difficult bugs we faced and what are the conceptual tools that would  
have helped you.


Stef




--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Igor Stasenko
I don't think my reply will be anything useful, but as to me the most
craziest bug is metabug, i.e. when
system doesn't provides any means to debug things. :)

As for regular bugs .. it is quite hard to remember anything i wasn't able
to deal with, given enough time & effort, and then emphasize single case
over the rest.
And since human brains tend to forget unpleasant things, there's not much
details to tell and remember.



On 9 March 2017 at 13:36, Stephane Ducasse  wrote:

> Hi guys
>
> During the DSU workshop we were brainstorming about what are the most
> difficult bugs we faced and what are the conceptual tools that would have
> helped you.
>
> Stef
>



-- 
Best regards,
Igor Stasenko.


Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread stepharong

excellent

On Thu, 09 Mar 2017 11:02:59 +0100, Marcus Denker   
wrote:


Hi, I added http://pharo.org/TechTalk This is linked from  
http://pharo.org/community The idea is to keep a log of all past tech  
talks with links to the archival recording (if there is one). >Marcus




--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] Moving from Slack to Discord

2017-03-09 Thread Sean P. DeNigris
kilon.alios wrote
> https://discord.gg/F6nAd

That link does not work. The new one is http://discord.gg/Sj2rhxn



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Moving-from-Slack-to-Discord-tp4914751p4938020.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Voyage and Date

2017-03-09 Thread Hilaire

  
  
Hi, 

Bellow a digest I compiled regarding problems met with Voyage,
  and its resolutions, all documented  through messages in the
  mailing list (hello Slat ;)

Hilaire

Le 05/03/2017 à 09:49, Hilaire a
  écrit :


  Hi Stephan,

I am maintaining such a digest, with links to the discussion on the
list. I will post it once I am done with Voyage.

Hilaire


Voyage
Feedback on its
  installation and use:

  MongoDB get installed and running easily


  Get a hard time installing it from the official configuration
browser, it required an update to Seaside which in turn does not
work. Fight for a couple of days to get it installed.http://forum.world.st/Latest-Voyage-for-Pharo4-tp4934769p4935335.html


  Got hanging Voyage, need to use the latest version and not the
one from the Configuration browser http://forum.world.st/Voyage-hang-tp4935341.html


  Instance will not synchronize between several Voyage
repository: you need to stick to one repo or use id to link data
between repo, like good old Sql http://forum.world.st/Voyage-Unique-vs-Multiple-repo-tt4935133.html


  Get back an object to its repository value, not sure about
this one http://forum.world.st/Voyage-refreshing-an-object-back-to-its-repository-state-tp4935881.html


  Have difficulties to iterate over a fetched object attributes,
to me Voyage does not behave as expected http://forum.world.st/Voyage-and-instances-retrieving-tt4936868.html.
Here is a test to expose the problem http://forum.world.st/Test-for-Voyage-failure-to-materialize-in-some-situation-tt4938014.html


  Got a one day shift when saving/loading a date http://forum.world.st/Voyage-and-Date-tp4937235.html


  Meet broken class, not sure what it is about http://forum.world.st/Voyage-VOToOneDescription-or-VOMongoToOneDescription-tp4936998.html


  Association and dictionary need to be on elementary form with
key a string and value a numeric, otherwise you can not save it.
There is a work around http://forum.world.st/Voyage-and-Association-tt4936673.html#a4936694


  Scaled Decimal will mostly not be persisted. If you are doing
arithmetic computing and exact value is needed, you will end
with a too large integer error from Voyage (for the fraction
den/num representing your exact value). You have no choice but
to use float http://forum.world.st/Voyage-and-Scaled-decimal-tt4936625.html


  Voyage singleton repository and Seaside are reported to work
together just fine http://forum.world.st/Voyage-and-seaside-tt4935946.html


  When editing and saving a client model, I got a duplicated
object in the Participant collection. http://forum.world.st/Voyage-and-duplicated-entry-tt4937268.html


  You need an adaptor for your Date attributes: to convert back
from the DateAndTime saved form in Mongo http://forum.world.st/Voyage-save-Date-get-back-DateAndTime-bug-tt4703601.html,
but there is issue with a shifted date of one day, really!?


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





Re: [Pharo-users] [Pharo-dev] What is the craziest bug you ever face

2017-03-09 Thread Max Leske
Fixing a race condition in handling open sockets when forking an image. At 
first I had no clue where the problem could come from, then I spent a lot of 
time guessing at the conditions (of course, being a race condition there was no 
means to force the specific condition but I didn't know that yet).

Over all I spent about 6 weeks on this bug and finally fixed it by creating a 
new primitive to handle that specific case. I'm not sure what tools could have 
helped me as this was a rather specific problem (OSProcess). But the hardest 
problems in my experience are usually concurrency / asynchrony (e.g. race 
conditions) or bugs in libraries (where you always assume that you must have 
made a mistake, never the library).

Max

> On 9 Mar 2017, at 12:36, Stephane Ducasse  wrote:
> 
> Hi guys
> 
> During the DSU workshop we were brainstorming about what are the most 
> difficult bugs we faced and what are the conceptual tools that would have 
> helped you.
> 
> Stef




[Pharo-users] 2017: Call for participation

2017-03-09 Thread Tim Molderez


---
  2017 : The Art, Science, and Engineering of Programming

   April 3-6, 2017, Brussels, Belgium
   http://2017.programming-conference.org
---

We are excited to welcome you to  2017, a new conference 
focused on everything to do with programming. It takes place at the 
Vrije Universiteit Brussel, Belgium on April 3-6. The  
conference is closely associated with the open-access journal "The Art, 
Science, and Engineering of Programming". The journal's first two 
issues form the conference's research track, which means you can freely 
access all papers presented at the conference before it even starts! 
Along with the research track,  2017 features a program 
with two main keynotes, two symposia, eight workshops, a coding dojo, a 
demo track, and a student research competition.


To catch a glimpse of what  2017 has to offer, feel free to 
have a look at our overview video:

https://www.youtube.com/watch?v=GM_hLNW4ioE

***
 Program highlights
***

Main conference:
 - Keynote: "Live Literate Programming" by Gilad Bracha
 - Keynote: "How Racket Went Meta" by Matthew Flatt
 - Research track: 18 full papers
 - Demonstrations: 10 tool demos
 - ACM Student Research Competition: 8 entries

Co-located events:
 - 10th European Lisp Symposium: 2 keynotes by Hans Hübner and Bohdan 
Khomtchouk, ~18 papers (not final yet)
 - Modularity 2017: 8 invited talks by Jörg Kienzle, Shmuel Katz, Mira 
Mezini, Bedir Tekinerdogan, Stéphane Ducasse, Uwe Aßmann, Lodewijk 
Bergmans and Mario Südholt
 - CoCoDo - RainCode Labs Compiler Coding Dojo: code together with 
experts Adrian Johnstone, Elizabeth Scott, Robby Findler, and more to come!

 - LASSY - Workshop on Live Adaptation of Software SYstems
 - MiniPLoP - Mini Pattern Languages of Programs writers' workshop
 - MOMO - Workshop on Modularity in Modeling
 - MoreVMs - Workshop on Modern Language Runtimes, Ecosystems, and VMs
 - PASS - Workshop on Programming Across the System Stack
 - PX - Workshop on Programming Experience
 - ProWeb - Programming Technology for the Future Web
 - Salon des Refusés workshop

Social events:
 - Beer reception at the conference venue (April 3rd)
 - Reception at the Musical Instruments Museum (April 4th)
 - Banquet at the Natural Sciences Museum (April 5th)

***
 Registration, attendance and accommodation
***

 - You can register for  2017 at: 
http://2017.programming-conference.org/attending/registration
 - Early registration ends soon! Please register before March 13th to 
obtain the early-bird discount.
 - More information on attending the conference is available at: 
http://2017.programming-conference.org/attending/reaching-the-conference
 - More information on accommodation is available at: 
http://2017.programming-conference.org/attending/accomodation


***
 About Brussels
***

Brussels is the capital of Belgium, and home to the headquarters of the 
European Union. Despite its European nature and all the different 
languages spoken on every street corner, Brussels still has a very 
"village-like" character. It's well known for its Grand-Place, its 
Atomium, its Manneken-Pis, its Gueuze and its Kriek, its waffles and its 
chocolates. Be sure to take some time off to soak up the special 
atmosphere of its many different districts: Take a stroll to Rue 
Dansaert, Halles Saint-Géry, and Place Sainte-Catherine. Head for 
Saint-Boniface, Châtelain, or Flagey. In other words, go ahead and 
relish Brussels, a fine and beautiful city to explore and discover.


---

For more information, please visit http://2017.programming-conference.org
You can also find us on Twitter (twitter.com/programmingconf) and 
Facebook (facebook.com/programmingconf)


Looking forward to see you in Brussels,

Theo D'Hondt (General chair), Wolfgang De Meuter (Organizing chair), 
Crista Lopes (Program chair), Jörg Kienzle, Ralf Lämmel, Hidehiko 
Masuhara, Tim Molderez, Tobias Pape, and Jennifer Sartor





Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Nicolai Hess
2017-03-09 12:36 GMT+01:00 Stephane Ducasse :

> Hi guys
>
> During the DSU workshop we were brainstorming about what are the most
> difficult bugs we faced and what are the conceptual tools that would have
> helped you.
>
> Stef
>

https://pharo.fogbugz.com/f/cases/14332/use-ast-not-parseTree-so-we-benefit-from-the-ASTCache#BugEvent.113561
Running a RBLintRule modified the (cached) AST of this methods code. So,
even if the compiled method did not changed, and the "real" source code did
not changed, you actually see
the source code from the modified AST.

There are a couple of things which went wrong resp. make this bug difficult:
1. A LintRule that just should *check* the code, actually created a
transformation somewhere behind the scene (Ok, it is a
RBTransformationRule, and originally used for code refactoring as well)
2. As long as we *analyze* code, the real code (string/ast/source) should
be considered immutable
3. the modified AST was cached
4. what-you-see-is-not-what-you-get. We are (or I am) used to consider the
system browser a tool for view and edit methods source code. If the code we
see isn't actually the methods source, but another representation of some
kind of (cached) model (formatted AST-node-source code), it would be good
to have some way to indicate this (switch between "raw"-code / model-code /
ast-node-code).


Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread Dimitris Chloupis
I live to serve :D

On Thu, Mar 9, 2017 at 2:40 PM Esteban Lorenzano 
wrote:

> thanks @kilon, I will upload them to youtube and add to list/archive
>
> On 9 Mar 2017, at 13:07, Dimitris Chloupis  wrote:
>
> I kept the first few talks in this repo
>
> https://gitlab.com/Kilon/pharo-techtalks/tree/master
>
> I have mentioned it before but I mention it once again to remind people or
> maybe you want to add those to the website. Its easy to link directly to
> each audio file if you want.
>
> On Thu, Mar 9, 2017 at 1:14 PM Esteban Lorenzano 
> wrote:
>
> … and I moved techtalks from http://pharo.org/community to
> http://pharo.org/documentation (because I think it belongs there).
>
> Esteban
>
>
> On 9 Mar 2017, at 11:56, Esteban Lorenzano  wrote:
>
> and I made a youtube playlist:
>
> https://www.youtube.com/playlist?list=PL4actYd6bfnx8l8cqYWhdNB6gJgRvk5sH
>
> cheers,
> Esteban
>
> On 9 Mar 2017, at 11:02, Marcus Denker  wrote:
>
> Hi,
>
> I added
>
> http://pharo.org/TechTalk
>
> This is linked from http://pharo.org/community
>
> The idea is to keep a log of all past tech talks with links to the
> archival recording (if there is one).
>
> Marcus
>
>
>
>
>


Re: [Pharo-users] How to remove a class ?

2017-03-09 Thread teso...@gmail.com
You can send the message #removeFromSystem to the class.

Cheers

On Thu, Mar 9, 2017 at 1:44 PM, Hilaire  wrote:

> Hi,
>
> One creates by code a new class with: "Object subclass: #Situation".
> What is the counter part API to remove it from the system?
>
> Thanks
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] How to remove a class ?

2017-03-09 Thread Hilaire
Hi,

One creates by code a new class with: "Object subclass: #Situation".
What is the counter part API to remove it from the system?

Thanks

Hilaire

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




Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread Esteban Lorenzano
thanks @kilon, I will upload them to youtube and add to list/archive

> On 9 Mar 2017, at 13:07, Dimitris Chloupis  wrote:
> 
> I kept the first few talks in this repo 
> 
> https://gitlab.com/Kilon/pharo-techtalks/tree/master 
> 
> 
> I have mentioned it before but I mention it once again to remind people or 
> maybe you want to add those to the website. Its easy to link directly to each 
> audio file if you want. 
> 
> On Thu, Mar 9, 2017 at 1:14 PM Esteban Lorenzano  > wrote:
> … and I moved techtalks from http://pharo.org/community 
>  to http://pharo.org/documentation 
>  (because I think it belongs there). 
> 
> Esteban
> 
> 
>> On 9 Mar 2017, at 11:56, Esteban Lorenzano > > wrote:
>> 
>> and I made a youtube playlist: 
>> 
>> https://www.youtube.com/playlist?list=PL4actYd6bfnx8l8cqYWhdNB6gJgRvk5sH 
>> 
>> 
>> cheers,
>> Esteban
>> 
>>> On 9 Mar 2017, at 11:02, Marcus Denker >> > wrote:
>>> 
>>> Hi,
>>> 
>>> I added
>>> 
>>> http://pharo.org/TechTalk 
>>> 
>>> This is linked from http://pharo.org/community 
>>> 
>>> The idea is to keep a log of all past tech talks with links to the archival 
>>> recording (if there is one).
>>> 
>>> Marcus
>>> 
>>> 
>> 
> 



Re: [Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Dimitris Chloupis
For me it was when I was making the CPP library. CPP for those that do not
know is a library I made that allows Pharo to control a C++ application.
Its a very simple IPC bridge using shared memory mapped files.

I was surprised how easy it was to make it from the C++ side
Pharo side was a different story. UFFI is brilliantly simple to use BUT, as
much as the Pharo rocks for debugging Pharo code it works under one caveat.

The caveat being that your code makes no usage of UFFI or any FFI. Because
the Pharo debugger has no means to debug UFFI. People may not realize it
but practically UFFI is C coding. It make look like your usual Pharo code
but make no mistake its C all the way. So the practice is to make sure the
code works in C first.

However if it works in C but for some strange reason it makes Pharo freak
out you are all by yourself. Pharo code that can crash Pharo is the one
that needs debugging the most.

So to find these bug which fortunately there were not many I had to crash
Pharo countless times and move extremely slow and step by step. None the
less I success was the final result and I learned a ton in the process.

On Thu, Mar 9, 2017 at 1:38 PM Stephane Ducasse 
wrote:

> Hi guys
>
> During the DSU workshop we were brainstorming about what are the most
> difficult bugs we faced and what are the conceptual tools that would have
> helped you.
>
> Stef
>


Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread Dimitris Chloupis
I kept the first few talks in this repo

https://gitlab.com/Kilon/pharo-techtalks/tree/master

I have mentioned it before but I mention it once again to remind people or
maybe you want to add those to the website. Its easy to link directly to
each audio file if you want.

On Thu, Mar 9, 2017 at 1:14 PM Esteban Lorenzano 
wrote:

> … and I moved techtalks from http://pharo.org/community to
> http://pharo.org/documentation (because I think it belongs there).
>
> Esteban
>
>
> On 9 Mar 2017, at 11:56, Esteban Lorenzano  wrote:
>
> and I made a youtube playlist:
>
> https://www.youtube.com/playlist?list=PL4actYd6bfnx8l8cqYWhdNB6gJgRvk5sH
>
> cheers,
> Esteban
>
> On 9 Mar 2017, at 11:02, Marcus Denker  wrote:
>
> Hi,
>
> I added
>
> http://pharo.org/TechTalk
>
> This is linked from http://pharo.org/community
>
> The idea is to keep a log of all past tech talks with links to the
> archival recording (if there is one).
>
> Marcus
>
>
>
>


[Pharo-users] What is the craziest bug you ever face

2017-03-09 Thread Stephane Ducasse
Hi guys

During the DSU workshop we were brainstorming about what are the most
difficult bugs we faced and what are the conceptual tools that would have
helped you.

Stef


Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread Esteban Lorenzano
… and I moved techtalks from http://pharo.org/community 
 to http://pharo.org/documentation 
 (because I think it belongs there). 

Esteban

> On 9 Mar 2017, at 11:56, Esteban Lorenzano  wrote:
> 
> and I made a youtube playlist: 
> 
> https://www.youtube.com/playlist?list=PL4actYd6bfnx8l8cqYWhdNB6gJgRvk5sH 
> 
> 
> cheers,
> Esteban
> 
>> On 9 Mar 2017, at 11:02, Marcus Denker > > wrote:
>> 
>> Hi,
>> 
>> I added
>> 
>> http://pharo.org/TechTalk 
>> 
>> This is linked from http://pharo.org/community 
>> 
>> The idea is to keep a log of all past tech talks with links to the archival 
>> recording (if there is one).
>> 
>>  Marcus
>> 
>>  
> 



Re: [Pharo-users] [Pharo-dev] Archive Page for Pharo TechTalks

2017-03-09 Thread Esteban Lorenzano
and I made a youtube playlist: 

https://www.youtube.com/playlist?list=PL4actYd6bfnx8l8cqYWhdNB6gJgRvk5sH 


cheers,
Esteban

> On 9 Mar 2017, at 11:02, Marcus Denker  wrote:
> 
> Hi,
> 
> I added
> 
> http://pharo.org/TechTalk 
> 
> This is linked from http://pharo.org/community 
> 
> The idea is to keep a log of all past tech talks with links to the archival 
> recording (if there is one).
> 
>   Marcus
> 
>   



[Pharo-users] Archive Page for Pharo TechTalks

2017-03-09 Thread Marcus Denker
Hi,

I added

http://pharo.org/TechTalk 

This is linked from http://pharo.org/community 

The idea is to keep a log of all past tech talks with links to the archival 
recording (if there is one).

Marcus