[Pharo-users] ConfigurationOfSandstoneDb

2014-10-22 Thread Torsten Bergmann
Hi Mike,

attached is an updated version:
- Packages should have corrected dependencies in ConfigurationOfSandstoneDb
- also when 1.0 is released the development is 2.0-baseline always as one
  version is released and you load on the next upcoming. As it is the baseline
  it will load all

At least this is also how Versioner works with the config, open it in the 
Versioner tool in 3.0.
I can not commit, maybe you add it/upload it to the repo.
Also put it into MetaRepoForPharo30 so it appears in the config browser as Stef 
suggested.


I did not create groups (usually we could/should have one for each possible 
combination 
usage of SandStoneDB, for instance one for Goods, one for Fuel, ...also tests 
separated from core etc).

I think the packages are not yet correctly cutted (for instance 
SandstoneDbFileSystemStore
includes the store AND the tests). Usually tests should be in an own package, 
so one can load
them separately. 
This way you could have a Core group for loading the basics you need at 
runtime
and a group Tests that allows you to load the packages including the Tests 
when developing.

Bye
T. 


ConfigurationOfSandstoneDb-TorstenBergmann.5.mcz
Description: Binary data


Re: [Pharo-users] [Ann] Phratch 4.0

2014-10-22 Thread jannik laval
Thank you Hilaire.

I just fixed that.
I am rebuilding the one-click.

You can try again in 1 hour.

Cheers,
Jannik

2014-10-21 12:36 GMT+02:00 Hilaire hila...@drgeo.eu:

 Le 21/10/2014 07:07, jannik laval a écrit :
 
  Could you try phratch and say me what do you expect.
  Then explain me what is not working.
 


 AS you indicated me, I create an Arduino sprite, then when I click on
 the Arduinio block category I have an out of bounds error. See changelog

 Hilaire

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




-- 

~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/


Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Tudor Girba
You are welcome. You should expect more in this direction.

Doru

On Wed, Oct 22, 2014 at 11:02 AM, kilon alios kilon.al...@gmail.com wrote:

 very good feature that I was completely unaware of. I have actually
 examples in my Ephestos project that are at class side but I use ex instead
 of example. This will come very handy for my users thanks :)

 On Wed, Oct 22, 2014 at 11:43 AM, Tudor Girba tu...@tudorgirba.com
 wrote:

 Hi Torsten,

 Thanks for this. This is indeed the way to go.

 Just to let you know, the example infrastructure is also being developed
 in the context of GT, so we have a healthy interest overlap which is great.
 Only in our case, the discovery of the example happens through an example
 pragma. Would it be possible to change your slice to use this pragma
 instead of the example* convention?

 Cheers,
 Doru



 On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de wrote:

 One addition I implemented for Nautilus is that one can run examples
 directly
 in the browser just by clicking on class side example methods icons.

 See
 https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus
 for a picture.


 SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE
 CLASS SIDE
AND LET THE SELECTOR START WITH example.

 This way people will easily see that it is an example and can run them.
 Additionally it
 would help to put them into a category like examples. So be a good
 citized and
 provide not only class comments but also examples for others to study.


 Side note:
 ==
 It is also possible to click on the icon of class side initialize
 methods so the
 class get reinitialized (after a confirmation to avoid false clicking).


 https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus

 Both issues are already integrated.




 --
 www.tudorgirba.com

 Every thing has its own flow





-- 
www.tudorgirba.com

Every thing has its own flow


Re: [Pharo-users] [Ann] Phratch 4.0

2014-10-22 Thread Hilaire
Great!

One more point to consider, the left panel, containing all the bricks,
looks to me too narrow: you have to use the horizontal slider to reveal
all the brick views. Not sure it is easy to make it larger, or even
better make it resize-able

Thanks

Hilaire

Le 22/10/2014 11:06, jannik laval a écrit :
 Thank you Hilaire.
 
 I just fixed that.
 I am rebuilding the one-click.
 
 You can try again in 1 hour.
 


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




[Pharo-users] Package Browser

2014-10-22 Thread Hans Schueren

Hallo fellows,

i have just started with smalltalk programming Pharo.

Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,

it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans








[Pharo-users] Package Browser 2

2014-10-22 Thread Hans Schueren











Thank you for the answer.

I have chosen   FILE OUT .

Let me aks :  Who is the file then. On what location ? 

I only have seen that Pharo has make a snapshot of the

  Package-Class-Protokoll-Methods.

After this snapshot the printer is not started.

Therfore i suppose that a File has been made in any Folder.


Regards

Hans







Hallo fellows,

i have just started with smalltalk programming Pharo.

Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,

it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans








Re: [Pharo-users] Package Browser

2014-10-22 Thread Craig
Hans,

Welcome to Pharo.

The simplest way that I've found to do this is to File Out the class.  Simply 
right-click on the class and select file-out  This gives you a text file on the 
disk which you can open in a normal text editor and print.  Look for a new file 
in the same directory as your image called classname.st.

Craig


-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
Hans Schueren
Sent: 22 October 2014 11:49 AM
To: pharo-users@lists.pharo.org
Subject: [Pharo-users] Package Browser

Hallo fellows,

i have just started with smalltalk programming Pharo.

Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,

it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans









Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Torsten Bergmann
Hi Tudor,

that should be easy now: look at CompiledMethod#isExampleMethod which can be 
adopted as needed.

Checking for the example pragma could be done this way:

   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]

but we should think first if this is enough.

I already proposed to not only annotate with a pragma example but 
additionally give a category.
Like this:

   example: 'Graphics'
   example: 'Network'

This way we can easily build an example browser for our users where people can 
go through
their point of interest and browse the examples.

Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
Smalltalk 
like:
 
   Example category: 'Graphics'

where Example is a real class in the system (!). One can even make it more 
explicit 
then 

   ExampleCategory graphics

with ExampleCategory(class)graphics returning a translateable string. People 
can add
own categories and one easily knows about already available ones.


Now that classes can have properties in Pharo 4.0 already I would like to see a 
unification
for methods and classes here (with the general concept of an Annotation in 
our metamodel). 

In my opinion a method pragma is just a special form of annotating a method. 

And annotating classes is usefull as well (for instance you want to annotate a 
class with
the appropriate Table name in an ORM framework, ...)

A comment (in a method or in a class) is also nothing more than a special 
annotation.
A class/method category is also an annotation. If unified a method or a class 
could
be in one or more categories. Even a break point for an expression is IMHO just 
an 
annotation.   

Bye
T.


Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
Von: Tudor Girba tu...@tudorgirba.com
An: Pharo Development List pharo-...@lists.pharo.org
Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods in 
Pharo 4.0

Hi Torsten,
 
Thanks for this. This is indeed the way to go.
 
Just to let you know, the example infrastructure is also being developed in the 
context of GT, so we have a healthy interest overlap which is great. Only in 
our case, the discovery of the example happens through an example pragma. 
Would it be possible to change your slice to use this pragma instead of the 
example* convention?
 
Cheers,
Doru
 
 
 
On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de wrote:One 
addition I implemented for Nautilus is that one can run examples directly
in the browser just by clicking on class side example methods icons.

See 
https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
for a picture.


SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS 
SIDE
           AND LET THE SELECTOR START WITH example.

This way people will easily see that it is an example and can run them. 
Additionally it
would help to put them into a category like examples. So be a good citized and
provide not only class comments but also examples for others to study.


Side note:
==
It is also possible to click on the icon of class side initialize methods so the
class get reinitialized (after a confirmation to avoid false clicking).

https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus]

Both issues are already integrated.
  
 --
www.tudorgirba.com[http://www.tudorgirba.com]
 
Every thing has its own flow



Re: [Pharo-users] Package Browser 2

2014-10-22 Thread Sven Van Caekenberghe

 On 22 Oct 2014, at 12:19, Hans Schueren werb...@hans-schueren.de wrote:
 
 
 Thank you for the answer.
 
 I have chosen   FILE OUT .
 
 Let me aks :  Who is the file then. On what location ? 
 
 I only have seen that Pharo has make a snapshot of the
 
  Package-Class-Protokoll-Methods.
 
 After this snapshot the printer is not started.
 
 Therfore i suppose that a File has been made in any Folder.
 
 
 Regards
 
 Hans

The file out is written in the directory where your image is located. In Pharo 
4, you get a notification of this.

But again, although this works, and can be filed in again, it will not result 
in something that is very human readable or nicely printable.

Printing source code is not done very often nowadays, in any 
environment/language.

I know it is a typical request for those new to Pharo Smalltalk to be able to 
'hold' your source code, but really, after a while you will no longer want 
this. There are other ways to 'package' your source code (Monticello and 
friends).

 Hallo fellows,
 
 i have just started with smalltalk programming Pharo.
 
 Could you help me in one question please ?
 
 Its simple :
 
 After already performed a own NEW CLASS in the class browser ,
 
 it is very convenient to PRINT OUT the complete Class ,
 
 together with protokoll and methods in a  LIST FORM ,
 
 in HARD COPY on a Printer.
 
 
 Just to have the class and see it on real paper.
 
 
 I couldnt find any advice in books or help.
 
 
 
 
 regards
 
 Hans
 
 
 
 
 
 




Re: [Pharo-users] ConfigurationOfSandstoneDb

2014-10-22 Thread mikefilonov
I think I have no access to the MetaRepoForPharo30 repository. What should I
do?



--
View this message in context: 
http://forum.world.st/ConfigurationOfSandstoneDb-tp4785703p4785935.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] ConfigurationOfSandstoneDb

2014-10-22 Thread Sven Van Caekenberghe
I guess you have to be part of team Pharo on StHub, what is your account id ?

 On 22 Oct 2014, at 12:52, mikefilonov mikefilo...@gmail.com wrote:
 
 I think I have no access to the MetaRepoForPharo30 repository. What should I
 do?
 
 
 
 --
 View this message in context: 
 http://forum.world.st/ConfigurationOfSandstoneDb-tp4785703p4785935.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
 




Re: [Pharo-users] ConfigurationOfSandstoneDb

2014-10-22 Thread Sven Van Caekenberghe
I added you to the Pharo team on StHub

 On 22 Oct 2014, at 13:28, mikefilonov mikefilo...@gmail.com wrote:
 
 My account is mikefilonov
 
 Thank you
 
 
 
 --
 View this message in context: 
 http://forum.world.st/ConfigurationOfSandstoneDb-tp4785703p4785945.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
 




Re: [Pharo-users] Package Browser 3

2014-10-22 Thread Sven Van Caekenberghe

 On 22 Oct 2014, at 14:00, kilon alios kilon.al...@gmail.com wrote:
 
 nothing wrong in doing things the old / analogue way but pharo offers a 
 variety of tools to help you visualise and understand code. 
 
 One example is when you want to know how one class is a subclass from 
 another. Browser has a separate view for this called Hierarchy view. 
 
 Another is when methods are get overriden either in the class you currently 
 viewing or in a subclass, browser has special icons to inform you of that.  
 Clicking on those icons will send you to the overriding methods. 
 
 If the method has a test you can use as an example there would be an icon for 
 it too, clicking it will run the test for you.
 
 What if you see a method used and you want to look into its definition ? You 
 can use the browser to do that or your printer paper but right clicking on 
 the method and going directly to its definition is way faster also it will 
 show you what other class defines such method.
 
 Then of course you have the finder tool that allows you to search using just 
 a few letters methods, classes and source and even allows you to provide an 
 end result and gives back which method can produce that end result etc
 
 The bottom line is that there are many pharo tools at your disposal and they 
 are extremely powerful. 
 
 There are also a lot of third party tools as well, for example if you want to 
 create a diagram of the algorithm of an application / package you can do that 
 using Roassal. 
 
 So I would say for time being stick with Pharo learn the tools and if you are 
 not happy then print code and use your pen to create diagrams of its logic. 

Good overview and advice, Kilon - just give it a try, Hans.

And in any case, draw pictures and take notes on paper while your browsing and 
studying the code, that always helps.

 On Wed, Oct 22, 2014 at 1:56 PM, Hans Schueren werb...@hans-schueren.de 
 wrote:
 
 
 Just one thing for description of the hardcopy :
 
 Yes ;  a browser inside the system is much better.
 
 
 The only reason to make a hardcopy in the form of a list is to
 
 have a Analog view of the interdependencies of the whole package.
 
 
 You know that in the job as electrician.
 
 You can measure the power from a plug with
 
 a digital or with a analog meter. Or with a combination of that.
 
 
 I am only a beginner. But to have paper makes the opportunity to
 
 make lines and notes with interdependencies REAL in ONE view.
 
 
 Such like to make a flow diagram of the whole Software
 
 in Basic language. ( My languages are Smalltalk 80 and Liberty Basic. )
 
 
 
 Regards
 
 Hans
 
 
 
 
 
 
 
 
 
 
 
 Thank you for the answer.
 
 I have chosen   FILE OUT .
 
 Let me aks :  Who is the file then. On what location ? 
 
 I only have seen that Pharo has make a snapshot of the
 
   Package-Class-Protokoll-Methods.
 
 After this snapshot the printer is not started.
 
 Therfore i suppose that a File has been made in any Folder.
 
 
 Regards
 
 Hans
 
 
 
 
 
 
 
 Hallo fellows,
 
 i have just started with smalltalk programming Pharo.
 
 Could you help me in one question please ?
 
 Its simple :
 
 After already performed a own NEW CLASS in the class browser ,
 
 it is very convenient to PRINT OUT the complete Class ,
 
 together with protokoll and methods in a  LIST FORM ,
 
 in HARD COPY on a Printer.
 
 
 Just to have the class and see it on real paper.
 
 
 I couldnt find any advice in books or help.
 
 
 
 
 regards
 
 Hans
 
 
 
 
 
 
 




[Pharo-users] Package Browser 4

2014-10-22 Thread Hans Schueren






Hello again ,


i have searched for a new text file in the Pharo Image folder

that contains the printed version of my class.

There is no text file.


I have chosen the file out  option in Pharo version 3.0

and the book version  PBE one click 1.1.


At the moment i have only PBE in use for learning.
There is my new class created.


If you want i can make a screen video and sending with e-mail
of the File out session ,

that you can see , that there is no new text file.




regards

hans











Just one thing for description of the hardcopy :

Yes ;  a browser inside the system is much better.


The only reason to make a hardcopy in the form of a list is to

have a Analog view of the interdependencies of the whole package.


You know that in the job as electrician.

You can measure the power from a plug with

a digital or with a analog meter. Or with a combination of that.


I am only a beginner. But to have paper makes the opportunity to

make lines and notes with interdependencies REAL in ONE view.


Such like to make a flow diagram of the whole Software

in Basic language. ( My languages are Smalltalk 80 and Liberty Basic. )



Regards

Hans











Thank you for the answer.

I have chosen   FILE OUT .

Let me aks :  Who is the file then. On what location ? 

I only have seen that Pharo has make a snapshot of the

  Package-Class-Protokoll-Methods.

After this snapshot the printer is not started.

Therfore i suppose that a File has been made in any Folder.


Regards

Hans







Hallo fellows,

i have just started with smalltalk programming Pharo.

Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,

it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans








Re: [Pharo-users] [squeak-dev] Using libraries in FFI

2014-10-22 Thread p...@highoctane.be
Try to run pharo with strace.

That way you will see all syscalls including libraries opens that pharo
does attempt.

That's what I do when trying to figure out such things.

HTH
Phil



On Wed, Oct 22, 2014 at 2:45 PM, Annick Fron l...@afceurope.com wrote:

 Hi Eliot,

 My problem is not with the VM, my problem is with my own library
 that I connect to through FFI.
 I know where the libraries are !

 I have tried to add them in /etc/ld.so.conf.d , that does not work.
 I have tried export LD_LIBRARY_PATH, but somehow it erases some libraries
 needed by pharo.
 I have done sudo ldconfig ...

 In fact I have one library that depends from another one.
 In FFI I call one method which calls another method in the other library.
 I have tried to create symbolics links in the directory …
 I have checked that nm gives the right symbol with the right type ..

 So I have no idea what to try now !

 Annick

 Le 22 oct. 2014 à 12:46, Eliot Miranda eliot.mira...@gmail.com a écrit :

  Hi Annick,
 
  LD_LIBRARY_PATH should be set to point to the relevant directories,
 but this can be tricky as there is a lot if variation across Linux distros
 as to where libraries are kept.  The squeak script that comes with the Cog
 VMs extends LD_LIBRARY_PATH, so if you know where your libraries are you
 can use the script to find the other libraries the VM needs (c library and
 plugins).
 
  Eliot (phone)
 
  On Oct 22, 2014, at 2:55 AM, Annick Fron l...@afceurope.com wrote:
 
  Hi,
 
  I am using a module in FFI which depends on a large library let’s say
 10 dynamic .so files in a directory.
  How is it possible to use this library without making all symbolic
 links ?
 
  Annick
 






Re: [Pharo-users] Package Browser

2014-10-22 Thread stepharo


On 22/10/14 11:48, Hans Schueren wrote:

Hallo fellows,

i have just started with smalltalk programming Pharo.


Welcome.
This is a great journey. Take some time and ask all the questions you have.
Now be prepared to change your way of doing things and you will be 
really surprised :)


Stef


Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,


It is no really effective (In the future we will have a full class view 
instead of only a category view).

Now code printed is like dead corpse.
Try to play with senders and implementors because these are powerful 
tools to navigate fast your code.


it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans












[Pharo-users] Package Browser 4

2014-10-22 Thread Hans Schueren




Thank you for the information :


Yes , the  File with the extension  .st  is in the Pharo directory.

First i couldn't find it by supposing a .txt File.

I have opened the file with a office tool  JARTE.

Now it is easy to print my new class out.


Remember back when you are a beginner in programming.


I realised that Pharo has a huge  Tracking Tools for engineering 
concepts and code.


Only step by step learning is possible.


Thanks again , and have a nice week.

See you next time , for other Pharo matters , in this Cinema.



Hans












Hello again ,


i have searched for a new text file in the Pharo Image folder

that contains the printed version of my class.

There is no text file.


I have chosen the file out  option in Pharo version 3.0

and the book version  PBE one click 1.1.


At the moment i have only PBE in use for learning.
There is my new class created.


If you want i can make a screen video and sending with e-mail
of the File out session ,

that you can see , that there is no new text file.




regards

hans











Just one thing for description of the hardcopy :

Yes ;  a browser inside the system is much better.


The only reason to make a hardcopy in the form of a list is to

have a Analog view of the interdependencies of the whole package.


You know that in the job as electrician.

You can measure the power from a plug with

a digital or with a analog meter. Or with a combination of that.


I am only a beginner. But to have paper makes the opportunity to

make lines and notes with interdependencies REAL in ONE view.


Such like to make a flow diagram of the whole Software

in Basic language. ( My languages are Smalltalk 80 and Liberty Basic. )



Regards

Hans











Thank you for the answer.

I have chosen   FILE OUT .

Let me aks :  Who is the file then. On what location ? 

I only have seen that Pharo has make a snapshot of the

  Package-Class-Protokoll-Methods.

After this snapshot the printer is not started.

Therfore i suppose that a File has been made in any Folder.


Regards

Hans







Hallo fellows,

i have just started with smalltalk programming Pharo.

Could you help me in one question please ?

Its simple :

After already performed a own NEW CLASS in the class browser ,

it is very convenient to PRINT OUT the complete Class ,

together with protokoll and methods in a  LIST FORM ,

in HARD COPY on a Printer.


Just to have the class and see it on real paper.


I couldnt find any advice in books or help.




regards

Hans








Re: [Pharo-users] Pharo - OpenDBXDriver: Unsupported data type: UNKNOWN

2014-10-22 Thread Esteban Lorenzano
I do not remember exactly, but I think that the type of the column you are 
trying to parse is not known by the DBXTalk driver. 
The type looks like a DateAndTime so you should check what’s the code it comes 
and maybe add the type in the conversion table. 

Sorry not been able to be more clear, but I’m talking by memory here :)

Esteban

 On 21 Oct 2014, at 23:47, bsselfri...@gmail.com wrote:
 
 Whenever I try to select a table that has timestamp defined columns I'm
 getting the following error:
 
 OpenDBXDriverError: OpenDBXDriver: Unsupported data type: UNKNOWN, trying
 to parse 2011-03-31 17:38:35
 
 
 I've traced this down into the NBOpenDBX_ApiHodbx_column_type:pos: method.
 I don't know if this is a DBXTalk problem or an OpenDBX problem, or simply
 that OpenDBX does not support timestamp column types for MySQL database.
 
 My system is:
 
 Pharo 3.0.
 MySql
 DBXTalk
 
 
 Thanks,
 
 B Selfridge 
 
 
 
 --
 View this message in context: 
 http://forum.world.st/Pharo-OpenDBXDriver-Unsupported-data-type-UNKNOWN-tp4785813.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
 




Re: [Pharo-users] Citizen example for manipulating a bibtex file

2014-10-22 Thread Offray Vladimir Luna Cárdenas

Hi,

Thanks again. I have a small script, using Citezen which does the trick. 
I can explore and modify the BibTeX File from the playground with this:


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| bibFile bibliography bibStream bibOutputer |
bibFile := ((FileLocator documents / 'U/Libertadores/Grafoscopio') children
detect: [:each | each basename endsWith: 'bib' ]).
bibliography := CZBibParser parse: bibFile contents.
bibStream := '' writeStream.
1 to: (bibliography size) do: [:index |
   (((bibliography entries at: index) fields at: 2) key = 'shorttitle')
   ifTrue: [
 (bibliography entries at: index)
key: ((bibliography entries at: index) fields at: 2) value].
   bibOutputer := CZBibtexOutputer new.
   bibStream nextPutAll:
  (bibOutputer entryToBibtexString:
(bibliography entries at: index)); cr.].
bibliography.
bibFile writeStreamDo: [:stream |
   stream nextPutAll: bibStream contents withUnixLineEndings ].
bibStream contents.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

I will put some functionality inspired by this on my prototype this weekend.

Cheers,

Offray

On 10/21/2014 01:20 AM, stepharo wrote:

Check in the tools there is a bib writer.

Stef

On 21/10/14 03:33, Offray Vladimir Luna Cárdenas wrote:

Thanks Stef and Damien,

I have this small script as a proof of concept:

===
| bibFile bibliography |
bibFile := ((FileLocator documents / 'U/Libertadores/Grafoscopio')
children
detect: [:each | each basename endsWith: 'bib' ]) contents.
bibliography := CZBibParser parse: bibFile.
1 to: (bibliography size) do: [:index |
(((bibliography entries at: index) fields at: 2) key = 'shorttitle')
ifTrue: [
(bibliography entries at: index)
key: ((bibliography entries at: index) fields at: 2) value
]].
bibliography.
===

Now I want to write back the corrected file to the .bib ... just
having problems finding which message does the job. I'll keep searching.

Cheers,

Offray

On 10/16/2014 06:40 AM, Damien Cassou wrote:

from Damien Pollet:

You will need to load the .bib file from zotero (read the file however
you like, then pass the stream to the CZ parser). You'll get a
CZBibSet (I don't recall the name exactly) which represents the
contents of the file. A Set is composed of entries, each of which has
a key and a set of fields. Finally, fields accept a few different
kinds of values.

Your processing is just iterating a set then setting the key of each
entry (or possibly removing and re-adding the entry, I don't recall if
it's implemented like a dictionary or more like a list).


On Mon, Oct 13, 2014 at 2:57 AM, Offray Vladimir Luna Cárdenas
off...@riseup.net mailto:off...@riseup.net wrote:

 Hi,

 I'm using a Zotero collection for keeping track of several
references I have
 found for my article about the experience of the
outline/tree-like metaphor
 for writing inside Pharo (as soon as I have a presentable
working draft I
 hope to share it with you).

 Now I want to make a post-processing of the bibtex file exported
from
 Zotero. The idea is to use shorttitle field instead to replace
the Zotero
 auto-generated one and have custom keys. So for example instead of:

 ===
 @misc{_holistic_,
  title = {Holistic software assessment (Uni Zurich -
2011) on Vimeo},
  shorttitle = {Girba-holistic-2011},
  url = {http://vimeo.com/42073344?__from=outro-local
 http://vimeo.com/42073344?from=outro-local},
  urldate = {2014-08-19},
  note = {0}
 }

 ===


 I would like to have:


 ===

 @misc{Girba-holistic-2011,
  title = {Holistic software assessment (Uni Zurich -
2011) on Vimeo},
  shorttitle = {Girba-holistic-2011},
  url = {http://vimeo.com/42073344?__from=outro-local
 http://vimeo.com/42073344?from=outro-local},
  urldate = {2014-08-19},
  note = {0}
 }

 ===


 I have already installed Citizen and open it on the browser to
see the code,
 but I can find any place to start with examples.

 Any advice on how to solve this issue will be appreciated.

 Cheers,

 Offray




--
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without losing
enthusiasm.
Winston Churchill














Re: [Pharo-users] Pharo - OpenDBXDriver: Unsupported data type: UNKNOWN

2014-10-22 Thread bsselfri...@gmail.com
Thank you for responding so quickly. The column in the database is defined as
a time stamp. It seems as though OpenDBX doesn't understand that type. I'll
try setting up date, date time, time, and timestamp columns and see what
happens. 



-
Brad Selfridge
--
View this message in context: 
http://forum.world.st/Pharo-OpenDBXDriver-Unsupported-data-type-UNKNOWN-tp4785813p4786033.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Alexandre Bergel
Hi!

I have doubt that #example: will be enough in the case of Roassal. 
Having a code example browser is indeed important and having a descent way to 
search for the examples is also important. I am thinking to stick to #example 
and infer some categories from the source code (e.g., if the method contains a 
Zinc class, then it may be categorized in network).


Cheers,
Alexandre

 Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :
 
 Hi Tudor,
 
 that should be easy now: look at CompiledMethod#isExampleMethod which can 
 be adopted as needed.
 
 Checking for the example pragma could be done this way:
 
   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]
 
 but we should think first if this is enough.
 
 I already proposed to not only annotate with a pragma example but 
 additionally give a category.
 Like this:
 
   example: 'Graphics'
   example: 'Network'
 
 This way we can easily build an example browser for our users where people 
 can go through
 their point of interest and browse the examples.
 
 Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
 Smalltalk 
 like:
  
   Example category: 'Graphics'
 
 where Example is a real class in the system (!). One can even make it more 
 explicit 
 then 
 
   ExampleCategory graphics
 
 with ExampleCategory(class)graphics returning a translateable string. 
 People can add
 own categories and one easily knows about already available ones.
 
 
 Now that classes can have properties in Pharo 4.0 already I would like to see 
 a unification
 for methods and classes here (with the general concept of an Annotation in 
 our metamodel). 
 
 In my opinion a method pragma is just a special form of annotating a method. 
 
 And annotating classes is usefull as well (for instance you want to annotate 
 a class with
 the appropriate Table name in an ORM framework, ...)
 
 A comment (in a method or in a class) is also nothing more than a special 
 annotation.
 A class/method category is also an annotation. If unified a method or a class 
 could
 be in one or more categories. Even a break point for an expression is IMHO 
 just an 
 annotation.   
 
 Bye
 T.
 
 
 Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
 Von: Tudor Girba tu...@tudorgirba.com
 An: Pharo Development List pharo-...@lists.pharo.org
 Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
 Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods 
 in Pharo 4.0
 
 Hi Torsten,
  
 Thanks for this. This is indeed the way to go.
  
 Just to let you know, the example infrastructure is also being developed in 
 the context of GT, so we have a healthy interest overlap which is great. Only 
 in our case, the discovery of the example happens through an example 
 pragma. Would it be possible to change your slice to use this pragma instead 
 of the example* convention?
  
 Cheers,
 Doru
  
  
  
 On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de wrote:One 
 addition I implemented for Nautilus is that one can run examples directly
 in the browser just by clicking on class side example methods icons.
 
 See 
 https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
 for a picture.
 
 
 SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS 
 SIDE
AND LET THE SELECTOR START WITH example.
 
 This way people will easily see that it is an example and can run them. 
 Additionally it
 would help to put them into a category like examples. So be a good citized 
 and
 provide not only class comments but also examples for others to study.
 
 
 Side note:
 ==
 It is also possible to click on the icon of class side initialize methods so 
 the
 class get reinitialized (after a confirmation to avoid false clicking).
 
 https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus]
 
 Both issues are already integrated.
   
  --
 www.tudorgirba.com[http://www.tudorgirba.com]
  
 Every thing has its own flow
 



Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Thierry Goubier

Hi all,

by principle, I'd be against extending so much the pragmas... from a 
design point of view they look like #defines and macros, that is an 
additional language to learn, without a correct support of the tools (no 
debug on pragmas, non-obvious behavior triggers, search for pragma users 
difficult, not documented).


Alexandre, your idea of infering properties from the source code looks a 
lot more interesting (and with a lot more potential).


Thierry

Le 22/10/2014 19:38, Alexandre Bergel a écrit :

Hi!

I have doubt that #example: will be enough in the case of Roassal.
Having a code example browser is indeed important and having a descent way to 
search for the examples is also important. I am thinking to stick to #example 
and infer some categories from the source code (e.g., if the method contains a 
Zinc class, then it may be categorized in network).


Cheers,
Alexandre


Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :

Hi Tudor,

that should be easy now: look at CompiledMethod#isExampleMethod which can be 
adopted as needed.

Checking for the example pragma could be done this way:

   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]

but we should think first if this is enough.

I already proposed to not only annotate with a pragma example but 
additionally give a category.
Like this:

   example: 'Graphics'
   example: 'Network'

This way we can easily build an example browser for our users where people can 
go through
their point of interest and browse the examples.

Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
Smalltalk
like:

   Example category: 'Graphics'

where Example is a real class in the system (!). One can even make it more 
explicit
then

   ExampleCategory graphics

with ExampleCategory(class)graphics returning a translateable string. People 
can add
own categories and one easily knows about already available ones.


Now that classes can have properties in Pharo 4.0 already I would like to see a 
unification
for methods and classes here (with the general concept of an Annotation in 
our metamodel).

In my opinion a method pragma is just a special form of annotating a method.

And annotating classes is usefull as well (for instance you want to annotate a 
class with
the appropriate Table name in an ORM framework, ...)

A comment (in a method or in a class) is also nothing more than a special 
annotation.
A class/method category is also an annotation. If unified a method or a class 
could
be in one or more categories. Even a break point for an expression is IMHO just 
an
annotation.

Bye
T.


Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
Von: Tudor Girba tu...@tudorgirba.com
An: Pharo Development List pharo-...@lists.pharo.org
Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods in 
Pharo 4.0

Hi Torsten,

Thanks for this. This is indeed the way to go.

Just to let you know, the example infrastructure is also being developed in the 
context of GT, so we have a healthy interest overlap which is great. Only in our 
case, the discovery of the example happens through an example pragma. Would 
it be possible to change your slice to use this pragma instead of the example* 
convention?

Cheers,
Doru



On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de wrote:One 
addition I implemented for Nautilus is that one can run examples directly
in the browser just by clicking on class side example methods icons.

See 
https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
for a picture.


SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS 
SIDE
AND LET THE SELECTOR START WITH example.

This way people will easily see that it is an example and can run them. 
Additionally it
would help to put them into a category like examples. So be a good citized and
provide not only class comments but also examples for others to study.


Side note:
==
It is also possible to click on the icon of class side initialize methods so the
class get reinitialized (after a confirmation to avoid false clicking).

https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13894/Class-side-initialize-methods-should-be-runnable-in-Nautilus]

Both issues are already integrated.

  --
www.tudorgirba.com[http://www.tudorgirba.com]

Every thing has its own flow










Re: [Pharo-users] Citizen example for manipulating a bibtex file

2014-10-22 Thread Sven Van Caekenberghe

 On 22 Oct 2014, at 18:42, Offray Vladimir Luna Cárdenas off...@riseup.net 
 wrote:
 
 Hi,
 
 Thanks again. I have a small script, using Citezen which does the trick. I 
 can explore and modify the BibTeX File from the playground with this:
 
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 | bibFile bibliography bibStream bibOutputer |
 bibFile := ((FileLocator documents / 'U/Libertadores/Grafoscopio') children
   detect: [:each | each basename endsWith: 'bib' ]).
 bibliography := CZBibParser parse: bibFile contents.
 bibStream := '' writeStream.
 1 to: (bibliography size) do: [:index |
   (((bibliography entries at: index) fields at: 2) key = 'shorttitle')
   ifTrue: [
(bibliography entries at: index)
   key: ((bibliography entries at: index) fields at: 2) value].
   bibOutputer := CZBibtexOutputer new.
   bibStream nextPutAll:
 (bibOutputer entryToBibtexString:
   (bibliography entries at: index)); cr.].
 bibliography.
 bibFile writeStreamDo: [:stream |
  stream nextPutAll: bibStream contents withUnixLineEndings ].
 bibStream contents.
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Some constructive comments about your code (smaller is always better, 
especially for interactive snippets):

- you can change the #detect: to [ :each | each extension = #bib ]
- you can iterate directly over the entries with #do: as in bibliography 
entries do: [ :each | .. ] which saves you the #at: index
- there are handy unary shortcuts for accessing elements, like #first, #second 
and so on (up to #ninth) which also save you parenthesis
- you can also construct strings using the idiom String streamContents: [ 
:bibStream | .. ] 

Sorry, these jumped to me when I saw your code, I hope you don't mind ;-) 

 I will put some functionality inspired by this on my prototype this weekend.
 
 Cheers,
 
 Offray
 
 On 10/21/2014 01:20 AM, stepharo wrote:
 Check in the tools there is a bib writer.
 
 Stef
 
 On 21/10/14 03:33, Offray Vladimir Luna Cárdenas wrote:
 Thanks Stef and Damien,
 
 I have this small script as a proof of concept:
 
 ===
 | bibFile bibliography |
 bibFile := ((FileLocator documents / 'U/Libertadores/Grafoscopio')
 children
detect: [:each | each basename endsWith: 'bib' ]) contents.
 bibliography := CZBibParser parse: bibFile.
 1 to: (bibliography size) do: [:index |
 (((bibliography entries at: index) fields at: 2) key = 'shorttitle')
ifTrue: [
(bibliography entries at: index)
key: ((bibliography entries at: index) fields at: 2) value
 ]].
 bibliography.
 ===
 
 Now I want to write back the corrected file to the .bib ... just
 having problems finding which message does the job. I'll keep searching.
 
 Cheers,
 
 Offray
 
 On 10/16/2014 06:40 AM, Damien Cassou wrote:
 from Damien Pollet:
 
 You will need to load the .bib file from zotero (read the file however
 you like, then pass the stream to the CZ parser). You'll get a
 CZBibSet (I don't recall the name exactly) which represents the
 contents of the file. A Set is composed of entries, each of which has
 a key and a set of fields. Finally, fields accept a few different
 kinds of values.
 
 Your processing is just iterating a set then setting the key of each
 entry (or possibly removing and re-adding the entry, I don't recall if
 it's implemented like a dictionary or more like a list).
 
 
 On Mon, Oct 13, 2014 at 2:57 AM, Offray Vladimir Luna Cárdenas
 off...@riseup.net mailto:off...@riseup.net wrote:
 
 Hi,
 
 I'm using a Zotero collection for keeping track of several
 references I have
 found for my article about the experience of the
 outline/tree-like metaphor
 for writing inside Pharo (as soon as I have a presentable
 working draft I
 hope to share it with you).
 
 Now I want to make a post-processing of the bibtex file exported
 from
 Zotero. The idea is to use shorttitle field instead to replace
 the Zotero
 auto-generated one and have custom keys. So for example instead of:
 
 ===
 @misc{_holistic_,
  title = {Holistic software assessment (Uni Zurich -
 2011) on Vimeo},
  shorttitle = {Girba-holistic-2011},
  url = {http://vimeo.com/42073344?__from=outro-local
 http://vimeo.com/42073344?from=outro-local},
  urldate = {2014-08-19},
  note = {0}
 }
 
 ===
 
 
 I would like to have:
 
 
 ===
 
 @misc{Girba-holistic-2011,
  title = {Holistic software assessment (Uni Zurich -
 2011) on Vimeo},
  shorttitle = {Girba-holistic-2011},
  url = {http://vimeo.com/42073344?__from=outro-local
 http://vimeo.com/42073344?from=outro-local},
  urldate = {2014-08-19},
  note = {0}
 }
 
 ===
 
 
 I have already installed Citizen and open it on the browser to
 see the code,
 but I can find any 

Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Alexandre Bergel
I am also not a big fan of using pragmas. To me, it looks like an ad hoc 
approach to have examples close to the class. In the same spirit: Why not 
having tests in the same class? Would it not be cool? Of course not. 
In Roassal we have a class for examples (similar to TestCase). 

Alexandre

 Le 22-10-2014 à 14:51, Thierry Goubier thierry.goub...@gmail.com a écrit :
 
 Hi all,
 
 by principle, I'd be against extending so much the pragmas... from a design 
 point of view they look like #defines and macros, that is an additional 
 language to learn, without a correct support of the tools (no debug on 
 pragmas, non-obvious behavior triggers, search for pragma users difficult, 
 not documented).
 
 Alexandre, your idea of infering properties from the source code looks a lot 
 more interesting (and with a lot more potential).
 
 Thierry
 
 Le 22/10/2014 19:38, Alexandre Bergel a écrit :
 Hi!
 
 I have doubt that #example: will be enough in the case of Roassal.
 Having a code example browser is indeed important and having a descent way 
 to search for the examples is also important. I am thinking to stick to 
 #example and infer some categories from the source code (e.g., if the method 
 contains a Zinc class, then it may be categorized in network).
 
 
 Cheers,
 Alexandre
 
 Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :
 
 Hi Tudor,
 
 that should be easy now: look at CompiledMethod#isExampleMethod which can 
 be adopted as needed.
 
 Checking for the example pragma could be done this way:
 
   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]
 
 but we should think first if this is enough.
 
 I already proposed to not only annotate with a pragma example but 
 additionally give a category.
 Like this:
 
   example: 'Graphics'
   example: 'Network'
 
 This way we can easily build an example browser for our users where people 
 can go through
 their point of interest and browse the examples.
 
 Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
 Smalltalk
 like:
 
   Example category: 'Graphics'
 
 where Example is a real class in the system (!). One can even make it more 
 explicit
 then
 
   ExampleCategory graphics
 
 with ExampleCategory(class)graphics returning a translateable string. 
 People can add
 own categories and one easily knows about already available ones.
 
 
 Now that classes can have properties in Pharo 4.0 already I would like to 
 see a unification
 for methods and classes here (with the general concept of an Annotation 
 in our metamodel).
 
 In my opinion a method pragma is just a special form of annotating a method.
 
 And annotating classes is usefull as well (for instance you want to 
 annotate a class with
 the appropriate Table name in an ORM framework, ...)
 
 A comment (in a method or in a class) is also nothing more than a special 
 annotation.
 A class/method category is also an annotation. If unified a method or a 
 class could
 be in one or more categories. Even a break point for an expression is IMHO 
 just an
 annotation.
 
 Bye
 T.
 
 
 Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
 Von: Tudor Girba tu...@tudorgirba.com
 An: Pharo Development List pharo-...@lists.pharo.org
 Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
 Betreff: Re: [Pharo-dev] Clickable class side example and initialize 
 methods in Pharo 4.0
 
 Hi Torsten,
 
 Thanks for this. This is indeed the way to go.
 
 Just to let you know, the example infrastructure is also being developed in 
 the context of GT, so we have a healthy interest overlap which is great. 
 Only in our case, the discovery of the example happens through an example 
 pragma. Would it be possible to change your slice to use this pragma 
 instead of the example* convention?
 
 Cheers,
 Doru
 
 
 
 On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de 
 wrote:One addition I implemented for Nautilus is that one can run examples 
 directly
 in the browser just by clicking on class side example methods icons.
 
 See 
 https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
 for a picture.
 
 
 SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE 
 CLASS SIDE
AND LET THE SELECTOR START WITH example.
 
 This way people will easily see that it is an example and can run them. 
 Additionally it
 would help to put them into a category like examples. So be a good 
 citized and
 provide not only class comments but also examples for others to study.
 
 
 Side note:
 ==
 It is also possible to click on the icon of class side initialize methods 
 so the
 class get reinitialized (after a confirmation to avoid false clicking).
 
 

Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread stepharo

I agree with Thierry but I disagree with Alex :)
What is cool is that when you browse a widget class that you get all the 
examples for this class.


Stef

I am also not a big fan of using pragmas. To me, it looks like an ad hoc 
approach to have examples close to the class. In the same spirit: Why not 
having tests in the same class? Would it not be cool? Of course not.
In Roassal we have a class for examples (similar to TestCase).

Alexandre


Le 22-10-2014 à 14:51, Thierry Goubier thierry.goub...@gmail.com a écrit :

Hi all,

by principle, I'd be against extending so much the pragmas... from a design 
point of view they look like #defines and macros, that is an additional 
language to learn, without a correct support of the tools (no debug on pragmas, 
non-obvious behavior triggers, search for pragma users difficult, not 
documented).

Alexandre, your idea of infering properties from the source code looks a lot 
more interesting (and with a lot more potential).

Thierry

Le 22/10/2014 19:38, Alexandre Bergel a écrit :

Hi!

I have doubt that #example: will be enough in the case of Roassal.
Having a code example browser is indeed important and having a descent way to 
search for the examples is also important. I am thinking to stick to #example 
and infer some categories from the source code (e.g., if the method contains a 
Zinc class, then it may be categorized in network).


Cheers,
Alexandre


Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :

Hi Tudor,

that should be easy now: look at CompiledMethod#isExampleMethod which can be 
adopted as needed.

Checking for the example pragma could be done this way:

   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]

but we should think first if this is enough.

I already proposed to not only annotate with a pragma example but 
additionally give a category.
Like this:

   example: 'Graphics'
   example: 'Network'

This way we can easily build an example browser for our users where people can 
go through
their point of interest and browse the examples.

Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be more 
Smalltalk
like:

   Example category: 'Graphics'

where Example is a real class in the system (!). One can even make it more 
explicit
then

   ExampleCategory graphics

with ExampleCategory(class)graphics returning a translateable string. People 
can add
own categories and one easily knows about already available ones.


Now that classes can have properties in Pharo 4.0 already I would like to see a 
unification
for methods and classes here (with the general concept of an Annotation in 
our metamodel).

In my opinion a method pragma is just a special form of annotating a method.

And annotating classes is usefull as well (for instance you want to annotate a 
class with
the appropriate Table name in an ORM framework, ...)

A comment (in a method or in a class) is also nothing more than a special 
annotation.
A class/method category is also an annotation. If unified a method or a class 
could
be in one or more categories. Even a break point for an expression is IMHO just 
an
annotation.

Bye
T.


Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
Von: Tudor Girba tu...@tudorgirba.com
An: Pharo Development List pharo-...@lists.pharo.org
Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: Re: [Pharo-dev] Clickable class side example and initialize methods in 
Pharo 4.0

Hi Torsten,

Thanks for this. This is indeed the way to go.

Just to let you know, the example infrastructure is also being developed in the 
context of GT, so we have a healthy interest overlap which is great. Only in our 
case, the discovery of the example happens through an example pragma. Would 
it be possible to change your slice to use this pragma instead of the example* 
convention?

Cheers,
Doru



On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de wrote:One 
addition I implemented for Nautilus is that one can run examples directly
in the browser just by clicking on class side example methods icons.

See 
https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]
for a picture.


SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON THE CLASS 
SIDE
AND LET THE SELECTOR START WITH example.

This way people will easily see that it is an example and can run them. 
Additionally it
would help to put them into a category like examples. So be a good citized and
provide not only class comments but also examples for others to study.


Side note:
==
It is also possible to click on the icon of class side initialize methods so the
class get reinitialized (after a confirmation to avoid false clicking).


Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Thierry Goubier

Le 22/10/2014 21:14, stepharo a écrit :

I agree with Thierry but I disagree with Alex :)
What is cool is that when you browse a widget class that you get all the
examples for this class.


I use browse class refs for that. Works on average pretty well; if it 
doesn't I throw away the code and reuse something else ;)


Thierry



Stef

I am also not a big fan of using pragmas. To me, it looks like an ad
hoc approach to have examples close to the class. In the same spirit:
Why not having tests in the same class? Would it not be cool? Of
course not.
In Roassal we have a class for examples (similar to TestCase).

Alexandre


Le 22-10-2014 à 14:51, Thierry Goubier thierry.goub...@gmail.com a
écrit :

Hi all,

by principle, I'd be against extending so much the pragmas... from a
design point of view they look like #defines and macros, that is an
additional language to learn, without a correct support of the tools
(no debug on pragmas, non-obvious behavior triggers, search for
pragma users difficult, not documented).

Alexandre, your idea of infering properties from the source code
looks a lot more interesting (and with a lot more potential).

Thierry

Le 22/10/2014 19:38, Alexandre Bergel a écrit :

Hi!

I have doubt that #example: will be enough in the case of Roassal.
Having a code example browser is indeed important and having a
descent way to search for the examples is also important. I am
thinking to stick to #example and infer some categories from the
source code (e.g., if the method contains a Zinc class, then it may
be categorized in network).


Cheers,
Alexandre


Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :

Hi Tudor,

that should be easy now: look at CompiledMethod#isExampleMethod
which can be adopted as needed.

Checking for the example pragma could be done this way:

   self pragmas anySatisfy: [:pragma | pragma keyword = #example ]

but we should think first if this is enough.

I already proposed to not only annotate with a pragma example but
additionally give a category.
Like this:

   example: 'Graphics'
   example: 'Network'

This way we can easily build an example browser for our users where
people can go through
their point of interest and browse the examples.

Maybe we should also rethink pragmas (in Pharo 5.0?) in general to
be more Smalltalk
like:

   Example category: 'Graphics'

where Example is a real class in the system (!). One can even make
it more explicit
then

   ExampleCategory graphics

with ExampleCategory(class)graphics returning a translateable
string. People can add
own categories and one easily knows about already available ones.


Now that classes can have properties in Pharo 4.0 already I would
like to see a unification
for methods and classes here (with the general concept of an
Annotation in our metamodel).

In my opinion a method pragma is just a special form of annotating
a method.

And annotating classes is usefull as well (for instance you want to
annotate a class with
the appropriate Table name in an ORM framework, ...)

A comment (in a method or in a class) is also nothing more than a
special annotation.
A class/method category is also an annotation. If unified a method
or a class could
be in one or more categories. Even a break point for an expression
is IMHO just an
annotation.

Bye
T.


Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
Von: Tudor Girba tu...@tudorgirba.com
An: Pharo Development List pharo-...@lists.pharo.org
Cc: Any question about pharo is welcome
pharo-users@lists.pharo.org
Betreff: Re: [Pharo-dev] Clickable class side example and
initialize methods in Pharo 4.0

Hi Torsten,

Thanks for this. This is indeed the way to go.

Just to let you know, the example infrastructure is also being
developed in the context of GT, so we have a healthy interest
overlap which is great. Only in our case, the discovery of the
example happens through an example pragma. Would it be possible
to change your slice to use this pragma instead of the example*
convention?

Cheers,
Doru



On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de
wrote:One addition I implemented for Nautilus is that one can run
examples directly
in the browser just by clicking on class side example methods icons.

See
https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus[https://pharo.fogbugz.com/f/cases/13892/Example-methods-should-be-runnable-in-Nautilus]

for a picture.


SO PLEASE: WHEN YOU PROVIDE EXAMPLES IN CLASSES PLEASE PUT THEM ON
THE CLASS SIDE
AND LET THE SELECTOR START WITH example.

This way people will easily see that it is an example and can run
them. Additionally it
would help to put them into a category like examples. So be a
good citized and
provide not only class comments but also examples for others to study.


Side note:
==
It is also possible to click on the icon of class side initialize
methods so the
class get reinitialized (after a confirmation to avoid false
clicking).


[Pharo-users] Issues tagged for starting sprints

2014-10-22 Thread stepharo

Hi guys

Some of you would like to organize sprints (or participate to pharo-dev) 
and this is always difficult to jump into a hard bug.
So I started to add glitches/enh that I usually do not log as bug 
entries. I tagged them as sprint to

help you getting started on sprinting.

https://pharo.fogbugz.com/default.asp?pgx=LFixFilter=44

Let me know if this is interesting for you.

Stef




Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Tudor Girba
Hi,

I also disagree with Alex.

Examples will become tests (see the work of Markus Gaelli and Adrian Kuhn)
and they should be casually connected with the class and intention they
test or provide example for. The other thing is that examples should be
composable via code. And of course, they should be browsable.

They will be close to the class by default, but it does not mean that in
the class will be the only way. For example, we can well imagine having
helper classes for holding examples, but most classes would not need that I
think.

As for pragmas, they are a better mechanism for describing intent than a
method naming convention is. If nothing else, it lets us freedom in naming
the method.

It's true that at this point, pragmas are hard to browse, but this will not
remain like this for long :)

Cheers,
Doru


On Wed, Oct 22, 2014 at 9:14 PM, stepharo steph...@free.fr wrote:

 I agree with Thierry but I disagree with Alex :)
 What is cool is that when you browse a widget class that you get all the
 examples for this class.

 Stef

  I am also not a big fan of using pragmas. To me, it looks like an ad hoc
 approach to have examples close to the class. In the same spirit: Why not
 having tests in the same class? Would it not be cool? Of course not.
 In Roassal we have a class for examples (similar to TestCase).

 Alexandre

  Le 22-10-2014 à 14:51, Thierry Goubier thierry.goub...@gmail.com a
 écrit :

 Hi all,

 by principle, I'd be against extending so much the pragmas... from a
 design point of view they look like #defines and macros, that is an
 additional language to learn, without a correct support of the tools (no
 debug on pragmas, non-obvious behavior triggers, search for pragma users
 difficult, not documented).

 Alexandre, your idea of infering properties from the source code looks a
 lot more interesting (and with a lot more potential).

 Thierry

 Le 22/10/2014 19:38, Alexandre Bergel a écrit :

 Hi!

 I have doubt that #example: will be enough in the case of Roassal.
 Having a code example browser is indeed important and having a descent
 way to search for the examples is also important. I am thinking to stick to
 #example and infer some categories from the source code (e.g., if the
 method contains a Zinc class, then it may be categorized in network).


 Cheers,
 Alexandre

  Le 22-10-2014 à 7:38, Torsten Bergmann asta...@gmx.de a écrit :

 Hi Tudor,

 that should be easy now: look at CompiledMethod#isExampleMethod
 which can be adopted as needed.

 Checking for the example pragma could be done this way:

self pragmas anySatisfy: [:pragma | pragma keyword = #example ]

 but we should think first if this is enough.

 I already proposed to not only annotate with a pragma example but
 additionally give a category.
 Like this:

example: 'Graphics'
example: 'Network'

 This way we can easily build an example browser for our users where
 people can go through
 their point of interest and browse the examples.

 Maybe we should also rethink pragmas (in Pharo 5.0?) in general to be
 more Smalltalk
 like:

Example category: 'Graphics'

 where Example is a real class in the system (!). One can even make it
 more explicit
 then

ExampleCategory graphics

 with ExampleCategory(class)graphics returning a translateable
 string. People can add
 own categories and one easily knows about already available ones.


 Now that classes can have properties in Pharo 4.0 already I would like
 to see a unification
 for methods and classes here (with the general concept of an
 Annotation in our metamodel).

 In my opinion a method pragma is just a special form of annotating a
 method.

 And annotating classes is usefull as well (for instance you want to
 annotate a class with
 the appropriate Table name in an ORM framework, ...)

 A comment (in a method or in a class) is also nothing more than a
 special annotation.
 A class/method category is also an annotation. If unified a method or
 a class could
 be in one or more categories. Even a break point for an expression is
 IMHO just an
 annotation.

 Bye
 T.


 Gesendet: Mittwoch, 22. Oktober 2014 um 10:43 Uhr
 Von: Tudor Girba tu...@tudorgirba.com
 An: Pharo Development List pharo-...@lists.pharo.org
 Cc: Any question about pharo is welcome pharo-users@lists.pharo.org
 
 Betreff: Re: [Pharo-dev] Clickable class side example and initialize
 methods in Pharo 4.0

 Hi Torsten,

 Thanks for this. This is indeed the way to go.

 Just to let you know, the example infrastructure is also being
 developed in the context of GT, so we have a healthy interest overlap 
 which
 is great. Only in our case, the discovery of the example happens through 
 an
 example pragma. Would it be possible to change your slice to use this
 pragma instead of the example* convention?

 Cheers,
 Doru



 On Wed, Oct 22, 2014 at 9:19 AM, Torsten Bergmann asta...@gmx.de
 wrote:One addition I implemented for Nautilus is that one can run examples
 directly
 in the browser just by 

Re: [Pharo-users] How to force FFI to load a library

2014-10-22 Thread Nicolai Hess
2014-10-22 14:50 GMT+02:00 Annick Fron l...@afceurope.com:

 Hi,

 I have one library which depends from another one.
 How can I force pharo to load the dependent library ?

 Annick



I don't think it is necessary to force pharo to load the libraries. AFAIR
the VM on linux uses dlopen() to load a module
and that should load the dependent libraries as well, *if* the library, you
are using, is linked against the others.

For example, you want to load library testlib which depends on helperlib
you have to compile and link the testlib and helperlib as follows

gcc -shared -o libhelperlib.so helperlib.c
gcc -shared -o libtestlib.so testlib.c -L. -lhelperlib

now you should be able to load testlib from pharo.

you can test if your dependent libraries can be automatically found by
dlopen with:
ldd testlib


nicolai


[Pharo-users] Athens do not work on Image 40316+

2014-10-22 Thread Jan Blizničenko
Hello

On image 40315 everything working.
On image 40316-40320 (latest) parts of Athens do not work, tried by running
Athens Tutorial and Roassal 2, which are both based on Athens.
Problem is on both Windows and Linux (unable to test on any Mac)
Instead of describing the error, here is a link to download the image after
downloading Athens-Tutorial and clicking on do it on Step 2 of tutorial:
http://www.mediafire.com/download/va5wbm0qix3aqh2/PharoAthensBugWindows.zip

Hope it helps

Jan Blizničenko



--
View this message in context: 
http://forum.world.st/Athens-do-not-work-on-Image-40316-tp4786099.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] [Pharo-dev] Clickable class side example and initialize methods in Pharo 4.0

2014-10-22 Thread Thierry Goubier

Hi Doru,

Le 22/10/2014 23:03, Tudor Girba a écrit :

Hi,

As for pragmas, they are a better mechanism for describing intent than a
method naming convention is. If nothing else, it lets us freedom in
naming the method.


And they add another programming language on top of another, and in most 
cases are redundant with the method name and protocol.


i.e.

exampleThis has pragma example
testThat has pragma test

Simply because for the method name to be suitable, it has to convey 
intent one way or another.


I can understand if you come and tell me that the pragma is to annotate 
for stuff that the compiler can't deduce, such as the #openmp pragmas. 
But I can't say that bringing in that kind of stuff would mean progress ;)



It's true that at this point, pragmas are hard to browse, but this will
not remain like this for long :)


Tools may help to overcome limitations of pragmas, yes ;) But this 
sounds like because pragmas may not be that good to start with :)


Thierry



Re: [Pharo-users] Pharo - OpenDBXDriver: Unsupported data type: UNKNOWN

2014-10-22 Thread Mariano Martinez Peck
What is the exact type in the database?
See: http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes

Is it a TIME STAMP? That page says: [1] Implementations use DATETIME
instead of TIMESTAMP as defined by the SQL standard
You may want to try  using DATETIME instead?

Cheers,

On Wed, Oct 22, 2014 at 2:23 PM, bsselfri...@gmail.com 
bsselfri...@gmail.com wrote:

 Thank you for responding so quickly. The column in the database is defined
 as
 a time stamp. It seems as though OpenDBX doesn't understand that type. I'll
 try setting up date, date time, time, and timestamp columns and see what
 happens.



 -
 Brad Selfridge
 --
 View this message in context:
 http://forum.world.st/Pharo-OpenDBXDriver-Unsupported-data-type-UNKNOWN-tp4785813p4786033.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-users] Pharo - OpenDBXDriver: Unsupported data type: UNKNOWN

2014-10-22 Thread Mariano Martinez Peck
Also, see this old thread:
http://forum.world.st/SqueakDBX-Can-t-parse-date-td1307447.html

On Wed, Oct 22, 2014 at 8:45 PM, Mariano Martinez Peck 
marianop...@gmail.com wrote:

 What is the exact type in the database?
 See: http://www.linuxnetworks.de/doc/index.php/OpenDBX/DBMS_Datatypes

 Is it a TIME STAMP? That page says: [1] Implementations use DATETIME
 instead of TIMESTAMP as defined by the SQL standard
 You may want to try  using DATETIME instead?

 Cheers,

 On Wed, Oct 22, 2014 at 2:23 PM, bsselfri...@gmail.com 
 bsselfri...@gmail.com wrote:

 Thank you for responding so quickly. The column in the database is
 defined as
 a time stamp. It seems as though OpenDBX doesn't understand that type.
 I'll
 try setting up date, date time, time, and timestamp columns and see what
 happens.



 -
 Brad Selfridge
 --
 View this message in context:
 http://forum.world.st/Pharo-OpenDBXDriver-Unsupported-data-type-UNKNOWN-tp4785813p4786033.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




 --
 Mariano
 http://marianopeck.wordpress.com




-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-users] Pharo - OpenDBXDriver: Unsupported data type: UNKNOWN

2014-10-22 Thread bsselfri...@gmail.com
Yes,  the column type definition is: timestamp.  

I am trying to use Pharo to access some old legacy MySQL tables. These
tables have timestamps defined everywhere and there is NO WAY I will be
allowed to change them. So, I'm going to have to try to figure out how to
get around this problem. 

Since I'm new to the Pharo camp, (old VASmalltalk'er using DB2 as database),
do you think the OpenDBX people would be open to supporting timestamp in
their library? 

Brad Selfridge



-
Brad Selfridge
--
View this message in context: 
http://forum.world.st/Pharo-OpenDBXDriver-Unsupported-data-type-UNKNOWN-tp4785813p4786116.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.