Re: [Pharo-users] Any existing RDF implementation in Pharo?

2020-03-17 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Christian, 

thank you for the explanation! Now, I now what to expect and search for :-) 
I am particularly curious how you implemented it. I will see, if I need to port 
it to Pharo. 

Best,
Juraj

> On 17 Mar 2020, at 08:15, Christian Haider 
>  wrote:
> 
> Hi Juraj,
>  
> yes, you need VisualWorks, but any old one will do, since it does not need 
> any new stuff.
>  
> For a migration you need Values (simple, more below) and an XML 
> implementation (I heard XML is robust in Pharo, but have not used it. The API 
> may be different from the VW one).
>  
> The status of the implementation has not changed and I have just started to 
> use it to implement XMP, which will change and refine the RDF API.
> I am not aware of any other users. This means, that it is not speedified nor 
> robustified  – but any help is welcome!
>  
> Before last ESUG, I started to port RDF for the community, because someone 
> asked me for it.
> I started with the Values package by renaming my OrderedDictionary to 
> Valuemap, because I couldn’t use the Pharo OrderedDictionary since it is 
> kaputt. I am still suffering from this renaming, since it is at the core of 
> all I do…
> Later at ESUG, I had a discussion about porting with the one who asked me. 
> Then I lost interest ☹.
>  
> So, if you want to do something, I can help you with any questions.
> (But, unless there is a business case, I will not touch Pharo just for fun).
>  
> Happy hacking,
> Christian
>  
>  
> Von: Juraj Kubelka  
> Gesendet: Dienstag, 17. März 2020 10:22
> An: Christian Haider 
> Cc: Any question about pharo is welcome 
> Betreff: Re: [Pharo-users] Any existing RDF implementation in Pharo?
>  
> Hi Christian,
>  
> thank you for the link to you project? If I understand it well, I need the 
> latest VisualWorks and I find the project in the public store, right? 
>  
> Have you also tried to migrate it to Pharo as Esteban suggests? What is the 
> status?
>  
> Best,
> Juraj
> 
> 
>> On 16 Mar 2020, at 11:53, Christian Haider 
>> > <mailto:christian.hai...@smalltalked-visuals.com>> wrote:
>>  
>> Hi,
>>  
>> I did one for VisualWorks: https://wiki.pdftalk.de/doku.php?id=rdf 
>> <https://wiki.pdftalk.de/doku.php?id=rdf>
>>  
>> Happy hacking,
>> Christian
>>  
>>  
>> Von: Pharo-users > <mailto:pharo-users-boun...@lists.pharo.org>> Im Auftrag von Juraj Kubelka 
>> via Pharo-users
>> Gesendet: Montag, 16. März 2020 13:41
>> An: Any question about pharo is welcome > <mailto:pharo-users@lists.pharo.org>>
>> Cc: Juraj Kubelka > <mailto:juraj.kube...@icloud.com>>
>> Betreff: [Pharo-users] Any existing RDF implementation in Pharo?

--- End Message ---


Re: [Pharo-users] Any existing RDF implementation in Pharo?

2020-03-17 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Christian,

thank you for the link to you project? If I understand it well, I need the 
latest VisualWorks and I find the project in the public store, right? 

Have you also tried to migrate it to Pharo as Esteban suggests? What is the 
status?

Best,
Juraj

> On 16 Mar 2020, at 11:53, Christian Haider 
>  wrote:
> 
> Hi,
>  
> I did one for VisualWorks: https://wiki.pdftalk.de/doku.php?id=rdf 
> <https://wiki.pdftalk.de/doku.php?id=rdf>
>  
> Happy hacking,
> Christian
>  
>  
> Von: Pharo-users  <mailto:pharo-users-boun...@lists.pharo.org>> Im Auftrag von Juraj Kubelka 
> via Pharo-users
> Gesendet: Montag, 16. März 2020 13:41
> An: Any question about pharo is welcome  <mailto:pharo-users@lists.pharo.org>>
> Cc: Juraj Kubelka mailto:juraj.kube...@icloud.com>>
> Betreff: [Pharo-users] Any existing RDF implementation in Pharo?

--- End Message ---


[Pharo-users] Any existing RDF implementation in Pharo?

2020-03-16 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi all!

I am interested if there is any RDF model 
(https://en.wikipedia.org/wiki/Resource_Description_Framework 
) implemented in 
Pharo (or another Smalltalk)? 

Thank you!
Juraj

--- End Message ---


[Pharo-users] Pharo 6.1 VMs archive

2019-01-20 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi,I have a Pharo 6.1 64bit (macOS) image that worked a month or two ago, but it does not work now. And using a new Pharo 6.1 image with Roassal 2 does not work neither because of a Cairo/libfreetype issue.Where can I find Pharo 6.1 VMs? The only think I likely updated was the VM. I would like to test it with previous VM versions.Was Pharo 6.1 VM 64bit macOS updated recently? Thanks,JurajImage
-
/Users/jurajkubelka/Pharo/images/test/test.image
Pharo6.0
Latest update: #60546
Unnamed

Virtual Machine
---
/Users/jurajkubelka/Pharo/vms/61-x64/Pharo.app/Contents/MacOS/Pharo
CoInterpreter VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
VM: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Thu Jun 28 14:56:30 2018 CommitHash: a8a1dc1 Plugins: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

Mac OS X built on Jun 28 2018 13:07:33 UTC Compiler: 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)
VMMaker versionString VM: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Thu Jun 28 14:56:30 2018 CommitHash: a8a1dc1 Plugins: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
CoInterpreter VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018 

crash.dmp
Description: Binary data
--- End Message ---


Re: [Pharo-users] Do you have Pharo + SQLite experience?

2018-11-27 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
That’s great. Thank you :-)

Juraj

> On Nov 27, 2018, at 09:40, Sven Van Caekenberghe  wrote:
> 
> http://www.samadhiweb.com/tags/SQLite
> 
>> On 27 Nov 2018, at 13:16, Juraj Kubelka via Pharo-users 
>>  wrote:
>> 
>> 
>> From: Juraj Kubelka 
>> Subject: Do you have Pharo + SQLite experience?
>> Date: 27 November 2018 at 13:16:00 GMT+1
>> To: Any question about pharo is welcome 
>> 
>> 
>> Hi all,
>> 
>> I would like to play with SQLite using Pharo. Does anyone use SQLite in 
>> Pharo (version 7)?
>> What library is recommended to use? And what is your experience (pros and 
>> cons) of the existing solutions? 
>> Do you have a project using SQLite in Pharo that I can download and look at 
>> it?
>> 
>> Thank you,
>> Juraj
>> 
>> 
>> 
>> 
> 


--- End Message ---


[Pharo-users] Do you have Pharo + SQLite experience?

2018-11-27 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi all,

I would like to play with SQLite using Pharo. Does anyone use SQLite in Pharo 
(version 7)?
What library is recommended to use? And what is your experience (pros and cons) 
of the existing solutions? 
Do you have a project using SQLite in Pharo that I can download and look at it?

Thank you,
Juraj


--- End Message ---


Re: [Pharo-users] GTDocument how to

2018-10-02 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Hilaire,

You are right, we cannot have real Morph widget inside of Bloc element.

Cheers,
Juraj

> On Oct 2, 2018, at 14:38, Hilaire  wrote:
> 
> Thanks for the tips. It works, the view is not interactive though
> 
> Hilaire
> 
> 
> Le 30/09/2018 à 16:18, Juraj Kubelka via Pharo-users a écrit :
>> You can create extension similar to one you have
>> here: DrGeoCanvas>>#gtInspectorCanvasIn:
>> 
>> DrGeoCanvas>>#gtCanvasIn: aView
>> 
>> ^ self view 
>> ifNil: [ aView empty ] 
>> ifNotNil: [ :aMorph | aMorph gtMorphFor: aView ]
>> 
>> 
>> Then you can obtain Documenter views like this:
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 


--- End Message ---


Re: [Pharo-users] GTDocument how to

2018-09-29 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Ok. As far as I know, Iceberg does not update local repositories in this use 
case. Which is fine for developers, less convenient for users. 

Juraj

--
Juraj Kubelka

El 29-09-2018, a la(s) 16:42, Hilaire  escribió:

> Likely. As GIT is integrated to Pharo, when installing the package I was
> expecting the local repo to be synchronized from remote master. I will
> delete local repos and try it again, it will take time.
> 
> Hilaire
> 
> 
>> Le 29/09/2018 à 20:43, Juraj Kubelka via Pharo-users a écrit :
>> I do not know how it is possible, but your header mentions Pharo 6.1, but 
>> according to the UI you have Pharo 7. And the missing class is part of Pharo 
>> 6 only and is not required in Pharo 7. 
>> 
>> One reason might be that you keep locally old (2 months) GToolkit code. Can 
>> you check this?
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 

--- End Message ---


Re: [Pharo-users] GTDocument how to

2018-09-29 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
To be more concrete: you might have locally an old Bloc repository. 

Juraj

--
Juraj Kubelka

El 29-09-2018, a la(s) 15:43, Juraj Kubelka via Pharo-users 
 escribió:

> 

--- End Message ---


Re: [Pharo-users] GTDocument how to

2018-09-29 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
I do not know how it is possible, but your header mentions Pharo 6.1, but 
according to the UI you have Pharo 7. And the missing class is part of Pharo 6 
only and is not required in Pharo 7. 

One reason might be that you keep locally old (2 months) GToolkit code. Can you 
check this?

Juraj

--
Juraj Kubelka

El 29-09-2018, a la(s) 14:37, Hilaire  escribió:

> Indeed new VM passed that error. I have another issue related to unmet 
> dependencies. See screenshot.
> 
> Not sure it belongs to GToolkit or P7.
> 
> Hilaire
> 
>> Le 29/09/2018 à 19:16, Alistair Grant a écrit :
>> This looks like you have an old VM.  If you get the current stable VM
>> it should be fine.
>> 
>> The current Pharo 6 & 7 VMs are both dated 28 June 2018.
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 

--- End Message ---


Re: [Pharo-users] Pharo 7.0 code documentation

2018-09-29 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Dario,

If you want to have an experience doing live documentation, you can start with 
GToolkit Documenter: https://github.com/feenkcom/gtoolkit

It is an alpha version. I will be happy to help you and to know about your 
experience. 

Juraj

--
Juraj Kubelka

El 27-09-2018, a la(s) 14:01, Trussardi Dario Romano 
 escribió:

> Ciao,
> 
>I would be interested in understanding how I can document the code 
> directly in pharo.
> 
>Can someone give me some reference - link about it?
> 
>Thank you,
> 
>Dario
--- End Message ---


Re: [Pharo-users] GTDocument how to

2018-09-27 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Hilaire,

As far as I understand your description, Documenter should fit. You can start 
by using:

-=-=-=-
GtDocumenter editorForText: 'This is a Dr. Geo tutorial. Evaluate the following 
script:

[[[
 "A Dr. Geo script that returns DrGeo canvas"  
]]]

Extensions are done using  pragmas.
‘
-=-=-=-

Let me know how it works for you.

Juraj

> On Sep 26, 2018, at 14:10, Hilaire  wrote:
> 
> Hi,
> 
> I would like a document where user types in normal text and plugs in
> DrGeo view. The drgeo view will be dual. It will be alternatively the
> output of a DrGeo script (drgeo canvas) or the DrGeo script itself (code).
> 
> The view will be interactive. In drgeo canvas mode, user plays with the
> geometric construction, when switched to code mode, the user edits the
> DrGeo script and recompute the DrGeo canvas output.
> 
> Is GTDocument appropriate to do this? If so, where to start?
> 
> Thanks
> 
> Hilaire
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 


--- End Message ---


Re: [Pharo-users] To get started with Gtoolkit and bloc

2018-09-15 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Hilaire,

We are aware of this issue. Current workaround is to save and then quit without 
saving.

Juraj

> On Sep 15, 2018, at 14:27, Hilaire  wrote:
> 
> 
> 
> Le 15/09/2018 à 10:10, Hilaire a écrit :
>> By the way, once Bloc was installed on the image, the image does not
>> save. Crash dump included.
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 


--- End Message ---


Re: [Pharo-users] Iceberg issue on Ubuntu 16.04.3 Pharo 6.1

2018-07-17 Thread Juraj Kubelka via Pharo-users
--- Begin Message ---
Hi Guillermo,

Thank you for the explanation. I have noticed that if I use  
https://get.pharo.org/64/vm61 <https://get.pharo.org/64/vm61> instead of 
64/vmI61 (__I__ letter) it works. The same happens for Pharo 7.0. 

Cheers,
Juraj

> On Jul 17, 2018, at 04:33, Guillermo Polito  wrote:
> 
> Hi Juraj,
> 
> The version of Iceberg in Pharo 6.1 is just a preview and we have decided so 
> far that we will not update it so far to avoid disrupting people using 
> Pharo6.1 for business.
> Also, iceberg development has moved forward a lot on Pharo7, I don't think 
> that a "simple fix" could be just backported.
> 
> Maybe you can try instead to upgrade your pharo6.1 image with latest iceberg? 
> Try using the script in iceberg's readme.
> 
> On Tue, Jul 17, 2018 at 2:58 AM Juraj Kubelka via Pharo-users 
> mailto:pharo-users@lists.pharo.org>> wrote:
> Hi, 
> 
> I am trying to build a project in ubuntu 16.04.3. To this:
>   - I downloaded Pharo 6.1 (60541) 64bit
>   - I open the Pharo image and execute:
> 
> Metacello new
>baseline: 'GToolkit';
>repository: ' <>github://feenkcom/gtoolkit/src 
> ';
>load.
>   
> I have the following issue: LGit_GIT_ERROR: SSL error: error:140E0197:SSL 
> routines:SSL_shutdown:shutdown while in init
> The full stack is below. 
> I can clone the repository from a terminal using: git clone g...@github.com 
> <mailto:g...@github.com>:feenkcom/gtoolkit.git
> I believe that my settings are correct (same that I use on macOS): 
> 
> 
> 
> 
> Is Iceberg suppose to work on Ubuntu 16.04.3 64bit?
> I have noticed that it works in Pharo 7 64bit (excluding the fact gtoolkit 
> does not work in Pharo 7 yet).
> I found this bug report that might be related: 
> https://github.com/libgit2/libgit2/issues/4644 
> <https://github.com/libgit2/libgit2/issues/4644> 
> 
> Thanks!
> Juraj
> 
> 
> Full stack:
> 
> LGitReturnCodeEnum>>handleLGitReturnCode
> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
> LGitRepository>>clone:options:to:
> LGitRepository>>clone:options:
> [ repo clone: url options: cloneOptions ] in [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
>   withCredentialsProvider: IceCredentialsProvider default.
> cloneOptions checkoutOptions
>   checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
> [ repo clone: url options: cloneOptions ]
>   on: LGit_GIT_ERROR
>   do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
> repo
>   checkout:
>   (aBranchName
>   ifNil:
>   [ self branch ifNotNil: [ :b | b name ] ifNil: 
> [ 'master' ] ]).
> (LGitRemote of: repo named: 'origin')
>   lookup;
>   setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: 
> in Block: [ repo clone: url options: cloneOptions ]
> BlockClosure>>on:do:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
>   withCredentialsProvider: IceCredentialsProvider default.
> cloneOptions checkoutOptions
>   checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
> [ repo clone: url options: cloneOptions ]
>   on: LGit_GIT_ERROR
>   do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
> repo
>   checkout:
>   (aBranchName
>   ifNil:
>   [ self branch ifNotNil: [ :b | b name ] ifNil: 
> [ 'master' ] ]).
> (LGitRemote of: repo named: 'origin')
>   lookup;
>   setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: 
> in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self 
> checkInitialized
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in 
> Block: [ activeProcess psValueAt: index put: anObject
> BlockClosure>>ensure:
> LGitActionSequence(DynamicVariable)>>value:during:
> LGitActionSequence class(DynamicVariable class)>>value:during:
> LGitGlobal class>>runSequence:
> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> IceRepositoryCreator>>createRepository
> [ (IceRepositoryCreator new
>   url: urlToUse;
>   subdirectory: repoPath;
>   branchName: self projectVersion;
>   createRepository) register ] in [ | urlToUse |
> urlToUse := remote url.
> [ (IceRepositoryCreator new
>   url: urlToUse;
>   subdirectory

[Pharo-users] Proper Monticello (with Iceberg integration) update

2018-04-03 Thread Juraj Kubelka
Hi!

What is the proper updated mechanism on projects stored on GitHub? To be more 
explicit, the script:

Metacello new
baseline: #DiscordSt;
repository: 'github://JurajKubelka/DiscordSt/src';
load.

With the Iceberg integration, it does not work if an older version is already 
in a Pharo image. 
Doing pull from the Iceberg UI neither works as the new version may have new 
packages and new external dependencies.

Actually it is also tricky if the Iceberg integration is not involved. I use 
this script in such scenario: 

```
UIManager default
informUserDuring: [ :bar | 
bar label: 'Removing cached DiscordSt repository from 
github-cache'.
bar current: 0.
(FileLocator workingDirectory / 'github-cache' / 
'JurajKubelka' / 'DiscordSt')
ensureDeleteAll.
bar label: 'Updating DiscordSt baseline definition'.
bar current: 0.33.
Iceberg enableMetacelloIntegration ifFalse: [ 
Gofer new 
url: 
'github://JurajKubelka/DiscordSt/src' asZnUrl;
package: 'BaselineOfDiscordSt';
load ].
bar label: 'Updating DiscordSt source files'.
bar current: 0.66.
Metacello new
baseline: #DiscordSt;
repository: 
'github://JurajKubelka/DiscordSt/src';
onConflict: [:ex | ex allow]; 
load: #default.
bar current: 1 ].
```

I think I need a script that: 
1. updates a local Iceberg repository (if exists)
2. loads new BaselineOfDiscordSt package version to a Pharo image
3. executes the Metacello script.

How can I do properly the first two steps when Iceberg is involved?

Thanks!
Juraj



Re: [Pharo-users] How can a Morph display a context menu on a mouse click?

2018-02-08 Thread Juraj Kubelka
Thanks to all answers! It finally works. :-) 
I am not sure where I did a mistake before.

Juraj

> On Feb 8, 2018, at 05:33, Stephan Eggermont  wrote:
> 
> And your original question
> 
> morph := 'Hello' asMorph.
> colorBlock := [ :colorName |
>  morph color: (Color perform: colorName)].
> morph on: #mouseUp send: value to: [ |menu|
>  menu := MenuMorph new.
>  menu add: 'orange' target: colorBlock selector: #value: argument:
> #orange.
>  menu add: 'blue' target: colorBlock selector: #value: argument:
> #blue.
>  menu popUpInWorld].
> morph openInWindow
> 
> 




Re: [Pharo-users] How can a Morph display a context menu on a mouse click?

2018-02-07 Thread Juraj Kubelka
Hi Stephan,

> El 05-02-2018, a las 11:27, Stephan Eggermont <step...@stack.nl> escribió:
> 
> Juraj Kubelka <juraj.kube...@icloud.com>
> wrote:
>>> morph := 'Hello' asMorph.
>>> morph on: #mouseUp send: #traceCr: to: morph.
>>> morph openInWindow.
>>> 
>> 
>> This does not work for me either. 
>> I am fine with the MorphicEventHandler solution.
> 
> Not at all? Or do you just need to use the variant sending #value: to a
> block with the morph as an argument?

I am not sure if we understand each other. 
The example: 

morph := 'Hello' asMorph.
morph on: #mouseUp send: #traceCr: to: morph.
morph openInWindow

does not work for me. Actually I have not found a code that triggers #mouseUp 
event neither.

The example:

morph := 'Hello' asMorph.
morph eventHandler: MorphicEventHandler new.
morph eventHandler
on: #click send: #traceCr: to: morph.
morph openInWindow.

works well and this is what I use.

All tested on Pharo 6.1. 

Cheers,
Juraj

> 
> Stephan
> 
> 
> 




Re: [Pharo-users] How can a Morph display a context menu on a mouse click?

2018-02-05 Thread Juraj Kubelka


> El 03-02-2018, a las 07:26, stephan <step...@stack.nl> escribió:
> 
> On 02-02-18 15:19, Juraj Kubelka wrote:
>> Thank you Stephan!
>> There is my exercise:
>> “when:send:to"
>> morph := 'Hello' asMorph.
>> morph when: #click send: #traceCr: to: morph.
>> morph openInWindow.
> 
> Sorry
> 
> morph := 'Hello' asMorph.
> morph on: #mouseUp send: #traceCr: to: morph.
> morph openInWindow.
> 

This does not work for me either. 
I am fine with the MorphicEventHandler solution.

Thanks!
Juraj


[Pharo-users] Pillar script evaluation generating a screenshot

2018-02-03 Thread Juraj Kubelka
Hi,

Pillar allows to evaluate a script and use its output instead of the script 
itself, e.g.,

-=-=-=-
[[[eval=true
DateAndTime now printString
]]]
-=-=-=-

How can I test it in a Pharo image? I tried: 

-=-=-=-
document := PRPillarParser parse: '[[[eval=true
DateAndTime now printString
]]]' readStream.

PRHTMLWriter write: document.  
-=-=-=-

It returns: DateAndTime now 
printString

Then I tried:

-=-=-=-
transformedDocument := (PRScriptEvaluator executeOn: (PRCompilationContext 
withDocument: document withConfiguration: PRPillarConfiguration new)) input.

PRHTMLWriter write: transformedDocument.
-=-=-=-

And it returns an empty string.
What should I do to be able to obtain an HTML output with the output of 
`DateAndTime now printString`?


-=-=-=-
documentWithImage := PRPillarParser parse: '[[[eval=true
ByteArray streamContents: [ :writeStream |
PNGReadWriter putForm: World submorphs atRandom imageForm onStream: 
writeStream ]
]]]' readStream.
-=-=-=-

What is the best practice if the evaluated result should be a screenshot? 

Thanks!
Juraj




Re: [Pharo-users] How can a Morph display a context menu on a mouse click?

2018-02-02 Thread Juraj Kubelka
Thank you Stephan!

There is my exercise: 

“when:send:to"
morph := 'Hello' asMorph.
morph when: #click send: #traceCr: to: morph.
morph openInWindow.

—> it does not work for me. I do not know what the announcement should be

"Handler"
morph := 'Hello' asMorph.
morph eventHandler: MorphicEventHandler new.
morph eventHandler
on: #click send: #traceCr: to: morph.
morph openInWindow.

—> It works and there are examples in MorphicEventHandlerTest

Thanks!

> El 02-02-2018, a las 03:43, Stephan Eggermont <step...@stack.nl> escribió:
> 
> Juraj Kubelka <juraj.kube...@icloud.com>
> wrote:
>> Let’s say that we have a StringMorph: ‘Hello' asMorph.
>> Can I attach a MenuMorph (or a menu building logic) and display the
>> context menu on a mouse click in the StringMorph? 
>> 
>> Or the only way to do it is to subclass the StringMorph and write the
>> logic in the #mouseDown: method? 
> 
> #when:send:to:, or replace the eventhandler, or subclass
> 
> Stephan
> 
> 
> 




[Pharo-users] How can a Morph display a context menu on a mouse click?

2018-02-01 Thread Juraj Kubelka
Hi, 

Let’s say that we have a StringMorph: ‘Hello' asMorph.
Can I attach a MenuMorph (or a menu building logic) and display the context 
menu on a mouse click in the StringMorph? 

Or the only way to do it is to subclass the StringMorph and write the logic in 
the #mouseDown: method? 

Thanks!
Juraj




Re: [Pharo-users] Commander feedback

2018-01-17 Thread Juraj Kubelka
Thank you Denis.

I was able to create two Calypso commands that generate abstract and concrete 
accept: methods.

Cheers,
Juraj

> On Jan 17, 2018, at 12:16, Denis Kudriashov <dionisi...@gmail.com> wrote:
> 
> And thank's a lot, Juraj.
> 
> Very impressive review :). I will answer questions later
> 
> 2018-01-17 16:04 GMT+01:00 Denis Kudriashov <dionisi...@gmail.com 
> <mailto:dionisi...@gmail.com>>:
> Hy Juraj,
> 
> Do not spend time in Calypso part and even do not read it :). It is super 
> outdated and very draft. I am now working on it.
> 
> I will look you changes soon.
> 
> 2018-01-17 15:07 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>>:
> Hi Denis,
> 
> I finally read Section 3. I left two comments where I do not understand why 
> something happens. I will appreciate a further explanation :-) 
> 
> Here is the pull request: 
> https://github.com/SquareBracketAssociates/Booklet-Infrastructure/pull/2 
> <https://github.com/SquareBracketAssociates/Booklet-Infrastructure/pull/2> 
> 
> I have found out that the code in the Calypso chapter does not work. I was 
> able to change some of them. Do you want me to commit what I was able to 
> change? Well, you should check if the changes are correct.
> 
> Cheers,
> Juraj
> 
> 
>> On Dec 27, 2017, at 13:20, Denis Kudriashov <dionisi...@gmail.com 
>> <mailto:dionisi...@gmail.com>> wrote:
>> 
>> Hi Juraj.
>> 
>> You can find new version here 
>> https://github.com/SquareBracketAssociates/Booklet-Infrastructure 
>> <https://github.com/SquareBracketAssociates/Booklet-Infrastructure>. It is 
>> still draft version but in general all parts are covered now.
>> 
>> 2017-12-06 12:47 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
>> <mailto:juraj.kube...@icloud.com>>:
>> Hi Denis,
>> 
>> Thank you. Let me know. I will be happy to help.
>> 
>> Juraj
>> 
>> 
>>> On Dec 5, 2017, at 18:43, Denis Kudriashov <dionisi...@gmail.com 
>>> <mailto:dionisi...@gmail.com>> wrote:
>>> 
>>> Hi Juraj.
>>> 
>>> Yes. documentation needs to be improved. I made only pass on it. 
>>> Now there is new Commander version. The code still in dev branch 
>>> <https://github.com/dionisiydk/Commander/tree/dev>. The basic idea is same 
>>> but some names are changed and internally it is based on ClassAnnotation's 
>>> <https://github.com/dionisiydk/ClassAnnotation>. It became more simple and 
>>> flexible. 
>>> This week I should release new Calypso version. And after I will work on 
>>> documentation for both projects. Commander will be first. And next week I 
>>> will have update on it.
>>> 
>>> 2017-12-05 21:05 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
>>> <mailto:juraj.kube...@icloud.com>>:
>>> Hi,
>>> 
>>> I like the idea of the Commander library 
>>> https://github.com/dionisiydk/Commander 
>>> <https://github.com/dionisiydk/Commander> 
>>> I am trying to understand how to use it, but I struggle to understand it as 
>>> documentation includes quiete complex examples: 
>>> https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html
>>>  
>>> <https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html>
>>>  
>>> 
>>> I believe that it would be useful to have a tutorial that shows:
>>> 
>>> 1. create a command CmdOne including methods,
>>> 2. create a activator ActOne including methods,
>>> 3. create a context CtxOne including methods,
>>> 4. execute  and you obtain a collection with one item 
>>> (CmdOne instance?)
>>> 5. create command CmdTwo with some methods
>>> 6. execute  and you obtain a collection with two items
>>> 
>>> Then next section could describe how to make a UI on top of this.
>>> 
>>> Thank's for initiative. It is exactly what I will do.
>>>  
>>> 
>>> Learning it by exploring Calypso is too complex, because it involves more 
>>> objects and I actually do not see how to do the previous steps.
>>> 
>>> I agree, current version is a bit complicated inside. But it is already 
>>> fixed. And there will be update soon. 
>>>   
>>> 
>>> I will be happy to help with the documentation.
>>> My question is: How can I proceed the mentioned steps?
>>> 
>>> I would appreciate for your help. I will call you for review next week.
>>> 
>>> Best regards,
>>> Denis
>>> 
>>> 
>>> Thanks,
>>> Juraj
>> 
>> 
> 
> 
> 



Re: [Pharo-users] Commander feedback

2018-01-17 Thread Juraj Kubelka
Hi Denis,

I finally read Section 3. I left two comments where I do not understand why 
something happens. I will appreciate a further explanation :-) 

Here is the pull request: 
https://github.com/SquareBracketAssociates/Booklet-Infrastructure/pull/2 
<https://github.com/SquareBracketAssociates/Booklet-Infrastructure/pull/2> 

I have found out that the code in the Calypso chapter does not work. I was able 
to change some of them. Do you want me to commit what I was able to change? 
Well, you should check if the changes are correct.

Cheers,
Juraj

> On Dec 27, 2017, at 13:20, Denis Kudriashov <dionisi...@gmail.com> wrote:
> 
> Hi Juraj.
> 
> You can find new version here 
> https://github.com/SquareBracketAssociates/Booklet-Infrastructure 
> <https://github.com/SquareBracketAssociates/Booklet-Infrastructure>. It is 
> still draft version but in general all parts are covered now.
> 
> 2017-12-06 12:47 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>>:
> Hi Denis,
> 
> Thank you. Let me know. I will be happy to help.
> 
> Juraj
> 
> 
>> On Dec 5, 2017, at 18:43, Denis Kudriashov <dionisi...@gmail.com 
>> <mailto:dionisi...@gmail.com>> wrote:
>> 
>> Hi Juraj.
>> 
>> Yes. documentation needs to be improved. I made only pass on it. 
>> Now there is new Commander version. The code still in dev branch 
>> <https://github.com/dionisiydk/Commander/tree/dev>. The basic idea is same 
>> but some names are changed and internally it is based on ClassAnnotation's 
>> <https://github.com/dionisiydk/ClassAnnotation>. It became more simple and 
>> flexible. 
>> This week I should release new Calypso version. And after I will work on 
>> documentation for both projects. Commander will be first. And next week I 
>> will have update on it.
>> 
>> 2017-12-05 21:05 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
>> <mailto:juraj.kube...@icloud.com>>:
>> Hi,
>> 
>> I like the idea of the Commander library 
>> https://github.com/dionisiydk/Commander 
>> <https://github.com/dionisiydk/Commander> 
>> I am trying to understand how to use it, but I struggle to understand it as 
>> documentation includes quiete complex examples: 
>> https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html
>>  
>> <https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html>
>>  
>> 
>> I believe that it would be useful to have a tutorial that shows:
>> 
>> 1. create a command CmdOne including methods,
>> 2. create a activator ActOne including methods,
>> 3. create a context CtxOne including methods,
>> 4. execute  and you obtain a collection with one item 
>> (CmdOne instance?)
>> 5. create command CmdTwo with some methods
>> 6. execute  and you obtain a collection with two items
>> 
>> Then next section could describe how to make a UI on top of this.
>> 
>> Thank's for initiative. It is exactly what I will do.
>>  
>> 
>> Learning it by exploring Calypso is too complex, because it involves more 
>> objects and I actually do not see how to do the previous steps.
>> 
>> I agree, current version is a bit complicated inside. But it is already 
>> fixed. And there will be update soon. 
>>   
>> 
>> I will be happy to help with the documentation.
>> My question is: How can I proceed the mentioned steps?
>> 
>> I would appreciate for your help. I will call you for review next week.
>> 
>> Best regards,
>> Denis
>> 
>> 
>> Thanks,
>> Juraj
> 
> 



Re: [Pharo-users] [ANN] PharoLauncher v1.1 released!

2018-01-17 Thread Juraj Kubelka
Thank you a lot Christophe! 
I really enjoy using PharoLauncher.

Juraj

> On Jan 16, 2018, at 17:46, Christophe Demarey  
> wrote:
> 
> Hi all,
> 
> I just released PharoLauncher 1.1. There are now 64-bits versions for Mac and 
> Linux. Jenkins build is now managed through a Jenkins file.
> 
> Here is the changelog (details on 
> https://github.com/pharo-project/pharo-launcher/issues 
> ):
> New features:
>   #66 new command: import an image into the launcher default image folder 
>   #65 new command: remove a template from "Downloaded templates"
>   #64 new command: create a local template from an image and remove the 
> image
>   #57 new option: run an image from a login shell to inherit from shell 
> startup scripts to set up environment variables.
>   #54 It is now possible to run an image anywhere on your file system if 
> you click "launch" and no image is selected
>   #23 Pharo Launcher now has an "about" box giving its description, 
> version and a link to the bug tracker.
> Improvements:
>   #62 Pharo Launcher should not load default Pharo settings 
>   #51 Pharo Launcher now sets the current directory to the directory 
> containing the image (was the VM directory). Avoid confusions in Pharo 7 
> images.
> Bux fixes:
>   #60 hardReset option causes troubles to PharoLauncher 
>   #56 #, was sent to nil
>   #55 Display name of Pharo 7 images unusable 
>   #52 Cannot open a Pharo 2 image
>   #47 Cannot run pharo 50 pre-Spur images
> 
> You can get platform bundles from files.pharo.org : 
> http://files.pharo.org/pharo-launcher/1.1/ 
> 
> Regards,
> Christophe.



Re: [Pharo-users] Commander feedback

2017-12-28 Thread Juraj Kubelka
Hi Denis,

thanks! I will read it soon. 

You say that Calypso chapter is in wrong state. What chapters are up-to-date? I 
guess that Chapter 3 is what you updated recently, right? 

Cheers,
Juraj

> On Dec 28, 2017, at 07:03, Denis Kudriashov  wrote:
> 
> 
> 
> 2017-12-28 11:02 GMT+01:00 Denis Kudriashov  >:
> Hi
> 
> 2017-12-27 19:15 GMT+01:00 Sean P. DeNigris  >:
> Denis Kudriashov wrote
> > https://github.com/SquareBracketAssociates/Booklet-Infrastructure 
> > 
> 
> Cool! Can't wait to read :)
> 
> Also notice, the Calypso chapter is in wrong state. Do not try read it. Next 
> year I will push it
>  
> 
> And feel free to pull requests.
>  
> One small question: why
> "Booklet-Infrastructure"? That doesn't seem to match up to "A booklet on the
> infrastructure of the Calypso tool suite"…
> 
> It's question to Stef :). I just updated prepared chapters.
> 
> 
> 
> 
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html 
> 
> 
> 
> 



Re: [Pharo-users] Calypso question: adding a context menu item

2017-12-06 Thread Juraj Kubelka
Hi Denis,

Thanks! In dead, I used incorrect context.

Juraj

> On Dec 5, 2017, at 18:22, Denis Kudriashov <dionisi...@gmail.com> wrote:
> 
> Hi Juraj.
> 
> I repeated your steps and it works for me:
> In "vars" mode I have "Say Hello" in context menu of selected variable (just 
> before "Show in method browser" item).
> 
> Maybe you were looking at context menu of class pane? In that case command 
> activator should be defined as:
> ClyHelloCommand class>>systemBrowserClassMenuActivator
> 
> ^CmdContextMenuCommandActivator byRootGroupItemFor: 
> ClyClassSystemBrowserContext
> 
> 
> 
> 
> 2017-12-05 18:12 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>>:
> Hi,
> 
> To implement a context menu item. I have implemented a new class:
> 
> -=-=-=-
> CmdCommand subclass: #ClyHelloCommand
> instanceVariableNames: ''
> classVariableNames: ''
> package: 'Calypso-Extensions’
> -=-=-=-
> 
> with methods:
> 
> -=-=-=-=-
> ClyHelloCommand class >> #systemBrowserMenuActivator
> 
> 
> ^CmdContextMenuCommandActivator byRootGroupItemFor: 
> ClyVariableSystemBrowserContext
> 
> ClyHelloCommand >> # defaultMenuItemName
> ^'Say Hello’
> 
> ClyHelloCommand >> # execute
> self inform: 'Hello'
> -=-=-=-=-
> 
> But it does not display in the context menu. I expect it next to “Generate 
> accessors” as I took this command as an example.
> What do I miss?
> 
> Thanks,
> Juraj
> 



Re: [Pharo-users] Commander feedback

2017-12-06 Thread Juraj Kubelka
Hi Denis,

Thank you. Let me know. I will be happy to help.

Juraj

> On Dec 5, 2017, at 18:43, Denis Kudriashov <dionisi...@gmail.com> wrote:
> 
> Hi Juraj.
> 
> Yes. documentation needs to be improved. I made only pass on it. 
> Now there is new Commander version. The code still in dev branch 
> <https://github.com/dionisiydk/Commander/tree/dev>. The basic idea is same 
> but some names are changed and internally it is based on ClassAnnotation's 
> <https://github.com/dionisiydk/ClassAnnotation>. It became more simple and 
> flexible. 
> This week I should release new Calypso version. And after I will work on 
> documentation for both projects. Commander will be first. And next week I 
> will have update on it.
> 
> 2017-12-05 21:05 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>>:
> Hi,
> 
> I like the idea of the Commander library 
> https://github.com/dionisiydk/Commander 
> <https://github.com/dionisiydk/Commander> 
> I am trying to understand how to use it, but I struggle to understand it as 
> documentation includes quiete complex examples: 
> https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html
>  
> <https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html>
>  
> 
> I believe that it would be useful to have a tutorial that shows:
> 
> 1. create a command CmdOne including methods,
> 2. create a activator ActOne including methods,
> 3. create a context CtxOne including methods,
> 4. execute  and you obtain a collection with one item 
> (CmdOne instance?)
> 5. create command CmdTwo with some methods
> 6. execute  and you obtain a collection with two items
> 
> Then next section could describe how to make a UI on top of this.
> 
> Thank's for initiative. It is exactly what I will do.
>  
> 
> Learning it by exploring Calypso is too complex, because it involves more 
> objects and I actually do not see how to do the previous steps.
> 
> I agree, current version is a bit complicated inside. But it is already 
> fixed. And there will be update soon. 
>   
> 
> I will be happy to help with the documentation.
> My question is: How can I proceed the mentioned steps?
> 
> I would appreciate for your help. I will call you for review next week.
> 
> Best regards,
> Denis
> 
> 
> Thanks,
> Juraj



[Pharo-users] Commander feedback

2017-12-05 Thread Juraj Kubelka
Hi,

I like the idea of the Commander library 
https://github.com/dionisiydk/Commander 
 
I am trying to understand how to use it, but I struggle to understand it as 
documentation includes quiete complex examples: 
https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Commander/Commander.html
 

 

I believe that it would be useful to have a tutorial that shows:

1. create a command CmdOne including methods,
2. create a activator ActOne including methods,
3. create a context CtxOne including methods,
4. execute  and you obtain a collection with one item 
(CmdOne instance?)
5. create command CmdTwo with some methods
6. execute  and you obtain a collection with two items

Then next section could describe how to make a UI on top of this.

Learning it by exploring Calypso is too complex, because it involves more 
objects and I actually do not see how to do the previous steps.

I will be happy to help with the documentation.
My question is: How can I proceed the mentioned steps?

Thanks,
Juraj

[Pharo-users] Calypso question: adding a context menu item

2017-12-05 Thread Juraj Kubelka
Hi,

To implement a context menu item. I have implemented a new class:

-=-=-=-
CmdCommand subclass: #ClyHelloCommand
instanceVariableNames: ''
classVariableNames: ''
package: 'Calypso-Extensions’
-=-=-=-

with methods: 

-=-=-=-=-
ClyHelloCommand class >> #systemBrowserMenuActivator


^CmdContextMenuCommandActivator byRootGroupItemFor: 
ClyVariableSystemBrowserContext 

ClyHelloCommand >> # defaultMenuItemName
^'Say Hello’

ClyHelloCommand >> # execute
self inform: 'Hello'
-=-=-=-=- 

But it does not display in the context menu. I expect it next to “Generate 
accessors” as I took this command as an example. 
What do I miss?

Thanks,
Juraj


Re: [Pharo-users] tonel how to

2017-11-30 Thread Juraj Kubelka
Hi Hilaire,

I have been playing with it recently. There is my exercise: 
myClass := MyDemo.
myClassName := MyDemo name.
snapshot := (MCPackage new name: myClass package name) snapshot.
memory := FileSystem memory. 
writer := TonelWriter on: memory root.
writer writeSnapshot: snapshot.
"Remove package"
myClass package removeFromSystem.
"Find myClass file"
classDefinition := snapshot definitions 
detect: [ :e | e isClassDefinition and: [ 
e className = myClassName ] ].
dir := writer packageDir.
fileName := writer fileNameFor: classDefinition.
(dir / fileName) contents.
"Read and Install definitions"
reader := writer class readerClass on: memory root.
reader packageDirectory: dir basename.
reader loadDefinitions.
reader snapshot install.

Maybe it is what you are asking for. 

Cheers,
Juraj




> On Nov 30, 2017, at 15:36, Hilaire  wrote:
> 
> Hi,
> 
> How can I use tonel to load code located in the host filesystem?
> 
> Thanks
> 
> Hilaire
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 



Re: [Pharo-users] ZIPArchive usage + FileSystem memory

2017-11-30 Thread Juraj Kubelka
Thank you Guillermo. I see that you already assigned the case 
https://pharo.fogbugz.com/f/cases/20253/MemoryFileSysteFile-shuold-return-a-MultiByteFileStream-as-readStream
 

Cheers,
Juraj

> On Nov 30, 2017, at 06:10, Guillermo Polito <guillermopol...@gmail.com> wrote:
> 
> Hi Juraj,
> 
> The file streams opened in a memory file system are not polymorphic with the 
> ones in a disk file system :(.
> 
> Can you open an issue and assing it to me? I'll work soon on making all of 
> them work and yield binary streams.
> 
> On Wed, Nov 29, 2017 at 9:06 PM, Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>> wrote:
> Hi,
> 
> I can successfully use ZipArchive like the following
> 
> -=-=-
> zip := ZipArchive new.
> { 'file1.txt'. 'file2.txt'. 'file3.txt' } do: [ :eachFile |
> | member |
> member := zip addString: eachFile, ' contents' as: eachFile.
> member desiredCompressionMethod: ZipArchive compressionDeflated ].
> file := FileLocator temp / 'archive.zip'.
> zip writeTo: file writeStream.
> file.
> -=-=-
> 
> What I should do to make it work while using FileSystem memory?
> 
> -=-=-
> zip := ZipArchive new.
> { 'file1.txt'. 'file2.txt'. 'file3.txt' } do: [ :eachFile |
> | member |
> member := zip addString: eachFile, ' contents' as: eachFile.
> member desiredCompressionMethod: ZipArchive compressionDeflated ].
> fileSystem := FileSystem memory.
> file := fileSystem root / 'archive.zip'.
> file writeStreamDo: [ :stream |
> zip writeTo: stream ].
> -=-=-
> 
> There is "Improper store into indexable object” as it tries to store a number 
> in ByteString.
> Thanks!
> Juraj
> 
> 
> 
> 
> 
> -- 
>
> Guille Polito
> Research Engineer
> 
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr 
> <http://www.cnrs.fr/>
> 
> Web: http://guillep.github.io <http://guillep.github.io/>
> Phone: +33 06 52 70 66 13



[Pharo-users] ZIPArchive usage + FileSystem memory

2017-11-29 Thread Juraj Kubelka
Hi,

I can successfully use ZipArchive like the following

-=-=-
zip := ZipArchive new.
{ 'file1.txt'. 'file2.txt'. 'file3.txt' } do: [ :eachFile | 
| member | 
member := zip addString: eachFile, ' contents' as: eachFile.
member desiredCompressionMethod: ZipArchive compressionDeflated ].
file := FileLocator temp / 'archive.zip'.
zip writeTo: file writeStream.
file.
-=-=-

What I should do to make it work while using FileSystem memory? 

-=-=-
zip := ZipArchive new.
{ 'file1.txt'. 'file2.txt'. 'file3.txt' } do: [ :eachFile | 
| member | 
member := zip addString: eachFile, ' contents' as: eachFile.
member desiredCompressionMethod: ZipArchive compressionDeflated ].
fileSystem := FileSystem memory.
file := fileSystem root / 'archive.zip'.
file writeStreamDo: [ :stream | 
zip writeTo: stream ].
-=-=-

There is "Improper store into indexable object” as it tries to store a number 
in ByteString.
Thanks!
Juraj




Re: [Pharo-users] Unable to update Glamour-Core

2017-11-29 Thread Juraj Kubelka
Try to clean your cache with packages. I guess that you have 
Roassal2-akevalon.1718 package locally and this one is corrupted. 

Juraj

> On Nov 29, 2017, at 15:16, Offray Vladimir Luna Cárdenas 
> <offray.l...@mutabit.com> wrote:
> 
> Hi,
> 
> I tried again with a Pharo 6.1 image Latest update: #60510 and now I got this 
> error below. I will try the install procedure after a system update, to debug 
> it.
> 
> Thanks,
> 
> Offray
> 
> 
> 
> On 29/11/17 12:15, Juraj Kubelka wrote:
>> I do not have this issue. Tested on 32bit Pharo 6.1 Latest update: #60523
>> 
>> Cheers,
>> Juraj
>> 
>>> On Nov 29, 2017, at 14:06, Offray Vladimir Luna Cárdenas 
>>> <offray.l...@mutabit.com <mailto:offray.l...@mutabit.com>> wrote:
>>> 
>>> Hi,
>>> 
>>> I'm using the Roassal2 load script on Pharo 6.1 on Manjaro Gnu/Linux for 64 
>>> bits:
>>> 
>>> 
>>> 
>>> Gofer it
>>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>> configurationOf: 'Roassal2';
>>> loadStable.
>>> 
>>> That is the one, I presume, is trying to load "Glamour-Core-TudorGirba339" 
>>> and generating the reported error. The quickest way to reproduce the error 
>>> would be trying to install Roassal2 on Pharo 6.1.
>>> 
>>> Cheers,
>>> 
>>> Offray
>>> 
>>> On 29/11/17 02:47, Tudor Girba wrote:
>>>> Hi,
>>>> 
>>>> I am not sure I understand your report. The Glamour-Core package is part 
>>>> of ConfigurationOfGlamourCore, and should not be updated separately.
>>>> 
>>>> What script are you using for loading ConfigurationOfGlamourCore?
>>>> 
>>>> Cheers,
>>>> Doru
>>>> 
>>>> 
>>>>> On Nov 29, 2017, at 3:53 AM, Offray Vladimir Luna Cárdenas 
>>>>> <offray.l...@mutabit.com> <mailto:offray.l...@mutabit.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> My image become unresponsive while making some debug, so I decided to
>>>>> start fresh and reinstall Grafoscopio, but I have some problems, with
>>>>> XML parser (so I disabled Soup temporarily) and with Glamour-Core, which
>>>>> provides and important part of the Grafoscopio experience. I tried also
>>>>> to install it from Monticello, without better results (to the version
>>>>> Glamour-Core-TudorGirba339). In both cases I get "SubscriptOutOfBounds:
>>>>> 17808" and this is the trace I get with the "Report" button (sorry I
>>>>> don't know other way to report):
>>>>> 
>>>>> https://pastebin.com/wWM24w01 <https://pastebin.com/wWM24w01>
>>>>> 
>>>>> I will try with Pharo 7... The procedure is the same that was working
>>>>> just last week. I know the pains and advantages of having a dynamic
>>>>> system that is evolving quickly... hopefully a more stable platform will
>>>>> be there while the upcoming one is evolving.
>>>>> 
>>>>> Cheers,
>>>>> 
>>>>> Offray
>>>>> 
>>>>> 
>>>>> 
>>>> --
>>>> www.tudorgirba.com <http://www.tudorgirba.com/>
>>>> www.feenk.com <http://www.feenk.com/>
>>>> 
>>>> "Every now and then stop and ask yourself if the war you're fighting is 
>>>> the right one."
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>> 
> 



Re: [Pharo-users] Unable to update Glamour-Core

2017-11-29 Thread Juraj Kubelka
I do not have this issue. Tested on 32bit Pharo 6.1 Latest update: #60523

Cheers,
Juraj

> On Nov 29, 2017, at 14:06, Offray Vladimir Luna Cárdenas 
>  wrote:
> 
> Hi,
> 
> I'm using the Roassal2 load script on Pharo 6.1 on Manjaro Gnu/Linux for 64 
> bits:
> 
> 
> 
> Gofer it
>   smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>   configurationOf: 'Roassal2';
>   loadStable.
> 
> That is the one, I presume, is trying to load "Glamour-Core-TudorGirba339" 
> and generating the reported error. The quickest way to reproduce the error 
> would be trying to install Roassal2 on Pharo 6.1.
> 
> Cheers,
> 
> Offray
> 
> On 29/11/17 02:47, Tudor Girba wrote:
>> Hi,
>> 
>> I am not sure I understand your report. The Glamour-Core package is part of 
>> ConfigurationOfGlamourCore, and should not be updated separately.
>> 
>> What script are you using for loading ConfigurationOfGlamourCore?
>> 
>> Cheers,
>> Doru
>> 
>> 
>>> On Nov 29, 2017, at 3:53 AM, Offray Vladimir Luna Cárdenas 
>>>   wrote:
>>> 
>>> Hi,
>>> 
>>> My image become unresponsive while making some debug, so I decided to
>>> start fresh and reinstall Grafoscopio, but I have some problems, with
>>> XML parser (so I disabled Soup temporarily) and with Glamour-Core, which
>>> provides and important part of the Grafoscopio experience. I tried also
>>> to install it from Monticello, without better results (to the version
>>> Glamour-Core-TudorGirba339). In both cases I get "SubscriptOutOfBounds:
>>> 17808" and this is the trace I get with the "Report" button (sorry I
>>> don't know other way to report):
>>> 
>>> https://pastebin.com/wWM24w01 
>>> 
>>> I will try with Pharo 7... The procedure is the same that was working
>>> just last week. I know the pains and advantages of having a dynamic
>>> system that is evolving quickly... hopefully a more stable platform will
>>> be there while the upcoming one is evolving.
>>> 
>>> Cheers,
>>> 
>>> Offray
>>> 
>>> 
>>> 
>> --
>> www.tudorgirba.com 
>> www.feenk.com 
>> 
>> "Every now and then stop and ask yourself if the war you're fighting is the 
>> right one."
>> 
>> 
>> 
>> 
>> 
>> 
> 



[Pharo-users] Using ZIP file system

2017-11-29 Thread Juraj Kubelka
Hi,

Do I use the ZIP file system correctly? I do the following: 

-=-=-=-
zipFile := FileLocator temp / 'file.zip'.
zipFileSystem := (FileSystem zip: zipFile) open.
(zipFileSystem root / 'dir1') createDirectory.
(zipFileSystem root / 'dir1' / 'file.txt') 
writeStreamDo: [ :stream | stream << 'Hello World!' ].
zipFileSystem close.
zipFile contents.
-=-=-=-

And zipFileSystem close produces an error.
 UndefinedObject(Object)>>doesNotUnderstand: #uncompressedSize
ZipFileSystemFile>>readFromMember
ZipFileSystemFile>>bytes
ZipFileSystemFile(MemoryFileSystemFile)>>readStream
MemoryHandle>>readStream
FileSystem>>readStreamOn:
FileReference>>readStream
FileReference(AbstractFileReference)>>readStreamDo:
[ :each | 
each isFile
ifTrue: [ each
readStreamDo:
[ :output | archive addString: output contents 
as: each path printString ] ] ] in ZipStore>>close in Block: [ :each | ...
Array(SequenceableCollection)>>do:
ZipStore>>close
FileSystem>>close
UndefinedObject>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann 
action.
textMorph shoutStyler style: textMorph text ] ] in 
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
 in Block: [ textMorph textArea editor highlightEvaluateAndDo...etc...
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann 
action.
textMorph shoutStyler style: textMorph text ] ] in 
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
 in Block: [ textMorph textArea...
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess in Block: [ [ 
WorldMorph doOneCycle
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
value


Thanks for any advice. 
Juraj



Re: [Pharo-users] [Pharo-dev] [ANN] Pharo TechTalk 21 Nov: Discord Demo

2017-11-22 Thread Juraj Kubelka


> On Nov 21, 2017, at 19:54, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> 
> Well done :)
> 
> Now you can make a discord client inside the Pharo image if you want. 

Exactly :-) I am looking for integrations that improve the developer 
experience. Maybe the interface should be different from the standard client. 
The question is how to integrate and why? What do you think?

Cheers,
Juraj

> On Tue, 21 Nov 2017 at 21:03, Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>> wrote:
> Hi,
> 
> the TechTalk record is available at the same link: 
> https://www.youtube.com/watch?v=33kXsOiP6wA 
> <https://www.youtube.com/watch?v=33kXsOiP6wA> 
> and includes outline to simplify navigation.
> 
> Cheers,
> Juraj
> 
> 
> TechTalk Outline:
> - 01:58 The beginning of the talk
> - 04:30 Webhook
>   - 04:33 How to Create Webhook
>   - 05:39 Webhook Examples
>   - 10:33 Webhook Use Case: Script of the Day from Nautilus Code Browser
>   - 18:39 Webhook Use Case: Server Problem Notification
> - 22:45 Bot App (chatbot)
>   - 24:47 How to Create a Bot App
>   - 28:28 Bot App Examples
>   - 33:17 Bot Use Case: Source Code Expertise
> - 41:40 Standard User Client
>   - 42:57 User Client Example
>   - 45:06 User Client Use Case: Asking Directly from Pharo Playground
>   - 47:06 User Client Use Case: Receiving Questions and Answering in Pharo
>   - 50:50 Final Thoughts About Discord Integration in Inspector and Debugger
> - 52:44 Discussion
> 
>> On Nov 21, 2017, at 12:54, Juraj Kubelka <juraj.kube...@icloud.com 
>> <mailto:juraj.kube...@icloud.com>> wrote:
>> 
>> Hi!
>> 
>> The TechTalk starts in about 10 minutes. Join us on Discord, the techtalk 
>> channel.
>> 
>> Cheers,
>> Juraj
>> 
>> 
>>> On Nov 21, 2017, at 10:11, Marcus Denker <marcus.den...@inria.fr 
>>> <mailto:marcus.den...@inria.fr>> wrote:
>>> 
>>> The link to the live stream is this:
>>> 
>>>  https://www.youtube.com/watch?v=33kXsOiP6wA 
>>> <https://www.youtube.com/watch?v=33kXsOiP6wA>
>>> 
>>> It start in a bit less than 3 hours.
>>> 
>>> Marcus
>>> 
>>>> On 18 Nov 2017, at 09:13, Marcus Denker <marcus.den...@inria.fr 
>>>> <mailto:marcus.den...@inria.fr>> wrote:
>>>> 
>>>> Pharo TechTalk: Discord Demo
>>>> When?  21 Nov 2017 5:00 PM - 7:00 PM (UTC+01:00)
>>>> 
>>>> Topic: "Discord communication Demo”, how to script discord from Pharo.
>>>> 
>>>>https://association.pharo.org/event-2642665 
>>>> <https://association.pharo.org/event-2642665>
>>> 
>> 
> 



Re: [Pharo-users] [ANN] Pharo TechTalk 21 Nov: Discord Demo

2017-11-21 Thread Juraj Kubelka
Hi,

the TechTalk record is available at the same link: 
https://www.youtube.com/watch?v=33kXsOiP6wA 
<https://www.youtube.com/watch?v=33kXsOiP6wA> 
and includes outline to simplify navigation.

Cheers,
Juraj


TechTalk Outline:
- 01:58 The beginning of the talk
- 04:30 Webhook
  - 04:33 How to Create Webhook
  - 05:39 Webhook Examples
  - 10:33 Webhook Use Case: Script of the Day from Nautilus Code Browser
  - 18:39 Webhook Use Case: Server Problem Notification
- 22:45 Bot App (chatbot)
  - 24:47 How to Create a Bot App
  - 28:28 Bot App Examples
  - 33:17 Bot Use Case: Source Code Expertise
- 41:40 Standard User Client
  - 42:57 User Client Example
  - 45:06 User Client Use Case: Asking Directly from Pharo Playground
  - 47:06 User Client Use Case: Receiving Questions and Answering in Pharo
  - 50:50 Final Thoughts About Discord Integration in Inspector and Debugger
- 52:44 Discussion

> On Nov 21, 2017, at 12:54, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
> 
> Hi!
> 
> The TechTalk starts in about 10 minutes. Join us on Discord, the techtalk 
> channel.
> 
> Cheers,
> Juraj
> 
> 
>> On Nov 21, 2017, at 10:11, Marcus Denker <marcus.den...@inria.fr 
>> <mailto:marcus.den...@inria.fr>> wrote:
>> 
>> The link to the live stream is this:
>> 
>>   https://www.youtube.com/watch?v=33kXsOiP6wA 
>> <https://www.youtube.com/watch?v=33kXsOiP6wA>
>> 
>> It start in a bit less than 3 hours.
>> 
>>  Marcus
>> 
>>> On 18 Nov 2017, at 09:13, Marcus Denker <marcus.den...@inria.fr 
>>> <mailto:marcus.den...@inria.fr>> wrote:
>>> 
>>> Pharo TechTalk: Discord Demo
>>> When?  21 Nov 2017 5:00 PM - 7:00 PM (UTC+01:00)
>>> 
>>> Topic: "Discord communication Demo”, how to script discord from Pharo.
>>> 
>>> https://association.pharo.org/event-2642665 
>>> <https://association.pharo.org/event-2642665>
>> 
> 



Re: [Pharo-users] [ANN] Pharo TechTalk 21 Nov: Discord Demo

2017-11-21 Thread Juraj Kubelka
Hi!

The TechTalk starts in about 10 minutes. Join us on Discord, the techtalk 
channel.

Cheers,
Juraj


> On Nov 21, 2017, at 10:11, Marcus Denker  wrote:
> 
> The link to the live stream is this:
> 
>https://www.youtube.com/watch?v=33kXsOiP6wA 
> 
> 
> It start in a bit less than 3 hours.
> 
>   Marcus
> 
>> On 18 Nov 2017, at 09:13, Marcus Denker > > wrote:
>> 
>> Pharo TechTalk: Discord Demo
>> When?  21 Nov 2017 5:00 PM - 7:00 PM (UTC+01:00)
>> 
>> Topic: "Discord communication Demo”, how to script discord from Pharo.
>> 
>>  https://association.pharo.org/event-2642665 
>> 
> 



[Pharo-users] Using PharoCloud: 500 Internal Server Error (nginx)

2017-11-17 Thread Juraj Kubelka
Hi!


I am playing for the first time with PharoCloud. I do the following steps:

- download Pharo 6 image
- open the image and execute `ZnServer startDefaultOn: 8080`
- tests http://localhost:8080  (I see Zinc welcome 
message)
- save and quit the image and compress the image and changes
- login to PharoCloud using Pharo Association account 
https://www.pharocloud.com/manager/connect 
 
- upload the ZIP archive with Pharo image and changes using PharoCloud 
Ephemeric Manager v3.0 web interface
- set expose ports to 8080 and submit the configuration
- activate the image, it asks me to login again (and I login with Pharo 
Association account)
- the image is active (green circle)
- click on its hostname and I see 500 Internal Server Error (nginx) instead of 
the welcome message

Is it suppose to work? Do I miss something? 

Thanks,
Juraj



Re: [Pharo-users] NeoJSON. Allowing null or an object

2017-11-13 Thread Juraj Kubelka
Hi Sven,

thank you for the fix! 

I understand that #allowNil is about reading, while #writeNil: is about 
writing. 
I use the same mapping for the reader and writer. This is why I spotted the 
case.

Thanks!
Juraj

> On Nov 13, 2017, at 16:30, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Juraj,
> 
> Check out:
> 
> ===
> Name: Neo-JSON-Core-SvenVanCaekenberghe.46
> Author: SvenVanCaekenberghe
> Time: 13 November 2017, 6:59:13.995868 pm
> UUID: f412799a-431a-0d00-850e-5c3c05ce5378
> Ancestors: Neo-JSON-Core-SvenVanCaekenberghe.45
> 
> Fix the NeoJSONWriter>>#writeNil: true option by adding a short circuit to 
> NeoJSONWriter>>nextPut:as: (as reported by Juraj Kubelka)
> 
> Add #testRectanglePointsWithNil
> ===
> Name: Neo-JSON-Tests-SvenVanCaekenberghe.44
> Author: SvenVanCaekenberghe
> Time: 13 November 2017, 6:59:37.365898 pm
> UUID: 35acdd9b-431a-0d00-850f-878405ce5378
> Ancestors: Neo-JSON-Tests-SvenVanCaekenberghe.43
> 
> Fix the NeoJSONWriter>>#writeNil: true option by adding a short circuit to 
> NeoJSONWriter>>nextPut:as: (as reported by Juraj Kubelka)
> 
> Add #testRectanglePointsWithNil
> ===
> 
> These should fix your last case. I used your example in the new unit test.
> 
> Note that #allowNil on a mapper is about reading, not writing.
> 
> HTH,
> 
> Sven
> 
>> On 13 Nov 2017, at 17:10, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi, 
>> 
>> I have just found the answer for the reader:
>> 
>> -=-=-=-
>> rectangleJson := '{
>>  "origin" : null,
>>  "corner" : null
>> }'.
>> 
>> (NeoJSONReader on: rectangleJson readStream)
>>  mapInstVarsFor: Point;
>>  for: Point do: [ :mapping | 
>>  mapping allowNil ];
>>  for: Rectangle do: [ :mapping | 
>> (mapping mapInstVar: #origin) valueSchema: Point.
>> (mapping mapInstVar: #corner) valueSchema: Point ];
>>  nextAs: Rectangle.
>> -=-=-=-
>> 
>> I have an impression that there is a bug in the writer. While the following 
>> example works: 
>> 
>> -=-=-=-
>> String streamContents: [ :stream |
>>   (NeoJSONWriter on: stream)
>>  for: Point do: [ :mapping | 
>>  mapping mapAllInstVars.
>>  mapping allowNil ];
>> for: Rectangle do: [ :mapping | 
>>  (mapping mapInstVar: #origin) valueSchema: Point.
>>  (mapping mapInstVar: #corner) valueSchema: Point ];
>>  nextPut: Rectangle new ].
>> -=-=-=-
>> 
>> the following example does not work: 
>> 
>> -=-=-=-
>> String streamContents: [ :stream |
>>   (NeoJSONWriter on: stream)
>>  for: Point do: [ :mapping | 
>>  mapping mapAllInstVars.
>>  mapping allowNil ];
>> for: Rectangle do: [ :mapping | 
>>  (mapping mapInstVar: #origin) valueSchema: Point.
>>  (mapping mapInstVar: #corner) valueSchema: Point ];
>>  writeNil: true;
>>  nextPut: Rectangle new ].
>> -=-=-=-
>> 
>> What do you think?
>> Juraj
>> 
>>> On Nov 13, 2017, at 12:50, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>>> 
>>> Hi,
>>> 
>>> Please, how should I modify the mapping to be able to parse the following 
>>> example?
>>> 
>>> -=-=-=-
>>> rectangleJson := '{
>>>  "origin" : null,
>>>  "corner" : null
>>> }'.
>>> 
>>> (NeoJSONReader on: rectangleJson readStream)
>>>  mapInstVarsFor: Point;
>>>  for: Rectangle do: [ :mapping | 
>>> (mapping mapInstVar: #origin) valueSchema: Point.
>>> (mapping mapInstVar: #corner) valueSchema: Point ];
>>>  nextAs: Rectangle.
>>> -=-=-=-
>>> 
>>> I receive from a server JSON messages including null values. 
>>> Can we say use Point value schema or null? How? 
>>> 
>>> In the documentation I can see the example: 
>>> 
>>> -=-=-=-
>>> String streamContents: [ :stream |
>>>  (NeoJSONWriter on: stream)
>>> mapAllInstVarsFor: Point;
>>> writeNil: true;
>>> nextPut: Point new ].
>>> -=-=-=-
>>> that produces {"x":null,"y":null}
>>> 
>>> But I do not see how to apply this for the following example: 
>>> -=-=-=-
>>> String streamContents: [ :stream |
>>>  (NeoJSONWriter on: stream)
>>> mapAllInstVarsFor: Point;
>>>for: Rectangle do: [ :mapping | 
>>>  (mapping mapInstVar: #origin) valueSchema: Point.
>>>  (mapping mapInstVar: #corner) valueSchema: Point ];
>>> writeNil: true;
>>> nextPut: Rectangle new ].
>>> -=-=-=-
>>> 
>>> Thanks,
>>> Juraj
>>> 
>>> 
>> 
> 
> 




Re: [Pharo-users] NeoJSON. Allowing null or an object

2017-11-13 Thread Juraj Kubelka
Hi, 

I have just found the answer for the reader:

-=-=-=-
rectangleJson := '{
  "origin" : null,
  "corner" : null
}'.

(NeoJSONReader on: rectangleJson readStream)
  mapInstVarsFor: Point;
  for: Point do: [ :mapping | 
mapping allowNil ];
  for: Rectangle do: [ :mapping | 
 (mapping mapInstVar: #origin) valueSchema: Point.
 (mapping mapInstVar: #corner) valueSchema: Point ];
  nextAs: Rectangle.
-=-=-=-

I have an impression that there is a bug in the writer. While the following 
example works: 

-=-=-=-
String streamContents: [ :stream |
   (NeoJSONWriter on: stream)
for: Point do: [ :mapping | 
mapping mapAllInstVars.
mapping allowNil ];
   for: Rectangle do: [ :mapping | 
(mapping mapInstVar: #origin) valueSchema: Point.
(mapping mapInstVar: #corner) valueSchema: Point ];
  nextPut: Rectangle new ].
-=-=-=-

the following example does not work: 

-=-=-=-
String streamContents: [ :stream |
   (NeoJSONWriter on: stream)
for: Point do: [ :mapping | 
mapping mapAllInstVars.
mapping allowNil ];
   for: Rectangle do: [ :mapping | 
(mapping mapInstVar: #origin) valueSchema: Point.
(mapping mapInstVar: #corner) valueSchema: Point ];
  writeNil: true;
  nextPut: Rectangle new ].
-=-=-=-

What do you think?
Juraj

> On Nov 13, 2017, at 12:50, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
> 
> Hi,
> 
> Please, how should I modify the mapping to be able to parse the following 
> example?
> 
> -=-=-=-
> rectangleJson := '{
>   "origin" : null,
>   "corner" : null
> }'.
> 
> (NeoJSONReader on: rectangleJson readStream)
>   mapInstVarsFor: Point;
>   for: Rectangle do: [ :mapping | 
>  (mapping mapInstVar: #origin) valueSchema: Point.
>  (mapping mapInstVar: #corner) valueSchema: Point ];
>   nextAs: Rectangle.
> -=-=-=-
> 
> I receive from a server JSON messages including null values. 
> Can we say use Point value schema or null? How? 
> 
> In the documentation I can see the example: 
> 
> -=-=-=-
> String streamContents: [ :stream |
>   (NeoJSONWriter on: stream)
>  mapAllInstVarsFor: Point;
>  writeNil: true;
>  nextPut: Point new ].
> -=-=-=-
> that produces {"x":null,"y":null}
> 
> But I do not see how to apply this for the following example: 
> -=-=-=-
> String streamContents: [ :stream |
>   (NeoJSONWriter on: stream)
>  mapAllInstVarsFor: Point;
>  for: Rectangle do: [ :mapping | 
>(mapping mapInstVar: #origin) valueSchema: Point.
>(mapping mapInstVar: #corner) valueSchema: Point ];
>  writeNil: true;
>  nextPut: Rectangle new ].
> -=-=-=-
> 
> Thanks,
> Juraj
> 
> 



[Pharo-users] NeoJSON. Allowing null or an object

2017-11-13 Thread Juraj Kubelka
Hi,

Please, how should I modify the mapping to be able to parse the following 
example?

-=-=-=-
rectangleJson := '{
   "origin" : null,
   "corner" : null
}'.

(NeoJSONReader on: rectangleJson readStream)
   mapInstVarsFor: Point;
   for: Rectangle do: [ :mapping | 
  (mapping mapInstVar: #origin) valueSchema: Point.
  (mapping mapInstVar: #corner) valueSchema: Point ];
   nextAs: Rectangle.
-=-=-=-

I receive from a server JSON messages including null values. 
Can we say use Point value schema or null? How? 

In the documentation I can see the example: 

-=-=-=-
String streamContents: [ :stream |
   (NeoJSONWriter on: stream)
  mapAllInstVarsFor: Point;
  writeNil: true;
  nextPut: Point new ].
-=-=-=-
that produces {"x":null,"y":null}

But I do not see how to apply this for the following example: 
-=-=-=-
String streamContents: [ :stream |
   (NeoJSONWriter on: stream)
  mapAllInstVarsFor: Point;
   for: Rectangle do: [ :mapping | 
 (mapping mapInstVar: #origin) valueSchema: Point.
 (mapping mapInstVar: #corner) valueSchema: Point ];
  writeNil: true;
  nextPut: Rectangle new ].
-=-=-=-

Thanks,
Juraj




Re: [Pharo-users] Extending Calypso

2017-11-02 Thread Juraj Kubelka
Thanks! It works. 

Then I have two more questions: 

1. How it is done that ‘should be implemented’ has red color? 

2. Then let’s say I want a message group that display all messages in the 
environment that refers to a selected class. 

I found `ClyClassReferences to: classes`, but I miss how to use it in that 
case. My class ClyClassReferencesMethodGroup should use it in #includesMethod: 
and #methods. What is the right way to use ClyClassReferences or access 
environment to make the query? 

Cheers,
Juraj

> On Nov 2, 2017, at 12:23, Denis Kudriashov <dionisi...@gmail.com> wrote:
> 
> Hi
> 
> There is no real documentation for now. Only examples on my slides.
> 
> 2017-11-02 16:16 GMT+01:00 Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>>:
> Hi,
> 
> Are there any examples (documentation) how to extend Calipso?
> 
> I have tried to create a simple (demo) method group, but I miss something, 
> because it is not called.
> 
> I have created three subclasses of:
> ClyMethodGroup (with #name and #includesMethod:),
> ClySingleMethodGroupProvider (with #methodGroupClass), and
> ClyEnvironmentPlugin (with #collectMethodGroupProvidersFor:).
> 
> What do I miss?
> 
> Looks good. But to activate this plugin on current system environment you 
> need to reset it:
> 
> ClySystemNavigationEnvironment reset.
> 
> Or manually add new plugin:
> 
> ClySystemNavigationEnvironment currentImage addPlugin: ClyYourPlugin new.
> 
> Let’s say that I want a new method group that displays all methods of a 
> selected class that include substring ‘foo’.
> 
> Thanks!
> Juraj
> 
> 
> 



[Pharo-users] Extending Calypso

2017-11-02 Thread Juraj Kubelka
Hi,

Are there any examples (documentation) how to extend Calipso? 

I have tried to create a simple (demo) method group, but I miss something, 
because it is not called. 

I have created three subclasses of: 
ClyMethodGroup (with #name and #includesMethod:), 
ClySingleMethodGroupProvider (with #methodGroupClass), and 
ClyEnvironmentPlugin (with #collectMethodGroupProvidersFor:).

What do I miss? 
Let’s say that I want a new method group that displays all methods of a 
selected class that include substring ‘foo’. 

Thanks!
Juraj




Re: [Pharo-users] NeoJSON and polymorphism

2017-09-25 Thread Juraj Kubelka
ple in my previous example, one instance variable is a 
ZnUrl instance that is stored as a String. Can I say “use ZnUrl mapping in for 
this intermediate structure”? Well, I understand that I can hard code it 
directly in the the #decoder: and #encoder: messages using #asZnUrl and 
#asString messages. I am thinking about a more complicated structures that 
involves more mapping definitions. 

Thanks!
Juraj

> 
> HTH,
> 
> Sven
> 
>> On 21 Sep 2017, at 22:07, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi,
>> 
>> By studying the NeoJSON book chapter (Pharo Enterprise), I do not understand 
>> how to modify the following example:
>> 
>> -=-=-=-=-=-=-=-
>> "Let us say that we have an Attachment class..."
>> 
>> Object subclass: #Attachment
>>  instanceVariableNames: 'url fileName'
>>  classVariableNames: ''
>>  package: 'NeoJSON-Use-Case'.
>> 
>> "...with url: and fileName: methods."
>> Attachment compile: 'url: anObject', String cr, String tab, 'url := 
>> anObject' classified: 'accessing'.
>> Attachment compile: 'fileName: anObject', String cr, String tab, 'fileName 
>> := anObject' classified: 'accessing'.
>>  
>> "Let's create a collection of two instances:"
>> collectionOne := { 
>>  Attachment new 
>>  url: 'http://example.com/random-name.txt' asZnUrl; 
>>  fileName: 'chapter-one.txt'
>>  yourself.
>>  Attachment new 
>>  url: 'http://example.com/random-name.png' asZnUrl; 
>>  fileName: 'image.png';
>>  yourself.
>> }.
>> 
>> "And let's map it to a JSON structure:"
>> String streamContents: [ :aStream |
>>  (NeoJSONWriter on: aStream)
>>  for: #CollectionOfAttachments customDo: [ :mapping | 
>>  mapping listOfElementSchema: Attachment ];
>>  mapAllInstVarsFor: Attachment;
>>  for: ZnUrl customDo: [ :mapping |
>>  mapping encoder: [ :aZnUrl |
>>  aZnUrl asString ] ];
>>  nextPut: collectionOne as: #CollectionOfAttachments.
>> ].
>> 
>> "And read the JSON structure:"
>> (NeoJSONReader on: 
>> '[{"url":"http://example.com/random-name.txt","fileName":"chapter-one.txt"},{"url":"http://example.com/random-name.png","fileName":"image.png"}]'
>>  readStream)
>>  for: #CollectionOfAttachments customDo: [ :mapping | 
>>  mapping listOfElementSchema: Attachment ];
>>  for: Attachment do: [ :mapping | 
>>  mapping mapInstVar: 'fileName'.
>>  (mapping mapInstVar: 'url') valueSchema: ZnUrl ];
>>  for: ZnUrl customDo: [ :mapping |
>>  mapping decoder: [ :string |
>>  string asZnUrl ] ];
>>  nextAs: #CollectionOfAttachments.
>> 
>> "==="
>> “The previous example works perfectly, including the ZnUrl mapping (notice 
>> that url variables have ZnUrl instances).
>> 
>> Now, let's say that we want to distinguish PNG and TXT attachments.
>> For that reason we will create two Attachment subclasses..."
>> 
>> Attachment subclass: #PngAttachment
>>  instanceVariableNames: ''
>>  classVariableNames: ''
>>  package: 'NeoJSON-Use-Case'.
>>  
>> Attachment subclass: #TxtAttachment
>>  instanceVariableNames: ''
>>  classVariableNames: ''
>>  package: 'NeoJSON-Use-Case'.
>> 
>> "...with type methods that might be used in a new JSON structure:"
>> PngAttachment compile: 'type', String cr, String tab, '^ ''png''' 
>> classified: 'accessing'.
>> TxtAttachment compile: 'type', String cr, String tab, '^ ''txt''' 
>> classified: 'accessing'.
>> 
>> "Let's create a collection with the PNG and TXT instances:"
>> collectionTwo := { 
>>  TxtAttachment new 
>>  url: 'http://example.com/random-name.txt' asZnUrl; 
>>  fileName: 'chapter-one.txt'
>>  yourself.
>>  PngAttachment new 
>>  url: 'http://example.com/random-name.png' asZnUrl; 
>>  fileName: 'image.png';
>>  yourself.
>> }.
>> 
>> "How can I modify NeoJSONWriter and NeoJSONReader mappings?
>> 
>> The JSON structure should (ideally) looks like this:"
>> 
>> '[   
>>  
>> {“type”:”txt”,"url":"http://example.com/random-name.txt","fileName":"chapter-one.txt”},
>>  
>> {“type”:”png”,"url":"http://example.com/random-name.png","fileName":"image.png”}
>> ]'
>> -=-=-=-=-=-=-=-
>> 
>> I would like to keep the mapping isolated (without defining neoJsonOn: 
>> methods).
>> 
>> Thank you!
>> Juraj
>> 
> 
> 




[Pharo-users] NeoJSON and polymorphism

2017-09-21 Thread Juraj Kubelka
Hi,

By studying the NeoJSON book chapter (Pharo Enterprise), I do not understand 
how to modify the following example:

-=-=-=-=-=-=-=-
"Let us say that we have an Attachment class..."

Object subclass: #Attachment
instanceVariableNames: 'url fileName'
classVariableNames: ''
package: 'NeoJSON-Use-Case'.

"...with url: and fileName: methods."
Attachment compile: 'url: anObject', String cr, String tab, 'url := anObject' 
classified: 'accessing'.
Attachment compile: 'fileName: anObject', String cr, String tab, 'fileName := 
anObject' classified: 'accessing'.

"Let's create a collection of two instances:"
collectionOne := { 
Attachment new 
url: 'http://example.com/random-name.txt' asZnUrl; 
fileName: 'chapter-one.txt'
yourself.
Attachment new 
url: 'http://example.com/random-name.png' asZnUrl; 
fileName: 'image.png';
yourself.
}.

"And let's map it to a JSON structure:"
String streamContents: [ :aStream |
(NeoJSONWriter on: aStream)
for: #CollectionOfAttachments customDo: [ :mapping | 
mapping listOfElementSchema: Attachment ];
mapAllInstVarsFor: Attachment;
for: ZnUrl customDo: [ :mapping |
mapping encoder: [ :aZnUrl |
aZnUrl asString ] ];
nextPut: collectionOne as: #CollectionOfAttachments.
].

"And read the JSON structure:"
(NeoJSONReader on: 
'[{"url":"http://example.com/random-name.txt","fileName":"chapter-one.txt"},{"url":"http://example.com/random-name.png","fileName":"image.png"}]'
 readStream)
for: #CollectionOfAttachments customDo: [ :mapping | 
mapping listOfElementSchema: Attachment ];
for: Attachment do: [ :mapping | 
mapping mapInstVar: 'fileName'.
(mapping mapInstVar: 'url') valueSchema: ZnUrl ];
for: ZnUrl customDo: [ :mapping |
mapping decoder: [ :string |
string asZnUrl ] ];
nextAs: #CollectionOfAttachments.

"==="
“The previous example works perfectly, including the ZnUrl mapping (notice that 
url variables have ZnUrl instances).

Now, let's say that we want to distinguish PNG and TXT attachments.
For that reason we will create two Attachment subclasses..."

Attachment subclass: #PngAttachment
instanceVariableNames: ''
classVariableNames: ''
package: 'NeoJSON-Use-Case'.

Attachment subclass: #TxtAttachment
instanceVariableNames: ''
classVariableNames: ''
package: 'NeoJSON-Use-Case'.

"...with type methods that might be used in a new JSON structure:"
PngAttachment compile: 'type', String cr, String tab, '^ ''png''' classified: 
'accessing'.
TxtAttachment compile: 'type', String cr, String tab, '^ ''txt''' classified: 
'accessing'.

"Let's create a collection with the PNG and TXT instances:"
collectionTwo := { 
TxtAttachment new 
url: 'http://example.com/random-name.txt' asZnUrl; 
fileName: 'chapter-one.txt'
yourself.
PngAttachment new 
url: 'http://example.com/random-name.png' asZnUrl; 
fileName: 'image.png';
yourself.
}.

"How can I modify NeoJSONWriter and NeoJSONReader mappings?

The JSON structure should (ideally) looks like this:"

'[  

{“type”:”txt”,"url":"http://example.com/random-name.txt","fileName":"chapter-one.txt”},

{“type”:”png”,"url":"http://example.com/random-name.png","fileName":"image.png”}
]'
-=-=-=-=-=-=-=-

I would like to keep the mapping isolated (without defining neoJsonOn: methods).

Thank you!
Juraj



Re: [Pharo-users] is Renraku general purpose rule checker?

2017-07-27 Thread Juraj Kubelka
Hi,

At ESUG 2016, Yuriy showed that someone can use Renraku for any domain 
(object). So, it is not limited to AST/code based rules.

In the recent effort of Benoit, he adds some rules to improve writing and 
executing test cases experience. This is related to AST/source code, but with 
more complex logic behind.

Juraj


> El 22-07-2017, a las 14:44, Peter Uhnak  escribió:
> 
> Hi,
> 
> I'm looking at Renraku and I wonder, would Renraku be a good start for 
> general-purpose checking?
> 
> E.g. I have a domain, where Person cannot drink if they are underage.
> 
> So I've created a simple ReAbstractRule subclass that does basic check
> 
> SomeRule>>basicCheck: anEntity
>   ^ anEntity age < 18
> 
> and also custom Critique.
> 
> So for everything seems that it works well, however I am not sure if there 
> are some potential roadbloacks down the road, because e.g. Renraku is meant 
> only for AST/code based rules.
> 
> Thanks,
> Peter
> 




Re: [Pharo-users] PreDebugWindow: Report to whom?

2017-07-08 Thread Juraj Kubelka
Hi,

I understand that it is an obsolete (not maintained) function. The button has 
been removed in Pharo 7. 

Juraj

> El 08-07-2017, a las 10:37, horrido  escribió:
> 
> In the PreDebugWindow, there is an option to Report an exception. But to whom
> does it report? I can't find any documentation for this.
> 
> I presume most developers would never need to Report anything.
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/PreDebugWindow-Report-to-whom-tp4953974.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> 




Re: [Pharo-users] Pharo starts completely minimized

2017-07-08 Thread Juraj Kubelka
Might be related to 
https://pharo.fogbugz.com/f/cases/20094/Headless-mode-breaks-image 
 

Juraj

> El 08-07-2017, a las 08:26, Stephane Ducasse  
> escribió:
> 
> pharo-ui is a script.
> 
> On Fri, Jul 7, 2017 at 9:36 PM, Andreas Sunardi  wrote:
>> Where did I see this pharo-ui? I thought I saw it before. I never used it, I
>> always use 'pharo' script/executable, but now I can't find it. I checked
>> windows(P5/P6). linux(P5/P6), mac(P6) and I don't find this pharo-ui.
>> 
>> There's -iconic (Pharo 5) and --iconic (Pharo 6) options.
>> 
>> $ pharo --help | grep iconic
>> --iconicstart up iconified
>> 
>> I wonder if that is set in pharo-ui. But again, I can't find pharo-ui file.
>> 
>> On Thu, Jul 6, 2017 at 7:24 PM, sergio ruiz  wrote:
>>> 
>>> For some reason, every time i start pharo. like: ./pharo-ui Pharo.image
>>> 
>>> it starts as a tiny box.. a completely minimized window..
>>> 
>>> any ideas?
>>> 
>>> should i be starting it differently?
>>> 
>>> Thanks!
>>> 
>>> 
>>> 
>>> 
>>> peace,
>>> sergio
>>> photographer, journalist, visionary
>>> 
>>> Public Key: http://bit.ly/29z9fG0
>>> #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV
>>> http://www.Village-Buzz.com
>>> http://www.ThoseOptimizeGuys.com
>>> http://www.coffee-black.com
>>> http://www.painlessfrugality.com
>>> http://www.twitter.com/sergio_101
>>> http://www.facebook.com/sergio101
>> 
>> 
> 



Re: [Pharo-users] Glamour: update presenter with new text

2017-07-05 Thread Juraj Kubelka
I think the issue is how to update a browser when a method is modified. There 
is a script: 

-=-=-=-=-
browser := GLMTabulator new
column: #one;
column: #two;
column: #three;
yourself.

browser transmit to: #one; andShow: [ :composite |
composite fastList ].

browser transmit from: #one; to: #two; andShow: [ :composite |
composite wrapper 
title: [ 'Instance' translated ];
show: [ :wrapper |
wrapper fastList 
display: [ :aClass | aClass methods ];
format: [ :aCompiledMethod | aCompiledMethod 
selector asString ] ].
composite wrapper 
title: [ 'Class side' translated ];
show: [ :wrapper |
wrapper fastList 
display: [ :aClass | aClass class methods ];
format: [ :aCompiledMethod | aCompiledMethod 
selector asString ] ].

composite updateOn: MethodModified from: [ SystemAnnouncer 
uniqueInstance ].

composite onChangeOfPort: #activePresentation act: [ :presentation | 
(presentation pane port: #activePresentation) value
ifNotNil: [ :activePresentation | 
((browser paneNamed: #two) port: #selection) 
value: (activePresentation defaultPane port: #selection) value ] ] ].

browser transmit 
from: #two; to: #three; 
andShow: [ :composite | composite text 
display: [ :aCompiledMethod | aCompiledMethod sourceCode ];
updateOn: MethodModified from: [ SystemAnnouncer uniqueInstance 
]. ].

browser openOn: Collection allSubclasses.
-=-=-=-=-

I have added the bold line from the previous post: 
http://forum.world.st/Custom-Glamour-browser-for-Dr-Geo-scripting-tp4952920p4953209.html
 

 

But it is not perfect, because it does not keep the selection.

Hilaire, it looks like you are going to end up with a simplified 
Nautilus/Calypso system editor. 
Maybe it is possible to take Calypso and find out how to simplify it for your 
needs? 
Well, I am writing it without understanding your goal :-)

Cheers,
Juraj


> El 05-07-2017, a las 19:24, Tudor Girba  escribió:
> 
> Hi Hilaire,
> 
> I think it does fit your problem.
> 
> However, I am not sure what the current problem is. Could you describe it 
> again in more details?
> 
> Cheers,
> Doru
> 
> 
>> On Jul 5, 2017, at 5:10 PM, Hilaire  wrote:
>> 
>> May be my use case does not fit to Glamour, but I am tempted to think it 
>> does. I really need help on that to make progress.
>> 
>> Thanks
>> 
>> Hilaire
>> 
>> Le 04/07/2017 à 23:08, Hilaire a écrit :
>>> I added these lines of code, but it is not that yet:
>>> 
>>> browser 
>>> updateOn: GLMItemAdded from: #yourself;
>>> updateOn: GLMItemRemoved from: #yourself.
>>> 
>>> 
>> 
>> -- 
>> Dr. Geo
>> 
>> http://drgeo.eu
> 
> --
> www.tudorgirba.com
> www.feenk.com
> 
> "It's not how it is, it is how we see it."
> 
> 



Re: [Pharo-users] Glamour: update presenter with new text

2017-07-03 Thread Juraj Kubelka

> El 03-07-2017, a las 22:28, Hilaire  escribió:
> 
> I will be curious to know how to do that…

You may have a wrapper that holds the compiled method. So, the method list can 
hold your wrappers instead of compiled methods.
Than your wrapper could listen to the system announcer for changes and updates 
its value accordingly.
Or you can update your method list on according to changes in the system 
announcer.

Check, SystemAnnouncer uniqueInstance on: MethodModified do: [ :ann | self 
inform: ann method printString, ‘ changed’ ].

Juraj

> 
> 
> Le 03/07/2017 à 18:08, Andrei Chis a écrit :
>> 'aCompiledMethod' references the old method. To make this work you'll
>> need to not reference the compiled method object directly or also
>> refresh the list of methods.
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 




Re: [Pharo-users] Custom Glamour browser for Dr. Geo scripting

2017-07-01 Thread Juraj Kubelka
Hi,

I am able to produce this: 

-=-=-=-
browser := GLMTabulator new
column: #one;
column: #two;
column: #three;
yourself.

browser transmit to: #one; andShow: [ :composite |
composite fastList ].

browser transmit from: #one; to: #two; andShow: [ :composite |
composite fastList 
title: [ 'Instance' translated ];
display: [ :aClass | aClass methods ];
format: [ :aCompiledMethod | aCompiledMethod selector asString 
].
composite fastList 
title: [ 'Class side' translated ];
display: [ :aClass | aClass class methods ];
format: [ :aCompiledMethod | aCompiledMethod selector asString 
].
composite onChangeOfPort: #activePresentation act: [ :presentation | 
(presentation pane port: #activePresentation) value
ifNotNil: [ :activePresentation | 
self inform: activePresentation printString.
self inform: activePresentation selection ] ] ].

browser transmit 
from: #two; to: #three; 
andShow: [ :composite | composite text 
display: [ :aCompiledMethod | aCompiledMethod sourceCode ] ].


browser openOn: Collection allSubclasses.
-=-=-=-

But I do not know how to change the column #three, because the selection is 
shared between the two lists.

I hope it helps and someone else can improve it :-) 

Cheers,
Juraj




> El 01-07-2017, a las 10:48, Nicolai Hess  escribió:
> 
> 
> 
> 2017-06-30 9:55 GMT+02:00 Hilaire  >:
> I extended the browser definition with:
> 
> browser transmit
> from: #scripts;
> from: #categories;
> to: #methods;
> when: [ :a :b |  a isMeta not ];
> andShow: [:a | self methodsIn: a  ].
> browser transmit
> from: #scripts;
> from: #categories;
> to: #methods;
> when: [ :a | a isMeta ];
> andShow: [:a | self classMethodsIn: a  ].
> 
> 
> However it does not work as #when: message always receive a class, so
> the wrong methods a re list in the method pane.
> 
> I enclosed a Fileout of the browser. It works independently of DrGeo.
> When one select class methods, still the instance methods are displayed
> in right most pane.
> 
> Any tips?
> 
> I don't have a solution. I just want to make more clear what the problem is.
> See attached screenshot.
> The question is, is it possible to make the population of the "methods" list
> dependent of the focused "Instance Methods"/"Class Methods" pane ?
> 
> I tried to wire a "#focus" port, but I don't think the "categories"-pane 
> exports
> any port that could be used to distinguish between the selected tabs.
> 
> 
> 
> 
>  
> 
> Thanks
> 
> Hilaire
> 
> 
> Le 29/06/2017 à 14:59, Hilaire a écrit :
> > but something is missing to get the listed method right depending on the
> > category is instance or class side. I don't how to do it.
> 
> --
> Dr. Geo
> http://drgeo.eu 
> 
> 
> 



Re: [Pharo-users] FUEL documentation

2017-06-30 Thread Juraj Kubelka
Thank you!

Juraj

> El 30-06-2017, a las 22:55, Sven Van Caekenberghe <s...@stfx.eu> escribió:
> 
> 
>> On 30 Jun 2017, at 22:40, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> (sorry, I have accidentally pressed send button)
>> 
>> Hi,
>> 
>> Is there any documentation about FUEL? I would like to understand in more 
>> detail what data are serialized, if I can somehow alter it (filter it) 
>> explicitly, and how can I handle errors on materialization.
>> 
>> I was playing a bit with it and in some case, during the materialization, it 
>> complained that there is a missing class, but I was pretty sure that the 
>> class has nothing to do with the serialized objects. 
>> 
>> So, I will appreciate any documentation that helps to understand how I can 
>> analyze what is serialized and how to handle materialization errors.
>> 
>> Thanks!
>> Juraj
> 
> FUEL documentation is actually very good: 
> https://rmod.inria.fr/web/software/Fuel
> 
> 




[Pharo-users] FUEL documentation

2017-06-30 Thread Juraj Kubelka
(sorry, I have accidentally pressed send button)

Hi,

Is there any documentation about FUEL? I would like to understand in more 
detail what data are serialized, if I can somehow alter it (filter it) 
explicitly, and how can I handle errors on materialization.

I was playing a bit with it and in some case, during the materialization, it 
complained that there is a missing class, but I was pretty sure that the class 
has nothing to do with the serialized objects. 

So, I will appreciate any documentation that helps to understand how I can 
analyze what is serialized and how to handle materialization errors.

Thanks!
Juraj




[Pharo-users] FUEL documentation

2017-06-30 Thread Juraj Kubelka
Hi,

Is there any documentation about FUEL? I would like to understand in more 
detail what data 

--
Juraj Kubelka


Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Juraj Kubelka
Hi,

I remember that Sven did some changes related to the constants in about month 
or two months ago. But, I do not think that it was integrated to the Pharo 6 
release.

Juraj

> El 27-06-2017, a las 15:50, Tim Mackinnon  escribió:
> 
> Hi - I have been slowly working my way through some of the pharo components 
> and tutorials and when trying out ZnEasy with a password protected api, I got 
> a talkback  when I mistyped a password. 
> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from its 
> constants. The code looks correct (and its defined in the initialize method - 
> ) but when I tried a ZnEasy call which returned 511 I got a walkback showing 
> it as an unrecognized code? (The walkback is looking for 511 in ZnConstants 
> httpStatusCodes).
> 
> Is there some problem in the build process, or is this some type of user 
> error?
> 
> Tim




[Pharo-users] Spect TextModel with transparent background

2017-06-22 Thread Juraj Kubelka
Hi,

is it possible to set a transparent color to the TextModel? 

I want a text information that may take a few lines, that is able to wrap 
according to a window size.
So, using LabelModel does not fit, because it does not wrap lines.

But it looks like TextModel always looks like text editing area. 
Any idea how to do it? 

I have tried this:

TextModel new
text: 'any very very very long text that does not fit to one line';
color: Color transparent;
disable;
openWithSpec.



And it does not work. Ideally it should look like the label model, but with 
wrapped text:

LabelModel new 
label: 'any very very very long text that does not fit to one line';
openWithSpec



Also, executing this:

TextModel new
text: 'any very very very long text that does not fit to one line';
color: Color transparent;
borderColor: Color blue;
borderWidth: 50;
disable;
openWithSpec.

It looks to me, that color, border color and width are not reflected. Is it a 
bug? 

Thanks!
Juraj

Re: [Pharo-users] Setting rowHeight: for Spec FastTableModel

2017-06-22 Thread Juraj Kubelka

> El 22-06-2017, a las 17:19, Ben Coman <b...@openinworld.com> escribió:
> 
> What considerations are there to have individual row heights?

The way I understand FastTable, it is not possible to have each item with 
different height. 

Cheers,
Juraj

> i.e. How close are we to having a spreadsheet interface like simplfied Excel?
> 
> cheers -ben
> 
> On Thu, Jun 22, 2017 at 4:51 PM, Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>> wrote:
> Hi,
> 
> I have a code like this:
> 
> FastTableModel new
>   displayBlock: [ :node | node name ];
>   items: Collection withAllSubclasses;
>   openWithSpec.
> 
> Which works fine. But I would like to define row height for each item. 
> FTTableMorph has a method rowHeight:.
> Is it possible?
> 
> One possible use case could be:
> 
> FastTableModel new
>   displayBlock: [ :node | node name, 
>   String cr, ‘   number of methods: ', node methods size 
> asString ];
>   items: Collection withAllSubclasses;
>   "rowHeight: 50;”  “does not work"
>   openWithSpec
> 
> 
> 
> In that case, each list item is composed by a class name on the first line, 
> and the number of methods on the second line. 
> 
> For FTTableMorph the code looks like this:
> 
> FTTableMorph new
>   extent: 650@500;
>   selectRowIndex: 1;
>   showFirstRowSelection;
>   dataSource: (FTEasyListDataSource new 
>   elements: Collection withAllSubclasses;
>   display: [ :node |
>   Smalltalk ui theme newColumnIn: World for: { 
>   node name asStringMorph.
>   ('  number of methods: ', node methods size 
> asString)
>   asStringMorph }]);
>   rowHeight: 50;
>   beMultipleSelection;
>   openInWindow
> 
> 
> 
> Or do you propose another solution? 
> 
> Thanks!
> Juraj
> 
> 
> 



[Pharo-users] Setting rowHeight: for Spec FastTableModel

2017-06-22 Thread Juraj Kubelka
Hi,

I have a code like this:

FastTableModel new
displayBlock: [ :node | node name ];
items: Collection withAllSubclasses;
openWithSpec.

Which works fine. But I would like to define row height for each item. 
FTTableMorph has a method rowHeight:.
Is it possible?

One possible use case could be:

FastTableModel new
displayBlock: [ :node | node name, 
String cr, ‘   number of methods: ', node methods size 
asString ];
items: Collection withAllSubclasses;
"rowHeight: 50;”  “does not work"
openWithSpec



In that case, each list item is composed by a class name on the first line, and 
the number of methods on the second line. 

For FTTableMorph the code looks like this:

FTTableMorph new
extent: 650@500;
selectRowIndex: 1;
showFirstRowSelection;
dataSource: (FTEasyListDataSource new 
elements: Collection withAllSubclasses;
display: [ :node |
Smalltalk ui theme newColumnIn: World for: { 
node name asStringMorph.
('  number of methods: ', node methods size 
asString)
asStringMorph }]);
rowHeight: 50;
beMultipleSelection;
openInWindow



Or do you propose another solution? 

Thanks!
Juraj




Re: [Pharo-users] GT questions

2017-06-22 Thread Juraj Kubelka
Hi,

I have not answer to this. I have an impression that the first two are not 
supported. It would be necessary to improve the framework. 
For the third one, there is an example for Drag in the Help / Glamour 
Example Browser. But no for the World. 

Cheers,
Juraj

> El 19-06-2017, a las 03:00, Torsten Bergmann  escribió:
> 
> Hi,
> 
> do we have an example on Glamorous Toolkit on
> 
> 1. how to have a splitter between a pane (for instance to change size for 
> left and right pane on a #dashboard)
> 
> 2. how to have vertical tabs in a #tabulator
> 
> 3. on how to use D from GT from a list or tree to the world?
> 
> Thanks
> T.
> 
> 




Re: [Pharo-users] Pharo6 server deployment and no home directory

2017-06-18 Thread Juraj Kubelka

> El 16-06-2017, a las 10:34, Holger Freyther <hol...@freyther.de> escribió:
> 
> 
>> On 12. Jun 2017, at 16:41, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi Holger,
>> 
>> I have an impression that it can be solved by using 
>> "--no-default-preferences” option: 
>>  ./pharo Pharo.image --no-default-preferences
>> 
>> Is it a good solution for you? Or do you need to load some preferences?
> 
> Right, unsetting HOME and then using --no-default-preferences makes the error 
> go away.
> 
> 
> 
>> Another option could be implementing an error signal, e.g., 
>> CantFindOriginError in the cantFindOriginError method and catch this in the 
>> GlobalIdentifier object.
> 
> I wonder if "FileLocator home exists" should really throw an exception in 
> case {home} can not be resolved.
> 
> a.) Just because it can not be resolved, it might still exist?
> b.) If it can not be resolved it doesn't exist from an image point of view?

I think it is better to throw an exception. Then someone is sure that does not 
use a code, that needs {home} directory, but cannot. 
Maybe there could be a specialized error class for this. Now it uses Error, if 
I remember well.

Juraj

> 
> holger




Re: [Pharo-users] Pharo6 server deployment and no home directory

2017-06-11 Thread Juraj Kubelka
Hi Holger,

thanks for the report. I will resolve it soon: 
https://pharo.fogbugz.com/f/cases/20135/Server-deployment-is-broken-due-to-GlobalIdentifier-second-report
 
<https://pharo.fogbugz.com/f/cases/20135/Server-deployment-is-broken-due-to-GlobalIdentifier-second-report>
 

Cheers,
Juraj

> El 08-06-2017, a las 17:16, Holger Freyther <hol...@freyther.de> escribió:
> 
> 
>> On 17. Apr 2017, at 21:30, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi Holger,
> 
> Hey Juraj!
> 
> 
>> Basically it tests `FileLocator home exists`, if false, it does not touch 
>> disk. We could also add a #disablePersistence method if necessary.
> 
> I thought I tested it but somehow it is broken (again)? Looks like 
> FileLocator>>#exists fails instead of answering false? Can you reproduce it?
> 
> $ unset HOME
> $ pharo ...
> Error: Can't find the requested origin
> UnixResolver(PlatformResolver)>>cantFindOriginError
> [ self cantFindOriginError ] in 
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ 
> self cantFindOriginError ]
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:
> UnixResolver>>home
> [ self home / '.config' ] in UnixResolver>>preferences in Block: [ self home 
> / '.config' ]
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:
> UnixResolver>>preferences
> UnixResolver(FileSystemResolver)>>resolve:
> SystemResolver(FileSystemResolver)>>unknownOrigin:
> SystemResolver(FileSystemResolver)>>resolve:
> InteractiveResolver>>unknownOrigin:
> [ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [ 
> self unknownOrigin: origin ]
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> InteractiveResolver>>resolve:
> FileLocator>>resolve
> FileLocator(AbstractFileReference)>>exists
> GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence
> GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:
> GlobalIdentifier>>ensure
> GlobalIdentifier class>>initializeUniqueInstance
> GlobalIdentifier class>>uniqueInstance
> SystemSettingsPersistence class>>resumeSystemSettings
> [ :persistence | persistence resumeSystemSettings ] in 
> PharoCommandLineHandler>>runPreferences in Block: [ :persistence | 
> persistence resumeSystemSettings ...etc...
> BlockClosure>>cull:
> SystemDictionary(Dictionary)>>at:ifPresent:
> SmalltalkImage>>at:ifPresent:
> PharoCommandLineHandler>>runPreferences
> PharoCommandLineHandler>>activate
> PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:



[Pharo-users] [ANN] Pharo Sprint App minor release for the Pharo Sprint June 2

2017-06-01 Thread Juraj Kubelka
Hi,

we have just released new minor version of the Pharo Sprint App. There are some 
minor bug fixes included and users asked me to be able to remove cases from the 
proposed list. 

See you around tomorrow during the sprint and if you have issues to work on, 
propose them using the app :-)

Juraj


Download link: https://github.com/JurajKubelka/PharoSprint 
 



Re: [Pharo-users] Glamour Fast List, double click action. Is it supported?

2017-05-11 Thread Juraj Kubelka

> On May 11, 2017, at 03:58, Esteban Lorenzano <esteba...@gmail.com> wrote:
> 
> 
>> On 10 May 2017, at 21:00, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi!
>> 
>> Does Glamour Fast List Presentation allow double click action on a item? 
>> 
>> I cannot find anything like that.
> 
> it should be “strongSelection”, isn’t?

You are right, the double click is calles strongSelection, and the solution is: 

-=-=-=-
browser := GLMTabulator new.
browser column: #one.
browser transmit to: #one; andShow: [ :a |
a fastList 
title: 'List';
onChangeOfPort: #strongSelection 
act: [ :presentation :entity | self inform: 'STRONG 
selection on ', presentation strongSelection asString ] ].

browser openOn: Object allSubclasses  
-=-=-=-

Thanks!
Juraj



> 
> Esteban
> 
>> 
>> Thanks!
>> Juraj
>> 
>> 
> 
> 



Re: [Pharo-users] Wandering Through Dependency Hell

2017-05-10 Thread Juraj Kubelka
Hi,

I do not understand much you problem. But reading about your commit strategy, 
you can use Gofer object and its push method to sync properly local changes to 
a remote repository. Check Pharo books. There are examples. 

If you inspect a configuration object, there used to be a GT-Inspector 
extension with dependency visualization. Maybe this is present only in the 
Moose image. 

Cheers,
Juraj

--
Juraj Kubelka

> El 09-05-2017, a las 22:42, Evan Donahue <emdon...@gmail.com> escribió:
> 
> Hello,
> 
> I was wondering if there was a resource somewhere that laid out a best 
> practice for how to manage version control in Pharo. I know *how* to use 
> Monticello and Versionner, but something about the way I use them inevitably 
> dooms my efforts to the darkest circles of dependency hell, where strange and 
> gruesome partial versions of old and abandoned branches come back to haunt me 
> like some kind of object oriented night of the living dead. 
> 
> In particular, I usually commit daily to a local repository on my disk, and 
> only occasionally to a remote repository like smalltalkhub. It has come to my 
> attention that this only commits recent changes, with the result that no 
> single repository actually has the current working code that I see in my 
> image. I am in that situation now, where loading the latest version revives 
> some distant and broken code where good, currently working code should be. If 
> anyone knows how to figure out how to force all the current good code in my 
> image into one massive commit, so that other people can check out the 
> current, working version, please do not hesitate to let me know.
> 
> Thanks,
> Evan



[Pharo-users] Glamour Fast List, double click action. Is it supported?

2017-05-10 Thread Juraj Kubelka
Hi!

Does Glamour Fast List Presentation allow double click action on a item? 

I cannot find anything like that.

Thanks!
Juraj




Re: [Pharo-users] Pharo Sprint in Lviv

2017-05-08 Thread Juraj Kubelka
Hi Oleks,

great work and keep posting about the activities in Lviv :-)

I will preselect some cases on FogBugz before May 21.

Juraj

> On May 7, 2017, at 16:30, Oleksandr Zaytsev  wrote:
> 
> Hello!
> 
> Today in Lviv (Ukraine) we had our first local Pharo Sprint. There were three 
> participants - students of different universities. The whole event lasted for 
> about 4 hours. In that time we have resolved one simple fix case and three 
> review cases and reported one issue with Monticello. It's not much, but this 
> was our first time contributing to Pharo. And the experience was very 
> educating.
> 
> Big thanks to everyone who helped us!
> 
> We will be holding Pharo Sprint in Lviv every two weeks (so the next time 
> will be on May 21). We also have a monthly event called "Beer & Smalltalk" 
> where we talk about our projects and discuss some cool ideas. If you live 
> nearby and have an interest in Pharo - join us. The dates of all future 
> events will be announced on our #smalltalk-ua channel on discord. Write me or 
> Yuriy Tymchuk (Uko) if you want to join the channel.
> 
> Best wishes,
> Oleks




Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-05-02 Thread Juraj Kubelka
Hi,

As Alexandre said, there were a few participants. On other hand, I was able to 
discuss with some of them in detail and find out what makes difficult to make a 
contribution. 

Having the Pharo Sprint App, connected with FogBugz and Discord was positive 
incentive to participate, without being able to attend the locally organized 
events. 

One (out of several) requirement was to make review needed cases explicitly 
visible. People can the focus on them. It is posible to sort issue 'review 
needed first', but it is likely less visible. 

So in general, it was a good experience and I am looking forward for the next 
sprint 

Juraj

--
Juraj Kubelka

> El 01-05-2017, a las 03:17, Tudor Girba <tu...@tudorgirba.com> escribió:
> 
> Unfortunately, I could not participate. How did it go with the App?
> 
> Cheers,
> Doru
> 
> 
>> On Apr 27, 2017, at 10:25 PM, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi,
>> 
>> Marcus and I have updated the contribute page: 
>> http://pharo.org/contribute-events 
>> And I have just released Pharo Sprint App version 0.2.0: 
>> http://bit.ly/PharoSprintApp (Discord sprint channel includes the link)
>> To run it, you need Pharo 6.0 VM
>> 
>> Thanks everyone for the early feedback. I was able to include some of them 
>> to the release.
>> 
>> Have a fun. I will join you at 9:00 UTC-4 time.
>> Juraj
>> 
>>> On Apr 27, 2017, at 11:03, Luc Fabresse <luc.fabre...@gmail.com> wrote:
>>> 
>>> Nice Juraj! ;-)
>> 
>> Thanks Luc :-)
>> 
>>> 
>>> #Luc
>>> 
>>> 2017-04-24 20:51 GMT+02:00 K K Subbu <kksubbu...@gmail.com>:
>>> On Monday 24 April 2017 08:00 PM, Juraj Kubelka wrote:
>>> 
>>> Please, can you send me a screenshot? Or submit the screenshot
>>> here https://github.com/JurajKubelka/PharoSprint/issues/new
>>> 
>>> Done. I think the error appears because when a login fails, the message 
>>> causes a horiz scroll bar to be added to the panel pushing the fields 
>>> beyond the top edge. I stumbled on this error because I tried using my 
>>> fogbugz id whereas the login field needs the registered email id for login.
>>> 
>>> Regards .. Subbu
> 
> --
> www.tudorgirba.com
> www.feenk.com
> 
> "Every thing has its own flow."
> 
> 
> 
> 
> 
> 



[Pharo-users] Dark theme and white vs. green color

2017-04-28 Thread Juraj Kubelka
Hi, 

While we were improving the DiffMorph for the dark theme, we conclude that it 
is much harder to read the text. 

I personally also often miss a new debugger window on a big screen. Something I 
have not experienced before. 

And this discussion reminds me the old computers where the background was black 
and text green. There are two screenshot to compare it:

   

A personally feel that it is much easier to read the green text. 

What do you think?
Juraj



Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-27 Thread Juraj Kubelka
Hi,

Marcus and I have updated the contribute page: 
http://pharo.org/contribute-events <http://pharo.org/contribute-events> 
And I have just released Pharo Sprint App version 0.2.0: 
http://bit.ly/PharoSprintApp <http://bit.ly/PharoSprintApp> (Discord sprint 
channel includes the link)
To run it, you need Pharo 6.0 VM

Thanks everyone for the early feedback. I was able to include some of them to 
the release.

Have a fun. I will join you at 9:00 UTC-4 time.
Juraj

> On Apr 27, 2017, at 11:03, Luc Fabresse <luc.fabre...@gmail.com> wrote:
> 
> Nice Juraj! ;-)

Thanks Luc :-)

> 
> #Luc
> 
> 2017-04-24 20:51 GMT+02:00 K K Subbu <kksubbu...@gmail.com 
> <mailto:kksubbu...@gmail.com>>:
> On Monday 24 April 2017 08:00 PM, Juraj Kubelka wrote:
> 
> Please, can you send me a screenshot? Or submit the screenshot
> here https://github.com/JurajKubelka/PharoSprint/issues/new 
> <https://github.com/JurajKubelka/PharoSprint/issues/new>
> 
> Done. I think the error appears because when a login fails, the message 
> causes a horiz scroll bar to be added to the panel pushing the fields beyond 
> the top edge. I stumbled on this error because I tried using my fogbugz id 
> whereas the login field needs the registered email id for login.
> 
> Regards .. Subbu
> 
> 



Re: [Pharo-users] Sending byte array in a JSON format

2017-04-27 Thread Juraj Kubelka
Hi,

That’s great! Thank you a lot for the information :-)

Juraj

> On Apr 27, 2017, at 09:52, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> 
>> On 26 Apr 2017, at 17:21, Peter Uhnak <i.uh...@gmail.com> wrote:
>> 
>> Maybe the content is not properly stored in the JSON on github' side? But 
>> you can use base64 in `accept:` to make it work.
>> 
>> json := STONJSON fromString: (ZnClient new
>> url: 'https://api.github.com/gists/5503544';
>> accept: 'application/vnd.github.v3.base64+json';
>> get).
>> b64 := ((json at: 'files') at: 'thumbnail.png') at: 'content'.
>> PNGReadWriter formFromStream: (Base64MimeConverter mimeDecodeToBytes: 
>> content readStream).
> 
> Ah, great that you found a way to force the server to send the data in a more 
> sensible way !
> 
> Using the latest code from Zn & NeoJSON, combining with another recent thread 
> (accessing nested dictionaries), this could be written as:
> 
> json := NeoJSONObject fromString: (ZnClient new
>   url: 'https://api.github.com/gists/5503544';
>   accept: 'application/vnd.github.v3.base64+json';
>   get).
> b64 := json atPath: #('files' 'thumbnail.png' 'content').
> PNGReadWriter formFromStream: (ZnBase64Encoder new decode: b64) readStream.
> 
> Sven
> 
>> Peter
>> 
>> 
>> On Wed, Apr 26, 2017 at 04:50:04PM +0200, Sven Van Caekenberghe wrote:
>>> I am puzzled by how they actually encoded the PNG as a String, I tried a 
>>> couple of alternatives but I could not get binary data out of it so that it 
>>> parsed successfully as PNG.
>>> 
>>> If I would have to encode binary data in JSON I would use Base64 encoding 
>>> (but alternatives exist).
>>> 
>>>> On 24 Apr 2017, at 20:36, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> I was playing with GitHub Gist API and I have queried the following Gist: 
>>>> https://gist.github.com/mbostock/5503544
>>>> I was interested how the PNG image is returned: 
>>>> https://gist.github.com/mbostock/5503544#file-thumbnail-png 
>>>> 
>>>> I can obtain the whole Gist executing:
>>>> 
>>>> STONJSON fromString: 
>>>>(ZnClient new
>>>>url: 'https://api.github.com/gists/5503544';
>>>>accept: 'application/vnd.github.v3+json';
>>>>get).
>>>> 
>>>> I can get PNG contents executing:
>>>> 
>>>> pngData := (ZnEasy get:
>>>>STONJSON fromString: 
>>>>(ZnClient new
>>>>url: 'https://api.github.com/gists/5503544';
>>>>accept: 'application/vnd.github.v3+json';
>>>>get)) at: 'files') at: 'thumbnail.png') at: 'raw_url')) 
>>>> contents.
>>>> PNGReadWriter formFromStream: rawPng readStream.
>>>> 
>>>> But the PNG image is part of the Gist query and can be retrieved by:
>>>> 
>>>> pngContent := STONJSON fromString: 
>>>>(ZnClient new
>>>>url: 'https://api.github.com/gists/5503544';
>>>>accept: 'application/vnd.github.v3+json';
>>>>get)) at: 'files') at: 'thumbnail.png') at: 'content').
>>>> 
>>>> "As pngContent is a WideString, I cannot use:"
>>>> PNGReadWriter formFromStream: pngContent readStream.
>>>> 
>>>> How can I read the PNG image from the pngContent? Any idea? 
>>>> And the reverse question: How can I send the PNG bytes using JSON format? 
>>>> 
>>>> Thanks!
>>>> Juraj
>>>> 
>>> 
>>> 
>> 
> 
> 




[Pharo-users] Sending byte array in a JSON format

2017-04-24 Thread Juraj Kubelka
Hi,

I was playing with GitHub Gist API and I have queried the following Gist: 
https://gist.github.com/mbostock/5503544 

I was interested how the PNG image is returned: 
https://gist.github.com/mbostock/5503544#file-thumbnail-png 
 

I can obtain the whole Gist executing:

STONJSON fromString: 
(ZnClient new
url: 'https://api.github.com/gists/5503544';
accept: 'application/vnd.github.v3+json';
get).

I can get PNG contents executing:

pngData := (ZnEasy get:
STONJSON fromString: 
(ZnClient new
url: 'https://api.github.com/gists/5503544';
accept: 'application/vnd.github.v3+json';
get)) at: 'files') at: 'thumbnail.png') at: 'raw_url')) 
contents.
PNGReadWriter formFromStream: rawPng readStream.

But the PNG image is part of the Gist query and can be retrieved by:

pngContent := STONJSON fromString: 
(ZnClient new
url: 'https://api.github.com/gists/5503544';
accept: 'application/vnd.github.v3+json';
get)) at: 'files') at: 'thumbnail.png') at: 'content').

"As pngContent is a WideString, I cannot use:"
PNGReadWriter formFromStream: pngContent readStream.

How can I read the PNG image from the pngContent? Any idea? 
And the reverse question: How can I send the PNG bytes using JSON format? 

Thanks!
Juraj



Re: [Pharo-users] Hot to retrieve values from Nested Dictionaries

2017-04-24 Thread Juraj Kubelka

> On Apr 24, 2017, at 14:42, Markus Böhm  wrote:
> 
> May I ask:
> What's the idiomatic way to retrieve values from nested dictionaries?
> 
> (((dict1 at: 'key1') at: 'key2') at: 'key3')
> 
> Are all the brackets really necessary?

I think so, without the parenthesis, it is interpreted as one message at:at:at:

If you use it a lot, you may want to convert the dictionary structure into 
domain objects.

Juraj

> 
> BR Mike




Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-24 Thread Juraj Kubelka

> On Apr 24, 2017, at 05:29, Esteban Lorenzano <esteba...@gmail.com> wrote:
> 
> Hi,
> 
>> On 24 Apr 2017, at 09:04, Alexandre Bergel <alexandre.ber...@me.com> wrote:
>> 
>> Hi!
>> 
>> One very important aspect of Juraj’s work, is that _participants at a sprint 
>> should use the sprint tool_. It comes with the latest Pharo image (i.e. what 
>> has to be used in a sprint).
> 
> no it doesn’t :)
> (and it wont, at least this version)
> 
> but yes, everybody should use it ;)

Currently, the build system is not integrated with the Pharo’s CI.
I do not know if it is going to be useful, but I plan to integrate it in order 
to find it out :-)

Juraj

> 
> 
>> 
>> So, let’s use it on Friday!
> 
> +1
> 
> Esteban
> 
>> 
>> Cheers,
>> Alexandre
>> 
>> 
>>> On Apr 24, 2017, at 8:05 AM, K K Subbu <kksubbu...@gmail.com> wrote:
>>> 
>>> On Sunday 23 April 2017 08:43 PM, Juraj Kubelka wrote:
>>> 
>>>> As the Pharo Sprint is organized in several places around the world, we
>>>> miss the connection with other guys. For that reason we decided to move
>>>> the physical whiteboard to the internet and developed Pharo Sprint App.
>>> 
>>> Excellent idea and a very useful tool! It took me just a few minutes to 
>>> download it and post my first fix through it.
>>> 
>>> What would be workflow for using this app? Is this only for Pharo Sprint 
>>> participants or can others also use it?
>>> 
>>> I faced a minor problem in the UI. The top half of login/password text 
>>> input fields got clipped by title bar, when I opened it up first. Later the 
>>> Update/Logout buttons also have their top border clipped off.
>>> 
>>> Regards .. Subbu
>>> 
>> 
>> -- 
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> 
>> 
>> 
>> 
> 
> 




Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-24 Thread Juraj Kubelka
Hi Subbu,

> On Apr 24, 2017, at 03:05, K K Subbu <kksubbu...@gmail.com> wrote:
> 
> On Sunday 23 April 2017 08:43 PM, Juraj Kubelka wrote:
> 
>> As the Pharo Sprint is organized in several places around the world, we
>> miss the connection with other guys. For that reason we decided to move
>> the physical whiteboard to the internet and developed Pharo Sprint App.
> 
> Excellent idea and a very useful tool! It took me just a few minutes to 
> download it and post my first fix through it.

That’s great :-) The idea is having something simple to use.

> 
> What would be workflow for using this app? Is this only for Pharo Sprint 
> participants or can others also use it?

The initial idea have raised from the Pharo Sprint events. But you can use the 
way you want. In other words, by using it, we will find out new workflows :-) 

It should be clear that ‘Pharo Sprint participants’ are not meant to be 
physically available in Lille, France or Santiago, Chile.

> 
> I faced a minor problem in the UI. The top half of login/password text input 
> fields got clipped by title bar, when I opened it up first. Later the 
> Update/Logout buttons also have their top border clipped off.

Please, can you send me a screenshot? Or submit the screenshot here 
https://github.com/JurajKubelka/PharoSprint/issues/new 
<https://github.com/JurajKubelka/PharoSprint/issues/new> 

Thanks!
Juraj

> 
> Regards .. Subbu
> 



Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-24 Thread Juraj Kubelka

> On Apr 23, 2017, at 16:41, Offray Vladimir Luna Cárdenas 
> <offray.l...@mutabit.com> wrote:
> 
> Congrats Juraj. Pretty useful for the community. This idea of inside image 
> tools talking with community channels is starting to take form.
> 
I would like to discuss with others within the Pharo image. It has a potential 
to share more then text, scripts, and screenshot. 

Cheers,

Juraj
> Cheers,
> 
> Offray
> 
> On 23/04/17 11:51, Juraj Kubelka wrote:
>> Yes, it is connected to FogBugz and it leaves message in FogBugz and also in 
>> Discord:
>> 
>> 
>> 
>> 
>> 
>> 
>> Juraj
>> 
>> --
>> Juraj Kubelka
>> 
>> El 23-04-2017, a las 13:32, Stephane Ducasse <stepharo.s...@gmail.com 
>> <mailto:stepharo.s...@gmail.com>> escribió:
>> 
>>> do you mark the cases that are taken by someone?
>>> 
>>> 
>>> 
>>> On Sun, Apr 23, 2017 at 6:27 PM, Stephane Ducasse <stepharo.s...@gmail.com 
>>> <mailto:stepharo.s...@gmail.com>> wrote:
>>> This is supercool :)
>>> Do you connect to fogbugz to grab the tasks?
>>> 
>>> Stef
>>> 
>>> On Sun, Apr 23, 2017 at 5:13 PM, Juraj Kubelka <juraj.kube...@icloud.com 
>>> <mailto:juraj.kube...@icloud.com>> wrote:
>>> Hi,
>>> 
>>> We are happy to announce a new application called Pharo Sprint App. The 
>>> main idea of the application comes from the whiteboard that have been used 
>>> during Pharo Sprints and was also adopted in Chile. 
>>> 
>>> 
>>> 
>>> As the Pharo Sprint is organized in several places around the world, we 
>>> miss the connection with other guys. For that reason we decided to move the 
>>> physical whiteboard to the internet and developed Pharo Sprint App. 
>>> 
>>> 
>>> 
>>> How does it work? Participants choose a case from the ‘proposed' or ‘all’ 
>>> list. Once they are done, they move it to the ‘done’ list. We believe that 
>>> the application will encourage other people, especially newcomers, to join 
>>> us during the events and have a fun, together with other developers. 
>>> 
>>> How To Use It? 
>>> • Download the latest image from Bintray 
>>> <https://bintray.com/jurajkubelka/PharoSprint/build/_latestVersion#files>
>>> • Execute the image, using the corresponding VM for Pharo 6
>>> • Run the application from World Menu / Communication / Pharo Sprint
>>> • Login, using your FogBugz account, wait a bit, then choose a case and 
>>> have a happy programming :-)
>>> 
>>> Everybody participating in the sprints should use the Pharo Sprint image.
>>> 
>>> The upcoming event is on Friday April 28: 
>>> https://association.pharo.org/event-2492488 
>>> <https://association.pharo.org/event-2492488> 
>>> 
>>> The application is deployed in Pharo 6 (32 and 64bits). More details are 
>>> available at: https://github.com/JurajKubelka/PharoSprint 
>>> <https://github.com/JurajKubelka/PharoSprint> 
>>> 
>>> I will appreciate any feedback.
>>> 
>>> Have a fun! :-)
>>> Juraj
>>> 
>>> 
>>> 
> 



Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-24 Thread Juraj Kubelka

> On Apr 23, 2017, at 15:43, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Impressive work indeed.
> 
> I guess Marcus will be happy, you save him a lot of work being 'master of 
> ceremony' at Sprints.

This is also my idea, that the ‘master of ceremony’ will get distributed :-) 

Juraj

> 
>> On 23 Apr 2017, at 19:24, Tudor Girba <tu...@tudorgirba.com> wrote:
>> 
>> Great work, Juraj!
>> 
>> Doru
>> 
>> 
>>> On Apr 23, 2017, at 5:13 PM, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>>> 
>>> Hi,
>>> 
>>> We are happy to announce a new application called Pharo Sprint App. The 
>>> main idea of the application comes from the whiteboard that have been used 
>>> during Pharo Sprints and was also adopted in Chile. 
>>> 
>>> 
>>> 
>>> As the Pharo Sprint is organized in several places around the world, we 
>>> miss the connection with other guys. For that reason we decided to move the 
>>> physical whiteboard to the internet and developed Pharo Sprint App. 
>>> 
>>> 
>>> 
>>> How does it work? Participants choose a case from the ‘proposed' or ‘all’ 
>>> list. Once they are done, they move it to the ‘done’ list. We believe that 
>>> the application will encourage other people, especially newcomers, to join 
>>> us during the events and have a fun, together with other developers. 
>>> 
>>> How To Use It? 
>>> • Download the latest image from Bintray
>>> • Execute the image, using the corresponding VM for Pharo 6
>>> • Run the application from World Menu / Communication / Pharo Sprint
>>> • Login, using your FogBugz account, wait a bit, then choose a case and 
>>> have a happy programming :-)
>>> 
>>> Everybody participating in the sprints should use the Pharo Sprint image.
>>> 
>>> The upcoming event is on Friday April 28: 
>>> https://association.pharo.org/event-2492488 
>>> 
>>> The application is deployed in Pharo 6 (32 and 64bits). More details are 
>>> available at: https://github.com/JurajKubelka/PharoSprint 
>>> 
>>> I will appreciate any feedback.
>>> 
>>> Have a fun! :-)
>>> Juraj
>>> 
>> 
>> --
>> www.tudorgirba.com
>> www.feenk.com
>> 
>> "We can create beautiful models in a vacuum.
>> But, to get them effective we have to deal with the inconvenience of 
>> reality."
>> 
>> 
> 
> 




Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-24 Thread Juraj Kubelka

> On Apr 23, 2017, at 15:38, Ben Coman <b...@openinworld.com> wrote:
> 
> 
> 
> On Sun, Apr 23, 2017 at 11:13 PM, Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>> wrote:
> Hi,
> 
> We are happy to announce a new application called Pharo Sprint App. The main 
> idea of the application comes from the whiteboard that have been used during 
> Pharo Sprints and was also adopted in Chile. 
> 
> 
> 
> As the Pharo Sprint is organized in several places around the world, we miss 
> the connection with other guys. For that reason we decided to move the 
> physical whiteboard to the internet and developed Pharo Sprint App. 
> 
> 
> 
> How does it work? Participants choose a case from the ‘proposed' or ‘all’ 
> list. Once they are done, they move it to the ‘done’ list. We believe that 
> the application will encourage other people, especially newcomers, to join us 
> during the events and have a fun, together with other developers. 
> 
> How To Use It? 
>   • Download the latest image from Bintray 
> <https://bintray.com/jurajkubelka/PharoSprint/build/_latestVersion#files>
>   • Execute the image, using the corresponding VM for Pharo 6
>   • Run the application from World Menu / Communication / Pharo Sprint
>   • Login, using your FogBugz account, wait a bit, then choose a case and 
> have a happy programming :-)
> 
> Everybody participating in the sprints should use the Pharo Sprint image.
> 
> The upcoming event is on Friday April 28: 
> https://association.pharo.org/event-2492488 
> <https://association.pharo.org/event-2492488> 
> 
> The application is deployed in Pharo 6 (32 and 64bits). More details are 
> available at: https://github.com/JurajKubelka/PharoSprint 
> <https://github.com/JurajKubelka/PharoSprint> 
> 
> I will appreciate any feedback.
> 
> Have a fun! :-)
> Juraj
> 
> 
> Thanks Juraj. This is great.  I saw your testing in the discord chat and was 
> curious.
> 
> This reminds me, one thing I've wanted to do for a long time is type an Issue 
> number into PharoLauncher 
> and have it download latest Image, get the issue title from Fogbugz to rename 
> the Image,
> start the image with a script to open Inbox ready on the Issue.
> 
> If I ever do get to it, mixing in your sprint app might be cool.   
>  
> cheers -ben
> 

Hi Ben,

I like the idea. I will check the PharoLauncher source code in order to find 
out what code I can reuse. 
If you have any idea or knowledge that can help me, I will appreciate if you 
share it in the mailing list or here: 
https://github.com/JurajKubelka/PharoSprint/issues/9 
<https://github.com/JurajKubelka/PharoSprint/issues/9> 

Thanks!
Juraj




Re: [Pharo-users] [Ann] Pharo Sprint App to improve coordination during Pharo Sprints

2017-04-23 Thread Juraj Kubelka
Hi,

> El 23-04-2017, a las 14:37, "p...@highoctane.be" <p...@highoctane.be> 
> escribió:
> 
> Please put that on the Pharo site (how to contribute section) so that we do 
> not have to hunt this email down.

You are right, put it on Pharo site is on my todo list. 

Juraj

> 
> Phil
> 
>> On Sun, Apr 23, 2017 at 7:24 PM, Tudor Girba <tu...@tudorgirba.com> wrote:
>> Great work, Juraj!
>> 
>> Doru
>> 
>> 
>> > On Apr 23, 2017, at 5:13 PM, Juraj Kubelka <juraj.kube...@icloud.com> 
>> > wrote:
>> >
>> > Hi,
>> >
>> > We are happy to announce a new application called Pharo Sprint App. The 
>> > main idea of the application comes from the whiteboard that have been used 
>> > during Pharo Sprints and was also adopted in Chile.
>> >
>> > 
>> >
>> > As the Pharo Sprint is organized in several places around the world, we 
>> > miss the connection with other guys. For that reason we decided to move 
>> > the physical whiteboard to the internet and developed Pharo Sprint App.
>> >
>> > 
>> >
>> > How does it work? Participants choose a case from the ‘proposed' or ‘all’ 
>> > list. Once they are done, they move it to the ‘done’ list. We believe that 
>> > the application will encourage other people, especially newcomers, to join 
>> > us during the events and have a fun, together with other developers.
>> >
>> > How To Use It?
>> >   • Download the latest image from Bintray
>> >   • Execute the image, using the corresponding VM for Pharo 6
>> >   • Run the application from World Menu / Communication / Pharo Sprint
>> >   • Login, using your FogBugz account, wait a bit, then choose a case 
>> > and have a happy programming :-)
>> >
>> > Everybody participating in the sprints should use the Pharo Sprint image.
>> >
>> > The upcoming event is on Friday April 28: 
>> > https://association.pharo.org/event-2492488
>> >
>> > The application is deployed in Pharo 6 (32 and 64bits). More details are 
>> > available at: https://github.com/JurajKubelka/PharoSprint
>> >
>> > I will appreciate any feedback.
>> >
>> > Have a fun! :-)
>> > Juraj
>> >
>> 
>> --
>> www.tudorgirba.com
>> www.feenk.com
>> 
>> "We can create beautiful models in a vacuum.
>> But, to get them effective we have to deal with the inconvenience of 
>> reality."
>> 
>> 
>> 
> 


Re: [Pharo-users] [ANN] Prometheas : a Pharo wiki database

2017-04-21 Thread Juraj Kubelka
Nice effort!

The key has to be one word term? For example I would like to add 

!docadd Pharo Sprint “and the explanation of what it is and how someone can 
participate.”

sure, I can add only !docadd Sprint.

Thanks!
Juraj

> El 21-04-2017, a las 07:24, Dimitris Chloupis  
> escribió:
> 
> 
> Hey guys I need your help with building the database, I am sure many of you 
> can share small definitions 
> 
> the syntax is quite simple 
> !docadd term "Term is a term and this is its content of definition .More info 
> can be found at http://www.term.com "
> 
> for example
> 
> !docadd Nireas "Nireas is a customised blue theme that comes with a gui that 
> allows to change most colors in the theme. More info can be found at 
> https://github.com/kilon/Nireas "
> 
> the case on the term does not matter all terms are converted to lower case 
> for ease of use.
> 
> The definition must not be longer than 5 lines. 
> 
> I plan also to add a section for script examples but I have not added that 
> feature yet, so avoid using quotation marks , single or double inside your 
> definition , only regular character and full stops and parentheses. 
> 
> So if you feel like helping, it easy, fast and it will benefit beginners 
> because I plan to add this database inside Pharo. My plan was to add it to 
> playground but I decided to add it to GTSPotter which makes more sense. 
> 
> Thanks for any help on advance.



Re: [Pharo-users] [ANN] Prometheas : a Pharo wiki database

2017-04-17 Thread Juraj Kubelka
Great! I still believe that having the extract in the Help Browser is a good 
idea, at least for novices.

Juraj

> On Apr 15, 2017, at 19:32, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> 
> I plan to embed it inside the playground and create a small Pharo API for it. 
> If I can I will provide access for it from the right click menu , like do it 
> and print it . It will take sometime but it's coming inside Pharo. 
> On Sat, 15 Apr 2017 at 20:43, Juraj Kubelka <juraj.kube...@icloud.com 
> <mailto:juraj.kube...@icloud.com>> wrote:
> Nice!
> 
> Could you provide the database content using JSON REST API? We could then 
> have this as a part of Help Browser.
> 
> Cheers,
> Juraj
> 
> --
> Juraj Kubelka
> 
> > El 14-04-2017, a las 09:30, Dimitris Chloupis <kilon.al...@gmail.com 
> > <mailto:kilon.al...@gmail.com>> escribió:
> >
> > Part of my Discord bot as a goal was to add the ability to create database 
> > entries so that people can quickly find documentation.
> >
> > It was quite a challenge for me because I had to learn how heroku works, 
> > PostgreSQL and all the other things but I did it!!!
> >
> > In any discord channel you have now 3 commands !doc , !docadd , !docremove
> >
> > 1) !doc 
> > search for a term in the documentation database
> > eg. !doc pharo
> >
> > 2) !docadd
> > add a new entry to the documentation database
> > eg. !docadd "pharo" "Pharo is a modern implementation of Smalltalk" 
> > "{'smalltalk','live coding','language'}" "{'squeak','IDE'}"
> >
> > 3)!docremove 
> > remove a term from database
> > eg. !docremove pharo
> >
> > tags , is for more complex searches in the future, links for sending users 
> > to relevant documentation
> >
> > I am also planning to give access to pharo users to the database from 
> > inside the pharo image, if its easy enough to use PostgreSQL from inside 
> > Pharo. Currently the bot is fully coded in python.
> >
> > The goal is not to create a full documentation but rather quick help tips 
> > for fast pointing to the right direction.
> >
> > This is also an invite to experience pharo devs and newcomers to start 
> > adding to this database.
> >
> > The database is PostgreSQL , one of the most populars, I have nothing 
> > against MongoDB , its just that it works better with heroku where I host 
> > the database. But if in the future find a way to do it for free I can move 
> > to MongoDB, but no promises.
> >
> > Anyway this was an excuse for me to learn database programming that I had 
> > abandoned 25 years ago (DBASE).
> >
> > So have fun with this :)
> 



Re: [Pharo-users] Pharo6 server deployment and no home directory

2017-04-17 Thread Juraj Kubelka
Hi Holger,

I have resolved the issue: 
https://pharo.fogbugz.com/f/cases/19944/Server-deployment-is-broken-due-to-GlobalIdentifier
 

 
I will appreciate if you review it and test it.

Basically it tests `FileLocator home exists`, if false, it does not touch disk. 
We could also add a #disablePersistence method if necessary.

Juraj

> On Apr 15, 2017, at 04:11, Holger Freyther  wrote:
> 
> 
>> On 15. Apr 2017, at 07:59, Holger Freyther  wrote:
>> 
>> 
>> * Why isn't the migration from Ston to Fuel more explicit?
>> * Why is "load" trying to save?
>> * Why is "ensure:" used instead of load?
>> * Not sure why "self preferences exists" seems to end in true?
> 
> Is there an option to not run startUp options at all or single step through 
> them? I have the suspicion that "exists" returns true while it should not. 
> Will see how to move forward.
> 
> holger
> 
> 
> Breakpoint 4, dir_EntryLookup (pathString=0x84cd258 
> "/home/build/.config/pharo", pathStringLength=25, nameString=0x84ce920 
> "org.pharo.gt.spotter.event.recorder.fuel", nameStringLength=40, 
>name=0xfffcb1bc "", nameLength=0xfffcb1ac, creationDate=0xfffcb1a4, 
> modificationDate=0xfffcb1b0, isDirectory=0xfffcb1a8, sizeIfFile=0xfffcb198, 
> posixPermissions=0xfffcb1b4, isSymlink=0xfffcb1b8)
>at 
> /home/travis/build/pharo-project/pharo-vm/opensmalltalk-vm/platforms/unix/plugins/FilePlugin/sqUnixFile.c:270
> 270   in 
> /home/travis/build/pharo-project/pharo-vm/opensmalltalk-vm/platforms/unix/plugins/FilePlugin/sqUnixFile.c
> (gdb) p printCallStack()
> 0xfffd41a0 M UnixStore(DiskStore)>basicEntryAt: 0x842dd28: a(n) UnixStore
> 0xfffd41c0 M UnixStore(DiskStore)>nodeAt:ifPresent:ifAbsent: 0x842dd28: a(n) 
> UnixStore
> 0xfffd41e4 M UnixStore(FileSystemStore)>exists: 0x842dd28: a(n) UnixStore
> 0xfffd4200 M FileSystem>exists: 0x842dd38: a(n) FileSystem
> 0xfffd421c M FileReference>exists 0x84c9d78: a(n) FileReference
> 0xfffd4234 M FileLocator(AbstractFileReference)>exists 0x84c32c8: a(n) 
> FileLocator
> 0xfffd4254 I 
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>load: 0x84a6d40: 
> a(n) GlobalIdentifierFuelPersistence
> 0xfffd4278 I 
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>ensure: 
> 0x84a6d40: a(n) GlobalIdentifierFuelPersistence
> 0xfffd429c I 
> GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>ensure: 
> 0x84a6d30: a(n) GlobalIdentifierStonPersistence
> 0xfffd42c0 I GlobalIdentifier>ensure 0x84a6510: a(n) GlobalIdentifier
> 0xfffd42e0 I GlobalIdentifier class>initializeUniqueInstance 0x9a2def0: a(n) 
> GlobalIdentifier class
> 0xfffd4300 I GlobalIdentifier class>uniqueInstance 0x9a2def0: a(n) 
> GlobalIdentifier class
> 0xfffccfd0 I SystemSettingsPersistence class>resumeSystemSettings 0x9a2d9f0: 
> a(n) SystemSettingsPersistence class



Re: [Pharo-users] Pharo6 server deployment and no home directory

2017-04-15 Thread Juraj Kubelka


> El 15-04-2017, a las 04:11, Holger Freyther  escribió:
> 
> 
>> On 15. Apr 2017, at 07:59, Holger Freyther  wrote:
>> 
>> 
>> * Why isn't the migration from Ston to Fuel more explicit?
>> * Why is "load" trying to save?
>> * Why is "ensure:" used instead of load?
>> * Not sure why "self preferences exists" seems to end in true?
> 
> Is there an option to not run startUp options at all or single step through 
> them? I have the suspicion that "exists" returns true while it should not. 
> Will see how to move forward.

Maybe GlobalIdentifier should not write and read anything if --no-preferences 
option is used. I will check this on Monday. I am without computer now. 

Juraj

> 
> holger
> 
> 
> Breakpoint 4, dir_EntryLookup (pathString=0x84cd258 
> "/home/build/.config/pharo", pathStringLength=25, nameString=0x84ce920 
> "org.pharo.gt.spotter.event.recorder.fuel", nameStringLength=40, 
>name=0xfffcb1bc "", nameLength=0xfffcb1ac, creationDate=0xfffcb1a4, 
> modificationDate=0xfffcb1b0, isDirectory=0xfffcb1a8, sizeIfFile=0xfffcb198, 
> posixPermissions=0xfffcb1b4, isSymlink=0xfffcb1b8)
>at 
> /home/travis/build/pharo-project/pharo-vm/opensmalltalk-vm/platforms/unix/plugins/FilePlugin/sqUnixFile.c:270
> 270in 
> /home/travis/build/pharo-project/pharo-vm/opensmalltalk-vm/platforms/unix/plugins/FilePlugin/sqUnixFile.c
> (gdb) p printCallStack()
> 0xfffd41a0 M UnixStore(DiskStore)>basicEntryAt: 0x842dd28: a(n) UnixStore
> 0xfffd41c0 M UnixStore(DiskStore)>nodeAt:ifPresent:ifAbsent: 0x842dd28: a(n) 
> UnixStore
> 0xfffd41e4 M UnixStore(FileSystemStore)>exists: 0x842dd28: a(n) UnixStore
> 0xfffd4200 M FileSystem>exists: 0x842dd38: a(n) FileSystem
> 0xfffd421c M FileReference>exists 0x84c9d78: a(n) FileReference
> 0xfffd4234 M FileLocator(AbstractFileReference)>exists 0x84c32c8: a(n) 
> FileLocator
> 0xfffd4254 I 
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>load: 0x84a6d40: 
> a(n) GlobalIdentifierFuelPersistence
> 0xfffd4278 I 
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>ensure: 
> 0x84a6d40: a(n) GlobalIdentifierFuelPersistence
> 0xfffd429c I 
> GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>ensure: 
> 0x84a6d30: a(n) GlobalIdentifierStonPersistence
> 0xfffd42c0 I GlobalIdentifier>ensure 0x84a6510: a(n) GlobalIdentifier
> 0xfffd42e0 I GlobalIdentifier class>initializeUniqueInstance 0x9a2def0: a(n) 
> GlobalIdentifier class
> 0xfffd4300 I GlobalIdentifier class>uniqueInstance 0x9a2def0: a(n) 
> GlobalIdentifier class
> 0xfffccfd0 I SystemSettingsPersistence class>resumeSystemSettings 0x9a2d9f0: 
> a(n) SystemSettingsPersistence class



Re: [Pharo-users] [ANN] Prometheas : a Pharo wiki database

2017-04-15 Thread Juraj Kubelka
Nice!

Could you provide the database content using JSON REST API? We could then have 
this as a part of Help Browser. 

Cheers,
Juraj

--
Juraj Kubelka

> El 14-04-2017, a las 09:30, Dimitris Chloupis <kilon.al...@gmail.com> 
> escribió:
> 
> Part of my Discord bot as a goal was to add the ability to create database 
> entries so that people can quickly find documentation.
> 
> It was quite a challenge for me because I had to learn how heroku works, 
> PostgreSQL and all the other things but I did it!!!
> 
> In any discord channel you have now 3 commands !doc , !docadd , !docremove
> 
> 1) !doc 
> search for a term in the documentation database
> eg. !doc pharo 
> 
> 2) !docadd
> add a new entry to the documentation database
> eg. !docadd "pharo" "Pharo is a modern implementation of Smalltalk" 
> "{'smalltalk','live coding','language'}" "{'squeak','IDE'}"
> 
> 3)!docremove 
> remove a term from database
> eg. !docremove pharo
> 
> tags , is for more complex searches in the future, links for sending users to 
> relevant documentation
> 
> I am also planning to give access to pharo users to the database from inside 
> the pharo image, if its easy enough to use PostgreSQL from inside Pharo. 
> Currently the bot is fully coded in python.
> 
> The goal is not to create a full documentation but rather quick help tips for 
> fast pointing to the right direction. 
> 
> This is also an invite to experience pharo devs and newcomers to start adding 
> to this database. 
> 
> The database is PostgreSQL , one of the most populars, I have nothing against 
> MongoDB , its just that it works better with heroku where I host the 
> database. But if in the future find a way to do it for free I can move to 
> MongoDB, but no promises. 
> 
> Anyway this was an excuse for me to learn database programming that I had 
> abandoned 25 years ago (DBASE). 
> 
> So have fun with this :)  



Re: [Pharo-users] Pharo6 server deployment and no home directory

2017-04-14 Thread Juraj Kubelka
Hi,

> El 14-04-2017, a las 16:17, Holger Freyther  escribió:
> 
> Hi,
> 
> as Pharo6 is around the corner I have moved my CI build from tracking Pharo5 
> to Pharo6 but I run into a problem. Either if $HOME is not set at all or 
> $HOME points to a wrong directory I run into the error below.
> 
> As this is a server application and I run multiple VMs with the same image 
> and there is no home directory I would prefer that no information is 
> persisted at all. Can this be done? Have there been any changes in Pharo6 in 
> regard to this?

Do you think that checking if `FileIdentifier home` exist solves the issue? 

Can we detect headless state? 

> 
> It also seems to change from Fuel->Ston for the identifier? Is this intended?

Yes, this is intended and should not produce problems. 

Juraj

> 
> holger
> 
> 
> 
> HOME=/home/blabla ./vm/pharo --nodisplay My.image eval --save 
> '(NonInteractiveTranscript onFileNamed: #stdout)' install
> PrimitiveFailed: primitive #createDirectory: in UnixStore failed
> UnixStore(Object)>>primitiveFailed:
> UnixStore(Object)>>primitiveFailed
> UnixStore(DiskStore)>>createDirectory:
> UnixStore(FileSystemStore)>>ensureCreateDirectory:
> UnixStore(FileSystemStore)>>ensureCreateDirectory:
> UnixStore(FileSystemStore)>>ensureCreateDirectory:
> FileSystem>>ensureCreateDirectory:
> FileReference>>ensureCreateDirectory
> FileLocator(AbstractFileReference)>>ensureCreateDirectory
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>>ensureDirectory
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>>save:
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>>load:
> GlobalIdentifierFuelPersistence(GlobalIdentifierPersistence)>>ensure:
> GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:
> GlobalIdentifier>>ensure
> GlobalIdentifier class>>initializeUniqueInstance
> GlobalIdentifier class>>uniqueInstance
> SystemSettingsPersistence class>>resumeSystemSettings
> [ :persistence | persistence resumeSystemSettings ] in 
> PharoCommandLineHandler>>runPreferences in Block: [ :persistence | 
> persistence resumeSystemSettings ...etc...
> BlockClosure>>cull:
> SystemDictionary(Dictionary)>>at:ifPresent:
> SmalltalkImage>>at:ifPresent:
> PharoCommandLineHandler>>runPreferences
> PharoCommandLineHandler>>activate
> PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:
> [ super activateWith: aCommandLine ] in PharoCommandLineHandler 
> class>>activateWith: in Block: [ super activateWith: aCommandLine ]
> NonInteractiveUIManager(UIManager)>>defer:
> PharoCommandLineHandler class>>activateWith:
> [ aCommandLinehandler activateWith: commandLine ] in 
> BasicCommandLineHandler>>activateSubCommand: in Block: [ aCommandLinehandler 
> activateWith: commandLine ]
> BlockClosure>>on:do:
> 
> 



Re: [Pharo-users] Socket, network, testing and coding

2017-02-28 Thread Juraj Kubelka
Hi,

> El 28-02-2017, a las 14:27, Benoit St-Jean via Pharo-users 
>  escribió:
> 
> 
> De: Benoit St-Jean 
> Asunto: Socket, network, testing and coding
> Fecha: 28 de febrero de 2017, 14:27:58 CLST
> Para: Any question about pharo is welcome 
> Responder a: Benoit St-Jean 
> 
> 
> Hi guys,
> 
> Quick question regarding sockets and testing.
> 
> I'm trying to implement a simple communication protocol to exchange data 
> (strings) between 2 images and I was wondering what was the easiest way to 
> test/develop my code?  I want to be able to do something similar to a chat 
> client between 2 images where none of those 2 images acts as a server.  So 
> data can originate from any of those 2 images and both images have to 
> "listen" to each other.  Besides, both images would have to transmit/receive 
> on the same port.
> 
> 1) Is this possible (the way I want to do/test it)?

Yes, you can test it.

> 2) How do I simulate something like this on a *single* machine running those 
> 2 images?

Something like this:

| listener clientSocket serverSocket |
listener := Socket newTCP.
[ listener listenOn: 0 backlogSize: 4.

clientSocket := Socket newTCP.
clientSocket connectTo: #[127 0 0 1] port: listener localPort.
clientSocket waitForConnectionFor: 1.

serverSocket := listener waitForAcceptFor: 1. ] 
ensure: [ listener destroy ].

since then you have client and server socket. You can call it clientOne, 
clientTwo.

> 3) Do I need to have one of those 2 images act as a "server” ?

At least one image has to serve as a server (listen to connections). Maybe you 
could use a discovery service protocol. I do not have any experience about it.

> 4) Any helpful tip and/or interesting link to propose?
> 5) Can you think of any simple code or example I could look at to understand 
> what I need to do?

There is a Trantor project where you could learn from: 
http://smalltalkhub.com/#!/~EvanDonahue/Trantor 

You can check an example here: TRNLog exampleOpenChatWithUserIdUsingTrantor
But you are going to be more interested in testing: TrantorNodeTest

Download it using: 

Gofer it
smalltalkhubUser: 'EvanDonahue' project: 'Trantor';
configuration;
loadBleedingEdge.

And maybe Zinc (part of the Pharo image) has also good test examples.
Cheers,
Juraj


>  
> - 
> Benoît St-Jean 
> Yahoo! Messenger: bstjean 
> Twitter: @BenLeChialeux 
> Pinterest: benoitstjean 
> Instagram: Chef_Benito
> IRC: lamneth 
> Blogue: endormitoire.wordpress.com 
> "A standpoint is an intellectual horizon of radius zero".  (A. Einstein)
> 
> 



Re: [Pharo-users] [Versionner] Including remote packages

2017-02-21 Thread Juraj Kubelka
Hi!

I recommend you to create two configurations. One for the remote repository, 
and one for your project.

What do you think?
Juraj

> El 21-02-2017, a las 18:53, sergio ruiz  escribió:
> 
> Hi, all..
> 
> I am creating a configuration using versioner.. as part of this 
> configuration, I need to include packages (which don’t have a configuration) 
> from a remote repository.. i initially brought the class in from monticello, 
> and included it, but i ended up with a configuration line that goes like:
> 
> spec package: ‘’
> 
> what i really need is something like 
> 
> spec repository: ‘’
> spec package: ‘’
> 
> or, is there a better way to set up my project? 
> 
> Should that main package (which would probably be useless outside the 
> configuration) be hosted together?
> 
> ideas? thanks!
> 
> 
> peace,
> sergio
> photographer, journalist, visionary
> 
> Public Key: http://bit.ly/29z9fG0 
> #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV
> http://www.Village-Buzz.com 
> http://www.ThoseOptimizeGuys.com 
> http://www.coffee-black.com 
> http://www.painlessfrugality.com 
> http://www.twitter.com/sergio_101 
> http://www.facebook.com/sergio101 


Re: [Pharo-users] Issue with Iceberg

2017-02-15 Thread Juraj Kubelka
You likely need the latest (unstable) VM because the stable one has corrupted 
git library.

Cheers,
Juraj

> El 15-02-2017, a las 12:24, Alexandre Bergel  
> escribió:
> 
> Hi!
> 
> I have "Error: External module not found” when trying to clone a repository.
> I have the VM 7.0 (built on Oct 7, 2016) and Pharo 60371
> https://github.com/npasserini/iceberg/issues/281
> 
> Help appreciated.
> 
> Cheers,
> Alexandre
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 




[Pharo-users] How can I save a project on GitHub to SmalltalkHub?

2016-07-27 Thread Juraj Kubelka
Hi,

How can I save (from time to time) project packages hosted on GitHub to 
SmalltakHub?

The reason is that I do not want to force people to install GIT when they want 
to install a project.
So I am thinking to regularly deploy it on SmalltalkHub and update 
ConfigurationOf.

Thanks in advance,
Juraj


Re: [Pharo-users] Pharo and GIT

2016-07-25 Thread Juraj Kubelka
Hi Alexandre,

I will first give a try. I think once the Pharo community moves to GitHub, it 
will help to all. It could be painful, but SmalltalkHub is also painful and we 
are loosing other opportunities that GitHub service offers. 

I agree that it could be painful. I am fine using external GIT tools. Even for 
Java (or other) projects I use external GIT tools. The important is that we can 
easily deploy projects and people can load it (,e.g., Catalog Browser).

Cheers,
Juraj

> On Jul 25, 2016, at 09:14, Alexandre Bergel <alexandre.ber...@me.com> wrote:
> 
> Hi Juraj,
> 
> Although I find very appealing to work with Git, it is still very painful. 
> Some of the issues I feel right now: difficult of merging, checking for 
> source code differences, there is unfortunately a difference between 
> installing using Metacello and cloning a repository, … 
> We can discuss it if you want (I am back in Chile).
> 
> Alexandre
> 
> 
>> On Jul 25, 2016, at 8:41 AM, Juraj Kubelka <juraj.kube...@icloud.com> wrote:
>> 
>> Hi,
>> 
>> can you point me to a latest (best) way to use GitHub for Pharo projects 
>> (Pharo 6)? 
>> 
>> Is the GitFileTree project the way to use it?
>> 
>> How does ConfigurationOf change?
>> 
>> Thanks!
>> Juraj
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 




[Pharo-users] Pharo and GIT

2016-07-25 Thread Juraj Kubelka
Hi,

can you point me to a latest (best) way to use GitHub for Pharo projects (Pharo 
6)? 

Is the GitFileTree project the way to use it?

How does ConfigurationOf change?

Thanks!
Juraj


Re: [Pharo-users] [ANN] The next Pharo Sprints (Lille)

2016-01-06 Thread Juraj Kubelka
Hi,

that’s great. We will organize Pharo Sprint in Santiago at the same time except 
of February (vacations).

Cheers,
Juraj


> On Jan 6, 2016, at 04:27, Marcus Denker  wrote:
> 
> Hello,
> 
> We looked at the calendar and fixed the dates for all public sprints that we 
> will do this
> year here locally. These are all Fridays:
> 
> 29 Januar
> 26 Feb
> 25 March
> 29 April
> 27 May
> 
> They will be at the Inria Lille, Building B, third floor (RMoD offices).
> Remotely, you can join us on Slack or the IRC channel #pharo on
> irc.freenode.net server. During the sprint, we will try to synchronize
> local and remote Pharo sprinters.
> 
> One nice idea is to organise local sprints yourself. E.g. over the last
> sprints we had one in Chile at the same time.
> 
>   Marcus
> 
> 
> 




Re: [Pharo-users] About GTSpotter matching

2015-12-08 Thread Juraj Kubelka
Hi Christophe,

Not yet, but this is definitely way to improve Spotter. 

Thanks for the comment,
Juraj

--
Juraj Kubelka

8. 12. 2015 v 5:10, Christophe Demarey <christophe.dema...@inria.fr>:

> Hi,
> 
> By the way, is it possible to have exact match now?
> At least, I expect to have expect match on the top of the result list.
> A simple use case,
> open Spotter
> search number
> dive into implementors category
> 
> The exact matches are lost in the middle of hundreds of other selectors. This 
> way, it is very difficult to find what you need.
> It is also why I always need to open a playground to be able to search all 
> implementors of a selector. It is not do-able with spotter without an exact 
> match.
> 
> That said, I have to add that I really enjoy spotter and other GT tools :)
> 
> Christophe
> 
> 
>> Le 8 déc. 2015 à 01:56, Juraj Kubelka a écrit :
>> 
>> 
>>> 7. 12. 2015 v 11:59, Peter Uhnak <i.uh...@gmail.com>:
>>> 
>>>> On 12/07, Juraj Kubelka wrote:
>>>> Hi,
>>>> 
>>>> # is a category filter. Try #class, #instance, etc.
>>> 
>>> Oh... right. I've been using this for long time, my brain just didn't
>>> connect the dots.
>>> 
>>> In either case, once you dive in the category filter is no longer
>>> applicable.
>>> So normally I would do "#i selector", then dive in, and then filter it.
>>> 
>>>> Then I have learnt that people are not aware of [...] any other kind of 
>>>> wild-characters.
>>> 
>>> People don't know what wild-chars are? I would understand that someone
>>> might be uncomfortable with regexps, because there are many variations, but 
>>> wildchars…
>> 
>> Well, some people asks for regular expressions, some people asks for 
>> wild-characters, some people prefers other techniques. 
>> In most cases people are satisfied with substring solution as it is right 
>> now. In some special cases people thinks about more advance solution. 
>> I believe that we should sort results according to relevance, e.g., if I 
>> write open, then selectors called open should be first, then likely openOn:, 
>> openWithSpec:, openVeryLongExplanation:, etc.
>> 
>> Cheers,
>> Juraj
>> 
>>> 
>>>> 
>>>>> On Dec 5, 2015, at 20:40, Peter Uhnak <i.uh...@gmail.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> are there some wildcards in GTSpotter matching?
>>>>> 
>>>>> Currently it searches anywhere in the (method) name, which makes it hard
>>>>> for shorter names, because it will match a lot of junk.
>>>>> 
>>>>> I've also discovered (by accident), that I can use '>>#selector' to
>>>>> anchor the start of the selection. ('#selector' for some reason doesn't
>>>>> work).
>>>>> But I would like to also search by a simple ? (any character), * (any
>>>>> characters) wildcard. Is that possible?
>>>>> 
>>>>> Additionally constraining it from the end would be also nice.
>>>>> For example I want to look through #default methods, however 90% of the
>>>>> matches will be junk, so I would like to write '#default$' and it will
>>>>> not match '#defaultIcon', etc.
>>>>> 
>>>>> Is this possible?
>>>>> 
>>>>> Thanks,
>>>>> -- 
>>>>> Peter
>>>>> 
>>>> 
>>>> 
>>> 
>>> -- 
>>> Peter
>>> 
>> 
>> 
> 


Re: [Pharo-users] About GTSpotter matching

2015-12-07 Thread Juraj Kubelka
Hi,

# is a category filter. Try #class, #instance, etc.

Wild characters are not possible to use. We are aware of this. But the case is 
not that simple. If I remember well, there were some performance issues. Then I 
have learnt that people are not aware of regular expressions or any other kind 
of wild-characters. Even such simple thing like # is confusing. 
We need to find out different way having this feature apparent.

Cheers,
Juraj

> On Dec 5, 2015, at 20:40, Peter Uhnak  wrote:
> 
> Hi,
> 
> are there some wildcards in GTSpotter matching?
> 
> Currently it searches anywhere in the (method) name, which makes it hard
> for shorter names, because it will match a lot of junk.
> 
> I've also discovered (by accident), that I can use '>>#selector' to
> anchor the start of the selection. ('#selector' for some reason doesn't
> work).
> But I would like to also search by a simple ? (any character), * (any
> characters) wildcard. Is that possible?
> 
> Additionally constraining it from the end would be also nice.
> For example I want to look through #default methods, however 90% of the
> matches will be junk, so I would like to write '#default$' and it will
> not match '#defaultIcon', etc.
> 
> Is this possible?
> 
> Thanks,
> -- 
> Peter
> 




Re: [Pharo-users] About GTSpotter matching

2015-12-07 Thread Juraj Kubelka

> 7. 12. 2015 v 11:59, Peter Uhnak <i.uh...@gmail.com>:
> 
> On 12/07, Juraj Kubelka wrote:
>> Hi,
>> 
>> # is a category filter. Try #class, #instance, etc.
> 
> Oh... right. I've been using this for long time, my brain just didn't
> connect the dots.
> 
> In either case, once you dive in the category filter is no longer
> applicable.
> So normally I would do "#i selector", then dive in, and then filter it.
> 
>> Then I have learnt that people are not aware of [...] any other kind of 
>> wild-characters.
> 
> People don't know what wild-chars are? I would understand that someone
> might be uncomfortable with regexps, because there are many variations, but 
> wildchars…

Well, some people asks for regular expressions, some people asks for 
wild-characters, some people prefers other techniques. 
In most cases people are satisfied with substring solution as it is right now. 
In some special cases people thinks about more advance solution. 
I believe that we should sort results according to relevance, e.g., if I write 
open, then selectors called open should be first, then likely openOn:, 
openWithSpec:, openVeryLongExplanation:, etc.

Cheers,
Juraj

> 
>> 
>>> On Dec 5, 2015, at 20:40, Peter Uhnak <i.uh...@gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> are there some wildcards in GTSpotter matching?
>>> 
>>> Currently it searches anywhere in the (method) name, which makes it hard
>>> for shorter names, because it will match a lot of junk.
>>> 
>>> I've also discovered (by accident), that I can use '>>#selector' to
>>> anchor the start of the selection. ('#selector' for some reason doesn't
>>> work).
>>> But I would like to also search by a simple ? (any character), * (any
>>> characters) wildcard. Is that possible?
>>> 
>>> Additionally constraining it from the end would be also nice.
>>> For example I want to look through #default methods, however 90% of the
>>> matches will be junk, so I would like to write '#default$' and it will
>>> not match '#defaultIcon', etc.
>>> 
>>> Is this possible?
>>> 
>>> Thanks,
>>> -- 
>>> Peter
>>> 
>> 
>> 
> 
> -- 
> Peter
> 




[Pharo-users] Extracting *.tar.gz file in Pharo 5

2015-11-20 Thread Juraj Kubelka
Hi,

is there a way to extract *.tar.gz files using plain Pharo 5 image? Without 
loading extra packages? It could be OS dependent. Maybe calling external linux 
tar application. I have done it with ExternalUnixOSProcess object, but it is 
not standard part of Pharo 5.

Thanks for any comment.
Juraj


Re: [Pharo-users] Extracting *.tar.gz file in Pharo 5

2015-11-20 Thread Juraj Kubelka
If I remember well, ZIP in Pharo supports only one file (one stream of data). 
There is no support for directories. At least, when I have intended it some 
time ago, I failed. 

I do not stand on using *.tar.gz, but I have not found better solution for my 
setup: Directory is compressed on Linux machine and should be extracted on any 
machine by using local tools. 

Do I miss some feature in Pharo?

Cheers,
Juraj


> On Nov 20, 2015, at 12:35, Tudor Girba <tu...@tudorgirba.com> wrote:
> 
> Why not use Zip files? There already exists direct support for that 
> (hopefully it still works).
> 
> Doru
> 
> 
> 
> 
>> On Nov 20, 2015, at 4:16 PM, Juraj Kubelka <juraj.kube...@gmail.com> wrote:
>> 
>> Hi,
>> 
>> is there a way to extract *.tar.gz files using plain Pharo 5 image? Without 
>> loading extra packages? It could be OS dependent. Maybe calling external 
>> linux tar application. I have done it with ExternalUnixOSProcess object, but 
>> it is not standard part of Pharo 5.
>> 
>> Thanks for any comment.
>> Juraj
> 
> --
> www.tudorgirba.com
> 
> "Innovation comes in the least expected form. 
> That is, if it is expected, it already happened."
> 
> 




Re: [Pharo-users] Extracting *.tar.gz file in Pharo 5

2015-11-20 Thread Juraj Kubelka

> On Nov 20, 2015, at 17:36, Thierry Goubier <thierry.goub...@gmail.com> wrote:
> 
> Le 20/11/2015 21:16, Juraj Kubelka a écrit :
>> If I remember well, ZIP in Pharo supports only one file (one stream
>> of data). There is no support for directories. At least, when I have
>> intended it some time ago, I failed.
> 
> No, zip in Pharo works with directories. However I think the zip Filesystem 
> doesn't work which means you have to manipulate the zip members with the zip 
> API, not as a filesystem.

Can you give me an example? 
The file has about 30.000 files (compressed less then 50 MB). I am not sure if 
it is good idea to manage this inside of Pharo image.

> 
>> I do not stand on using *.tar.gz, but I have not found better
>> solution for my setup: Directory is compressed on Linux machine and
>> should be extracted on any machine by using local tools.
>> 
>> Do I miss some feature in Pharo?
> 
> I think you do ;)

Better :-)

Cheers,
Juraj

> 
> Thierry
> 
>> Cheers, Juraj
>> 
>> 
>>> On Nov 20, 2015, at 12:35, Tudor Girba <tu...@tudorgirba.com>
>>> wrote:
>>> 
>>> Why not use Zip files? There already exists direct support for that
>>> (hopefully it still works).
>>> 
>>> Doru
>>> 
>>> 
>>> 
>>> 
>>>> On Nov 20, 2015, at 4:16 PM, Juraj Kubelka
>>>> <juraj.kube...@gmail.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> is there a way to extract *.tar.gz files using plain Pharo 5
>>>> image? Without loading extra packages? It could be OS dependent.
>>>> Maybe calling external linux tar application. I have done it with
>>>> ExternalUnixOSProcess object, but it is not standard part of
>>>> Pharo 5.
>>>> 
>>>> Thanks for any comment. Juraj
>>> 
>>> -- www.tudorgirba.com
>>> 
>>> "Innovation comes in the least expected form. That is, if it is
>>> expected, it already happened."
>>> 
>>> 
>> 
>> 
>> 
> 
> 




Re: [Pharo-users] Extracting *.tar.gz file in Pharo 5

2015-11-20 Thread Juraj Kubelka

> On Nov 20, 2015, at 17:21, Mariano Martinez Peck <marianop...@gmail.com> 
> wrote:
> 
> Well, you could use OSProcess right? 

Yes, it was my first solution. But we need something based on Pharo 5 image. 
And OSProcess is not in Pharo 5, right?
We do not want to load more packages into default Pharo 5. This is the reason 
why I am looking for another solution.

Thanks.
Juraj

> 
> On Fri, Nov 20, 2015 at 5:16 PM, Juraj Kubelka <juraj.kube...@gmail.com 
> <mailto:juraj.kube...@gmail.com>> wrote:
> If I remember well, ZIP in Pharo supports only one file (one stream of data). 
> There is no support for directories. At least, when I have intended it some 
> time ago, I failed.
> 
> I do not stand on using *.tar.gz, but I have not found better solution for my 
> setup: Directory is compressed on Linux machine and should be extracted on 
> any machine by using local tools.
> 
> Do I miss some feature in Pharo?
> 
> Cheers,
> Juraj
> 
> 
> > On Nov 20, 2015, at 12:35, Tudor Girba <tu...@tudorgirba.com 
> > <mailto:tu...@tudorgirba.com>> wrote:
> >
> > Why not use Zip files? There already exists direct support for that 
> > (hopefully it still works).
> >
> > Doru
> >
> >
> >
> >
> >> On Nov 20, 2015, at 4:16 PM, Juraj Kubelka <juraj.kube...@gmail.com 
> >> <mailto:juraj.kube...@gmail.com>> wrote:
> >>
> >> Hi,
> >>
> >> is there a way to extract *.tar.gz files using plain Pharo 5 image? 
> >> Without loading extra packages? It could be OS dependent. Maybe calling 
> >> external linux tar application. I have done it with ExternalUnixOSProcess 
> >> object, but it is not standard part of Pharo 5.
> >>
> >> Thanks for any comment.
> >> Juraj
> >
> > --
> > www.tudorgirba.com <http://www.tudorgirba.com/>
> >
> > "Innovation comes in the least expected form.
> > That is, if it is expected, it already happened."
> >
> >
> 
> 
> 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com <http://marianopeck.wordpress.com/>



Re: [Pharo-users] Is there a way to disable code critic ?

2015-11-08 Thread Juraj Kubelka
In Nautilus Plugin Manager, you can disable the plugin. It is accesible from 
Nautilus window, in right-top corner.

Cheers,
Juraj

> 8. 11. 2015 v 13:06, Dimitris Chloupis :
> 
> Code critic is malfunctioning in my image as i mention in pharo-dev thread, I 
> want to disable it but I could not find it in the Settings because my 
> problems with it have been getting much worse as it throws MNUs even for 
> mouse clicks. How may I do this ? 




  1   2   >