[Pharo-dev] Smalltalks Workshop 2022: call for papers!

2022-09-05 Thread Mariano Martinez Peck
Greetings everyone,

This year, in addition to traditional technical talks, FAST has organized a
Workshop [1] where researchers are invited to submit papers, which will be
evaluated by specialized reviewers. We have chosen the Workshop format to
let authors get early qualified feedback of their work without preventing
them from presenting in other conferences or publications, since this
format does not imply exclusive submission.

[1] https://smalltalks2022.fast.org.ar/registration/call-for-papers

Greetings,

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


[Pharo-dev] Smalltalks 2022: call for registration, talks and sponsors!

2022-08-10 Thread Mariano Martinez Peck
Greetings everyone,

The Smalltalks conference is back in Argentina! From Nov 9th to 11th at the
0+Inf building of Facultad de Ciencias Exactas y Naturales, UBA , Buenos
Aires.

We will celebrate the 50 years of Smalltalk-72 with Dan Ingalls , its main
developer, Gilad Bracha and many others.

Feel free to register already or submit talks [1]. We welcome all types of
presentations: commercial products, experience reports, tooling, virtual
machines, research, frameworks & applications, education, etc.

You may also consider becoming a sponsor [2] as that is what allows the
conference to be free and accessible to everybody.

Thanks for sharing the news!

[1] https://smalltalks2022.fast.org.ar
[2] https://smalltalks2022.fast.org.ar/sponsoring

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] Webminar about VA Smalltalk new OS Process Framework

2020-07-10 Thread Mariano Martinez Peck
Thank you everyone for attending. For those that missed it (or want to
re-watch it hahahaha), below is the link to YouTube:

https://youtu.be/uwEu_-tflKg

Best regards,



On Wed, Jul 8, 2020 at 11:36 AM Mariano Martinez Peck 
wrote:

> Greetings all, This is a friendly reminder of the presentation we will
> host tomorrow for VAST's newest OSProcess framework. Best regards,
>
> On Tue, Jun 30, 2020 at 10:25 AM Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>> Greetings all,
>>
>> Some time ago, I had the pleasure and privilege of being sponsored by the
>> Pharo Consortium to implement OSSubprocess. Because of that work, I quickly
>> realized that a new OS process framework created by Instantiations was
>> quite advanced and unlike anything I had seen before.  If you are able, I
>> would highly recommend that you attend the technology preview of this
>> framework coming to VAST 2021:
>>
>> Seth Berman will be presenting, registration here:
>> https://attendee.gotowebinar.com/register/7491754880594201356
>>
>> We hope the community can attend and we look forward to your feedback and
>> questions during the event's Q&A session.
>>
>> Best regards,
>>
>> --
>> Mariano Martinez Peck
>> Email: marianop...@gmail.com
>> Twitter: @MartinezPeck
>> LinkedIn: www.linkedin.com/in/mariano-martinez-peck
>> <https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
>> Blog: https://marianopeck.wordpress.com/
>>
>
>
> --
> Mariano Martinez Peck
> Email: marianop...@gmail.com
> Twitter: @MartinezPeck
> LinkedIn: www.linkedin.com/in/mariano-martinez-peck
> <https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
> Blog: https://marianopeck.wordpress.com/
>


-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] [Glass] Webminar about VA Smalltalk new OS Process Framework

2020-06-30 Thread Mariano Martinez Peck
Yes to both questions :)

On Tue, Jun 30, 2020 at 11:05 AM Damien Pollet 
wrote:

> Will this be recorded for watching later ? Maybe posted to youtube ?
>
> On Tue, 30 Jun 2020 at 15:25, Mariano Martinez Peck via Glass <
> gl...@lists.gemtalksystems.com> wrote:
>
>> Greetings all,
>>
>> Some time ago, I had the pleasure and privilege of being sponsored by the
>> Pharo Consortium to implement OSSubprocess. Because of that work, I quickly
>> realized that a new OS process framework created by Instantiations was
>> quite advanced and unlike anything I had seen before.  If you are able, I
>> would highly recommend that you attend the technology preview of this
>> framework coming to VAST 2021:
>>
>> Seth Berman will be presenting, registration here:
>> https://attendee.gotowebinar.com/register/7491754880594201356
>>
>> We hope the community can attend and we look forward to your feedback and
>> questions during the event's Q&A session.
>>
>> Best regards,
>>
>> --
>> Mariano Martinez Peck
>> Email: marianop...@gmail.com
>> Twitter: @MartinezPeck
>> LinkedIn: www.linkedin.com/in/mariano-martinez-peck
>> <https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
>> Blog: https://marianopeck.wordpress.com/
>> ___
>> Glass mailing list
>> gl...@lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>


-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] [Pharo-users] [ANN] PharoPro

2020-06-23 Thread Mariano Martinez Peck
A bit late to the party, but I still wanted to congratulate everyone
involved and wish you all the best. I said (but didn't do) many times in
the past that having a LTS version would be really good. So I hope you can
make it. Also, thanks for the FAQ entry comparing with the Consortium, as
that was my immediate question hhahaha.

Best,

On Wed, Jun 17, 2020 at 10:07 PM Pierce Ng  wrote:

> On Wed, Jun 17, 2020 at 10:34:09AM +0200, Norbert Hartl wrote:
> > we are very proud to announce the availability of PharoPro, a company
> > that offers professional support for the pharo platform. Our mission
> > is to enable people and companies to secure their business when
> > building products with pharo.
>
> Great stuff! All the best!
>
> Pierce
>
>
>

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] About strange email related to smalltalkhub read-only on squeak-dev

2020-06-02 Thread Mariano Martinez Peck
On Tue, Jun 2, 2020 at 6:18 AM Norbert Hartl  wrote:

> Hi Paul,
>
> thanks for the info but I won't read it. I try to focus on things that
> matter. There are too many things that try to distract everyone from
> producing something helpful. Law suits are IMHO not of that kind.
>
> I would rather put some money on the table for someone building proper FFI
> to openssl. The Cryptography was a mess I cleaned a bit but I had also
> scenarios where the squeak code was not working properly. And there is no
> real reason to have a smalltalk implementation of crypto if we carry around
> openssl anyway (for iceberg and secure connects).
>
> PierceNg has an implementation that implements a subset of openssl. This
> implementation is modeled after the library so lots of class methods. I'd
> prefer to have something more object model like.
>
> So if you think you can implement this please contact me and tell me what
> you think how long it takes and how much it will cost to do at least the
> things we have now in Cryptography. I'm willing to collect money or pay it
> myself.
>
>

I second this. VA Smalltalk included a complete FFI wrapper of OpenSSL in
VAST 8.6.2 (2015) and it was one of the best decisions ever.


-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] Allow selected special characters as part of unary and keyword selectors?

2019-09-12 Thread Mariano Martinez Peck
On Wed, Sep 11, 2019 at 4:10 AM ducasse  wrote:

>
>
> > On 11 Sep 2019, at 04:07, James Foster  wrote:
> >
> > Would use of ? and ! in unary/keyword selectors be convention or somehow
> required? If simply convention, then we should start with renaming testing
> methods to be named is* or has*.
> >   flag1 := anInteger even.“not good"
> >   flag2 := anInteger isEven.  “better"
> >   flag3 := anInteger even?.   “how much better?”
> >   flag4 := #(1 2 3) includes?: 2. “how much better?”
>
> I think that I would use ? mainly for unary message
>
> Now I’m sure that if you look carefully some people use
>
> include
> for the action
> includes
> for the tests
>
> I took include as an example and this is super not intention revealing.
>
> >> lineUpBlockBrackets
>
> lineUpBlockBrackets?
> Now I will rewrite them all as shouldLineUpBlockBrackets or
> isLineUpBlockBrackets and to me for unary message ? makes it a lot better.
>
>
Hi Stef,

I have been facing this ambiguity a lot too. And my workaround, most of the
times, was also to prefer the "question" method with #should. #is just
doesn't sound right in my cases, but #should does sound good in most of
them. I would still like to find a better one, but for the moment, in my
recent years, I am stuck with #should.

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] machine learning for code completion

2019-08-15 Thread Mariano Martinez Peck
Hi Myroslava,

That sounds very interesting. I guess you did take a look to Romain Robbes
work on OCompletion, right?
I have used it for a long time, many years ago, and AFAIR we had to remove
it from Pharo. It had lots of issues with the memory used to keep track of
your "history" in order to be "smart". There were memory leaks and some
other stuff. And at the end of the day, from what I remember, it was never
really "smart"...
Have you thought how to address that correctly?


On Thu, Aug 15, 2019 at 12:52 PM Christopher Fuhrman <
christopher.fuhr...@gmail.com> wrote:

> +1 for the completion of framework (spec) constructs.
>
> https://tabnine.com/blog/deep
>
> On Thu, Aug 15, 2019, 12:33 Tudor Girba  wrote:
>
>> Hi,
>>
>> It certainly would be interesting!
>>
>> The other thing to look for are completion of larger constructs. For
>> example, in the context of Spec, I am sure you can complete larger
>> templates for various methods.
>>
>> Cheers,
>> Doru
>>
>>
>>
>> > On Aug 15, 2019, at 8:48 AM, ducasse  wrote:
>> >
>> > hello miroslava
>> >
>> > you take a NLP approach and I do not know if it will be working
>> > Now people like proksch and mezini took a statiscal approach.
>> > I would really like to see if we can apply the same technics to Pharo
>> completion and
>> > measure the difference. It could be a really nice master (even from a
>> data scientist point of view)
>> >
>> > 
>> >
>> >> On 15 Aug 2019, at 00:01, Myroslava Romaniuk 
>> wrote:
>> >>
>> >>
>> >> From: Myroslava Romaniuk 
>> >> Subject: machine learning for code completion
>> >> Date: 15 August 2019 at 00:01:23 CEST
>> >> To: Pharo Development List 
>> >>
>> >>
>> >> for anyone interested, made a blog post about researching some of the
>> existing approaches of combining ML to improve code completion. in pharo we
>> want to try training the n-gram model. have a slight idea of how it might
>> be implemented in practice but mostly still trying to figure it out, so if
>> anyone else has some suggestions/ideas/tips that would be great
>> >>
>> >> link for the blog post :
>> https://medium.com/@myroslavarm/machine-learning-for-code-completion-2583792997e3
>> >>
>> >> cheers,
>> >> myroslava
>> >>
>> >>
>> >
>>
>> --
>> feenk.com
>>
>> "Innovation comes in the least expected form.
>> That is, if it is expected, it already happened."
>>
>>
>>

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] [Blog Post] PoC Alpine Linux Minimal Stateless Pharo

2019-07-21 Thread Mariano Martinez Peck
On Sat, Jul 20, 2019 at 9:05 PM Pierce Ng  wrote:

> On Sat, Jul 20, 2019 at 10:58:36AM -0300, Mariano Martinez Peck wrote:
> > This is very interesting. I have been playing with docker too [1] [2] [3]
> > and indeed I also tried to make it work with alpine [4]. But it was
>
> Hi Mariano,
>
> Fun stuff!
>


Yes, I think it was very fun but useful at the same time :)



>
> > Anyway, I will be curious to know your progress. Would cog VM work
> > correctly with musl instead of glibc?
>
> That's what I'll find out. :-) I built the Cog VM from source on Alpine.
> As written in my post said Cog VM successfully runs a minimal Pharo
> image doing FFI and Fuel.
>
> I'll be testing it with the regular image running some kind of webapp.
>
>

That sounds cool. Please keep us posted on your progress. Even if a
"development" image cannot run on Alpine (because of whatever external
lib), having a reduced/runtime/minima/production/whatever that would, is a
great achievement.
If I were you, I would also try to run the whole Pharo Test Suite on top of
that minimal image (the test suite for that image, obviously). That may
give you a better idea than just testing by using a webapp.

Best,

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] [Blog Post] PoC Alpine Linux Minimal Stateless Pharo

2019-07-20 Thread Mariano Martinez Peck
Hi Pierce,

Cross posting my answer from VM to here, sorry for the duplicate.

This is very interesting. I have been playing with docker too [1] [2] [3]
and indeed I also tried to make it work with alpine [4]. But it was
complicated because alpine doesn't come with `glibc` but instead `musl`.
And there are differences between them. So for example for VA Smalltalk I
had to install `glibc`. I succeeded but the final size of the docker image
with alpine + glibc was almost the same size as the debian lite... so it
didn't make much sense to me.
The support for glic is not official and as you can see I reported it [5]

Anyway, I will be curious to know your progress. Would cog VM work
correctly with musl instead of glibc?

Best,

[1]
https://dev.to/martinezpeck/getting-started-with-docker-and-smalltalk-4po1
[2]
https://dev.to/martinezpeck/step-2-single-node-docker-swarm-and-smalltalk-46i0
[3]
https://dev.to/martinezpeck/docker-swarm-cloud-on-a-arm64-diy-sbc-cluster-running-a-smalltalk-webapp-9l1
<https://dev.to/martinezpeck/docker-swarm-cloud-on-a-arm64-diy-sbc-cluster-running-a-smalltalk-webapp-9l1>
[4]
https://github.com/vasmalltalk/docker-examples/blob/master/source/SeasideTrafficLights/Raspberry/experiments/alpine-raspbian_Dockerfile
[5] https://github.com/sgerrand/alpine-pkg-glibc/issues/113

On Sat, Jul 20, 2019 at 5:39 AM Pierce Ng  wrote:

> Hi all,
>
> I've written a blog post on the topic.
>
>   https://www.samadhiweb.com/blog/2019.07.20.alpine.pharo.minimal.html
>
> TL;DR:
>
> - Built pharo.cog.spur.minheadless on Alpine Linux.
>
> - Built Docker image of same: 12.5MB.
>
> - Using 7-minimal as base, built a stateless Pharo image with SUnit and
>   SQLite: ~16MB.
>
> - Ran the SQLite unit tests from the command line using said
>   image statelessly.
>
> - Built Docker image of Alpine Pharo VM and a/m SQLite Pharo image: 46.8MB.
>
> - Ran said Docker image which ran the SQLite unit tests.
>
> Pierce
>
>

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] [ANN] OSWinSubprocess a library to spawn Windows System processes

2019-07-11 Thread Mariano Martinez Peck
Hi Christophe,

First of all, THANK YOU a lot for putting together this great work. This
was long overdue and I never had the available time for doing it. We can
discuss implementation details of OSSubprocess as much as we want, but I
was personally quite satisfied with the API. So if you could come up with a
similar API for Windows, I very much welcome that. And you can see even in
OSSubprocess github issues that it has been asked a few times.

As for the pipes...one short term solution you may want to try is to use
files. If you see the whole API of OSSubprocess is polymorphic to the type
of the underlying streams used for standard streams. So, for stdout,
stderr, stdin etc... you can choose to either use pipes or ... regular
files. In fact, in the tests, you can see 2 subclasses...one that tests all
the tests with pipes and the other one with files.

Finally, it explained here the differences:
https://github.com/pharo-contributions/OSSubprocess#regular-files-vs-pipes

Anyway, just thought I could throw my 2 cents.

Congratulations,

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


[Pharo-dev] Call for sponsors is open - Smalltalks Conference 2019

2019-06-14 Thread Mariano Martinez Peck
Greetings all,

I am contacting you on behalf of FAST organization [1] in case you may be
interested in sponsoring Smalltalks Conference 2019 [2].

Here [3] is a brochure with some details about the conference, what we do
and the importance of the sponsors [4]. We provide different categories to
suite different possibilities.

If you are interested or have questions please contact me and I can give
you all the details about the categories or any further information you may
want.

We would also appreciate if you can help us pass the word about it [5]
(either by mail, linkedin, forums, google groups, mailing lists, twitter,
or whatever).

Kind regards,

PS: Sorry for the multiple copies you may get.

[1] https://www.fast.org.ar/
[2] https://smalltalks2019.fast.org.ar/
[3] https://drive.google.com/open?id=1IFjFrWeW-tpJhIkENNJE5pPIytquaDzF
[4] https://www.fast.org.ar/get-involved/sponsorship
[5] https://twitter.com/fast_arg/status/1128015197636050945

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: www.linkedin.com/in/mariano-martinez-peck
<https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/>
Blog: https://marianopeck.wordpress.com/


Re: [Pharo-dev] Roassal Animations

2019-04-17 Thread Mariano Martinez Peck
Yeah I have been following Milton animarioma and they are great!

On Wed, Apr 17, 2019, 20:06 Alexandre Bergel via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

> Hi!
>
> Just as a follow up, we have a UML diagram builder for Roassal3.
>
> You can load Roassal3 using:
>
> Metacello new
> baseline: 'Roassal3';
> repository: 'github://ObjectProfile/Roassal3/src';
> load.
>
>
> As indicated on https://github.com/ObjectProfile/Roassal3
>
> An UML class diagram can be open using:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>| builder pharoClassesToBeVisualized |
>
> "Zooming and position of the view can be controled using the keys:
> I O Space
> Arrows
> "
>
> pharoClassesToBeVisualized :=
> TSAbstractLine
>  withAllSubclasses.
>
> builder :=
> RSUMLClassBuilder
>  new.
> builder classes: pharoClassesToBeVisualized.
>
> builder classDescriptor
> methods: [ :cls | | methods |
> methods := cls methods sorted: [ :a :b |
> a selector < b selector ] ].
>
> builder build.
> builder view when:
> TSExtentChangedEvent
>  do: [ builder view zoomToFit ].
> builder open
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
> We now do have a support for UML class diagrams and we can easily add new
> features, if wanted.
>
>
> Cheers,
> Alexandre & Milton
>
>
> On Mar 27, 2019, at 3:37 PM, ducasse  wrote:
>
>
>
> On 27 Mar 2019, at 18:27, Alexandre Bergel 
> wrote:
>
>
> *From: *Alexandre Bergel 
> *Subject: **Re: [Pharo-dev] Roassal Animations*
> *Date: *27 March 2019 at 18:27:28 CET
> *To: *Pharo Development List 
>
>
> Thanks to all of you for your nice words.
> These posts are a teaser of what is coming. Code of each animation is part
> of Roassal3. Note that we have made no official announcement, simply
> because Roassal3 is still well behind Roassal2 in terms of offered
> features. Actually, you cannot do much with Roassal3, beside having cool
> visualization.
>
> We will tell you more soon, once we have a UML renderer and code
> dependency visualizer :-)
>
> We are currently working on a nice distribution that can be shipped within
> Pharo 8.
>
>
> :)
>
>
>
>


Re: [Pharo-dev] [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

2019-04-11 Thread Mariano Martinez Peck
On Thu, Apr 11, 2019 at 10:54 AM Norbert Hartl  wrote:

>
>
> Am 11.04.2019 um 15:29 schrieb Mariano Martinez Peck <
> marianop...@gmail.com>:
>
> Hi Esteban,
>
> We talk this privately a couple of weeks ago, but I thought it was worth
> writing again here. As for other IDE's being enjoyable, I can only talk
> about VASmalltalk. If there is ONE thing I enjoy from it, is the stability.
> May be ugly, may be too-windows, may be full of menus you don't understand
> what they do, but it's really rock solid.
> Pharo has been doing a LOT of progress on so many areas and its expected
> to decrease a bit on stability. Unless you are Oracle and can hire 100
> engineers.
> So, my small recommendation to you back then was to make at least ONE
> release (called LTS or whatever) were you just focus on stability and bugs.
> No new features. No new framework. Just stability. Make it rock solid. Then
> after that release, you can keep moving forward, but that would give
> companies and really really stable Pharo to rely on.
>
> For the provision of an LTS version we need more engineers. If there are
> enough companies that need a rock solid stable version then the consortium
> will have enough money to hire engineers for that.
>

Well, either that or convince the community that that is a good thing.
Obviously, when you don't pay for that and things come for free it's
understandable you can't decide on what type of effort/results you get. And
for almost all of us, is much way more cool to provide a new framework, a
new tool, etc than bug fixing and testing.



> I would put a virtual machine that we can control much higher on the list
> of things we should have.
>
> Norbert
>
> Best,
>
> --
> Mariano Martinez Peck
> Email: marianop...@gmail.com
> Twitter: @MartinezPeck
> LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/
>
>

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/


Re: [Pharo-dev] [Pharo-users] [OT] (slightly) What makes other dialects "enjoyable" for you? (WAS: difference between double dispatch...)

2019-04-11 Thread Mariano Martinez Peck
Hi Esteban,

We talk this privately a couple of weeks ago, but I thought it was worth
writing again here. As for other IDE's being enjoyable, I can only talk
about VASmalltalk. If there is ONE thing I enjoy from it, is the stability.
May be ugly, may be too-windows, may be full of menus you don't understand
what they do, but it's really rock solid.
Pharo has been doing a LOT of progress on so many areas and its expected to
decrease a bit on stability. Unless you are Oracle and can hire 100
engineers.
So, my small recommendation to you back then was to make at least ONE
release (called LTS or whatever) were you just focus on stability and bugs.
No new features. No new framework. Just stability. Make it rock solid. Then
after that release, you can keep moving forward, but that would give
companies and really really stable Pharo to rely on.

Best,

-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/


Re: [Pharo-dev] Performance Issues

2019-04-09 Thread Mariano Martinez Peck
Hola Pablito :)

That sounds amazing. Great job!!
About "Automation and CI in the future.", do you know if Smalltalk CI
supports something for this?

Thanks!

On Tue, Apr 2, 2019 at 11:22 AM teso...@gmail.com  wrote:

> Hi, this will be a long mail. I have organized it in different sections.
>
> Resume:
> ==
>
> - There are performance issues in Pharo 7.
> - I have made benchmarks.
> - With Guille we made an improvement in saving source code in methods.
> - More improvements to come.
> - Automation and CI in the future.
>
>
> Background
> =
>
> Since the release of Pharo 7 (and before it), it was notorious that
> there exists a performance regression in the normal execution of the
> image. By checking the usual operations, we have seen ( and many have
> also detected) that there was an issue with the loading, compilation,
> and unloading of code. Also with the creation of classes, traits and
> the use of slots.
>
> Benchmarks
> =
>
> Although we were sure that there is a performance regression, we have
> to show it in a way we can test it and measure it. If we cannot
> measure it or repeat its execution it is worthless.
> For doing so, I have created an initial set of micro-benchmarks to
> cover normal operations of the image.
>
> The set of benchmarks is available here:
> https://github.com/tesonep/pharo-benchmarks
>
> These benchmarks are developed on top of SMark, only adding a command
> line tool and the ability to generate a CSV file.
>
> The idea is to run the benchmarks in different versions of Pharo an
> assert that we are not breaking anything.
>
> The first results were basically a nightmare, some operations take
> almost 20 times more in Pharo 7. Especially, the ones that are
> compiling methods.
>
> In the attached document, there is the detail of all the benchmarks,
> the different results and the analysis of the improvements and
> regressions (Positive percentages are regressions (more time),
> negative are improvements (less time)).
>
> I have checked the results in OSX with 64 bits images. But as the
> problem is in pure Smalltalk implementations the problems are (and the
> solutions) cross platforms.
>
> First Improvement
> ==
>
> Having the benchmarks, it was easy to start looking for the problems.
> Thanks to the help of Guille we have detected some problems in the
> implementation of SourceFile. Objects of this class have the
> responsibility to handle the save of the source code when a method is
> modified.
>
> Improving this implementation we have gotten to results similar to
> Pharo 6 in the compilation of methods.
>
> Comparing a stock Pharo8 image with the one with the fix, we have the
> following improvements:
>
> AddingAnInstanceVariableToAClassWithASubclass -3.96%
> AddingAnInstanceVariableToAClassWithoutASubclassAndInstances -15.91%
> AddingAnInstanceVariableToAClassWithoutSubclasses -28.50%
> ClassAndSubclassCreation -25.67%
> ClassUsingATrait -90.05%
> SimpleClassCreation -26.55%
> TraitCreation -92.95%
> TraitCreationUsingOtherTrait -91.68%
> CompileAMethodAndModifyIt -32.92%
> CompileAMethodInAClassUsingATrait -83.28%
> CompileAMethodInATraitNotUsed -85.12%
> CompileAMethodInATraitUsed -88.16%
> CompileANewMethod -40.73%
> CompileANewMethodUsingInstanceVariable -33.93%
> MethodAccessingAGlobal -47.57%
>
> Again there are more details in the attached file.
>
> Also, we have ported this fix to Pharo 7.
>
> Next Steps
> 
>
> - Making it a part of the CI infrastructure: making it run in each PR
> and build to detect regressions in the changes.
>
> - Adding more micro and macro benchmarks. I have a list of things to
> test, but I am open to more:
>
> # Micro
>
> - Slot Implementation
> - Process handling
> - Refactorings
> - Files (open / write / read)
>
> # Macro
>
> - Loading:  Moose  / Seaside
> - Recompile All
> - Condense Sources
> - Startup
> - Shutdown
>
> We also know that there are platform related issues (especially
> Windows), so the idea it will be the same, build a benchmark, measure
> it, improve it.
>
> The idea is to have a more robust way of detecting and handling the
> performance of Pharo.
>
> Of course, I am open to all your comments.
>
> Cheers,
> Pablo
>


-- 
Mariano Martinez Peck
Email: marianop...@gmail.com
Twitter: @MartinezPeck
LinkedIn: https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/


Re: [Pharo-dev] OSProcess for Pharo 7

2019-03-17 Thread Mariano Martinez Peck
>
>
>
>
> ducasse wrote
> > this is not because we do not care of Pharo that we will fix it
> > immediately.
>
> Yes of course, just want to keep it on the radar (and maybe Mariano will
> read he he)
>
>
I always do :)
But honestly, I don't have enough time to carry on that myself. As you
could see with latest Guillermo pass, I reviewed every PR and tried to give
my advice and support as much as possible.

Best regards,

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


[Pharo-dev] Final Reminder: Only 5 spots left for Camp Smalltalk! Raspberry PI kits to all who attend!

2019-03-05 Thread Mariano Martinez Peck
Hello All,

There are 5 slots left for Camp Smalltalk Charlotte 2019 taking place at
the end of this month.
Now is the time to sign up if you are thinking of attending (see bottom for
registration link).

Camp Smalltalk is about community engagement and collaboration.
There are a number of fantastic talks already lined up such as:
Developing Smalltalk solutions running directly on ios / android mobile
platforms (along with tooling)
Live demo of @1MB remote-debuggable smalltalk images controlling
peripherals attached to a Raspberry PI (ARM)
In-depth look at large scale use of CMake/CTest/CDash for use with
Smalltalk systems
Smalltalk dialect portability solutions for the Smalltalk community (for
use with GIT)
We also have a fantastic Saturday evening social dinner planned on the
boardwalk near the hotel.

*As a special gift to attendees*, Instantiations will be providing everyone
with their own Raspberry PI Zero Wifi devices
with 8GB mini-sd card and power supply.  Raspbian Linux with VA Smalltalk
for ARM will be pre-installed.
And if that isn't enough, each attendee will be receiving an open-source
license for VA Smalltalk.

This event is happening *March 29th – March 31st 2019* in Charlotte, North
Carolina.
Event details and registration info are available at the following link: Camp
Smalltalk Charlotte 2019

Hope to see you there!

[image: IMG_0912.jpg]


-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] [Glass] Bug in Regex?

2019-02-21 Thread Mariano Martinez Peck
Hi Max,

I opened this case [1] with the explanation and the fix. If you can give it
a try, that would be great. I would also like to improve the test I wrote,
so if you have more edge cases or ideas I can assert, let me know.

[1] https://github.com/pharo-project/pharo/issues/2679

Cheers,


On Thu, Feb 21, 2019 at 10:44 AM Max Leske  wrote:

> On 21 Feb 2019, at 13:40, Mariano Martinez Peck wrote:
>
> > Vassili Bykov Hi Max,
> >
> > It looks like it was fixed on a later version of VBRegex. I was able
> > to
> > extract the 2 little changes to make it work. Do you know if there is
> > an
> > issue already open for this so that I can submit the changes?
> >
> > BTW, I am trying to understand the history of Regex. It's clear that
> > the
> > original implementation was done by Vassili Bykov and the packages
> > were
> > called VBRegex and that was in VW under the Public Store. I guess, at
> > some
> > point, that code was ported to Pharo. In Pharo 1.1 the packages are
> > still
> > called 'VB-Regex' but on recent ones its called "Regex".
> >
>
> The package name changed between Pharo 1.1.2 and Pharo 1.2.2, as far as
> I can tell from the images I have on my machine.
>
> > What I cannot confirm is which version Pharo (or maybe this was even
> > en
> > Squeak before Pharo forked) ported from VW.  All I could find is a
> > class
> > comment on RxMatcher saying "-- Regular Expression Matcher v 1.1 (C)
> > 1996,
> > 1999 Vassili Bykov". As  you can see, that is 1999. VW has newer
> > versions
> > from 1.2.x to 1.4.x, latest commit being on 2014.
>
> The oldest images I have is Squeak3.9 of 7 November 2006 update 7067,
> and that already contains VBRegex.
>
> >
> > The particular problem we are discussing in this thread was fixed in
> > 1.3.1.
> >
> > So I am not sure if someone ever tried porting again a newer version
> > to
> > Pharo? It doesn't seem the case.
>
> It would certainly be great to get those fixes!
>
> >
> > Anyone knows a bit more the history here?
> >
> > Thanks
> >
> >
> > On Thu, Feb 21, 2019 at 5:18 AM Max Leske  wrote:
> >
> >> Hi Mariano,
> >>
> >> Yes, there is indeed such a bug (if it hasn't been fixed in an update
> >> to
> >> VBRegex that is). The bug is simple to work around though, as all you
> >> have
> >> to do is sort your branch (|) terms by length. Here's the comment
> >> I've
> >> written for a regex generating method is use:
> >>
> >> " The sorting is very important because VB-Regex aborts early on
> >> branches.
> >> Example: 'bl' matchesRegex: 'b|bl' --> false The solution is to sort
> >> by
> >> length (longest first), then alphabetically, with the short group
> >> optimization at the end. "
> >>
> >> Cheers,
> >> Max
> >>
> >> On 21 Feb 2019, at 3:33, Mariano Martinez Peck wrote:
> >>
> >>
> >>
> >> On Wed, Feb 20, 2019 at 5:56 PM Esteban Maringolo via Glass <
> >> gl...@lists.gemtalksystems.com> wrote:
> >>
> >>> What a good case to have GToolkit visualizations help debugging this
> >>> RX
> >>> tree ;)
> >>>
> >>>
> >> Oh yeah..And look Doru, they have some stuff on the top right
> >> "Explanation" panel: https://regex101.com/r/MqVXz8/1
> >>
> >>
> >> --
> >> Mariano
> >> https://twitter.com/MartinezPeck
> >> http://marianopeck.wordpress.com
> >>
> >>
> >
> > --
> > Mariano
> > https://twitter.com/MartinezPeck
> > http://marianopeck.wordpress.com
>
>
>
>

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] [Glass] Bug in Regex?

2019-02-21 Thread Mariano Martinez Peck
Vassili Bykov Hi Max,

It looks like it was fixed on a later version of VBRegex. I was able to
extract the 2 little changes to make it work. Do you know if there is an
issue already open for this so that I can submit the changes?

BTW, I am trying to understand the history of Regex. It's clear that the
original implementation was done by Vassili Bykov and the packages were
called VBRegex and that was in VW under the Public Store. I guess, at some
point, that code was ported to Pharo. In Pharo 1.1 the packages are still
called 'VB-Regex' but on recent ones its called "Regex".

What I cannot confirm is which version Pharo (or maybe this was even en
Squeak before Pharo forked) ported from VW.  All I could find is a class
comment on RxMatcher saying "-- Regular Expression Matcher v 1.1 (C) 1996,
1999 Vassili Bykov". As  you can see, that is 1999. VW has newer versions
from 1.2.x to 1.4.x, latest commit being on 2014.

The particular problem we are discussing in this thread was fixed in
1.3.1.

So I am not sure if someone ever tried porting again a newer version to
Pharo? It doesn't seem the case.

Anyone knows a bit more the history here?

Thanks


On Thu, Feb 21, 2019 at 5:18 AM Max Leske  wrote:

> Hi Mariano,
>
> Yes, there is indeed such a bug (if it hasn't been fixed in an update to
> VBRegex that is). The bug is simple to work around though, as all you have
> to do is sort your branch (|) terms by length. Here's the comment I've
> written for a regex generating method is use:
>
> " The sorting is very important because VB-Regex aborts early on branches.
> Example: 'bl' matchesRegex: 'b|bl' --> false The solution is to sort by
> length (longest first), then alphabetically, with the short group
> optimization at the end. "
>
> Cheers,
> Max
>
> On 21 Feb 2019, at 3:33, Mariano Martinez Peck wrote:
>
>
>
> On Wed, Feb 20, 2019 at 5:56 PM Esteban Maringolo via Glass <
> gl...@lists.gemtalksystems.com> wrote:
>
>> What a good case to have GToolkit visualizations help debugging this RX
>> tree ;)
>>
>>
> Oh yeah..And look Doru, they have some stuff on the top right
> "Explanation" panel: https://regex101.com/r/MqVXz8/1
>
>
> --
> Mariano
> https://twitter.com/MartinezPeck
> http://marianopeck.wordpress.com
>
>

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] [Glass] Bug in Regex?

2019-02-20 Thread Mariano Martinez Peck
On Wed, Feb 20, 2019 at 5:56 PM Esteban Maringolo via Glass <
gl...@lists.gemtalksystems.com> wrote:

> What a good case to have GToolkit visualizations help debugging this RX
> tree ;)
>
>
Oh yeah..And look Doru, they have some stuff on the top right "Explanation"
panel: https://regex101.com/r/MqVXz8/1


-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] Bug in Regex?

2019-02-20 Thread Mariano Martinez Peck
And..as Esteban Maringolo points out, it also happens with sequence of
chars...

'bb' matchesRegex: '([a-z]|[b-z][a-z])' --> false.

Cannot be simpler than this:

'25' matchesRegex:  '(\d\d|\d)' --> true
'25' matchesRegex:  '(\d|\d\d)' --> false

So there is something related to the OR.

Thoughts?



On Wed, Feb 20, 2019 at 5:33 PM Mariano Martinez Peck 
wrote:

> BTW, I am CCing GemStone mailing list too because it answers false there
> too.
>
> On Wed, Feb 20, 2019 at 5:26 PM Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>> Hi guys,
>>
>> Look at this case:
>>
>> `'25' matchesRegex: '([0-9]|[1-9][0-9])' -> false`
>> `'25' matchesRegex: '([1-9][0-9]|[0-9])' -> true`
>>
>> That is, ( a | b ) is not euqal to ( b | a ) " a or b is not equal to b
>> or a" and should describe a range of 0 to 99.
>>
>> I don't understand why the first sentence answers false. Even Pharo 1.1
>> answers false (so this is very very old behavior). I checked on other
>> dialects and it answers true. I then checked here [1] and it also find
>> matches.
>>
>> So...do you see some rational explanation or sounds like a bug?
>>
>> [1] https://regex101.com/r/MqVXz8/1
>>
>> --
>> Mariano
>> https://twitter.com/MartinezPeck
>> http://marianopeck.wordpress.com
>>
>
>
> --
> Mariano
> https://twitter.com/MartinezPeck
> http://marianopeck.wordpress.com
>


-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] Bug in Regex?

2019-02-20 Thread Mariano Martinez Peck
BTW, I am CCing GemStone mailing list too because it answers false there
too.

On Wed, Feb 20, 2019 at 5:26 PM Mariano Martinez Peck 
wrote:

> Hi guys,
>
> Look at this case:
>
> `'25' matchesRegex: '([0-9]|[1-9][0-9])' -> false`
> `'25' matchesRegex: '([1-9][0-9]|[0-9])' -> true`
>
> That is, ( a | b ) is not euqal to ( b | a ) " a or b is not equal to b or
> a" and should describe a range of 0 to 99.
>
> I don't understand why the first sentence answers false. Even Pharo 1.1
> answers false (so this is very very old behavior). I checked on other
> dialects and it answers true. I then checked here [1] and it also find
> matches.
>
> So...do you see some rational explanation or sounds like a bug?
>
> [1] https://regex101.com/r/MqVXz8/1
>
> --
> Mariano
> https://twitter.com/MartinezPeck
> http://marianopeck.wordpress.com
>


-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


[Pharo-dev] Bug in Regex?

2019-02-20 Thread Mariano Martinez Peck
Hi guys,

Look at this case:

`'25' matchesRegex: '([0-9]|[1-9][0-9])' -> false`
`'25' matchesRegex: '([1-9][0-9]|[0-9])' -> true`

That is, ( a | b ) is not euqal to ( b | a ) " a or b is not equal to b or
a" and should describe a range of 0 to 99.

I don't understand why the first sentence answers false. Even Pharo 1.1
answers false (so this is very very old behavior). I checked on other
dialects and it answers true. I then checked here [1] and it also find
matches.

So...do you see some rational explanation or sounds like a bug?

[1] https://regex101.com/r/MqVXz8/1

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


[Pharo-dev] Camp Smalltalk Charlotte 2019 Update!

2019-02-05 Thread Mariano Martinez Peck
Hello Smalltalkers,

Camp Smalltalk Charlotte 2019 is looking good! At this point we are over
half full.
Looks like some cool demos using different Smalltalk dialects are already
lining up.
A google groups forum has been created for attendees so everyone can
collaborate
beforehand.  Attendees will get an invitation for group access shortly
after registering.

This event is happening March 29th – March 31st 2019 in Charlotte, North
Carolina.
Please register for the event as spots will be limited.
Event details and registration info are available at the following link: Camp
Smalltalk Charlotte 2019


Hope to see you there!

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] Multiline method definition in Tonel

2018-12-10 Thread Mariano Martinez Peck
On Sun, Dec 9, 2018 at 6:28 PM Peter Uhnak  wrote:

> That's just whitespace... or more specifically any of these are fine
> (TonelParser>>extractSelector:)
>
> ```
> separators := {
> Character space.
> Character tab.
> Character lf.
> Character newPage.
> Character cr.
> $: "not me though"}.
> ```
>
> You can also try to parse it directly and see the result:
>
> ```
> def := 'Class {
> #name : #Whatever,
> #superclass : #Object,
> #category : ''Wherever''
> }
>
> { #category : #protocol }
> Whatever >> testWith: arg1
> with: arg2
> with: arg3 [
> ^ 42
> ]
> '.
> TonelParser parseStream: def readStream.
> ```
>
>
Thanks Peter!  I was afraid that TonelParser would break if tried to parse
multiline method declarations.


> Note that exporting it will result in a "normalized" format, so if you
> keep it in git you will see a change (this also applies to the ordering of
> methods and some optional stuff)
>


OK. Thanks for letting me know. And for "normalized" you mean a classical
oneliner right?

Thanks!


>
> Peter
>
> On Fri, Dec 7, 2018 at 5:57 PM Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>> Hi guys,
>>
>> I was reading the Tonel spec here [1] but it is not clear to me the case
>> of the multiline method definitions. Are those allowed or not?  Say I have
>> a method like this:
>>
>> testWith: arg1
>>  with: arg2
>>  with: arg3
>>
>> ^ 42
>>
>> Is that valid as Tonel format? Or tonel expects to have method definition
>> in a one liner like:
>>
>> testWith: arg1 with: arg2 with: arg3
>>
>> ^ 42
>>
>>
>> Thanks in advance,
>>
>>
>> [1] https://github.com/pharo-vcs/tonel
>>
>> --
>> Mariano
>> https://twitter.com/MartinezPeck
>> http://marianopeck.wordpress.com
>>
>

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


[Pharo-dev] Multiline method definition in Tonel

2018-12-07 Thread Mariano Martinez Peck
Hi guys,

I was reading the Tonel spec here [1] but it is not clear to me the case of
the multiline method definitions. Are those allowed or not?  Say I have a
method like this:

testWith: arg1
 with: arg2
 with: arg3

^ 42

Is that valid as Tonel format? Or tonel expects to have method definition
in a one liner like:

testWith: arg1 with: arg2 with: arg3

^ 42


Thanks in advance,


[1] https://github.com/pharo-vcs/tonel

-- 
Mariano
https://twitter.com/MartinezPeck
http://marianopeck.wordpress.com


Re: [Pharo-dev] [ANN] Camp Smalltalk 2019 in Charlotte, NC

2018-11-18 Thread Mariano Martinez Peck
It’s in the same state as the organizers (us) and we already did one in Raleigh
Durham. This is also a location with an international airport.

Hope you can attend..

On Sun, Nov 18, 2018, 17:29 Sean P. DeNigris  Mariano Martinez Peck wrote
> > Camp Smalltalk, March 29th... in Charlotte, North Carolina
>
> Cool! Out of curiosity, why Charlotte? (Not that it's not a great city!)
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>


[Pharo-dev] [ANN] Camp Smalltalk 2019 in Charlotte, NC

2018-11-14 Thread Mariano Martinez Peck
Greetings Fellow Smalltalkers,

We would like to invite you to Camp Smalltalk, March 29th – March 31st
2019 in Charlotte, North Carolina. Event details and registration
info are available at the following link: Camp Smalltalk Charlotte 2019

Hope to see you there!

-- 
Mariano


Re: [Pharo-dev] PharoLauncher : Image version determination error

2018-11-09 Thread Mariano Martinez Peck
On Fri, Nov 9, 2018 at 11:15 AM Christophe Demarey <
christophe.dema...@inria.fr> wrote:

> Hi,
>
> Le 9 nov. 2018 à 14:11, Mariano Martinez Peck  a
> écrit :
>
>
>
> On Fri, Nov 9, 2018, 10:06 Christophe Demarey   wrote:
>
>> Hi Mariano,
>>
>> Le 8 nov. 2018 à 20:47, Mariano Martinez Peck  a
>> écrit :
>> >
>> > Hi All,
>> >
>> > I am having this same problem with the #fileDescriptorType: in a
>> PharoLauncher 1.4.6  64 bits trying to launch a
>> Pharo-7.0.0+rc1.build.1373.sha.c50749c3452952c3572527bed9ea18ec8c674855 (64
>> Bit).
>> >
>> > Any ideas?
>>
>> It is because your pharo 70 vm is too old.
>> You can drop the pharo/vm folder (or just 70 vm in pharo/vm and in
>> pharo/vm/private) and it should work.
>>
>>
>>
>>
> Hi Christophe,
>
> Thanks for the workaround. But let me ask.. Wasn't one of the launcher
> purposes to automatically download the necessary correct VM for the image
> you are creating? To avoid this exact kind of issue?
>
>
> Launcher magic has its boundaries.
> The information available to the launcher to determine the appropriate VM
> to run an image is:
> - the image format number (encoded in the image header)
> - the pharo version (system version) of the image (need to run the image
> to know that information).
>
> In your case, you have an image with the same image format number, same
> pharo version (7.0) but with incompatible changes requiring a new VM. Pharo
> Launcher has no way to get this information.
> This problem only happens with moving Pharo versions : the development
> version.
>
> The best option would be to encode the Pharo version as a semantic version
> in the header of the image file but it requires a lot of changes.
>
> For now, to work around the problem, I will add a windows to easily update
> the VMs from the launcher UI.
>
>
OK, I understand. Thanks for the explanation Christophe.
I can also confirm that the workaround of removing by hand the VM directory
did fix my issue.

Thanks!



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


Re: [Pharo-dev] PharoLauncher : Image version determination error

2018-11-09 Thread Mariano Martinez Peck
On Fri, Nov 9, 2018, 10:06 Christophe Demarey  Hi Mariano,
>
> Le 8 nov. 2018 à 20:47, Mariano Martinez Peck  a
> écrit :
> >
> > Hi All,
> >
> > I am having this same problem with the #fileDescriptorType: in a
> PharoLauncher 1.4.6  64 bits trying to launch a
> Pharo-7.0.0+rc1.build.1373.sha.c50749c3452952c3572527bed9ea18ec8c674855 (64
> Bit).
> >
> > Any ideas?
>
> It is because your pharo 70 vm is too old.
> You can drop the pharo/vm folder (or just 70 vm in pharo/vm and in
> pharo/vm/private) and it should work.
>
>
>
>
Hi Christophe,

Thanks for the workaround. But let me ask.. Wasn't one of the launcher
purposes to automatically download the necessary correct VM for the image
you are creating? To avoid this exact kind of issue?

Thanks!


>
> Cheers,
> Christophe.
>


Re: [Pharo-dev] PharoLauncher : Image version determination error

2018-11-08 Thread Mariano Martinez Peck
Hi All,

I am having this same problem with the #fileDescriptorType: in a
PharoLauncher 1.4.6  64 bits trying to launch
a Pharo-7.0.0+rc1.build.1373.sha.c50749c3452952c3572527bed9ea18ec8c674855
(64 Bit).

Any ideas?

Thanks,

On Thu, Aug 23, 2018 at 12:16 PM Sean P. DeNigris 
wrote:

> demarey wrote
> > I just published a new version of the launcher
>
> Thanks!
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>

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


Re: [Pharo-dev] [Ann] OSSubprocess v1.0.1

2018-06-27 Thread Mariano Martinez Peck
Excellent catch! Thanks Guille and the rest of the crew!

On Tue, Jun 26, 2018 at 11:25 AM Guillermo Polito 
wrote:

> Hi all,
>
> There is a new version of OSSubprocess available. This is a Bugfix
> release. This release fixes a problem with waitpid that happened
> regularly and randomly in OSSubprocess users mostly in the CI. For those
> interesting, the details of the bug can be read in:
>
> https://github.com/pharo-contributions/OSSubprocess/issues/36
> Bugfix list
>
> #39 
> travis_wait hides smalltalkCI output
> #36  Often
> get waitpid() -1 in CI
>
> Thanks a lot to Pablo and Santi that helped me debugging,
> Enjoy,
> Guille
>


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


[Pharo-dev] [ANN] 64 bits support preview

2018-03-05 Thread Mariano Martinez Peck
Hi guys,

Thanks for Guillermo Polito we now have 64 bits support for OSSubprocess.
You can see the required changes in this PR [1]. I made a branch called
`support64bits` so that you can help us test it even if CI said it was good
[2]. If you do test it and come back to us with the results, please tell us
which OS you used.

To install from the branch:

Metacello new
  configuration: 'OSSubprocess';
  repository: 'github://marianopeck/OSSubprocess:support64bits/repository';
version: #stable;
load.


Roadmap: Current release is v0.2.5. So I will let that release for Pharo <=
5.0. I will make a new release with the Pharo 64 bits and call it v0.3.
That release should be used for Pharo 6.x. Once v0.3 is out, I will make a
new release v0.4 with some changes I wanted to do since a lng time and
its a small refactor to minimize OSSubprocess dependency on OSProcesses
primitives (at VM side). This is thanks to Holger Freyther and Alistair
Grant [3]. As that requires a new VM, then v0.4 should be used in Pharo >=
7.0.

Cheers,


[1] https://github.com/marianopeck/OSSubprocess/pull/30
[2] https://travis-ci.org/guillep/OSSubprocess/builds/349280174
[3] https://github.com/pharo-project/pharo-vm/pull/142

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


Re: [Pharo-dev] Pharo6 with Ubuntu and OSSubprocess/threaded heartbeat crashes and problems

2018-03-05 Thread Mariano Martinez Peck
Hi Sabine,

Which OSSubprocess version are you using? If are using ConfigurationOf to
load it, then please tell me which version from there.
If you are using from baseline, tell me if you are grabbing master, a given
tag , a given commit, etc.
I will assume it is Pharo 32 bits rigth?

I will continue with a more detailed answer once you get back to me with
above questions.

Cheers,




On Mon, Mar 5, 2018 at 1:14 PM, Sabine Manaa  wrote:

> Hi Alistair,
>
> thank you! The message (pthread_setschedparam failed: Operation not
> permitted)  is gone now. So Question 1 is solved.
>
> But the crashes (Question 2) are remaining. After calling several
> OSSubprocess commands, Pharo crashes without PharoDebug.log.
>
> Anyone having an Idea what I could do?
>
> Sabine
>
>
>
>
> 2018-03-05 13:07 GMT+01:00 Alistair Grant :
>
>> Hi Sabine,
>>
>> The docket container will need to be privileged to adjust thread priority.
>>
>>
>> Cheers,
>> Alistair
>> (on phone)
>>
>> On 5 Mar. 2018 12:44, "Sabine Manaa"  wrote:
>>
>> We want to run Pharo6 with Ubuntu 16.04 Linux (in a Docker Image) and use
>> OSSubprocess.
>>
>> For this, we use this vm: https://get.pharo.org/61+vmT
>>
>> [1] tells me: "If you are installing under Linux, then you must use a
>> threaded heartbeat VM"
>>
>> We also created a file /etc/security/limits.d/pharo.conf and put the
>> parameters in like described in the message [2] when startup. Also we log
>> out and in.
>>
>> Question 1: the message (pthread_setschedparam failed: Operation not
>> permitted) comes again to the console each time we use OSSubprocess. As
>> far
>> as I understand, it should disappear. Does this mean, that we did not edit
>> the pharo.conf correctly?
>>
>> Question 2: after several uses of OSSubprocess within our application,
>> Pharo
>> crashes (no PharoDebug.log) with the following messages [3].
>> How can we avoid this, what are we doing wrong?
>>
>> Question 3: sometimes (!) when we load (exactly the same code loaded with
>> a
>> script), we also get a crash, see [4]. Bug? wrong vm?
>>
>> I am unhappy with this and it takes a lot of time. What are we doing
>> wrong?
>> We want to run Pharo6 with OSSubprocess in Linux within a docker image for
>> our staging environment.
>>
>> Help very welcome :-)
>> Sabine
>>
>>
>> [1]https://github.com/marianopeck/OSSubprocess
>> [2](https://github.com/OpenSmalltalk/opensmalltalk-vm/releas
>> es/tag/r3732#linux)
>>
>> [3]crash message
>>  *** buffer overflow detected ***:
>> /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo terminated
>> === Backtrace: =
>> /lib/i386-linux-gnu/libc.so.6(+0x67377)[0xf75f3377]
>> /lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x68)[0xf7683708]
>> /lib/i386-linux-gnu/libc.so.6(+0xf58f8)[0xf76818f8]
>> /lib/i386-linux-gnu/libc.so.6(+0xf75fa)[0xf76835fa]
>> /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo(aioEnab
>> le+0x31)[0x80c9811]
>> /spf/build/pharo-vm/lib/pharo/5.0-201707201942/pharo[0x81215ee]
>> [0xa1010e0]
>> [0xa1c2bb8]
>> [0xa15f50c]
>> a lot more
>>
>>
>>
>> [4] PharoDebug.log
>> HERE_BE_DRAGONS_HERE
>> KeyNotFound: key #arg1 not found in Dictionary
>> 5 March 2018 11:31:51.792142 am
>>
>> VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2254 uuid:
>> 4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
>> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid:
>> 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
>> VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>> Date: Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942
>> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>>
>> Image: Pharo6.0 [Latest update: #60536]
>>
>> Dictionary>>errorKeyNotFound:
>> Receiver: a Dictionary(#arg3->1 #tmp2->2 )
>> Arguments and temporary variables:
>> aKey:   #arg1
>> Receiver's instance variables:
>> tally:  2
>> array:  {nil. nil. #arg3->1. #tmp2->2. nil}
>>
>>
>> [ self errorKeyNotFound: key ] in Dictionary>>at:
>> Receiver: a Dictionary(#arg3->1 #tmp2->2 )
>> Arguments and temporary variables:
>> key:#arg1
>> Receiver's instance variables:
>> tally:  2
>> array:  {nil. nil. #arg3->1. #tmp2->2. nil}
>>
>>
>> Dictionary>>at:ifAbsent:
>> Receiver: a Dictionary(#arg3->1 #tmp2->2 )
>> Arguments and temporary variables:
>> arg1:   #arg1
>> arg2:   [ self errorKeyNotFound: key ]
>> tmp1:   nil
>> Receiver's instance variables:
>> tally:  2
>> array:  {nil. nil. #arg3->1. #tmp2->2. nil}
>>
>>
>> Dictionary>>at:
>> Receiver: a Dictionary(#arg3->1 #tmp2->2 )
>> Arguments and temporary variables:
>> key:#arg1
>> Receiver's instance variables:
>> tally:  2
>> array:  {nil. nil. #arg3->1. #tmp2->2. nil}
>>
>>
>> IRPushClosureCopy>>inde

Re: [Pharo-dev] #valueWithPossibleArgs:, #valueWithEnoughArguments:, and #cull:

2018-02-19 Thread Mariano Martinez Peck
On Fri, Feb 16, 2018 at 2:25 PM, Stefan Marr 
wrote:

> Hi:
>
> I am trying to understand the different between and perhaps origin of
> BlockClosure>>#valueWithPossibleArgs: and BlockClosure>>#
> valueWithEnoughArguments:
>
> I am trying to decide which of the two I need for SOMns.
>
> The first one has seen more recent changes, when looking at the Pharo 6.1
> download:
>
> valueWithPossibleArgs: anArray—>  2/12/2017 StephaneDucasse
> valueWithEnoughArguments: anArray —>  3/11/2001 nk
>
> While they have rather different implementations, they seem to behave
> identically, as far as I could tell using the following example:
>
> blocks := {
>   [ { } ].
>   [:a | { a } ].
>   [:a :b | { a. b } ].
>   [:a :b :c | { a. b. c } ]
> }.
>
> blocks collect: [:b | b valueWithPossibleArgs: {1}].
> blocks collect: [:b | b valueWithPossibleArgs: {1. 2. 3}].
> blocks collect: [:b | b valueWithEnoughArguments: {1}].
> blocks collect: [:b | b valueWithEnoughArguments: {1. 2. 3}].
>
> I was also wondering how they relate to #cull:*
>
> One of the major differences seems to be that valueWithP* and valueWithE*
> are both injecting nil for absent arguments, while normal #value* and
> #cull* methods signal an error.
> Is there a specific use case why one wouldn’t want to be strict here as
> well, but instead inject nils?
>


I guess it's because we offer both flavors. If you see valueWithArguments:
you will see it does throw errors like #value*  / #cull* do.



> Any comments or pointer appreciated.
>
> Thanks
> Stefan
>
>
> --
> Stefan Marr
> School of Computing, University of Kent
> http://stefan-marr.de/research/
>
>
>
>


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


[Pharo-dev] Which was the way to tag methods so that Spotter think they are examples?

2018-02-06 Thread Mariano Martinez Peck
I remember that Spotter was able to detect that some methods were examples
and display them differently. Do I remember correctly?  I guess some pragma?
Anyway, appreciated any hint.

Cheers,

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


[Pharo-dev] Problem with ZipArchive (probably bug due to large file)

2017-12-21 Thread Mariano Martinez Peck
Hi guys,

I discovered a problem with ZipArchive when using Metacello to download a
zipball of a github project. The project in question is HighchartsSt (soon
we will make a new release and ANN) and this repo has *a lot* of
autogenerated code. By a lot, I mean that the ZIP file is about 90MB.

I do understand the recommended approach with git is to clone (either
externally or with Iceberg), then work with your local clone via  filetree
or tonel, and finally lock it. When you do this, ZipArchive is not used and
hence I have no problem.

However, even if not the recommended path, I know there are people still
getting projects with Metacello from remote urls from github and hence the
zipball download is in play.

The problem in question is an error reading the zip signature. We believe
it happens only with very big zips (smaller zips do work) and one way to
reproduce it is as simple as this:


outputFileName := '/tmp/test.zip'.
ZnClient new
url: '
https://github.com/ba-st/HighchartsSt/zipball/highchart6-import';
downloadTo: outputFileName.
 ZipArchive new
readFrom: outputFileName asFileReference


Some info I could get is that the zip itself looks good:

Curl is able to download:

 ❯ curl -L https://github.com/ba-st/HighchartsSt/zipball/highchart6-import >
highcharts.zip

 ❯ ls -lah highcharts.zip
   [23:18:06]
-rw-r--r-- 1 mariano staff 79M Dec 18 23:14 highcharts.zip

and zip seems valid:

 ❯ unzip -q -t highcharts.zip
   [23:18:33]
No errors detected in compressed data of highcharts.zip.


Anyway, if there is someone with some knowledge in ZipArchive that could
give us a hand

Thank you very much in advance,



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


Re: [Pharo-dev] How do you merge branches using Iceberg?

2017-12-12 Thread Mariano Martinez Peck
m ok. And let me ask (I don't have another example at hand now to test)
... with metacello integration enabled, would that ALSO reload the packages
from git into my image? or it would only do the git-side of the merge ?

Thanks in advance,

On Tue, Dec 12, 2017 at 9:47 AM, Esteban Lorenzano 
wrote:

> is not very clear, but you can use the history window for that (yeah, it
> needs to be better, etc., etc.)
>
> Esteban
>
>
> On 12 Dec 2017, at 13:32, Mariano Martinez Peck 
> wrote:
>
> Let's say I have xxx and then I created branch xxx-mariano. Every in a
> while, I want to merge latest xxx into my xxx-mariano. I haven't found a
> way to do this in Iceberg (I am using 0.6.2 on Pharo 6.1). I had to go to
> console, do the git merge there and then from Iceberg I had to "reload all
> packages".
>
> Is there a better way of doing this?
>
> Thanks,
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


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


[Pharo-dev] How do you merge branches using Iceberg?

2017-12-12 Thread Mariano Martinez Peck
Let's say I have xxx and then I created branch xxx-mariano. Every in a
while, I want to merge latest xxx into my xxx-mariano. I haven't found a
way to do this in Iceberg (I am using 0.6.2 on Pharo 6.1). I had to go to
console, do the git merge there and then from Iceberg I had to "reload all
packages".

Is there a better way of doing this?

Thanks,


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


Re: [Pharo-dev] [Ann] New Calypso version 0.8

2017-12-12 Thread Mariano Martinez Peck
Hi Denis,

Congratulations on the new release! Two quick question: 1) does this work
on latest Pharo 6.1 ; 2) Is it safe to update images with Calypso already
installed by doing the same baseline loading as the original installation ?

Thanks

On Tue, Dec 12, 2017 at 9:05 AM, Denis Kudriashov 
wrote:

> Hello.
>
> I glad announce new Calypso version. It is a big refactoring on navigation
> model and browser pluggability.
>
> Look for details in my blog http://dionisiydk.blogspot.fr/
> 2017/12/new-calypso-version-08-is-out.html.
>
> Now I start document new design and will post progress on it.
>
> Notice: this version is not adopted for TelePharo and Cargo. It will be
> done soon.
>
> Best regards,
> Denis
>



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


Re: [Pharo-dev] Design pattern for wrapper/proxy objects?

2017-12-04 Thread Mariano Martinez Peck
Hi Luke,

Not only for the details of a particular proxy implementation like Ghost,
but also because of all the discussions around it,  I think this journal
paper [1] we wrote may be of help to you.

Cheers,

[1] https://hal.inria.fr/hal-01081236


On Mon, Dec 4, 2017 at 5:51 AM, Luke Gorrie  wrote:

> Thanks Ben & Henrik for the ideas!
>
> I will scratch my head a bit and then try to do something sensible. :-)
>
>
>


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


Re: [Pharo-dev] Would it be possible to also launch templates in PharoLauncher?

2017-11-28 Thread Mariano Martinez Peck
On Tue, Nov 28, 2017 at 2:05 PM, Christophe Demarey <
christophe.dema...@inria.fr> wrote:

> Hi Mariano,
>
> > Le 27 nov. 2017 à 03:08, Mariano Martinez Peck 
> a écrit :
> >
> > Hi guys,
> >
> > Thank you Christophe for continue pushing this useful tool!
> >
> > One small request which might be easy to do... Quite frequently I want
> to do something and re-save an image I have previosuly saved as a custom
> template (under Local root tree). Right now what I have to do so:
> >
> > 1) Make a new image from that template
> > 2) remove template
> > 2) do the thing and save the opened image.
> > 3) go back to laucher and save that image as a new template (with the
> same name of the one I deleted)
> > 4) delete the created image
> >
> > All that would be simplified if I could also launch my local templates.
> Is there any reason why is that not allowed? (at least for Local tree).
>
> I needed to get a bit into the code to see what is done.
> In PharoLauncher, when you download a template from the we, the template
> is stored in a folder (e.g. 
> /Users/john/Library/Preferences/pharo/templateCache/)
> as well as some metadata for it.
> PhLLocalTemplate class is used to build a list of locally available
> templates from the metadata file store in this folder.
> As this folder is intended to be a cache, that’s why you cannot run it
> directly. You first need to unzip the template, create its metadata file.
>
> Maybe an action on images: « create template from image and delete image »
> would help you (if it allows overriding of an existing template)?
>

Yeah, that would work for me. So the only manual thing I would have to do
is 1) right?  that is, I would need to first create an image from the
template, do whatever I want with that image, and then  « create template
from image and delete image »  which would save that image as template
(override it if exists) and delete the created image.
If I understood correct, yes, it would achieve what I want.


BTW, as a separate matter, even if you  the templates as a cache, I think
it still would be nice to be able to delete a given one.



> You also have a « recreate » action on images able to recreate the image
> from the specified origin template.
>


OK


thanks in advance,

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


Re: [Pharo-dev] Would it be possible to also launch templates in PharoLauncher?

2017-11-27 Thread Mariano Martinez Peck
On Sun, Nov 26, 2017 at 11:08 PM, Mariano Martinez Peck <
marianop...@gmail.com> wrote:

> Hi guys,
>
> Thank you Christophe for continue pushing this useful tool!
>
> One small request which might be easy to do... Quite frequently I want to
> do something and re-save an image I have previosuly saved as a custom
> template (under Local root tree). Right now what I have to do so:
>
> 1) Make a new image from that template
> 2) remove template
>

WeirdI was needing to do this yet another time but now I cannot even
find a way to remove a template (I was sure I could the other day...)



> 2) do the thing and save the opened image.
> 3) go back to laucher and save that image as a new template (with the same
> name of the one I deleted)
> 4) delete the created image
>
> All that would be simplified if I could also launch my local templates. Is
> there any reason why is that not allowed? (at least for Local tree).
>
> Thanks in advance,
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



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


[Pharo-dev] Would it be possible to also launch templates in PharoLauncher?

2017-11-26 Thread Mariano Martinez Peck
Hi guys,

Thank you Christophe for continue pushing this useful tool!

One small request which might be easy to do... Quite frequently I want to
do something and re-save an image I have previosuly saved as a custom
template (under Local root tree). Right now what I have to do so:

1) Make a new image from that template
2) remove template
2) do the thing and save the opened image.
3) go back to laucher and save that image as a new template (with the same
name of the one I deleted)
4) delete the created image

All that would be simplified if I could also launch my local templates. Is
there any reason why is that not allowed? (at least for Local tree).

Thanks in advance,


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


Re: [Pharo-dev] [Iceberg] Couple of bugs/problems on Iceberg

2017-10-31 Thread Mariano Martinez Peck
4) OK, here is a more heavy issue I keep reviewing that PR and it looks
like NOT all commits changes are being correctly diffED in the UI. For
example, look at the attached picture of commit 3ca50bb with description
"Ignore 7th field of lsof". As you can see, it shows NO diff no changes,
empty box when I do "Changes vs parent". While github correctly shows the
diff [1].
Aside from the "Changes vs Parent" if I go to "Changes vs Destination" and
I even go to the latest commit, I do NOT see either that change as part of
the changes.


Any idea what is happening?

Thanks in advance,


[1]
https://github.com/marianopeck/OSSubprocess/pull/26/commits/8786a342fe306af6fb08a8b19d5a3289c722c6f4#diff-9d176ccb1989046d99926b1fcbbf4264

On Tue, Oct 31, 2017 at 10:49 AM, Mariano Martinez Peck <
marianop...@gmail.com> wrote:

> Hi guys,
>
> 1) I am reviewing an awesome PR from Guille and I think the labels "Left:
> working copy"  and "Right: incoming updates" are switched.  Look at the
> attached screenshot. In this example, the method `waitForExitWithTimeout:`
> is new and comes from the update (PR), its NOT not on my working copy.
>
> 2) Subtree revert not possible?  Let's say I have a class with 2 methods I
> changed and I want to revert both. I thought that reverting the class would
> do the trick and revert all the inner tree. But no, I am getting a `nil dnu
> #inverse`. Look at the attached screenshot. I mean to revert
> OSUnixSubprocess (hence, both methods below).
>
> 3) The scrolling of versions in the PR review feels slow... and my project
> is tiny... is that using "FastTable" ? Btw...I would also love if upper and
> down keys could be used in that table.
>
>
> Thanks in advance,
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



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


Re: [Pharo-dev] [ANN] Iceberg 0.6.2 backported to Pharo 6.1

2017-10-27 Thread Mariano Martinez Peck
Esteban, could you please give me the instructions to update a Pharo 6.1
image with Iceberg 0.6.1 to 0.6.2  and keep using filetree ?

Maybe same as these instructions [1] but changing url to '
github://pharo-vcs/iceberg:v0.6.2' ?

Note that I am asking because you also said we needed to update Metacello...

Thanks in advance,


[1] https://github.com/pharo-vcs/iceberg/blob/master/README.md#for-pharo-6

On Fri, Oct 27, 2017 at 6:36 AM, Esteban Lorenzano 
wrote:

> Hi,
>
> I backported lastest Iceberg version to Pharo 6.1 to allow people to
> benefit for latest changes.
> This version has an important amount of tweak and fixes, but most
> important is the inclusion of tonel file format (this is default for Pharo
> 7.0, optional for Pharo 6.1) and introduces a file-per-class format.
> The advantages of this format has everything to do with the speed of
> access (is easier to reconstruct a package like) and the space on disk
> (methods are usually small but minimum space in disk is usually 4k so we
> waste a lot of space). Is also a better format for SSD disks.
>
> To backport Iceberg 0.6.2 I also needed to backport latest version of
> Metacello, so Pharo 6.1 and Pharo7+ users now also have the latest version
> of it available :)
>
> cheers!
> Esteban
>
>
>
>
>
>


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


Re: [Pharo-dev] Compiler Explorer (for the Compiler guys) #offtopic

2017-10-18 Thread Mariano Martinez Peck
On Wed, Oct 18, 2017 at 3:36 AM, Tudor Girba  wrote:

> Hi,
>
> This is already available since some time in the GTInspector. You can just
> inspect a compiled method. You will get both the bytecode and the AST (with
> source tracking, too). In fact, this was one of the original reasons why
> GTInspector exists: I wanted to figure out how the AST is structured so
> that I can write queries against it :).
>


Sure, we just miss machine code :)
But...AFAIR to get the machine code of a method it needs VMMaker to be
loaded





>
>
> Cheers,
> Doru
>
>
> On Oct 17, 2017, at 10:03 PM, Esteban A. Maringolo 
> wrote:
>
> I'm sure we could do this with ease, because we already can see the
> bytecodes.
>
> https://godbolt.org/
>
> Regards!
>
> Esteban A. Maringolo
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "The coherence of a trip is given by the clearness of the goal."
>
>
>
>
>
>


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


Re: [Pharo-dev] Compiler Explorer (for the Compiler guys) #offtopic

2017-10-17 Thread Mariano Martinez Peck
heheheheh I had a similar idea years ago [1]. It looks like I start
implementing it [2], but I cannot find if I finished it or not LOL.


[1] http://forum.world.st/Re-The-idea-of-VM-Learning-Toolkit-td3461173.html
[2] https://www.list.inf.unibe.ch/pipermail/moose-dev/2011-April/007655.html

On Tue, Oct 17, 2017 at 6:52 PM, Clément Bera 
wrote:

> You can do that with the VMMaker package loaded. There is not all the UI,
> but you can print the assembly code in the Transcript.
>
> On Tue, Oct 17, 2017 at 10:03 PM, Esteban A. Maringolo <
> emaring...@gmail.com> wrote:
>
>> I'm sure we could do this with ease, because we already can see the
>> bytecodes.
>>
>> https://godbolt.org/
>>
>> Regards!
>>
>> Esteban A. Maringolo
>>
>>
>
>
> --
> Clément Béra
> Pharo consortium engineer
> https://clementbera.wordpress.com/
> Bâtiment B 40, avenue Halley 59650
> Villeneuve
> d
> 
> 'Ascq
> 
>



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


Re: [Pharo-dev] Working Directory Changes

2017-10-11 Thread Mariano Martinez Peck
Hi Guille,

I think some time ago we discussed exactly this or at least very similar
[1]. AFAIR, we didn't arrive to an agreement. Or maybe we did but I was
never able to implement it, I don't remember. But I would appreciate if you
can at least read the discussion to see if there is something worth
considering with your new changes.

Cheers,

[1]
http://forum.world.st/Discussing-FileSystem-gt-gt-workingDirectory-and-VM-process-getcwd-3-td4885778.html



On Wed, Oct 11, 2017 at 5:27 AM, Guillermo Polito  wrote:

> Hi all,
>
> I'd like to push a really core change in file management: the working
> directory. This is really needed for command line apps, when you have your
> app deployed in some directory and you're launching it from another one.
> The current implementation, where workingDirectory = imageDirectory, forces
> to have absolute paths or extra handling all over the place to manage this
> complexity.
>
> Rajula proposed a couple of months ago a solution for this based on the
> getcwd functions. You can read in his blogpost why using getcwd is better
> than $PWD in general here:
>
> https://vineetreddy.wordpress.com/2017/05/17/pwd-vs-getcwd/
>
> Now, since accessing the working directory is a core part of Pharo but
> based on UFFI, his implementation was breaking the build process. We cannot
> and we will not integrate UFFI in the bootstrap because it depends mainly
> on the compiler which is a big beast. Instead, I propose that only for this
> core-core-core feature, we use directly FFI.
>
> In other words, the bootstrap will include just a couple of classes to
> manage the basics of FFI. And the working directory will be fetched by
> using this low level API. Such a call looks like this:
>
> (ExternalLibraryFunction
> name: 'getcwd'
> module: 'libc.dylib'
> callType: 1
> returnType: ExternalType char asPointerType
> argumentTypes: {
> ExternalType char asPointerType.
> ExternalType long })
> invokeWith: buffer with: bufferSize.
>
> We reviewed it with Pablo two days ago. The build process works with this
> implementation and tests are still running. The pull request is in here:
>
> https://github.com/pharo-project/pharo/pull/92
>
>
> Thanks,
> Guille, Pablo and Rajula
>
> --
>
>
>
> 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
> *
>
>
> *Web:* *http://guillep.github.io* 
>
> *Phone: *+33 06 52 70 66 13 <06%2052%2070%2066%2013>
>



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


Re: [Pharo-dev] [ANN] Iceberg 0.6 released

2017-10-06 Thread Mariano Martinez Peck
On Fri, Oct 6, 2017 at 4:46 PM, Cyril Ferlicot D. 
wrote:

> Le 06/10/2017 à 21:38, Cyril Ferlicot D. a écrit :
> > Le 06/10/2017 à 21:34, Mariano Martinez Peck a écrit :
> >> I followed the instructions to update Iceberg from in a 6.1 image. When
> >> I tried to clone the repository, I have the attached error (DNU on
> >> #dangerTextColor). I workedaround that by doing:
> >>
> >> IceAbstractModel >> colorError
> >> ^ Color red
> >>
> >> After I manage to make some progress and I finally was able to clone the
> >> repository, I get a #free DNU (see attached too).
> >>
> >
> > Hi,
> >
> > I introduced #dangerTextColor in Pharo 7 and used it on Iceberg. But I
> > though I added it to #Iceberg-Pharo6 package.
> >
> > I'll check and do a hotfix when I'll have the time.
> >
>
> Hum… This is weird because I see those methods in the Iceberg-Pharo6
> package and I see this package in the baseline.
>
> Can you check if you have this package?
>
>
Weird that package is not being loaded...  sure I can explicitly load
it ... but I think we must fix the baseline... but the baseline looks
correct doesnt it ? I don't understand.



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


[Pharo-dev] [ANN] OSSubprocess Bugfix and enhancements release

2017-10-06 Thread Mariano Martinez Peck
Dear all,

I have just released a new bugfix and enhancements release v0.2.5 for
OSSubprocess as you can see in [1].

This new release is thanks to the awesome work of Guillermo Polito [2]. He
found a problem (and a fix) that would hung/block the Pharo image in a wait
state. This problem has been forever and I have faced it myself. It would
only happen when using #waitForExit and under certain scenario.  Because of
that, I recommend everyone to move to this release.

Aside from that serious bug, he has also done quite some improvements in
the tests and in the Travis setup. Once this PR [3] has been merged and
SmalltalkCI updated, our Travis build [4] should show all green builds for
Linux/OSX and Pharo 5.0 and 6.1.

I have also copied the configuration into Pharo 5.0 and 6.0 catalog so as
of tomorrow, it should be there.


Cheers,

[1] https://github.com/marianopeck/OSSubprocess/releases/tag/v0.2.5
[2] https://github.com/marianopeck/OSSubprocess/pull/25
[3] https://github.com/hpi-swa/smalltalkCI/pull/320
[4] https://travis-ci.org/marianopeck/OSSubprocess


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


Re: [Pharo-dev] [Calypso] Toolbar and Statusbar Look - voting time

2017-09-18 Thread Mariano Martinez Peck
On Thu, Sep 14, 2017 at 4:29 PM, Torsten Bergmann  wrote:

> "Denis Kudriashov" wrote
> >Thank's guys for comments. And thank's Torsten for this initiative. I
> will merge your changes soon.
>
> No - we have to thank you. For Calypso, for accepting the community
> decision and (in advance) for
> merging the first Calypso pull request.
>
>
+1. I am already enjoying it since a couple of months and Denis was also
quick to incorporate my suggestions :)


BTW, RIGHT, of course.



> I'm pretty sure the next Pharo versions will rock even more ...
>
> Bye
> T.
>
>


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


[Pharo-dev] This sentence made my day [WAS] Re: [Pharo-users] Dark Mode

2017-08-27 Thread Mariano Martinez Peck
On Sun, Aug 27, 2017 at 6:50 PM, PBKResearch 
wrote:

> I agree with Dimitris - it is all a matter of preference - not all eyes
> are the same. For myself, I find the default dark theme in Pharo very
> uncomfortable. On my system, some elements have a black foreground on a
> dark grey background, which is almost impossible to see. This is always
> true of the maximise/minimise/close buttons, but sometimes also of text
> fields in a playground. Whenever I download a new image, I immediately
> switch to the Watery theme, with light background and nice coloured buttons
> on the windows.
>
> Of course, my eyes may not be typical. I am now aged 84, and I have had
> cataract operations on both eyes. My sight is actually quite good - my
> optometrist confirms that I am legal to drive without spectacles - but my
> adverse reaction to dark mode is strong and immediate.
>
>

Sometimes is hard to explain to someone outside the community why
Smalltalkers love they language so much. I think above paragraph says it
all. It made my day. I wish I can follow that path! hahaha.




> Just my 2p worth
>
> Peter Kenny
>
> -Original Message-
> From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf
> Of stephan
> Sent: 27 August 2017 21:46
> To: pharo-us...@lists.pharo.org
> Subject: Re: [Pharo-users] Dark Mode
>
> On 27-08-17 22:37, Dimitris Chloupis wrote:
> > White or dark is a matter of preference. But the matter of preference
> > is also a matter of biology . Not all eyes are same.
>
> The research is pretty clear: a large majority of developers does better
> with light themes. I have been sufficiently clear on the choice to make
> Pharo6 theme dark default
>
> Stephan
>
>
>
>


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


Re: [Pharo-dev] Creating the smallest server runtime footprint

2017-08-04 Thread Mariano Martinez Peck
superInstSize := self superclass notNil ifTrue: [self 
> superclass instSize] ifFalse: [0]) > 0 ifTrue:
>   [self superclass instanceVariableNamesDo: 
> anUnaryBlock].
>1 to: self instSize - superInstSize do:
>   [:i| anUnaryBlock value: (self instVarNames at: 
> i)]'.
> ].
>
> “Add a tacky Pharo7Platform"
> Smalltalk at: #FLPharo7Platform ifAbsent: [
> logger cr; nextPutAll: '>Creating FLPharo7Platform'.
> (Smalltalk at: #FLPharo6Platform) subclass: #FLPharo7Platform.
> (Smalltalk at: #FLPharo6Platform) class compile: 
> 'isResponsibleForCurrentPlatform
> ^true'.
> ].
>
>
> logger cr; nextPutAll: 'Evaluating post load initialization...'.
> (Smalltalk at: #FLPlatform) current addHacks.
>
>
>
> On 4 Aug 2017, at 12:48, Mariano Martinez Peck 
> wrote:
>
>
>
> On Fri, Aug 4, 2017 at 8:42 AM, Tim Mackinnon  wrote:
>
>> Sadly - false call, that was my logging message - so I’m stumped why
>> these traits aren’t being compiled when I load in Fuel?
>>
>> However I have figured out why I get the BigEndian error - this is
>> because the platform is now 7 and so the FlPharo06Platform is not being
>> identified and the more generic FlPharoPlatform is then the default and it
>> doesn’t implement #isBigEndian.
>>
>>
>
> Max, should we do something to the Fuel Platform for Pharo 7?
>
>
>
>
>> Tim
>>
>>
>>
>> On 4 Aug 2017, at 12:20, Tim Mackinnon  wrote:
>>
>> I’ve spotted something interesting in my logs - when I added one of the
>> missing methods to ClassDescription - I see in the log the message:
>>
>> Loaded -> Fuel-cypress.1 --- filetree:///builds/macta/P
>> haroLambda/bootstrap --- cache
>> ...finished baseline
>> Compiling missing traits...
>> Evaluating post load initialization...
>> Finished Script.
>>
>> However when I remove all the compiles I don’t see this message:
>>
>> Loaded -> Fuel-cypress.1 --- filetree:///builds/macta/P
>> haroLambda/bootstrap --- cache
>> ...finished baseline
>> Evaluating post load initialization...
>> Finished Script.
>>
>>
>> So I wonder if this is similar to the problem I had in the previous 6.0
>> image - where some things didn’t seem to compile properly (in that case, it
>> was loading a missing class that didn’t seem to cause recompilation).
>>
>> Tim
>>
>> On 4 Aug 2017, at 11:10, Tim Mackinnon  wrote:
>>
>> Actually there is something weird going on - as now I’m getting a
>> complaint about "FLPharoPlatform had the subclass responsibility to
>> implement #isBigEndian”, and that’s in the FuelPlatform-Pharo-06 which you
>> said to include (and it looks like I am).
>>
>> I need to double check this - as I must be making some trivial mistake.
>>
>> Tim
>>
>> On 4 Aug 2017, at 11:01, Tim Mackinnon  wrote:
>>
>> Hi Mariano - I’ve looked at this again, and it was my fault - I was
>> compiling in :
>>
>> fuelAccept: aGeneralMapper
>> ^self explicitRequirement.
>>
>> Because when I looked at the Traits for fuel - this is what it had for
>> TClass? - as I’m not so clear on traits, what does this mean - as I had
>> just assumed that I should flatten the Fuel methods for TCLass, TBehaviour
>> and TClassDescription - but I think I’ve misunderstood what I should do
>> (and I guess from Pavel’s comment - I should really look at why that
>> initial method was missing as it sounds like it should have worked  - so
>> maybe its an order loading thing?).
>>
>> Thanks, for helping by the way - this is proving very instructional.
>>
>> Tim
>>
>> On 3 Aug 2017, at 18:26, Mariano Martinez Peck 
>> wrote:
>>
>>
>> On Thu, Aug 3, 2017 at 2:14 PM, Tim Mackinnon  wrote:
>>
>>> Hi Mariano - I compiled in the trait methods manually and it got further
>>> - but now I’m seeing another error - Error: Explicitly required method",
>>> "\u001b[0mLambda class(Object)>>error:",
>>> "explicitRequirement”,
>>>
>>>
>>  the stack is weird... it looks like if Class >> fuelAccept: would
>> have the wrong implementation, that is, having the one from TClass:
>>
>> fuelAccept: aGeneralMapper
>> ^self explicitRequirement.
>>
>> Rather than the correct one:
>>
>> fuelAccept: aGeneralMapper
>>
>> ^aGeneralMapper visitClass: self
>>
>>
>

Re: [Pharo-dev] Creating the smallest server runtime footprint

2017-08-04 Thread Mariano Martinez Peck
On Fri, Aug 4, 2017 at 8:42 AM, Tim Mackinnon  wrote:

> Sadly - false call, that was my logging message - so I’m stumped why these
> traits aren’t being compiled when I load in Fuel?
>
> However I have figured out why I get the BigEndian error - this is because
> the platform is now 7 and so the FlPharo06Platform is not being identified
> and the more generic FlPharoPlatform is then the default and it doesn’t
> implement #isBigEndian.
>
>

Max, should we do something to the Fuel Platform for Pharo 7?




> Tim
>
>
>
> On 4 Aug 2017, at 12:20, Tim Mackinnon  wrote:
>
> I’ve spotted something interesting in my logs - when I added one of the
> missing methods to ClassDescription - I see in the log the message:
>
> Loaded -> Fuel-cypress.1 --- filetree:///builds/macta/
> PharoLambda/bootstrap --- cache
> ...finished baseline
> Compiling missing traits...
> Evaluating post load initialization...
> Finished Script.
>
> However when I remove all the compiles I don’t see this message:
>
> Loaded -> Fuel-cypress.1 --- filetree:///builds/macta/
> PharoLambda/bootstrap --- cache
> ...finished baseline
> Evaluating post load initialization...
> Finished Script.
>
>
> So I wonder if this is similar to the problem I had in the previous 6.0
> image - where some things didn’t seem to compile properly (in that case, it
> was loading a missing class that didn’t seem to cause recompilation).
>
> Tim
>
> On 4 Aug 2017, at 11:10, Tim Mackinnon  wrote:
>
> Actually there is something weird going on - as now I’m getting a
> complaint about "FLPharoPlatform had the subclass responsibility to
> implement #isBigEndian”, and that’s in the FuelPlatform-Pharo-06 which you
> said to include (and it looks like I am).
>
> I need to double check this - as I must be making some trivial mistake.
>
> Tim
>
> On 4 Aug 2017, at 11:01, Tim Mackinnon  wrote:
>
> Hi Mariano - I’ve looked at this again, and it was my fault - I was
> compiling in :
>
> fuelAccept: aGeneralMapper
> ^self explicitRequirement.
>
> Because when I looked at the Traits for fuel - this is what it had for
> TClass? - as I’m not so clear on traits, what does this mean - as I had
> just assumed that I should flatten the Fuel methods for TCLass, TBehaviour
> and TClassDescription - but I think I’ve misunderstood what I should do
> (and I guess from Pavel’s comment - I should really look at why that
> initial method was missing as it sounds like it should have worked  - so
> maybe its an order loading thing?).
>
> Thanks, for helping by the way - this is proving very instructional.
>
> Tim
>
> On 3 Aug 2017, at 18:26, Mariano Martinez Peck 
> wrote:
>
>
> On Thu, Aug 3, 2017 at 2:14 PM, Tim Mackinnon  wrote:
>
>> Hi Mariano - I compiled in the trait methods manually and it got further
>> - but now I’m seeing another error - Error: Explicitly required method",
>> "\u001b[0mLambda class(Object)>>error:",
>> "explicitRequirement”,
>>
>>
>  the stack is weird... it looks like if Class >> fuelAccept: would
> have the wrong implementation, that is, having the one from TClass:
>
> fuelAccept: aGeneralMapper
> ^self explicitRequirement.
>
> Rather than the correct one:
>
> fuelAccept: aGeneralMapper
>
> ^aGeneralMapper visitClass: self
>
>
> *Maybe the solution is to compile all those methods from traits BUT NOT
> those that are "^self explicitRequirement." because those will override the
> good methods.*
>
> If that doesn't work, then maybe can you print to console the each impl
> (source) of each implementor of #fuelAccept: ?
>
> Thoughts?
>
>
>
>
>
>> Any ideas?
>>
>> Tim
>>
>> "--- RUNNING ERROR HANDLER ---",
>> "Error: Explicitly required method",
>> "",
>> "\u001b[0m\u001b[31mError: Explicitly required method",
>> "\u001b[0mLambda class(Object)>>error:",
>> "explicitRequirement",
>> "  self error: 'No decompiler available' in Lambda 
>> class(Object)>>explicitRequirement in Block: explicitRequirement...",
>> "False>>ifFalse:",
>> "Lambda class(Object)>>explicitRequirement",
>> "Lambda class(Class)>>fuelAccept:",
>> "FLLightGeneralMapper>>mapAndTrace:",
>> "FLLightGlobalMapper>>mapAndTrace:",
>> "FLPluggableSubstitutionMapper>>mapAndTrace:",
>> "FLAnalysis>>mapAndTrace:",
>> "FLAnalysis>&g

Re: [Pharo-dev] Creating the smallest server runtime footprint

2017-08-03 Thread Mariano Martinez Peck
On Thu, Aug 3, 2017 at 2:14 PM, Tim Mackinnon  wrote:

> Hi Mariano - I compiled in the trait methods manually and it got further -
> but now I’m seeing another error - Error: Explicitly required method",
> "\u001b[0mLambda class(Object)>>error:",
> "explicitRequirement”,
>
>
 the stack is weird... it looks like if Class >> fuelAccept: would have
the wrong implementation, that is, having the one from TClass:

fuelAccept: aGeneralMapper
^self explicitRequirement.

Rather than the correct one:

fuelAccept: aGeneralMapper

^aGeneralMapper visitClass: self


*Maybe the solution is to compile all those methods from traits BUT NOT
those that are "^self explicitRequirement." because those will override the
good methods.*

If that doesn't work, then maybe can you print to console the each impl
(source) of each implementor of #fuelAccept: ?

Thoughts?





> Any ideas?
>
> Tim
>
> "--- RUNNING ERROR HANDLER ---",
> "Error: Explicitly required method",
> "",
> "\u001b[0m\u001b[31mError: Explicitly required method",
> "\u001b[0mLambda class(Object)>>error:",
> "explicitRequirement",
> "  self error: 'No decompiler available' in Lambda 
> class(Object)>>explicitRequirement in Block: explicitRequirement...",
> "False>>ifFalse:",
> "Lambda class(Object)>>explicitRequirement",
> "Lambda class(Class)>>fuelAccept:",
> "FLLightGeneralMapper>>mapAndTrace:",
> "FLLightGlobalMapper>>mapAndTrace:",
> "FLPluggableSubstitutionMapper>>mapAndTrace:",
> "FLAnalysis>>mapAndTrace:",
> "FLAnalysis>>run",
> "setDefaultAnalysis",
> "  self error: 'No decompiler available' in 
> FLAnalyzer>>setDefaultAnalysis in Block: setDefaultAnalysis...",
> "FLAnalyzer>>analysisFor:",
> "FLSerialization>>analysisStep",
> "FLSerialization>>run",
> "setDefaultSerialization",
> "  self error: 'No decompiler available' in 
> FLSerializer>>setDefaultSerialization in Block: setDefaultSerialization...",
> "serialize: t1 on: t2",
> "  self error: 'No decompiler available' in FLSerializer>>serialize:on: 
> in Block: serialize: t1 on: t2...",
> "on: t1 globalEnvironment: t2 do: t3",
> "  self error: 'No decompiler available' in FLEncoder 
> class>>on:globalEnvironment:do: in Block: on: t1 globalEnvironment: t2 do: 
> t3...",
> "BlockClosure>>ensure:",
> "FLEncoder class>>on:globalEnvironment:do:",
> "FLSerializer>>serialize:on:",
> "NonInteractiveUIManager>>writeFuelContext:",
> "Lambda class>>processDebug:",
> "Lambda class>>processJSON:",
> "Lambda class>>process:",
> "activate",
>
>
> On 3 Aug 2017, at 17:26, Mariano Martinez Peck 
> wrote:
>
>
>
> On Thu, Aug 3, 2017 at 1:17 PM, Tim Mackinnon  wrote:
>
>> Hi guys - I think I’m getting close - I’m able to load remote packages,
>> and I’ve added fuel to my repo and its loading - however I am getting an
>> error when I run and test writing out a context - *MessageNotUnderstood:
>> Context class>>fuelIgnoredInstanceVariableNames*
>>
>> I can see that this is a trait - is trait support missing in the minimal
>> image?
>>
>>
> Uff...that's a good question hahahhah
> I don't know if the minimal image supports traits, but what I am almost
> sure, is the Behavior DOES need the methods defined in TBehavior. So maybe
> the minimal image flattens the traits. In this case you could do the same
> for Fuel (flattenDownAllTraits)
>
>
>> (I also seemed to get this far just loading the Fuel package - but just
>> to be sure I added the other platform ones like you suggested and still get
>> the same error). Given how simple that method is, I could just compile it
>> in - but maybe there are many more?
>>
>>
>
> TBehavior, TClass and TClassDescription are the only one that comes to my
> mind right now...  there are only a few methods from Fuel. So could compile
> those directly at least on a first step...at least you keep you going.
>
>
>
>
>
>> Tim
>>
>>
>> "errorMessage": "Command failed: ./pharo Pharo.image
>> --no-default-preferences process 

Re: [Pharo-dev] Creating the smallest server runtime footprint

2017-08-03 Thread Mariano Martinez Peck
On Thu, Aug 3, 2017 at 1:17 PM, Tim Mackinnon  wrote:

> Hi guys - I think I’m getting close - I’m able to load remote packages,
> and I’ve added fuel to my repo and its loading - however I am getting an
> error when I run and test writing out a context - *MessageNotUnderstood:
> Context class>>fuelIgnoredInstanceVariableNames*
>
> I can see that this is a trait - is trait support missing in the minimal
> image?
>
>
Uff...that's a good question hahahhah
I don't know if the minimal image supports traits, but what I am almost
sure, is the Behavior DOES need the methods defined in TBehavior. So maybe
the minimal image flattens the traits. In this case you could do the same
for Fuel (flattenDownAllTraits)


> (I also seemed to get this far just loading the Fuel package - but just to
> be sure I added the other platform ones like you suggested and still get
> the same error). Given how simple that method is, I could just compile it
> in - but maybe there are many more?
>
>

TBehavior, TClass and TClassDescription are the only one that comes to my
mind right now...  there are only a few methods from Fuel. So could compile
those directly at least on a first step...at least you keep you going.





> Tim
>
>
> "errorMessage": "Command failed: ./pharo Pharo.image
> --no-default-preferences process Lambda '{\"debug\":true,\"data\":5}'\n
>   "errorType": "Error",
>   "stackTrace": [
> "Writing fuel context to S3...",
> "Using S3 bucket morethan-technology-projects",
> "\u001b[31m",
> "--- RUNNING ERROR HANDLER ---",
> "*MessageNotUnderstood: Context
> class>>fuelIgnoredInstanceVariableNames*",
> "",
> "\u001b[0m\u001b[31mMessageNotUnderstood: Context class>>
> fuelIgnoredInstanceVariableNames",
> "\u001b[0mContext class(Object)>>doesNotUnderstand: #
> fuelIgnoredInstanceVariableNames",
> "FLVariablesMapping>>instanceVariableNamesToSerialize",
> "FLVariablesMapping>>initializeAnalyzing",
> "FLVariablesMapping class>>newAnalyzing:references:",
> "FLContextCluster(FLPointerObjectCluster)>>initializeAnalyzing:",
> "FLContextCluster class(FLObjectCluster class)>>newAnalyzing:",
> "clusterKeyedByObjectClass: t1 class: t2",
> "  self error: 'No decompiler available' in
> FLLightGeneralMapper(FLMapper)>>clusterKeyedByObjectClass:class: in
> Block: clusterKeyedByObjectClass: t1 class: t2...",
> "clusterInstanceOf: t1 keyInBucket: t2 factory: t3",
> "  self error: 'No decompiler available' in
> FLLightGeneralMapper(FLMapper)>>clusterInstanceOf:keyInBucket:factory: in
> Block: clusterInstanceOf: t1 keyInBucket: t2 factory: t3...",
> "at: t1 ifAbsentPut: t2",
> "  self error: 'No decompiler available' in
> IdentityDictionary(Dictionary)>>at:ifAbsentPut: in Block: at: t1
> ifAbsentPut: t2...",
> "IdentityDictionary(Dictionary)>>at:ifAbsent:",
> "IdentityDictionary(Dictionary)>>at:ifAbsentPut:",
> "FLLightGeneralMapper(FLMapper)>>clusterInstanceOf:
> keyInBucket:factory:",
> "FLLightGeneralMapper(FLMapper)>>clusterKeyedByObjectClass:class:",
> "FLLightGeneralMapper(FLMapper)>>mapAndTraceByObjectClass:to:",
> "FLLightGeneralMapper>>visitMethodContext:",
> "Context>>fuelAccept:",
> "FLLightGeneralMapper>>mapAndTrace:",
> "FLLightGlobalMapper>>mapAndTrace:",
> "FLPluggableSubstitutionMapper>>mapAndTrace:",
> "FLAnalysis>>mapAndTrace:",
> "FLAnalysis>>run",
> "setDefaultAnalysis",
> "  self error: 'No decompiler available' in
> FLAnalyzer>>setDefaultAnalysis in Block: setDefaultAnalysis...",
> "FLAnalyzer>>analysisFor:",
> "FLSerialization>>analysisStep",
> "FLSerialization>>run",
> "setDefaultSerialization",
> "  self error: 'No decompiler available' in 
> FLSerializer>>setDefaultSerialization
> in Block: setDefaultSerialization...",
> "serialize: t1 on: t2",
> "  self error: 'No decompiler available' in
> FLSerializer>>serialize:on: in Block: serialize: t1 on: t2...",
> "on: t1 globalEnvironment: t2 do: t3",
> &q

Re: [Pharo-dev] [Calypso] Inherited methods checkbox look backwards to me

2017-08-03 Thread Mariano Martinez Peck
On Thu, Aug 3, 2017 at 10:27 AM, Denis Kudriashov 
wrote:

> Hi Mariano.
>
> Other people told me the same: they do not like current order. Same
> unnatural order is also in variable view.
> I implemented it this way because for me it is more convenient and
> intuitive. Maybe I am alone in that feeling. So I will provide setting.
>
> I try to explain my logic behind it:
>
> First, inherited methods subgroups are not about hierarchy of classes
> (same for variable view).
> It is actually hierarchy of "level of interesting methods". First
> superclass in tree has the most interesting methods. And deeper
> superclasses has less interest level. Idea that usually user wants to see
> methods from first superclass and not deeper. That's why I put most
> interesting subgroups at the top of list.
> Also remember that we have traits. Trait methods are more interesting then
> superclass methods. That's why traits subgroups are shown at the top when
> you browse class with traits.
> Also you can imaging that hierarchy which includes traits will be not
> natural in any order. But here it is required anyway.
>
>
>

OK, I understand your logic now. Again, no big deal, but I think that at
least personally (even with your explanation in mind), I would still prefer
the other way around.  But as I said, this is a really minor detail.



> 2017-08-03 14:02 GMT+02:00 Mariano Martinez Peck :
>
>> Hi Denis,
>>
>> I love the inherited methods feature. Really. Seconds ago, I just clicked
>> to show inherited methods, I checkboxed the superclass, then I saw both
>> methods (the one I override and the one of the superclass), clicked on
>> both, and magic...I was comparing them with a nice diff. AESOME!
>>
>> The only seem that didn't look obvious to me is the "sort" of the classes
>> of the inherited protocols. It goes contrary to everwhere else. ProtoObject
>> is on the bottom and immediate superclass on the top. Can't we make it as
>> always?  ProtoObject on the bottom and immediate on top?
>>
>> I know, this is a very little detail...but I also wanted to express my
>> happiness with this feature hahaha.
>>
>> Cheers,
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


Re: [Pharo-dev] Creating the smallest server runtime footprint

2017-08-03 Thread Mariano Martinez Peck
On Thu, Aug 3, 2017 at 8:58 AM, Tim Mackinnon  wrote:

> I’m so close now (bit of a diversion with gitlab yml not liking the eval
> string) - that did load and it got me really close - I’m just missing
> FlSerializer now (I have progressed my work to fuel out the context for
> debugging to S3)… so looking at the repo, there are quite a few fuel
> packages - but in a big image I can see that FLSerialiser is in Core - so
> do I just need core? But then there are a few fuel packages with Core?
>
>
The easiest way to understand that is either checking ConfigurationOfFuel
directly or some of the related Metacello tool.
Anyway, for this case, I think you need the packages (in this order):
FuelPlatform and Fuel. Bug again, Metacello allows some postLoad actions
(which we use in Fuel)... so...it's not always easy to load a project
without Metacello.

Sometimes you can print the result of #record:

Metacello new
configuration: 'Fuel';
smalltalkhubUser: 'Pharo' project: 'Fuel';
version: #stable;
record: #('Core').

->

"linear load :
linear load : 2.1.10 [ConfigurationOfFuel]
linear load : baseline [ConfigurationOfFuelPlatform]
load : FuelPlatform-Core
load : FuelPlatform-Pharo-Core
load : FuelPlatform-Pharo-06"


--

Anyway I guess I would try to load these packages (in this order):

FuelPlatform-Core
FuelPlatform-Pharo-Core
FuelPlatform-Pharo-06
Fuel

And when you are down loading, then execute:

(Smalltalk at: #FLPlatform) current addHacks



> I’m also not quite clear on how I would load packages without a Baseline
> (would I create my own baseline for the fuel packages I need?)
>
> Tim
>
> On 3 Aug 2017, at 12:07, Pavel Krivanek  wrote:
>
>
>
> 2017-08-03 13:02 GMT+02:00 Tim Mackinnon :
>
>> I really appreciate your patience and help on this - it looks very
>> promising and I am giving it a spin now…
>>
>> When you say the pharo repository - are you referring to this:
>> https://github.com/pharo-project/pharo/tree/master/src. ? Just so I know
>> for the future.
>>
>
> yes
>
> -- Pavel
>
>>
>>
>> Tim
>>
>> On 3 Aug 2017, at 09:16, Pavel Krivanek  wrote:
>>
>>
>>
>> 2017-08-03 10:14 GMT+02:00 Pavel Krivanek :
>>
>>> The easiest think you can do is to copy to your repository (or some
>>> other) related packages from the Pharo repository (to do not have to clone
>>> it all):
>>>
>>> Metacello-GitBasedRepository.package
>>> Metacello-GitHub.package
>>> SUnit-Core.package
>>>
>>> and create baseline to load them. I already tried it so you can test it:
>>> https://drive.google.com/open?id=0BzSsmZhqtUTeMVJacTZtdW5UQW8
>>>
>>> Then you will do something like:
>>>
>>
>> (accidental message send ;-) )
>>
>> BASELINE=MetacelloGitBasedRepository
>> pharo "$IMAGE_NAME.image" --no-default-preferences eval --save \
>> "Metacello new baseline: '$BASELINE'; repository: '
>> filetree://./PharoLambda/src'; load."
>>
>> BASELINE=Lambda
>> pharo "$IMAGE_NAME.image" --no-default-preferences eval --save \
>> "Metacello new baseline: '$BASELINE'; repository: '
>> filetree://./PharoLambda/src'; load."
>>
>> As I tried that. The baseline of Lambda is then able to be loaded.
>>
>> -- Pavel
>>
>>
>>
>>>
>>>
>>> 2017-08-02 15:18 GMT+02:00 Tim Mackinnon :
>>>
 Ah, I think I’m starting to get closer to what I need…

 So if I want to load in that last piece to enable more general remote
 loading - how do I figure out how to do that? I’m trying to work out where
 the build steps for building up the image (can I see them in Jenkins? It
 wasn’t clear to me if I can look it up? Or the BaselineOfIDE was mentioned
 - looking there I can see a few metacello and gofer packages - but then I
 guess I’m looking for an easy Mcz I can use with the example below?

 Or do I just load Metacello as a git submodule and then it will be on
 my local filesystem to then bootstrap up?

 I guess I’m trying to work out the best sustainable approach to getting
 to a good server based image that has minimal tools and the ability to
 easily load remote code for pre-req projects.

 Tim

 On 2 Aug 2017, at 07:05, Guillermo Polito 
 wrote:

 Yes, you should be able to load an mcz in that image by doing:

 (MCDirectoryRepository new directory: 'where-your-mcz-is')
 loadVersionFromFileNamed: 'Metacello-GitBasedRepository-Author.1.mcz')
 load.

 Guille

 On Wed, Aug 2, 2017 at 7:57 AM, Pavel Krivanek <
 pavel.kriva...@gmail.com> wrote:

>
> 2017-08-01 23:13 GMT+02:00 Tim Mackinnon :
>
>> Hi Pavel - I tried it again and the problem is do with Metacello
>> dependencies in your baseline.
>>
>> The SUnit baseline doesn’t specify any additional dependencies to
>> load (it just loads local packages), whereas my baseline that fails looks
>> like this:
>>
>> baseline: spec
>> 
>>
>> spec for: #common do: [
>> spec configuration: 'ZTimestamp' with: [
>> spec
>> versionString: #stab

[Pharo-dev] [Calypso] Inherited methods checkbox look backwards to me

2017-08-03 Thread Mariano Martinez Peck
Hi Denis,

I love the inherited methods feature. Really. Seconds ago, I just clicked
to show inherited methods, I checkboxed the superclass, then I saw both
methods (the one I override and the one of the superclass), clicked on
both, and magic...I was comparing them with a nice diff. AESOME!

The only seem that didn't look obvious to me is the "sort" of the classes
of the inherited protocols. It goes contrary to everwhere else. ProtoObject
is on the bottom and immediate superclass on the top. Can't we make it as
always?  ProtoObject on the bottom and immediate on top?

I know, this is a very little detail...but I also wanted to express my
happiness with this feature hahaha.

Cheers,

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


Re: [Pharo-dev] Calypso browser and categories?

2017-08-02 Thread Mariano Martinez Peck
On Tue, Aug 1, 2017 at 11:32 AM, Denis Kudriashov 
wrote:

> And I released new version with all fixes
>
>
Cool! I just tested and everything seems to work nicely. Thanks Denis for
the fixes and new release. A pleasure to be using this browser.
You know... it's easier for me to simply complain about bugs or missing
features than talk about the cool things about it. The latter would take me
hours ;)



> 2017-08-01 14:56 GMT+02:00 Denis Kudriashov :
>
>> Also try alt+left to navigation back in such cases.
>>>
>>>
>>>
>> I wasn't aware of those shortcuts. *Is there a list somewhere of all
>>> available shortcuts in Calypso? * I mean, those that are not obviously
>>> displayed on right click menu.
>>>
>>
>> There is no special tool for this. But you can browse all references
>> to CmdShortcutCommandActivator. It will gives you list of command
>> classes which can be accessed by shortcut. And in every found method you
>> will see keymap.
>>
>>
>>> Maybe there are shortcuts for moving across panes? I always wanted
>>> that... say I am in the code area of a method and I would like to move to
>>> the package panel, or the class panel.. with the keyboard...
>>
>>
>> I not implemented it. If you know how to do it in Morphic with given
>> morph instance then you can try implement it by yourself. Look at
>> ClyShowMessageSenderCommand as example of command which interact with
>> browser. You can ask it for methodView, classView, packageView and so on.
>> They are all just morphs.
>>
>>
>> 2017-08-01 14:26 GMT+02:00 Mariano Martinez Peck :
>>
>>>
>>>
>>> On Tue, Aug 1, 2017 at 9:10 AM, Denis Kudriashov 
>>> wrote:
>>>
>>>>
>>>>
>>>> 2017-07-31 23:50 GMT+02:00 Mariano Martinez Peck >>> >:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Jul 31, 2017 at 6:15 PM, Denis Kudriashov <
>>>>> dionisi...@gmail.com> wrote:
>>>>>
>>>>>> Hi Mariano.
>>>>>>
>>>>>> You right. Method for this was implemented but I forgot to use it in
>>>>>> #selectClass: logic.
>>>>>> I committed fix to dev branch. I will realze new version soon.
>>>>>>
>>>>>>
>>>>> OK, great. Let me know when you want me to test it. I am glad it was a
>>>>> "bug". I thought it might have been some "decision".
>>>>>
>>>>
>>>> It was not a bug but missing feature :)
>>>>
>>>>
>>>
>>> :)
>>>
>>>
>>>
>>>>
>>>>>
>>>>>> But I am not sure that it is only issue you are talking about.
>>>>>>
>>>>>
>>>>> Yeah, I figured I can see it elsewhere. But I will find them if there
>>>>> are other places...
>>>>>
>>>>>
>>>>> BTW, I also found some other small issues which I comment below. Do
>>>>> you want me to open issues on github for them?
>>>>>
>>>>
>>>> Yes, please :)
>>>>
>>>>
>>>>>
>>>>> * "Windows" -> "Delete all windows discarding edits" -> does not close
>>>>> Calypso windows with none saved edits
>>>>>
>>>>
>>>> Never use it. Now I look at implementation and it is super naive. Not
>>>> sure that we should modify Calypso to satisfy this approach. I thing there
>>>> are other tools which will be not closed by this command
>>>>
>>>
>>>
>>> Well, I use it quite frequently. Whenever I am done with implementing a
>>> given feature, or fixing a given bug, I close everything, I evaluate a
>>> workspace that I always have at hand that does some cleanup, and I am ready
>>> to go to the next task. So I hate when I cannot easily close all windows.
>>>
>>>
>>>
>>>>
>>>>
>>>>> * When I have a class opened, with a method opened, then I go to the
>>>>> class comment tab and I save the class comment, calypso automatically 
>>>>> gives
>>>>> me focus
>>>>> back to the "method tab" rather than staying in the class comment.
>>>>> This is annoying as i like to save my class comment frequently and not 
>>>>> they
>>>>> flip to 

Re: [Pharo-dev] Lots of "UTF8InvalidText: Invalid utf8 input detected" from OMBU

2017-08-02 Thread Mariano Martinez Peck
On Tue, Aug 1, 2017 at 11:34 AM, Martin Dias  wrote:

> Hello:
> So, is this patch working fine?
>
>

Well...it's has been a couple of days already and I haven't seen the issue
again, so I guess yes, the workaround works...



> Cheers
> Martin
>
> On Thu, Jul 27, 2017 at 10:17 AM, Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>>
>>
>> On Wed, Jul 26, 2017 at 6:36 AM, Henrik Sperre Johansen <
>> henrik.s.johan...@veloxit.no> wrote:
>>
>>> There's https://pharo.fogbugz.com/f/cases/20112/, your error could be
>>> the
>>> same.
>>> (a multibyte character crossing the initial-guess block boundary)
>>>
>>> As outlined there, the (temp) fix is to put an error handler around the
>>> nextEntryPositionIfFound:ifNone: call in refreshNewBlocksFrom:
>>>
>>>
>> Hi Henry,
>>
>> Thanks for the pointer. I patched my images with your workaround.  I will
>> use it for a couple of days and I will later tell if you it seems to fix it
>> or not.
>>
>> Cheers,
>>
>>
>>
>>> Cheers,
>>> Henry
>>>
>>>
>>>
>>> --
>>> View this message in context: http://forum.world.st/Lots-of-
>>> UTF8InvalidText-Invalid-utf8-input-detected-from-OMBU-tp4956
>>> 734p4956805.html
>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>> Nabble.com.
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


Re: [Pharo-dev] [IMPORTANT] Following changes in the bootstrapping process

2017-08-01 Thread Mariano Martinez Peck
On Tue, Aug 1, 2017 at 5:31 PM, teso...@gmail.com  wrote:

> Hi,
> Yes for sure there are objects, and that is very powerful, but
> comparing the algorithm of serialization of Hermes with Fuel (I don't
> really know Parcels) is not possible. It is like comparing Filetree with
> Fuel, The problems they have to take care are completely different.
>
> Maybe I am not seeing the point.
>
>
Let me add one sentence that may explain Eliot questions... if you
serialize the class definition, then it means you would need the compiler.
I guess Eliot may be interested in NOT having the compiler at all and
instead bring classes directly from binary format (like Fuel / Tanker )




> Cheers.
>
> On Tue, Aug 1, 2017 at 10:25 PM, Eliot Miranda 
> wrote:
>
>> Hi Pablo,
>>
>> On Tue, Aug 1, 2017 at 12:36 PM, teso...@gmail.com 
>> wrote:
>>
>>> Hi again,
>>>thanks for the clarification, I haven't understood the question
>>> initially, but now I think I can answer it.
>>>
>>> Hermes is only exporting the classes, not objects. so it does not have
>>> to handle complex graphs of objects. Basically it serializes the definition
>>> of the classes, traits and methods. Then they are loaded in sequence. The
>>> only caring during the generation is to serialize first the superclasses,
>>> and then the subclasses. There is no way of serializing objects outside the
>>> classes, methods, traits and literals in a method.
>>>
>>
>> Classes, traits, methods, literals *are* a graph of objects :-). The
>> Parcel architecture, from which Fuel derived its architecture, was designed
>> for loading code in VisualWorks.  In fact, last time I looked Parcels were
>> used only to store code and not as a general purpose (de)serializer.
>>
>> So the answer is that is not using Parcels or Fuel architecture because
>>> they are intended for different uses.
>>>
>>
>> Well, I don't think that's the reason ;-), but fine.  I understand that
>> it doesn't use this architecture.  Thanks.
>>
>>
>>> Also the format itself has no special design or considerations to be
>>> fast to generate or fast to read (as It happens with Fuel)
>>>
>>> Cheers,
>>> Pablo
>>>
>>> On Tue, Aug 1, 2017 at 9:16 PM, Eliot Miranda 
>>> wrote:
>>>
 Hi Pablo,

 I understand that Hermes has its own format.  My question was about
 architecture. The Parcels/Fuel architecture is, AFAIA, the best
 architecture for binary storage because it is virtual, is fast to load and
 cleanly separates loading from initialization.  What do I mean?

 - concrete formats like ImageSegment are tied to internal
 representations in the VM and do are difficult to read in forever FB
 systems and very hard to write in foreign systems.  So a virtual format
 (like BOSS, Fuel, Parcels, etc) is better but unless done well can be slow

 - a first generation system like BOSS is a flattening of a graph
 traversal using a simple grammar.  Each phrase is either an object
 reference (object id) or an object definition (object is followed by type
 info and contents, contents being a sequence of phrases.  This is slow to
 parse (because each phrase must be decoded), and has invalid intermediate
 states (e.g. a Set whose contents are not all present, hence whose external
 hash may change during loading, etc).  A second generation system like
 Parcels and Fuel separates objects from references (nodes from arcs) and
 batches object creation, grouping all instances of a given class for bulk,
 and hence fast, instantiation.  Following my the objects are the
 references.  So loading has three phases:
 - instantiate the objects
 - connect the graph by filling in object references
 - initialize the objects that require it (e.g. rehash sets)

 Consequently the writer must be two pass, the first pass to collect the
 objects in the graph and sort them by class, the second to write the nodes
 followed by the references

 So let me ask again, does Hermes use the Parcels/Fuel architecture?

 _,,,^..^,,,_ (phone)

 On Aug 1, 2017, at 11:52 AM, "teso...@gmail.com" 
 wrote:

 Hi Eliot,

 The last version of Hermes, that I have generated today and have to be
 tested for real yet, is able to load and save from and to 32 and 64 bits,
 handling the conversion. Because the Hermes representation (if we can call
 it like that, because is really simple, does not care about the
 architecture).

 Hermes is using a custom format completely separated from Fuel or any
 other tool.

 This is a consequence of the design of Hermes. Hermes has been designed
 to only work as light way of loading code during the bootstrap. So that, it
 is heavily coupled with Pharo (it can be changed, for example implementing
 another loader / installer) and uses only really core classes.

 Of course it can be extended and used in another Smalltalk d

Re: [Pharo-dev] Calypso browser and categories?

2017-08-01 Thread Mariano Martinez Peck
On Tue, Aug 1, 2017 at 9:10 AM, Denis Kudriashov 
wrote:

>
>
> 2017-07-31 23:50 GMT+02:00 Mariano Martinez Peck :
>
>>
>>
>> On Mon, Jul 31, 2017 at 6:15 PM, Denis Kudriashov 
>> wrote:
>>
>>> Hi Mariano.
>>>
>>> You right. Method for this was implemented but I forgot to use it in
>>> #selectClass: logic.
>>> I committed fix to dev branch. I will realze new version soon.
>>>
>>>
>> OK, great. Let me know when you want me to test it. I am glad it was a
>> "bug". I thought it might have been some "decision".
>>
>
> It was not a bug but missing feature :)
>
>

:)



>
>>
>>> But I am not sure that it is only issue you are talking about.
>>>
>>
>> Yeah, I figured I can see it elsewhere. But I will find them if there are
>> other places...
>>
>>
>> BTW, I also found some other small issues which I comment below. Do you
>> want me to open issues on github for them?
>>
>
> Yes, please :)
>
>
>>
>> * "Windows" -> "Delete all windows discarding edits" -> does not close
>> Calypso windows with none saved edits
>>
>
> Never use it. Now I look at implementation and it is super naive. Not sure
> that we should modify Calypso to satisfy this approach. I thing there are
> other tools which will be not closed by this command
>


Well, I use it quite frequently. Whenever I am done with implementing a
given feature, or fixing a given bug, I close everything, I evaluate a
workspace that I always have at hand that does some cleanup, and I am ready
to go to the next task. So I hate when I cannot easily close all windows.



>
>
>> * When I have a class opened, with a method opened, then I go to the
>> class comment tab and I save the class comment, calypso automatically gives
>> me focus
>> back to the "method tab" rather than staying in the class comment. This
>> is annoying as i like to save my class comment frequently and not they flip
>> to another tab.
>>
>
> Strangely I can not reproduce it. Do you see this all the time? Try open
> new browser and repeat it.
>


 weird. I tried again and I failed to reproduce it hahah. Ok.
ignore it... unless I find a reproducible case.



> Also try alt+left to navigation back in such cases.
>
>

I wasn't aware of those shortcuts. *Is there a list somewhere of all
available shortcuts in Calypso? * I mean, those that are not obviously
displayed on right click menu.
Maybe there are shortcuts for moving across panes? I always wanted that...
say I am in the code area of a method and I would like to move to the
package panel, or the class panel.. with the keyboard...




> * I wish the "new protocol" offers me the existing ones as I type...as I
>> normally re-use existing protocols (on purpose) and its easy to make small
>> typos or differences with the original ones.
>>
>
> Done. Use Iceberg to update SystemCommands project (metacello script could
> not work)
>


Awesome. Thanks.



>
>
>>
>> Thoughts?
>>
>> Thanks!
>>
>>
>>>
>>> 2017-07-31 18:25 GMT+02:00 Mariano Martinez Peck 
>>> :
>>>
>>>> Hi Denis,
>>>>
>>>> I wanted to give a serious test to Calypso, that is, start using it all
>>>> day long. However, there is a critical thing I am missing, which is the
>>>> grouping of categories (inside packages).
>>>>
>>>> I do not want to start discussing again packages vs categories and what
>>>> are good and bad practices. I do have a few packages and each package may
>>>> have several categories inside. So... seeing all classes together inside a
>>>> package is not nice for me.
>>>>
>>>> Is there a way in calypso to auto-escope to category level? I mean...
>>>> say my package is XXX and I have categories XXX-A and XXX-B. I know I can
>>>> go to left side column and with the tree, I can go to XXX-A and I get what
>>>> I want. But, for example, when I browse a class of XXX-A, the "focus" of
>>>> the left side column is XXX and not XXX-A.  So I am wondering if we can
>>>> make it auto-scope to the category everywhere in Calypso.
>>>>
>>>> Thanks in advance,
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


Re: [Pharo-dev] Calypso browser and categories?

2017-07-31 Thread Mariano Martinez Peck
On Mon, Jul 31, 2017 at 6:15 PM, Denis Kudriashov 
wrote:

> Hi Mariano.
>
> You right. Method for this was implemented but I forgot to use it in
> #selectClass: logic.
> I committed fix to dev branch. I will realze new version soon.
>
>
OK, great. Let me know when you want me to test it. I am glad it was a
"bug". I thought it might have been some "decision".


> But I am not sure that it is only issue you are talking about.
>

Yeah, I figured I can see it elsewhere. But I will find them if there are
other places...


BTW, I also found some other small issues which I comment below. Do you
want me to open issues on github for them?

* "Windows" -> "Delete all windows discarding edits" -> does not close
Calypso windows with none saved edits
* When I have a class opened, with a method opened, then I go to the class
comment tab and I save the class comment, calypso automatically gives me
focus
back to the "method tab" rather than staying in the class comment. This is
annoying as i like to save my class comment frequently and not they flip to
another tab.
* I wish the "new protocol" offers me the existing ones as I type...as I
normally re-use existing protocols (on purpose) and its easy to make small
typos or differences with the original ones.

Thoughts?

Thanks!


>
> 2017-07-31 18:25 GMT+02:00 Mariano Martinez Peck :
>
>> Hi Denis,
>>
>> I wanted to give a serious test to Calypso, that is, start using it all
>> day long. However, there is a critical thing I am missing, which is the
>> grouping of categories (inside packages).
>>
>> I do not want to start discussing again packages vs categories and what
>> are good and bad practices. I do have a few packages and each package may
>> have several categories inside. So... seeing all classes together inside a
>> package is not nice for me.
>>
>> Is there a way in calypso to auto-escope to category level? I mean... say
>> my package is XXX and I have categories XXX-A and XXX-B. I know I can go to
>> left side column and with the tree, I can go to XXX-A and I get what I
>> want. But, for example, when I browse a class of XXX-A, the "focus" of the
>> left side column is XXX and not XXX-A.  So I am wondering if we can make it
>> auto-scope to the category everywhere in Calypso.
>>
>> Thanks in advance,
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


[Pharo-dev] Calypso browser and categories?

2017-07-31 Thread Mariano Martinez Peck
Hi Denis,

I wanted to give a serious test to Calypso, that is, start using it all day
long. However, there is a critical thing I am missing, which is the
grouping of categories (inside packages).

I do not want to start discussing again packages vs categories and what are
good and bad practices. I do have a few packages and each package may have
several categories inside. So... seeing all classes together inside a
package is not nice for me.

Is there a way in calypso to auto-escope to category level? I mean... say
my package is XXX and I have categories XXX-A and XXX-B. I know I can go to
left side column and with the tree, I can go to XXX-A and I get what I
want. But, for example, when I browse a class of XXX-A, the "focus" of the
left side column is XXX and not XXX-A.  So I am wondering if we can make it
auto-scope to the category everywhere in Calypso.

Thanks in advance,

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


Re: [Pharo-dev] Lots of "UTF8InvalidText: Invalid utf8 input detected" from OMBU

2017-07-27 Thread Mariano Martinez Peck
On Wed, Jul 26, 2017 at 6:36 AM, Henrik Sperre Johansen <
henrik.s.johan...@veloxit.no> wrote:

> There's https://pharo.fogbugz.com/f/cases/20112/, your error could be the
> same.
> (a multibyte character crossing the initial-guess block boundary)
>
> As outlined there, the (temp) fix is to put an error handler around the
> nextEntryPositionIfFound:ifNone: call in refreshNewBlocksFrom:
>
>
Hi Henry,

Thanks for the pointer. I patched my images with your workaround.  I will
use it for a couple of days and I will later tell if you it seems to fix it
or not.

Cheers,



> Cheers,
> Henry
>
>
>
> --
> View this message in context: http://forum.world.st/Lots-of-
> UTF8InvalidText-Invalid-utf8-input-detected-from-OMBU-
> tp4956734p4956805.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


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


[Pharo-dev] Lots of "UTF8InvalidText: Invalid utf8 input detected" from OMBU

2017-07-25 Thread Mariano Martinez Peck
Guys,

I am getting "UTF8InvalidText: Invalid utf8 input detected" quite
frequently on Pharo 6.0 which come from ombu background job. Has anything
seen this too? Quite annoying...

This is not the first time I hit it. This time I analyzed a bit why it was
failing and it's because I removed a method manually...I mean, I did
MyClass removeSelector: #myMethod

And the omEntry is a EpMethodRemoval which represents the exact method I
deleted...

Also I can see the MultiByteFileStream internal 'collection' is full of
none ascii things.

I can share a fuelout as well as the image with the files if you want. I
can also share the ombu file in question.

Contact me in private.







[ :error |
(OmFileStoreReadingError
readingError: error
on: self fileReference
position: readStream position) signal ] in [ :readStream |
[ ^ aBlockClosure value: readStream ascii ]
on: Error
do: [ :error |
(OmFileStoreReadingError
readingError: error
on: self fileReference
position: readStream position) signal ] ] in
OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ :error | ...
BlockClosure>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
UTF8InvalidText(Exception)>>signal
UTF8InvalidText(Exception)>>signal:
UTF8TextConverter>>errorMalformedInput
UTF8TextConverter>>nextFromStream:
MultiByteFileStream>>next
MultiByteFileStream(PositionableStream)>>match:
MultiByteFileStream(PositionableStream)>>upToAll:
OmSTONEntryReader>>nextEntryPositionIfFound:ifNone:
OmBlockFileStore>>refreshNewBlocksFrom:
[ :readStream | self refreshNewBlocksFrom: readStream ] in
OmBlockFileStore>>refreshEntryPositionsByLocalNameStartingAt:since: in
Block: [ :readStream | self refreshNewBlocksFrom: readStr...etc...
[ ^ aBlockClosure value: readStream ascii ] in [ :readStream |
[ ^ aBlockClosure value: readStream ascii ]
on: Error
do: [ :error |
(OmFileStoreReadingError
readingError: error
on: self fileReference
position: readStream position) signal ] ] in
OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ ^ aBlockClosure
value: readStream ascii ]
BlockClosure>>on:do:
[ :readStream |
[ ^ aBlockClosure value: readStream ascii ]
on: Error
do: [ :error |
(OmFileStoreReadingError
readingError: error
on: self fileReference
position: readStream position) signal ] ] in
OmBlockFileStore(OmFileStore)>>readEntriesWith: in Block: [ :readStream |
...
[ aBlock value: stream ] in
FileReference(AbstractFileReference)>>readStreamDo: in Block: [ aBlock
value: stream ]
BlockClosure>>ensure:
FileReference(AbstractFileReference)>>readStreamDo:
OmBlockFileStore(OmFileStore)>>readEntriesWith:
OmBlockFileStore>>refreshEntryPositionsByLocalNameStartingAt:since:
[ | initialPosition initialLocalName |
self entryBuffer isEmpty
ifTrue: [ ^ self ].
fileReference
writeStreamDo: [ :fileStream |
fileStream setToEnd.
initialPosition := fileStream position.
initialLocalName := self entryBuffer first value.
ZnBufferedWriteStream
on: fileStream
do: [ :aWriteStream |
| anEntryWriter |
anEntryWriter := self newEntryWriter.
[ self entryBuffer isEmpty ]
whileFalse: [ | next entry |
next := self entryBuffer removeFirst.
entry := next key.

"Write entry to file"
anEntryWriter on: aWriteStream nextEntryPut: entry ] ].

"In Linux it was necessary to explicitely flush the file stream"
fileStream flush.
lastStreamPosition := fileStream size ].
self
refreshEntryPositionsByLocalNameStartingAt: initialPosition
since: initialLocalName ] in
OmBlockFileStore(OmFileStore)>>flushEntryBuffer in Block: [ |
initialPosition initialLocalName |...
[ caught := true.
self wait.
blockValue := mutuallyExcludedBlock value ] in Semaphore>>critical: in
Block: [ caught := true
BlockClosure>>ensure:
Semaphore>>critical:
OmBlockFileStore(OmFileStore)>>critical:
OmBlockFileStore(OmFileStore)>>flushEntryBuffer
OmDeferrer>>sendMessage
[ self sendMessage ] in OmDeferrer>>flush in Block: [ self sendMessage ]




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


[Pharo-dev] Is there a portable way to check if a string is a block?

2017-07-24 Thread Mariano Martinez Peck
Hi guys,

Is there a portable (that would work in GemStone too) and safe way to know
if a String would be a block?

I must support this kind of strings:

'singleString'   -> false
'multi string' -> false
'  [:a | 42]' -> true
'   '' ''  [:a | 42]' -> true
'[:a | 42]' -> true
' "a commet" [:a | 42]' -> true
' WhateverClass someVeryBadHackishMethod. [:a | 42]' -> true

I need to identify whether the string is a closure or not. And ideally, I
don't want to do an #evaluate: because I don't want any left hand code to
be executed.
I tried with #parse:  why I am having problems.

Any ideas?

Thanks in advance

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


Re: [Pharo-dev] Big claps for Epicea (small request!)

2017-07-19 Thread Mariano Martinez Peck
On Wed, Jul 19, 2017 at 6:16 PM, Nicolas Cellier <
nicolas.cellier.aka.n...@gmail.com> wrote:

> format before diff is in the top 5 of my most hated default.
> As an author, I try to write short methods and adhere to a standard format
> (Kent Beck like).
>
> But I want the freedom to use derogation when the format helps
> comprehension.
> If I did the effort of using a special formatting, the last thing that I
> want is a "smart" tool that undo my work.
> The best time to format code is when we accept it, and only if there is a
> quick way to undo/bypass if we don't like it.
>
> The formatter is dumb.
> Let's illustrate it with literals among other things.
>
> I might want to write 16rBADA55, but I'm sure i never want to read
> 12245589, it makes no sense ;)
> (hey, this is a real example you can find in VMMaker sources, not just the
> production of my ill brain).
>
> And if I make an effort to format a character encoding table on several
> lines to have it readable
>#(
>   line1
>   line2
>   ...
>   lineN ).
> I'm pretty sure I never want to diff a single line with about 1024
> columns...
>
> So please make this an option (with a default to false)!
>
>

Hi Nicolas,

Yes, in all the rest of Pharo it is an option (a checkbox on the top right)
and it is false by default.

Cheers,


> 2017-07-19 22:27 GMT+02:00 Mariano Martinez Peck :
>
>> Hi Martin,
>>
>> Thank you VERY MUCH for Epicea. I just had a crash and it was way more
>> comfortable to recover changes.
>>
>> One small request would be to allow "Pretty Print" in the diff to the
>> changes to be applied. Many times I changed formatting etc so for when
>> viewing changes, viewing with same formatting helps me to see the actual
>> changes and not formatting changes.
>>
>> Thanks!
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


[Pharo-dev] Big claps for Epicea (small request!)

2017-07-19 Thread Mariano Martinez Peck
Hi Martin,

Thank you VERY MUCH for Epicea. I just had a crash and it was way more
comfortable to recover changes.

One small request would be to allow "Pretty Print" in the diff to the
changes to be applied. Many times I changed formatting etc so for when
viewing changes, viewing with same formatting helps me to see the actual
changes and not formatting changes.

Thanks!

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


Re: [Pharo-dev] [OFFTOPIC] Update: Debris Publishing / Quuve Research & Portfolio Management Platform

2017-07-17 Thread Mariano Martinez Peck
On Sat, Jul 15, 2017 at 10:50 AM, Ben Coman  wrote:

> How are you approaching marketing?  Do you have any "lite" version thats
> free?
> It seems to me that products doing this end up having the broadest reach.
>
> For example take my history with PDFXchange. I first used it because I was
> searching for a free alternative to Adobe Acrobat with simple features and
> it had a good review. Two years later I forked over money for the family
> install (five PCs) since my requirements expanded, and PDFXchange was what
> I knew and loved.
>
> If its a "good" lite product, people will be *very* happy to tell friends
> and colleges to get the kudos of sharing their "free" find, and you lower
> the perceived friction of people trying it out.  You will only covnert a
> small percentage of those to paid customers, but were those that don't
> convert ever going to buy your product in the first place?
>
>
Hi Ben,

We cannot agree more with you. The fact of allowing beta testers doesn't
mean there won't be free licenses. Its just that as of today, we wanted
some control over who gets in (mostly for security etc). We have discussed
internally and we are willing to provide a free (limited) service and of
course a "PRO" version to which you could upgrade. We are still defining
this but this is in our short term list.

Best,




> cheers -ben
>
> On Thu, Jul 13, 2017 at 10:19 AM, Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>>
>>
>> On Wed, Jul 12, 2017 at 5:22 PM, Stephane Ducasse <
>> stepharo.s...@gmail.com> wrote:
>>
>>> Hi mariano
>>>
>>> what kind of help do you want?
>>>
>>>
>> Hi Stef,
>>
>> We are now at the stage where we are ready to solicit individual and
>> institutional beta users to provide feedback on the features and help with
>> quality control. And after several years of self-funding the project, we
>> are also actively seeking funding in order to expand our development team. As
>> you can hopefully tell from our videos, we built Quuve from the bottom-up,
>> and our goal is to build the premiere investment management platform for
>> investors of all sizes. Though Quuve is already quite powerful, indeed far
>> more so than most tools on the market, we have a long-term vision we wish
>> to see through, and this requires partnering with an institutional user
>> and/or raising outside capital in the near future.
>>
>> Whether it be email blasts, reblogging about our software, or reaching
>> out to technology investors you may know personally, we would appreciate
>> any help you could provide that would assist us in finding these beta
>> testers and institutional partners/investors.
>>
>> Thanks,
>>
>>
>>
>>> Stef
>>>
>>>
>>> On Wed, Jul 12, 2017 at 9:53 PM, Mariano Martinez Peck
>>>  wrote:
>>> > Hi all,
>>> >
>>> > A while back our team presented Quuve [1], a customizable investment
>>> > management ecosystem for professional investors. We also discussed the
>>> > technologies employed to build it [2] (it is developed on Pharo and
>>> deployed
>>> > on GemStone). We are reaching out again because we recently revamped
>>> our
>>> > website [3] and created a number of promotional videos that demonstrate
>>> > Quuve's power [4]. We would appreciate your help in marketing our
>>> wares!
>>> >
>>> > Quuve is the world's first fully integrated and customizable research
>>> and
>>> > portfolio management platform. The system offers powerful features
>>> never
>>> > before seen by the investment community and it empowers users to tailor
>>> > tools in ways that accommodate their idiosyncratic investment style.
>>> In the
>>> > coming years, customization, data-inheritance, shared databases,
>>> > machine-learning, and robo-trading will become standard among
>>> investors of
>>> > all sizes, and we expect Quuve will blaze the trail.
>>> >
>>> > If you have any questions about Quuve please let us know.
>>> >
>>> > [1] http://pharo.org/success/Quuve
>>> > [2] http://forum.world.st/Fwd-Debris-Quuve-Technologies-used-td4
>>> 819786.html
>>> > [3] http://www.debrispublishing.com/
>>> > [4]
>>> > https://www.youtube.com/watch?list=PLfTMPTPc22sGNrm2rXt8kD-9
>>> iFTgqbAUG&v=zdm4CVse2Hc
>>> >
>>> > Thanks,
>>> >
>>> > --
>>> > Mariano
>>> > http://marianopeck.wordpress.com
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


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


[Pharo-dev] remote logging tool?

2017-07-14 Thread Mariano Martinez Peck
Guys,

I was wondering if there is already a wrapper to any of the typical loggers
like Loggly, logentries, sumologic , papertrail, etc...

thanks,

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


Re: [Pharo-dev] [OFFTOPIC] Update: Debris Publishing / Quuve Research & Portfolio Management Platform

2017-07-12 Thread Mariano Martinez Peck
On Wed, Jul 12, 2017 at 5:22 PM, Stephane Ducasse 
wrote:

> Hi mariano
>
> what kind of help do you want?
>
>
Hi Stef,

We are now at the stage where we are ready to solicit individual and
institutional beta users to provide feedback on the features and help with
quality control. And after several years of self-funding the project, we
are also actively seeking funding in order to expand our development team. As
you can hopefully tell from our videos, we built Quuve from the bottom-up,
and our goal is to build the premiere investment management platform for
investors of all sizes. Though Quuve is already quite powerful, indeed far
more so than most tools on the market, we have a long-term vision we wish
to see through, and this requires partnering with an institutional user
and/or raising outside capital in the near future.

Whether it be email blasts, reblogging about our software, or reaching out
to technology investors you may know personally, we would appreciate any
help you could provide that would assist us in finding these beta testers
and institutional partners/investors.

Thanks,



> Stef
>
>
> On Wed, Jul 12, 2017 at 9:53 PM, Mariano Martinez Peck
>  wrote:
> > Hi all,
> >
> > A while back our team presented Quuve [1], a customizable investment
> > management ecosystem for professional investors. We also discussed the
> > technologies employed to build it [2] (it is developed on Pharo and
> deployed
> > on GemStone). We are reaching out again because we recently revamped our
> > website [3] and created a number of promotional videos that demonstrate
> > Quuve's power [4]. We would appreciate your help in marketing our wares!
> >
> > Quuve is the world's first fully integrated and customizable research and
> > portfolio management platform. The system offers powerful features never
> > before seen by the investment community and it empowers users to tailor
> > tools in ways that accommodate their idiosyncratic investment style. In
> the
> > coming years, customization, data-inheritance, shared databases,
> > machine-learning, and robo-trading will become standard among investors
> of
> > all sizes, and we expect Quuve will blaze the trail.
> >
> > If you have any questions about Quuve please let us know.
> >
> > [1] http://pharo.org/success/Quuve
> > [2] http://forum.world.st/Fwd-Debris-Quuve-Technologies-used-
> td4819786.html
> > [3] http://www.debrispublishing.com/
> > [4]
> > https://www.youtube.com/watch?list=PLfTMPTPc22sGNrm2rXt8kD-9
> iFTgqbAUG&v=zdm4CVse2Hc
> >
> > Thanks,
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
>
>


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


Re: [Pharo-dev] [OFFTOPIC] Update: Debris Publishing / Quuve Research & Portfolio Management Platform

2017-07-12 Thread Mariano Martinez Peck
BTW, thanks for creating the ycombinator post!

https://news.ycombinator.com/item?id=14756598#14757008

Cheers,

On Wed, Jul 12, 2017 at 4:53 PM, Mariano Martinez Peck <
marianop...@gmail.com> wrote:

> Hi all,
>
> A while back our team presented Quuve [1], a customizable investment
> management ecosystem for professional investors. We also discussed the
> technologies employed to build it [2] (it is developed on Pharo and
> deployed on GemStone). We are reaching out again because we recently
> revamped our website [3] and created a number of promotional videos that
> demonstrate Quuve's power [4]. We would appreciate your help in marketing
> our wares!
>
> Quuve is the world's first fully integrated and customizable research and
> portfolio management platform. The system offers powerful features never
> before seen by the investment community and it empowers users to tailor tools
> in ways that accommodate their idiosyncratic investment style. In the
> coming years, customization, data-inheritance, shared databases,
> machine-learning, and robo-trading will become standard among investors of
> all sizes, and we expect Quuve will blaze the trail.
>
> If you have any questions about Quuve please let us know.
>
> [1] http://pharo.org/success/Quuve
> [2] http://forum.world.st/Fwd-Debris-Quuve-Technologies-used
> -td4819786.html
> [3] http://www.debrispublishing.com/
> [4] https://www.youtube.com/watch?list=PLfTMPTPc22sGNrm2rXt8
> kD-9iFTgqbAUG&v=zdm4CVse2Hc
>
> Thanks,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



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


[Pharo-dev] Do we have a full CSS parser?

2017-05-22 Thread Mariano Martinez Peck
If so, where?

Thanks!

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


Re: [Pharo-dev] Can this regex be implemented in Pharo's one?

2017-05-22 Thread Mariano Martinez Peck
On Mon, May 22, 2017 at 4:30 PM, Max Leske  wrote:

>
> On 22 May 2017, at 20:50, Mariano Martinez Peck 
> wrote:
>
> Hi guys,
>
> I have this Javascript regex to prefix CSS rules to a given ID:
>
> css = css.replace(/([,|\}][\s$]*)([\.#]?-?[_a-zA-Z]+[_a-zA-Z0-9-]*)/g,
>  "$1" + "#myDiv" + " $2”);
>
>
> /([,|}][\s$]*)([.#]?-?[_a-zA-Z]+[_a-zA-Z0-9\-]*)
>

Thanks Max,

That allows me to create the regex correctly (well at least it doesn't
fail). But how can I now make the translate, for  example, from this input:

' .aClass { color: red ; } '

to

'#myDiv .aClass {  color: red; }'



Thanks!


>
>
> HTH,
> Max
>
>
> I am trying to make this work on Pharo (and then I will need in GemStone)
> but I am getting errors while trying to create the regex itself. I am very
> far from being a regex expert (I got that regex from StackOverflow). Any
> help is appreciated.
>
> Cheers,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


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


[Pharo-dev] Can this regex be implemented in Pharo's one?

2017-05-22 Thread Mariano Martinez Peck
Hi guys,

I have this Javascript regex to prefix CSS rules to a given ID:

css = css.replace(/([,|\}][\s$]*)([\.#]?-?[_a-zA-Z]+[_a-zA-Z0-9-]*)/g,
 "$1" + "#myDiv" + " $2");

I am trying to make this work on Pharo (and then I will need in GemStone)
but I am getting errors while trying to create the regex itself. I am very
far from being a regex expert (I got that regex from StackOverflow). Any
help is appreciated.

Cheers,

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


Re: [Pharo-dev] Class syntax brainstorming

2017-05-22 Thread Mariano Martinez Peck
Honestly, I do not like that much having a more declarative (less
Smalltalksish) definition. In fact, one of the things I was always proud of
showing to Smalltalk newcomers, that when they created a class, all they
were doing was a "DoIt" to tell the superclass to create the new subclass.
And then showing how they could copy and paste that into a workspace and
DoIt. Or Debug it.

So..if it were for me, I would keep a Smalltalk syntax with a plain message
send. Sure, a builder kind of API is better to me, like Luc proposes. Also,
I do prefer too the #createAndInstall kind of message so that we can have a
flavour of #createClass that only creates the class but doesn't install it
into the system.

Cheers,

On Mon, May 22, 2017 at 10:48 AM, Ben Coman  wrote:

>
>
> On Mon, May 22, 2017 at 3:25 PM, Luc Fabresse 
> wrote:
>
>> Hi,
>>
>> Following Pharo Days, I brainstormed about some possible class definition
>> syntaxes.
>> What I have in mind:
>>
>> "basic mechanics, only THIS one in the image!"
>> ClassDefinition new
>> superclass: Object; "optional. If not specified, Object by default ;-)"
>> name: #A; "optional and create an anonymous class if not specified"
>> instVars: 'a b c';
>> traits: {TEquality};
>> package: 'Plop';
>> createClass. " this message sent might be hidden by the browser when
>> accepting"
>>
>> "---"
>> "Some IDEAS (but I did not find one that I really like) of
>> scripting/shorter syntaxes that must ALWAYS end up calling the above basic
>> mechanics at the end:"
>>
>> Class fromDefinition: [ :def |
>> def name: #sub;
>> instVars: 'w r g';
>> superclass: Object ].
>>
>> Object subclass  "<-- returns a subclass of Object but the problem is
>> that the new class is muted
>>
>
> (btw, I assume you mean mutated.)
>
>
>> each time and the class definition is not explicit"
>> name: #A;
>> ivs: 'a b c';
>> traits: { TEquality }.
>>
>
> What about...
>
>Object subclass: [ :def | def
> name: 'MyClass' ;  "optional and create an anonymous class if not
> specified"
> instanceVariables: 'a b c' ;
> classVariables: 'M N O';
> classInstanceVariables: 'x y z' ;
> traits: {TEquality} ;
> package: 'Plop'].
>
>Object>>subclass: builderBlock
>^ (builderBlock value: ClassDefinition new) createClass
>
> or similar to Guille's declarative proposal...
>
>Object subclass: {
>name: 'Myclass',
>   a: InstVar,
>   b: InstVar,
>   c: InstVar
>}
>
>
> cheers -ben
>



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


Re: [Pharo-dev] Does special delay scheduler class is still needed for OSSubprocess?

2017-05-16 Thread Mariano Martinez Peck
Denis, Max,

On master you can find the scheduler change rollbacked. I will soon release
a new version 0.2.5 but not just yet. So as for testing purpose, give it a
try with master.

Cheers,

On Tue, May 16, 2017 at 10:07 AM, Mariano Martinez Peck <
marianop...@gmail.com> wrote:

>
>
> On Tue, May 16, 2017 at 9:55 AM, Denis Kudriashov 
> wrote:
>
>>
>> 2017-05-16 14:51 GMT+02:00 Denis Kudriashov :
>>
>>> We can do a new release with the undo of this scheduler change and give
>>>> it a try. What do you think?
>>>
>>>
>>> yes, why not
>>
>>
>> But does original issue was related to itimer VM problems or not?
>>
>
> No
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



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


Re: [Pharo-dev] Is there a way to know if I am in iTimer VM?

2017-05-16 Thread Mariano Martinez Peck
On Tue, May 16, 2017 at 11:00 AM, Alistair Grant 
wrote:

>
>
> On 16 May 2017 15:36, "Mariano Martinez Peck" 
> wrote:
>
> Guys,
>
> As you know, OSSubprocess does not work correctly in Linux unless you use
> the iTimer VM. I would like to open a warning (that growl thingy on bottom
> left of the screen) or something at loading / install time if I can detect
> I am under Linux AND under traditional linux VM (not itimer).
>
>
> I thought it was the other way around, it doesn't work properly in itimer,
> only in threaded heartbeat?
>
>

yes, sorry, I said it the wrong way!.


> Cheers,
> Alistair
>
>
>


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


Re: [Pharo-dev] Is there a way to know if I am in iTimer VM?

2017-05-16 Thread Mariano Martinez Peck
OK... yeah, I don't know if that's accessible to the VM.

And related questions... could it be that for 6.0 the "default" linux VM is
now threaded heartbeat rather than itimer? That looks like based on [1].

Also, for Pharo 5.0 which is the official place to download the threaded
heartbeat Linux 32 bits VM?

Please can someone confirm?

Thanks in advance,

https://bintray.com/opensmalltalk/vm/cog#files

On Tue, May 16, 2017 at 10:42 AM, Max Leske  wrote:

> The --version command line option to the VM prints "ITHB" as part of the
> version for itimer VM's. Not sure whether that is accessible from within
> the image though.
>
> Cheers,
> Max
>
> On 16 May 2017, at 15:35, Mariano Martinez Peck 
> wrote:
>
> Guys,
>
> As you know, OSSubprocess does not work correctly in Linux unless you use
> the iTimer VM. I would like to open a warning (that growl thingy on bottom
> left of the screen) or something at loading / install time if I can detect
> I am under Linux AND under traditional linux VM (not itimer).
>
> Do you know how can I do that?
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


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


[Pharo-dev] Is there a way to know if I am in iTimer VM?

2017-05-16 Thread Mariano Martinez Peck
Guys,

As you know, OSSubprocess does not work correctly in Linux unless you use
the iTimer VM. I would like to open a warning (that growl thingy on bottom
left of the screen) or something at loading / install time if I can detect
I am under Linux AND under traditional linux VM (not itimer).

Do you know how can I do that?

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


Re: [Pharo-dev] Does special delay scheduler class is still needed for OSSubprocess?

2017-05-16 Thread Mariano Martinez Peck
On Tue, May 16, 2017 at 9:55 AM, Denis Kudriashov 
wrote:

>
> 2017-05-16 14:51 GMT+02:00 Denis Kudriashov :
>
>> We can do a new release with the undo of this scheduler change and give
>>> it a try. What do you think?
>>
>>
>> yes, why not
>
>
> But does original issue was related to itimer VM problems or not?
>

No

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


Re: [Pharo-dev] Does special delay scheduler class is still needed for OSSubprocess?

2017-05-16 Thread Mariano Martinez Peck
Hi Denis,

Yes, Max Leske was saying the same thing. Problem is that I changed the
scheduled on purpose. See
https://github.com/marianopeck/OSSubprocess/issues/19  and see the 2 links
mentioned on top.

So... I can undo this change but I suspect I will encounter again the
original one that lead me to this issue. However, as I said to Max, maybe
the "original" problem is already fixed...

We can do a new release with the undo of this scheduler change and give it
a try. What do you think?





On Tue, May 16, 2017 at 9:39 AM, Max Leske  wrote:

> Hi Denis
>
> Mariano is currently deciding what to do with it. See issue
> https://pharo.fogbugz.com/f/cases/20044/DelayMillisecondScheduler-
> leads-to-UI-lockup
>
>
> Cheers,
> Max
>
> On 16 May 2017, at 14:29, Denis Kudriashov  wrote:
>
> Hi.
>
> I found that baseline of OSSubprocess project modifies delay scheduler
> class.
> Is it still needed?
> Is it related to itimer heartbeat VM issues?
>
>
>


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


Re: [Pharo-dev] Does OSSubprocess works on ARM vm?

2017-05-15 Thread Mariano Martinez Peck
Denis, you can also have shortcut methods to call shell from OSSubprocess.
See the tests under "tests - shell" protocol.

Cheers,

On Mon, May 15, 2017 at 8:00 AM, Denis Kudriashov 
wrote:

>
> 2017-05-15 12:13 GMT+02:00 K K Subbu :
>
>> ~ is a shell language synonym for $HOME. Both are expanded by the shell
>> before calling file syscall in the kernel. Kernel's filename resolver does
>> not do ~ or $HOME expansions.
>>
>
> Thanks Subbu :)
>



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


Re: [Pharo-dev] Does OSSubprocess works on ARM vm?

2017-05-12 Thread Mariano Martinez Peck
 I don't know. Can you at least try for the first time in a 32 bits ARM
?

On Fri, May 12, 2017 at 5:00 AM, Denis Kudriashov 
wrote:

> Hi.
>
> I decided to ask before I will try it.
>
> Best regards,
> Denis
>



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


Re: [Pharo-dev] [Moose-dev] Re: [ann] gt4gemstone

2017-05-02 Thread Mariano Martinez Peck
On Wed, May 3, 2017 at 1:55 AM, Tudor Girba  wrote:

> Hi,
>
> > On May 3, 2017, at 1:00 AM, Mariano Martinez Peck 
> wrote:
> >
> > Hi Doru,
> >
> > That's very cool! I am on vacation now so I don't have much time to take
> a deeper look.
> > Quick questions:
> > 1) is this using the CGI FFI port I did for Pharo 5 UFFI?
>
> Of course :).
>


Cool!  I am glad that is being used and that it was worth! I still remember
the skype call we had some time ago :)


>
> > 2) Which pharo and gemstone versions are supported? Does this work for
> Pharo 5.0 and GemStone 3.3.3 ?
>
> - Pharo 5.0, Pharo 6.0.
> - GemStone 3.3.3
>
>
Excellent. That fits my client app. I will try to test it when I am back.

Best,



> Cheers,
> Doru
>
>
> > Thanks!
> >
> >
> > On Tue, May 2, 2017 at 6:29 PM, Tudor Girba 
> wrote:
> > Hi,
> >
> > feenk.com is proud to announce gt4gemstone, a version of the Glamorous
> Toolkit aimed at supporting remote development with GemStone/S from Pharo.
> gt4gemstone is released as an open-source project under the MIT license and
> was built primarily by Andrei Chis with some marginal contributions from me.
> >
> > The project is hosted at:
> > https://github.com/feenkcom/gt4gemstone
> >
> > The toolkit currently offers several features:
> > • Remote Playground
> > • Remote Inspector with extensions that can be coded exactly
> like the ones in Pharo
> > • Remote Debugger with mixed stacks (Pharo and GemStone)
> > • Basic Remote Code Browser
> > • Remote Session Handler
> > • Integration with Roassal
> > • A Glamour-specific proxy model for efficient serialization of
> Glamour presentations
> > • A basic proxy model for working with any remote objects from
> GemStone
> >
> > One particular aspect that we focused on is performance. So much so,
> that at one point inspecting objects in gt4gemstone was faster than doing
> them locally. In the meantime, the GT inspector from Pharo also received an
> upgrade.
> >
> > But, perhaps the most exciting thing about this project is that most
> extensions of the inspector can be expressed exactly in the same way both
> in Pharo and in GemStone, and this makes the scenario of building in Pharo
> and deploying in GemStone even more appealing.
> >
> > The official announcement with some extra details can be found here:
> > http://www.humane-assessment.com/blog/introducing-gt4gemstone/
> >
> > Cheers,
> > Tudor
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "There are no old things, there are only old ways of looking at them."
> >
> >
> >
> >
> > ___
> > Moose-dev mailing list
> > moose-...@list.inf.unibe.ch
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
> >
> >
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
> > ___
> > Moose-dev mailing list
> > moose-...@list.inf.unibe.ch
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> “Live like you mean it."
>
> ___
> Moose-dev mailing list
> moose-...@list.inf.unibe.ch
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>



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


Re: [Pharo-dev] [Moose-dev] [ann] gt4gemstone

2017-05-02 Thread Mariano Martinez Peck
Hi Doru,

That's very cool! I am on vacation now so I don't have much time to take a
deeper look.
Quick questions:
1) is this using the CGI FFI port I did for Pharo 5 UFFI?
2) Which pharo and gemstone versions are supported? Does this work for
Pharo 5.0 and GemStone 3.3.3 ?

Thanks!


On Tue, May 2, 2017 at 6:29 PM, Tudor Girba  wrote:

> Hi,
>
> feenk.com is proud to announce gt4gemstone, a version of the Glamorous
> Toolkit aimed at supporting remote development with GemStone/S from Pharo.
> gt4gemstone is released as an open-source project under the MIT license and
> was built primarily by Andrei Chis with some marginal contributions from me.
>
> The project is hosted at:
> https://github.com/feenkcom/gt4gemstone
>
> The toolkit currently offers several features:
> • Remote Playground
> • Remote Inspector with extensions that can be coded exactly like
> the ones in Pharo
> • Remote Debugger with mixed stacks (Pharo and GemStone)
> • Basic Remote Code Browser
> • Remote Session Handler
> • Integration with Roassal
> • A Glamour-specific proxy model for efficient serialization of
> Glamour presentations
> • A basic proxy model for working with any remote objects from
> GemStone
>
> One particular aspect that we focused on is performance. So much so, that
> at one point inspecting objects in gt4gemstone was faster than doing them
> locally. In the meantime, the GT inspector from Pharo also received an
> upgrade.
>
> But, perhaps the most exciting thing about this project is that most
> extensions of the inspector can be expressed exactly in the same way both
> in Pharo and in GemStone, and this makes the scenario of building in Pharo
> and deploying in GemStone even more appealing.
>
> The official announcement with some extra details can be found here:
> http://www.humane-assessment.com/blog/introducing-gt4gemstone/
>
> Cheers,
> Tudor
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "There are no old things, there are only old ways of looking at them."
>
>
>
>
> ___
> Moose-dev mailing list
> moose-...@list.inf.unibe.ch
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>



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


Re: [Pharo-dev] [Ann] Calypso system browser

2016-12-28 Thread Mariano Martinez Peck
Wow, it already have features I have wished since long time (like the view
or inherited / filtered methods and multi selection everywhere).

About RB, how much do you plan to integrate? From the screenshots I can see
only a few basic ones. Is the idea to have at least the ones of Nautilus?

Can we add a feature to compare /diff to random methods? Right now nautilus
allows you that but it must be from the same class

Thanks and congratulations! I am eager to test it out.


On Wed, Dec 28, 2016 at 7:03 AM, Denis Kudriashov 
wrote:

>
> 2016-12-28 0:17 GMT+01:00 Cyril Ferlicot D. :
>
>>
>> I'm not a "pro" of ux but at Synectique I make the css of our web tools.
>> So I can try to make some mockup of widgets when I will have some time
>>
>
> It will be really really nice.
>
>
>> but I will not have the time to implements them in Pharo/Morph.
>>
>
> No problem here. I think implementing all "candies" is task for many
> people.
>
>
>>
>> Tomorrow I will send a screen of the nested list we made at Synectique.
>> It's a responsive tree with icons at the right and/or left.
>>
>> And also I know the priority is the features. I just make some notes of
>> the main UI problems because it's something that should not be forgotten
>> after the features implementation :) And I am well aware that it's hard
>> to find time to fix design. (Tests, doc, design, promo, bug correction,
>> speed up… Too much things to do after making a feature :D)
>
>
>
>


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


Re: [Pharo-dev] Nautilus with inline QA?

2016-12-01 Thread Mariano Martinez Peck
Hi Yuriy,

This is much better!!! I have the Nautilus integration ON, but I admit I
sometimes simply forget checking out that much below in the browser. It
does not yet catch up my attention enough to watch it. Maybe it's simple
that I am failing  myself and compromise to watch.
So..having this inline QA would really help me in that direction!!
+999

Cheers,



On Thu, Dec 1, 2016 at 7:27 AM, Denis Kudriashov 
wrote:

>
> 2016-12-01 10:19 GMT+01:00 Esteban Lorenzano :
>
>> yes please.
>> this is a “first impressions count”: no api change but UI change that
>> makes our lives a bit better and pharo a bit cooler :)
>>
>> So: active by default, opening a the box in preferences.
>>
>
> +1
>



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


Re: [Pharo-dev] [Pharo-users] Using a Unix filedescriptor in a FileStream?

2016-11-01 Thread Mariano Martinez Peck
Thanks Esteban,

If tomorrow you confirm it, please let me know.

Cheers,

On Tue, Nov 1, 2016 at 3:49 PM, Esteban Lorenzano 
wrote:

> I think it already got inside in the development branch (still not the
> official one).
> I will check better tomorrow.
>
> Esteban
>
> On 1 Nov 2016, at 16:34, Mariano Martinez Peck 
> wrote:
>
> Hi Holger, Esteban, et all
>
> What is the status of https://github.com/pharo-project/pharo-vm/pull/108
> ?
> Will this be finally integrated or not? Because I updated OSSubprocess to
> take benefit of this PR (OSSubprocess is much better with this PR), but I
> will have to revert it if the PR is not merged :(
>
> Thanks,
>
>
>
>
>
> On Fri, Sep 23, 2016 at 5:40 AM, Holger Freyther 
> wrote:
>
>>
>> > On 23 Sep 2016, at 02:44, Ronie Salgado  wrote:
>> >
>> > Hi Holger,
>>
>> Hi!
>>
>>
>> > Currently the events given by this API are only holding a copy of the
>> raw inotify event in rawEvent and a copy of the raw path in rawPath.
>> Further work is required for translating the events into a more platform
>> independent interface, and for supporting OS X and Windows with this API.
>> However, this is already something that could be useful to you.
>>
>> if I see it correctly you start a poll loop (wait 100ms then call epoll
>> wait)? Would you be interested to try to use AioEventHandler with the
>> primitive I proposed?
>>
>> regards
>> holger
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


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


Re: [Pharo-dev] [Pharo-users] Using a Unix filedescriptor in a FileStream?

2016-11-01 Thread Mariano Martinez Peck
Hi Holger, Esteban, et all

What is the status of https://github.com/pharo-project/pharo-vm/pull/108 ?
Will this be finally integrated or not? Because I updated OSSubprocess to
take benefit of this PR (OSSubprocess is much better with this PR), but I
will have to revert it if the PR is not merged :(

Thanks,





On Fri, Sep 23, 2016 at 5:40 AM, Holger Freyther  wrote:

>
> > On 23 Sep 2016, at 02:44, Ronie Salgado  wrote:
> >
> > Hi Holger,
>
> Hi!
>
>
> > Currently the events given by this API are only holding a copy of the
> raw inotify event in rawEvent and a copy of the raw path in rawPath.
> Further work is required for translating the events into a more platform
> independent interface, and for supporting OS X and Windows with this API.
> However, this is already something that could be useful to you.
>
> if I see it correctly you start a poll loop (wait 100ms then call epoll
> wait)? Would you be interested to try to use AioEventHandler with the
> primitive I proposed?
>
> regards
> holger
>



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


Re: [Pharo-dev] Spur VM Bug for Chinese Characters?

2016-10-14 Thread Mariano Martinez Peck
On Fri, Oct 14, 2016 at 1:26 PM, Sean P. DeNigris 
wrote:

> I serialized an object graph with lots of Chinese characters in Pharo 4.0.
> I
> have been able to rematerialize it back into Pharo 4.0. However, when I try
> to materialize into a Pharo 5.0 image, I get "PrimitiveFailed: primitive
> #value: in Character class failed" from `Character class>>#value:
> 1310876005`. The only difference immediately apparent is the VM (both via
> Launcher; details below).
>
> More generally, I'm interested in debugging techniques for Fuel. How would
> I
> drill down and isolate the problem?
>
>

There is some info here:

http://rmod.inria.fr/web/software/Fuel/Version1.9/Documentation/Debugging?_s=k8h-JSC-vnG9_uYx&_k=PUSf9-uAFbE4WoN5&_n&24



> Thanks!
>
> 5.0 VM:
> Virtual Machine
> ---
> /Applications/Pharo.app/Contents/MacOS/Pharo
> CoInterpreter VMMaker.oscog-eem.1855 uuid:
> d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
> StackToRegisterMappingCogit VMMaker.oscog-eem.1855 uuid:
> d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
> https://github.com/pharo-project/pharo-vm.git Commit:
> b8ec25a570d7539653e1d793e97609adb509aaed Date: 2016-05-04 11:14:22 +0200
> By:
> Esteban Lorenzano  Jenkins build #589
>
> Mac Cocoa Cog 5.8b12 21-Sep-10 >1B0534FA-246C-47C5-AB29-7A76C81CCDCB<
> VMMaker versionString https://github.com/pharo-project/pharo-vm.git
> Commit:
> b8ec25a570d7539653e1d793e97609adb509aaed Date: 2016-05-04 11:14:22 +0200
> By:
> Esteban Lorenzano  Jenkins build #589
> CoInterpreter VMMaker.oscog-eem.1855 uuid:
> d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
> StackToRegisterMappingCogit VMMaker.oscog-eem.1855 uuid:
> d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
>
> VS.
>
> 4.0 VM:
> Virtual Machine
> ---
> /Applications/Pharo.app/Contents/Resources/vm/40/
> Pharo.app/Contents/MacOS/Pharo
> NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.21 uuid:
> 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Apr  2 2015
> NBCogit NativeBoost-CogPlugin-EstebanLorenzano.21 uuid:
> 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Apr  2 2015
> https://github.com/pharo-project/pharo-vm.git Commit:
> 32d18ba0f2db9bee7f3bdbf16bdb24fe4801cfc5 Date: 2015-03-24 11:08:14 +0100
> By:
> Esteban Lorenzano  Jenkins build #14904
>
> Mac Cocoa Cog 5.8b12 21-Sep-10 >1B0534FA-246C-47C5-AB29-7A76C81CCDCB<
> VMMaker versionString https://github.com/pharo-project/pharo-vm.git
> Commit:
> 32d18ba0f2db9bee7f3bdbf16bdb24fe4801cfc5 Date: 2015-03-24 11:08:14 +0100
> By:
> Esteban Lorenzano  Jenkins build #14904
> NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.21 uuid:
> 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Apr  2 2015
> NBCogit NativeBoost-CogPlugin-EstebanLorenzano.21 uuid:
> 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Apr  2 2015
>
>
>
> -
> Cheers,
> Sean
> --
> View this message in context: http://forum.world.st/Spur-VM-
> Bug-for-Chinese-Characters-tp4918883.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


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


Re: [Pharo-dev] [Pharo-users] [ANN] Basic GitHub-API for Pharo

2016-09-23 Thread Mariano Martinez Peck
Thanks for sharing this. I did not yet read the documentation (I will soon)
but I wonder what is the difference with

http://forum.world.st/ANN-GitHub-API-Bindings-new-version-td4873091.html

Thanks in advance!

On Fri, Sep 23, 2016 at 10:05 AM, Torsten Bergmann  wrote:

> Hi,
>
> to get warm with Git, GitFileTree and Iceberg last week I was in need of
> something
> quick I could implement to try these new tools out.
>
> While being on my GitHub webpage I've seen at the bottom a link to "API"
> and was happily surprised that GitHub could be accessed also with a REST
> API.
>
> So I wrapped a few of these calls within Pharo and now you can also query
> GitHub infos easily from inside of the image:
>
>(GitHub userNamed: 'astares') avatar inspect"Returns the avatar
> form"
>
>(GitHub userNamed: 'pharo-project') isOrganization
>
>(GitHubUser named: 'pharo-project') repositories
>
> Code could be improved and extended further, possible also be used for
> accessing/controlling GitHub from Iceberg later.
>
> If you want to play with it just load it from Catalog in Pharo 6.0.
>
> Code and docu is available on https://github.com/astares/GitHub-API
>
> Have fun
> T.
>
>


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


[Pharo-dev] C Variadic Functions via UFFI?

2016-09-22 Thread Mariano Martinez Peck
Hi guys,

I am wondering if I can wrap some variadic functions (with optional
arguments) with UFFI. Is this possible? If true, how so? For my particular
use case, I am checking if I can call fcntl()
which has a third optional argument.

Thanks in advance,

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


Re: [Pharo-dev] error: cannot find OpenSSL or Libgcrypt when creating the VM on OSX

2016-09-22 Thread Mariano Martinez Peck
Hi Alex,

I was having the same issue since a long time. And I always have to
workaround as Esteban suggested (explicitly removing the libssh2 third
party). But that was painful as I wanted a running out of the box
situation. I tried a couple of things and none worked until I run the
following from command line:

 xcode-select --install

That allowed me to install/update command line tools from Xcode and that
made it work.

Cheers,

On Tue, Mar 1, 2016 at 9:50 AM, Esteban Lorenzano 
wrote:

> you have a dependency conflict.
> but most probably you do not need those plugins. Why do you want to build
> VM by your own?
>
> In any case, you can just remove those dependencies for you build… after
> if you need it you can check what conflicts:
>
> buildMacOSX32
> "Build with freetype, cairo, osprocess"
> PharoSpur32OSXConfig new
> generationType: generationType;
> addExternalPlugins: #( FT2Plugin );
> addInternalPlugins: #( UnixOSProcessPlugin );
> addThirdpartyLibraries: #(
> 'cairo'
> ‘libgit2’
> 'libssh2'
> 'libsdl2');
> generateSources;
> generate.
>
> you can remove all the third party libraries section.
>
> Esteban
>
> > On 28 Feb 2016, at 22:32, Alexandre Bergel 
> wrote:
> >
> > Here is the trace of the build.sh
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> > checking for _FILE_OFFSET_BITS value needed for large files... no
> > checking for ld used by GCC... /Applications/Xcode.app/
> Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
> > checking if the linker (/Applications/Xcode.app/
> Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU
> ld... no
> > checking for shared library run path origin... done
> > checking for libssl... no
> > checking for libgcrypt... no
> > configure: error: cannot find OpenSSL or Libgcrypt,
> > try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH
> > make[2]: *** [thirdParty/libssh2/src/libssh2-stamp/libssh2-configure]
> Error 1
> > make[1]: *** [thirdParty/libssh2/CMakeFiles/libssh2.dir/all] Error 2
> > make: *** [all] Error 2
> > ~/Desktop/VM_TMP/pharo-vm/build> brew install OpenSSL
> > Warning: openssl-1.0.2a-1 already installed
> > ~/Desktop/VM_TMP/pharo-vm/build> brew install Libgcrypt
> > ==> Downloading ftp://ftp.gnupg.org/gcrypt/
> libgcrypt/libgcrypt-1.6.3.tar.bz2
> > Already downloaded: /Library/Caches/Homebrew/libgcrypt-1.6.3.tar.bz2
> > ==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/
> libgcrypt/1.6.
> > ==> make
> > ==> make check
> >
> > Please report to http://bugs.gnupg.org
> > ==
> > make[2]: *** [check-TESTS] Error 1
> > make[1]: *** [check-am] Error 2
> > make: *** [check-recursive] Error 1
> >
> > READ THIS: https://git.io/brew-troubleshooting
> >
> > ~/Desktop/VM_TMP/pharo-vm/build>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >
> >
> >
> >
> >
> > ~/Desktop/VM_TMP/pharo-vm/build> gcc --version
> > Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
> --with-gxx-include-dir=/Applications/Xcode.app/
> Contents/Developer/Platforms/MacOSX.platform/Developer/
> SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
> > Apple LLVM version 7.0.2 (clang-700.1.81)
> > Target: x86_64-apple-darwin15.2.0
> > Thread model: posix
> > ~/Desktop/VM_TMP/pharo-vm/build>
> >
> >
> >
> > No idea what’s going on…
> > Help :-)
> >
> > Alexandre
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
>
>
>


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


Re: [Pharo-dev] SUnit improvements need review and feedback

2016-09-05 Thread Mariano Martinez Peck
On Mon, Sep 5, 2016 at 3:18 PM, Guille Polito 
wrote:

> Hola,
>
> for the record, I'm using OSSubprocess in several projects and it's pretty
> robust.
>


Good to hear that.



> The problems I had were because either:
>
> - I was using it wrongly. e.g., I was deadlocking my process due to a
> process that was writing a lot to stdout. I fixed this after I read the
> entire documentation. I think that there should be a better warning at the
> beginning of the docs because all the starting examples do not use polling,
> and then this may create problems (because people read the documentation
> until they found what they needed, they will not read the entire thing ^^)
>


Indeed. But at the same time it's not that frequent to write that much into
the stdout.


>
> - Or there was a library that was creating some noise with it. I remember
> at some point Seamless and OSSubprocess together were a crash factory. So
> I'm restarting now again with those two.
>
> The thing is that it is really frustrating to have crashes all day long
> with something that should not crash :( It's not that I'm messing with the
> VM, or that I do not know what I am doing...
>
>
Exactly.  That's why I really want to fix that (even if this is not
OSSubprocess fault). And I was unable so far :(



>
>  Original Message 
>
> Guille,
>
> Just for the record, there has been some crashes in Pharo using
> OSSubprocess, but I (we) were never able to reproduce nor found the cause,
> and even less a fix :(
> Soany help in this direction is really appreciated as I want
> OSSubprocess to be robust.
>
> Cheers,
>
> On Mon, Sep 5, 2016 at 2:53 PM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>> I mean crash.
>>
>> Somehow my image's processes were killed and I only had the UI process:
>> no delay process, no finalization, no idle process. Then, when the VM tries
>> to suspend the current process and change to a second one, it finds none
>> and it just quits.
>>
>> So it's not a VM problem I think but mostly something in the image.
>>
>> And in any case, now that I'm with a colder head (because I was mad after
>> losing a couple of hours of work this afternoon :)) ):
>>
>>  - first, I could not load OSSubprocess in latest pharo. I saw there were
>> *two* test watcher processes and *killed* them.
>>  - then, I could load OSSubprocess, but it started crashing the image
>> when running the tests from nautilus.
>>  - I tested with complex and simple OSSubprocess calls and I got always
>> the same result
>>  - I even removed the child watcher process to see if that was the
>> problem, but still crashing.
>>
>> In any case, I'm not sure that this is because of this addition, it's
>> just a hunch for the moment.
>>
>>
>> On Mon, Sep 5, 2016 at 7:47 PM, stepharo  wrote:
>>
>>>
>>> ARgh, since this got integrated I keep crashing images...

>>>
>>>
>>> do you mean real crash or DNU.
>>> Because indeed I got some crashes too.
>>>
>>>
>>>
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


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


Re: [Pharo-dev] SUnit improvements need review and feedback

2016-09-05 Thread Mariano Martinez Peck
Guille,

Just for the record, there has been some crashes in Pharo using
OSSubprocess, but I (we) were never able to reproduce nor found the cause,
and even less a fix :(
Soany help in this direction is really appreciated as I want
OSSubprocess to be robust.

Cheers,

On Mon, Sep 5, 2016 at 2:53 PM, Guillermo Polito 
wrote:

> I mean crash.
>
> Somehow my image's processes were killed and I only had the UI process: no
> delay process, no finalization, no idle process. Then, when the VM tries to
> suspend the current process and change to a second one, it finds none and
> it just quits.
>
> So it's not a VM problem I think but mostly something in the image.
>
> And in any case, now that I'm with a colder head (because I was mad after
> losing a couple of hours of work this afternoon :)) ):
>
>  - first, I could not load OSSubprocess in latest pharo. I saw there were
> *two* test watcher processes and *killed* them.
>  - then, I could load OSSubprocess, but it started crashing the image when
> running the tests from nautilus.
>  - I tested with complex and simple OSSubprocess calls and I got always
> the same result
>  - I even removed the child watcher process to see if that was the
> problem, but still crashing.
>
> In any case, I'm not sure that this is because of this addition, it's just
> a hunch for the moment.
>
>
> On Mon, Sep 5, 2016 at 7:47 PM, stepharo  wrote:
>
>>
>> ARgh, since this got integrated I keep crashing images...
>>>
>>
>>
>> do you mean real crash or DNU.
>> Because indeed I got some crashes too.
>>
>>
>>
>>
>


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


  1   2   3   4   5   >