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

2020-06-30 Thread Damien Pollet
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 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


Re: [Pharo-dev] [ANN] New Headless VM (Still Alpha, but getting better)

2020-02-03 Thread Damien Pollet
just tried it (from get.pharo.org/64/vmHeadlessLatest90), but the VM I get
says this:
./pharo --version
Pharo 8.2.0 built on Dec 25 2019 …

On Tue, 28 Jan 2020 at 10:35, teso...@gmail.com  wrote:

> A new version of the headless VM is available.
>
> It can be downloaded from:
>
>
> https://files.pharo.org/vm/pharo-spur64-headless/win/PharoVM-8.3.0-b612fd5f-win64-bin.zip
>
> https://files.pharo.org/vm/pharo-spur64-headless/linux/PharoVM-8.3.0-b612fd5-linux64-bin.zip
>
> https://files.pharo.org/vm/pharo-spur64-headless/mac/PharoVM-8.3.0-b612fd5-mac64-bin.zip
>
> Or more easily using ZeroConf:
>
> With the image
> $ wget -O - get.pharo.org/64/90+vmHeadlessLatest | bash
>
> Without
> $ wget -O - get.pharo.org/64/vmHeadlessLatest90 | bash
>
> This new version has a series of bugfixes and the following features:
>
> - Update TFFI to v1.2.0: Allowing better marshaling and callbacks from
> outside threads.
> - Update README.md
> - Add instructions on how to create a vmmaker image.
> - Fixing UnixOSProcessPlugin
> - Redefinition of squeakFileOffset
> - Generating include files as an artifact
> - Adding a configurable strategy for reading / writing the image
> - Building using Musl Libc
> - A cleaner implementation of the print to stdout and file.
> - OSX File Dialog
> - OSX icon customization
> - OSX customization for apps.
> - Adding build on GitHub actions
>
> I will like to thank all the contributors specially Guille, Esteban,
> Ronnie. And also, Feenk and Schmidt that they are using it, reporting
> issues and contributing.
>
> Just a friendly reminder, if you want to contribute, you are always
> welcome!!
>
> https://github.com/pharo-project/opensmalltalk-vm
>
> Cheers,
> Pablo
>
> --
> Pablo Tesone.
> teso...@gmail.com
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo 8.0] Build #1040: [easyReview] fixing comment typos

2019-12-05 Thread Damien Pollet
Looks like there's one red bubble for windows in the pipeline steps ?

On Wed, 4 Dec 2019 at 21:45, Esteban Lorenzano  wrote:

> This build in fact has zero errors.
> I wonder why build script still returns 1 (hence exit status is failure).
>
> Any idea?
>
> Esteban
>
> > On 4 Dec 2019, at 17:43, ci-pharo-ci-jenki...@inria.fr wrote:
> >
> > There is a new Pharo build available!
> >
> > The status of the build #1040 was: FAILURE.
> >
> > The Pull Request #5305 was integrated: "[easyReview] fixing comment
> typos"
> > Pull request url: https://github.com/pharo-project/pharo/pull/5305
> >
> > Issue Url: https://github.com/pharo-project/pharo/issues/typo
> > Build Url:
> https://ci.inria.fr/pharo-ci-jenkins2/job/Test%20pending%20pull%20request%20and%20branch%20Pipeline/job/Pharo8.0/1040/
>
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] ESUG 2019 - Call for presentations

2019-05-14 Thread Damien Pollet
In practice, IWST is more like a track within ESUG. One or two afternoons
in a separate room, probably in parallel of some talks in the main room.

On Tue, 14 May 2019 at 22:57, askoh  wrote:

> Are ESUG 2019 and IWST 2019 two difference conferences running in parallel?
> Are they independent of each other?
>
> Thanks,
> Aik-Siong Koh
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About Iceberg

2019-02-19 Thread Damien Pollet


On Tue, 19 Feb 2019 at 10:06, Hilaire  wrote:

> I join your thank you note, although I only use one half, the tonel
> part, it is pleasant to be able to commit to file base repository and
> use related tools.
>
> Le 19/02/2019 à 09:50, Sven Van Caekenberghe a écrit :
> > This is a thank you note about Iceberg.
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Collection groupedBy: and groups order

2018-08-15 Thread Damien Pollet
The problem is, there isn't really an order to preserve in the first place,
since even if the original collection is a sequencable one, the elements of
each group would be interleaved in it. I could see the point of sorting the
keys though.

On Tue, 14 Aug 2018 at 18:32, Petr Fischer via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

> Hello, I found a useful method in the collection - groupedBy: - the result
> container is some PlugableDictionary (integer variant) and group order
> (keys) is not preserved.
>
> Would not it be better to choose some other Dictionary variant, which
> preserve the order of groups (like in source Collection)?
>
> pf
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] New Iceberg Version 1.2.1

2018-08-08 Thread Damien Pollet
First of all, quick stupid question: I'm currently loading my code with
gitlocal://./src as the repository URL (my workflow starts in a terminal
rather than in a Pharo image)
Should I just remove the /src part, now that my repo has the project
metadata?

Also, are more features planned for the .project file? E.g. what about
storing a default selection for Calypso and the Test Runner in there?

On Wed, 8 Aug 2018 at 10:28, Norbert Hartl  wrote:

> - I don’t think there can be a „standard way“ of defining source
> directory. And I don’t think that a tool should enforce this however. I
> keep frontend and backend code in some repositories together so the source
> is in my case in backend/source. What does it mean for users not using the
> „standard“ name?
>

Sure there can. Look at any ruby or maven project, they all have strong
conventions for organizing projects and standard config files for deviating
from those conventions.
I would have preferred if Iceberg picked one convention (arbitrarily) in
the absence of a .project file instead of forcing its explicit presence.
IMHO the choice of default directory per se (be it ./, ./src, ./source or
whatever) matters less than the fact that there is a convention in place.


> - I don’t see why there needs to be a 1:1 relationship between a
> repository and working copy in pharo. It is like this at the moment already
> but the .project file manifests this. So it should not be supported to have
> more source dirs in one git repo? It might be not a good idea that the
> client has to write the source dir but it opens the possibility that there
> can be more than one.
>

I see your point here, but by using separate source directories you're sort
of creating a hydra project… What I mean here is that the source
directories are separate, but their histories are tangled. If you want
separate source dirs it kinda means that you want separate change
histories, doesn't it? What if the same class has diverging definitions in
separate directories (I wonder what maven does in that case…)?

On the other hand, separate source directories would be helpful to work
with git-subrepo and similar tools…

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Stdio>>#standardIOStreamNamed:forWrite: bug?

2018-08-06 Thread Damien Pollet
Yes, they do, at least on my macOS.

I have some doubt about #stdioIsAvailable though… before there was a
possible value of 4 (cygwin terminal) for the file descriptor type, which
is now out of the tested range, is that intentional

On Mon, 6 Aug 2018 at 12:00, Guillermo Polito 
wrote:

> Damien,
>
> Could you check that at least the proposed image-side changes fix your
> problem for *nixes?
>
> On Sat, Aug 4, 2018 at 7:13 PM Sean P. DeNigris 
> wrote:
>
>> Alistair Grant wrote
>> >> Tracking issue:
>> >> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/274
>> > The issue above is for the VM changes.
>> >
>> > The issue for image changes is:
>> > https://pharo.fogbugz.com/f/cases/22296/Stdio-file-creation-fixes
>>
>> Thanks for looking into this, Alistair! Few are brave enough to dive into
>> these dark corners of the system ;-)
>>
>>
>>
>> -
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>>
>>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] IndexedSlots in combination with StatefulTraits

2018-07-18 Thread Damien Pollet
I understand what slots are, but haven't heard of frames in this context…
can you elaborate ?

On Wed, 18 Jul 2018 at 13:44, Reg Krock via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

> The Slot class implementation is fundamentally sound but the larger
> constructs surrounding Frames and Slots still requires extensive thought.
>
> I suspect that you will find that many more changes will be discovered as
> work is done with it.
>
> Slots provide the capacity to implement most of AOP concepts in a simple
> manner. It also results in a Frame model.
>
> I also would suggest careful examination of when to use composition versus
> traits with slots.
>
> Regards
>
> Reg Krock
>
>
> > On 17 Jul2018, at 1:44 PM, Sean P. DeNigris 
> wrote:
> >
> > teso...@gmail.com wrote
> >> the one that is disturbing, it is kept for
> >> compatibility with the old behavior
> >
> > Are there enough users to justify backward compatibility if it costs a
> nice
> > API?
> >
> >
> >
> > -
> > Cheers,
> > Sean
> > --
> > Sent from:
> http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
> >
>
>
>

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo-users] Which command-line handlers do you use most?

2018-07-10 Thread Damien Pollet
On Mon, 9 Jul 2018 at 18:48, Sven Van Caekenberghe  wrote:

> Most used: eval, config, st (default to run script.st)
>

Do you ever use the metacello one instead of config?


> Please make sure to stay as compatible as possible, lots of CI and server
> deploy/run code depends on it.
>

I intend to provide similar features and a path for migrating with minimal
headaches, but there are several idiosyncrasies that I hope to get rid of
as well.
I guess the big users of deploy/run code will come see me at ESUG and we
can see what's best ;-)

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


[Pharo-dev] Which command-line handlers do you use most?

2018-07-09 Thread Damien Pollet
Hi all,

I'm starting to port / reimplement existing command line handlers using
Clap. There's a dozen, but I wonder which ones are the most relied upon,
because it's a good opportunity for refactoring the command line API as a
whole and simplifying it or at least making it more orthogonal.

For instance I discovered there is a "perform" command, which is sort of
redundant with the "eval" one. Similarly there are both a "configuration"
and a "metacello" handlers which seem to have the same exact purpose…

Since Clap can exist besides the current command-line handlers, we can have
a deprecation  period to minimize breakage and leave time for people to
adapt before we kill old command line handlers for real.

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo-users] SmalltalkCI now supports loading tonel-based projects

2018-04-18 Thread Damien Pollet
I can confirm coverage is back. I think the drop is at least partly due to
the changes I did while it was broken.

However the Pharo 7 builds seem to be broken now, with what looks like a
libgit issue… https://travis-ci.org/cdlm/clap-st

On 18 April 2018 at 13:24, Gabriel Cotelli  wrote:

> Hi,
> We managed to implement the coveralls support for Tonel based repos, and
> fixed the problem loading dependencies in Tonel format (by enabling the
> Iceberg-Metacello integration).
>
> So feel free to test it and report any problem detected (it's now merged
> in smalltalkCI/master).
>
> By now the only open issue we known is: https://github.com/pharo-vcs/
> iceberg/issues/643.
>
> Regards,
> Gabriel
>
>
> On Sat, Apr 7, 2018 at 6:28 AM, Peter Uhnák  wrote:
>
>> Hi,
>>
>> SmalltalkCI now supports loading tonel-based projects, so feel free to
>> start using it.
>>
>> The configuration is still the same.
>>
>> Please note that coveralls support for tonel is not yet in place, but
>> that's just a cherry on top. :-)
>>
>> Cheers,
>> Peter
>>
>
>


Re: [Pharo-dev] Environment variables encoding ?

2018-04-17 Thread Damien Pollet
It seems macOS normalizes UTF-8 differently from everyone else in file
names (I think base character + composing instead of precomposed
codepoint). That might affect PWD.
For environment variables, even if most sensible platforms should have
adopted UTF-8 by now, I wouldn't be surprised if there's no official
encoding whatsoever (i.e. they're just bytes with a 0 at the end…)

On 17 April 2018 at 09:36, Sven Van Caekenberghe <s...@stfx.eu> wrote:

> Hi,
>
> The dictionary
>
>  OSPlatform current environment
>
> contains a copy of the OS's environment variables (more correctly of the
> VM process), as key/value pairs.
>
> These are obtained via the following system calls:
>
> on macOS & *nix
>
>   LIBC environ
>
> on Windows
>
>   KERNEL32 GetEnvironmentStrings
>
> It is however a bit unclear how these are encoded. On macOS & *nix that
> seems to be UTF8, on Windows there are some reports that it appears to be
> Latin1 - but both might be locale specific, I don't know either way.
>
> Does anyone know for sure ?
>
> I furthermore think that OSEnvironment and its subclasses, who do this
> call, should be responsible for decoding the C strings into proper Pharo
> strings, and not leave that responsibility to its users.
>
> Fundamentally, in the following, the decoding is still not done correctly
> and that is wrong/confusing IMHO.
>
> $ FOO=benoît ./pharo Pharo.image eval 'OSEnvironment current associations'
> {'TERM_PROGRAM'->'Apple_Terminal'. 'TERM'->'xterm-256color'.
> 'SHELL'->'/bin/bash'. 'TMPDIR'->'/var/folders/sy/
> sndrtj9j1tq06j0lfnshmrl8gn/T/'. 'FOO'->'benoît'.
> 'Apple_PubSub_Socket_Render'->'/private/tmp/com.apple.launchd.uWk7pivcLT/Render'.
> 'TERM_PROGRAM_VERSION'->'404'. 
> 'TERM_SESSION_ID'->'845BECCD-0AB0-4686-B7F9-3A0FF84BDCB7'.
> 'USER'->'sven'. 
> 'SSH_AUTH_SOCK'->'/private/tmp/com.apple.launchd.y5oCwdUyaG/Listeners'.
> 'PATH'->'/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin:/opt/X11/bin'.
> 'PWD'->'/tmp/benoît'. 'XPC_FLAGS'->'0x0'. 'XPC_SERVICE_NAME'->'0'.
> 'HOME'->'/Users/sven'. 'SHLVL'->'2'. 'LOGNAME'->'sven'.
> 'LC_CTYPE'->'UTF-8'. 'DISPLAY'->'/private/tmp/com.
> apple.launchd.lsgASYFiWW/org.macosforge.xquartz:0'.
> 'SECURITYSESSIONID'->'186a9'. 'OLDPWD'->'/tmp/benoît'.
> '_'->'/tmp/benoît/pharo-vm/Pharo.app/Contents/MacOS/Pharo'.
> '__CF_USER_TEXT_ENCODING'->'0x1F5:0x0:0x0'}
>
> Of course, if we change this, we will need to fix callers.
>
> Opinions ?
>
> Sven
>
> PS: Furthermore, I note that there is a subtle difference in how $FOO and
> $PWD in the above are UTF-8 encoded. In the former, normalisation was done,
> in the latter not. Maybe that could lead to problems (when
> comparing/composing them). This is a difficult/complex subject (
> https://medium.com/concerning-pharo/an-implementation-of-unicode-
> normalization-7c6719068f43).
>
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] call for help: answer on HN :)

2018-04-10 Thread Damien Pollet
There's a talk on the state of Clojure which I think resonates a lot with
what we're experiencing in Pharo:
https://www.youtube.com/watch?v=1YCkOo5Y4Oo
Spoiler: he concludes it's better to contribute and discuss issues than to
be all sad and bitter :-)

On 10 April 2018 at 17:37, Sean P. DeNigris <s...@clipperadams.com> wrote:

> philippeback wrote
> > Who would have envisioned the Pharo of today in the beginning?
> > I am thankful for Pharo, trolls be damned.
>
> Absolutely agree!!
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Why is FileSystem's Path class private ?

2018-03-30 Thread Damien Pollet
I understand that when you want to actually open and read/write files, you
have to resolve them in a filesystem and that's what a FileReference is for.

But there are uses for file paths BEFORE you have a filesystem to resolve
them in.

I was talking about a config file, in which some values are file names
(sometimes absolute paths, sometimes relative). In a config file the paths
are not resolved because the filesystem is not known; maybe I want to test
the config file parser, and I don't actually have the matching files, or
maybe they are in a memory filesystem.

Maybe I'm reading a Zip archive and I'm specifying a member of the archive
(so the path does not point to an actual file on disk).

Maybe I'm writing a command-line argument parser, and some arguments are
supposed to be file paths and I want to syntactically validate that aspect.
Or I want to ensure that an argument is relative and not absolute. Or the
argument is a relative path from an implicit origin (unspecified as far as
the commandline parser is concerned); because the origin will be determined
by application code.

In all those use cases, using FileReferences is just incorrect, as we're
not talking about existing files, but about abstract places or navigation
instructions in a hypothetical filesystem.


On 30 March 2018 at 16:57, Alistair Grant <akgrant0...@gmail.com> wrote:

> Hi Damien,
>
> On 30 March 2018 at 14:59, Damien Pollet <damien.pol...@gmail.com> wrote:
> > The class Path from FileSystem is documented as private… but it should be
> > public, shouldn't it?
> >
> > First hint is that it's named with a public name: (Path not
> FileSystemPath).
> >
> > Then, consider the following use-case : if you have a file name in some
> > config file (.ini, .toml…) then that's really a Path, not a resolved
> > FileReference.
>
> The file name is implicitly attached to a file system, so it is
> resolved (using Pharo terminology).  If you pass the path to a
> program, e.g. an editor, it has enough information to be able to open
> the file.
>
> In Unix, everything is mounted on the root file system, so there's no
> need to specify a file system.  Pharo's model allows for multiple file
> systems, e.g. the disk, and multiple memory and zip file systems.
>
> Path's by themselves don't provide much functionality - you can't
> actually access the file or directory you think is represented by the
> path; you have to know which file system the path is attached to.
>
> It's the FileReference that associates the path and the file system,
> and provides all the public interface.
>
> HTH,
> Alistair
>
>
> > I'm not talking about RelativePath and AbsolutePath, those can be hidden
> > away since Path provides the factory and DSL methods. IMHO they should
> still
> > be renamed to a more private name.
> >
> > --
> > Damien Pollet
> > type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


[Pharo-dev] Why is FileSystem's Path class private ?

2018-03-30 Thread Damien Pollet
The class Path from FileSystem is documented as private… but it should be
public, shouldn't it?

First hint is that it's named with a public name: (Path not FileSystemPath).

Then, consider the following use-case : if you have a file name in some
config file (.ini, .toml…) then that's really a Path, not a resolved
FileReference.

I'm not talking about RelativePath and AbsolutePath, those can be hidden
away since Path provides the factory and DSL methods. IMHO they should
still be renamed to a more private name.

--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Epicea changes broken in latest 7

2018-03-20 Thread Damien Pollet
Trying to open Epicea in at least one project on my machine ;-)

Perhaps it's best if I check with Guille in person tomorrow.

On 20 March 2018 at 18:36, Sven Van Caekenberghe <s...@stfx.eu> wrote:

>
>
> > On 20 Mar 2018, at 17:31, Damien Pollet <damien.pol...@gmail.com> wrote:
> >
> > I can perfectly reproduce, in fact I've had to copy-paste by hand from
> the changes file and switched back to a 6.1 image to be able to do any work
> on Clap.
> > Perhaps this is triggered by the actual contents of the ombu files?
>
> Probably.
>
> Can you describe a reproducible scenario ?
>
> > On 20 March 2018 at 17:26, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> > Argh, yes, I am sorry. I can no longer reproduce it either, must have
> occurred in a hacking image.
> >
> > I tested with the latest 7 and all was OK, even with a full Unicode
> comment like
> >
> > foo
> > "élève Français - 100 €"
> >
> > ^ foo
> >
> > > On 20 Mar 2018, at 17:12, Martin Dias <tinchod...@gmail.com> wrote:
> > >
> > > Couldn't reproduce in latest Pharo 7 32 bits.
> > >
> > > From stack trace: it's strange that 
> > > ZnUTF8Encoder>>nextCodePointFromStream:
> got that nil when parsing the stream.
> > >
> > > Martin
> > >
> > > On Wed, Mar 14, 2018 at 8:32 AM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
> > > I cannot reproduce it from here... does your file have non-ascii
> characters?
> > >
> > > On Wed, Mar 14, 2018 at 10:55 AM, Sven Van Caekenberghe <s...@stfx.eu>
> wrote:
> > > World Menu > Tools > Code Changes
> > >
> > > click on any change, boom.
> > >
> > > [ :error |
> > > (OmFileStoreReadingError
> > > readingError: error
> > > on: self fileReference
> > > position: readStream position) signal ] in [ :readStream |
> > > [ ^ aBlockClosure value: readStream ]
> > > 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:
> > > Context>>handleSignal:
> > > MessageNotUnderstood(Exception)>>signal
> > > UndefinedObject(Object)>>doesNotUnderstand: #<
> > > ZnUTF8Encoder>>nextCodePointFromStream:
> > > ZnUTF8Encoder(ZnCharacterEncoder)>>nextFromStream:
> > > ZnCharacterReadStream>>nextElement
> > > [ :out |
> > > | partialMatch pattern matched |
> > > partialMatch := (self collectionSpecies new: aCollection size)
> > > writeStream.
> > > pattern := aCollection readStream.
> > > matched := false.
> > > [ matched or: [ self atEnd or: [ pattern atEnd ] ] ]
> > > whileFalse: [ | ch |
> > > (ch := self nextElement) = pattern next
> > > ifTrue: [ pattern atEnd
> > > ifTrue: [ matched := true ]
> > > ifFalse: [ partialMatch
> nextPut: ch ] ]
> > > ifFalse: [ pattern reset.
> > > out nextPutAll: partialMatch contents.
> > > partialMatch reset.
> > > out nextPut: ch ] ].
> > > matched
> > > ifFalse: [ out nextPutAll: partialMatch contents ] ] in
> ZnCharacterReadStream>>upToAll: in Block: [ :out | ...
> > > String class(SequenceableCollection class)>>new:streamContents:
> > > String class(SequenceableCollection class)>>streamContents:
> > > ZnCharacterReadStream>>upToAll:
> > > [ stream upToAll: token ] in OmSTONEntryReader>>
> nextEntryPositionIfFound:ifNone: in Block: [ stream upToAll: token ]
> > > BlockClosure>>on:do:
> > > OmSTONEntryReader>>nextEntryPositionIfFound:ifNone:
> > > OmSTONEntryReader>>entryPositionsDo:
> > > OmSTONEntryReader>>entryPositionsUpTo:
> > > [ :readStream |
> > > readStream position: startPosition.
> > > ^ s

Re: [Pharo-dev] [ANN] Fari — a shell tool to fetch & prepare your fresh images

2018-01-19 Thread Damien Pollet
Le ven. 19 janv. 2018 à 20:59, Hernán Morales Durand <
hernan.mora...@gmail.com> a écrit :

> $ ./fari.sh
> ls: cannot access './*.load.st': No such file or directory
>
> You may need to add a shell option in the script to include hidden file
> names in expansions
>
> shopt -s dotglob
>

Ah no, this is about nullglob. I used it somewhere else but missed that
spot. Will have a look later this evening.

$./fari.sh: line 176: ./pharo-ui: No such file or directory
>

Missing feature  you’ll have to get the VM with zeroconf for now.

I don't know but only sources file was downloaded.
>

Expected: the script stops as soon as a problem os encountered.

2018-01-19 15:02 GMT-03:00 Damien Pollet <damien.pol...@gmail.com>:
>
>> Here it is, tell me what you think: https://github.com/cdlm/fari.sh
>>
>> We discussed it with Christophe and of course there is some overlap with
>> PharoLauncher, and in the future, it might get replaced by a command-line
>> version of PharoLauncher based on Clap.
>>
>> But for the moment it works and fits my twisted mind better 
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
> --
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


[Pharo-dev] [ANN] Fari — a shell tool to fetch & prepare your fresh images

2018-01-19 Thread Damien Pollet
Here it is, tell me what you think: https://github.com/cdlm/fari.sh

We discussed it with Christophe and of course there is some overlap with
PharoLauncher, and in the future, it might get replaced by a command-line
version of PharoLauncher based on Clap.

But for the moment it works and fits my twisted mind better 

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] about SortFunctions

2017-11-09 Thread Damien Pollet
Not really, but I'd be interested in understanding why it's overengineering
for Ordering but not for Boolean…

On 9 November 2017 at 14:16, Denis Kudriashov <dionisi...@gmail.com> wrote:

> Hi Damien.
>
> 2017-11-09 14:00 GMT+01:00 Damien Pollet <damien.pol...@gmail.com>:
>
>>
>>
>> On 7 November 2017 at 14:48, Denis Kudriashov <dionisi...@gmail.com>
>> wrote:
>>>
>>> And we already have VM based String compare: with strange logic
>>>> returning 1, 2, 3. So we already can optimize current
>>>> String>>threeWayCompareTo:.
>>>>
>>>
>>> Maybe good idea to open ticket and modify image level methods to return
>>> standard -1,0,1 values.
>>>
>>
>> If we're modifying core sorting methods, we might as well use proper
>> objects instead of magic numbers…
>>
>> Ordering
>>   Lesser
>>   Equal
>>   Greater
>>   (Unordered?)
>>
>
> I also thought about it. But it looks like overengineering to me. These
> magic numbers are too well known to be magic.
> Do you have real cases where this approach will improve the code?
>
>
>>
>> And while I'm on the topic of vocabulary, I'm not convinced by
>> SortFunction… "to sort" means either to screen, to classify, or to arrange.
>> There is a notion of going through all elements and swapping them around or
>> putting in specific bins. Think QuickSort, MergeSort, etc
>>
>> The mathematical term for the thing that determines whether two elements
>> a and b are such that a ≤ b is "Order relation". So IMHO Java's Comparator
>> fits the purpose much better; OrderFunction or OrderRelation would be nice
>> and just Order would have my preference:
>>
>> Order with: aPredicate
>> (Order with: [:a :b | a < b]) value: 1 value 2. → the singleton instance
>> of Lesser
>>
>> Order by: aMappingBlock
>> people sorted: (Order by: #name) , (Order by: #age)
>>
>> Lesser >> #, innerOrder
>>   ^ self
>>
>> Equal >> #, innerOrder
>>   ^ innerOrder
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] about SortFunctions

2017-11-09 Thread Damien Pollet
On 9 November 2017 at 14:00, Damien Pollet <damien.pol...@gmail.com> wrote:

> Order by: aMappingBlock
> people sorted: (Order by: #name) , (Order by: #age)
>
> Lesser >> #, innerOrder
>   ^ self
>
> Equal >> #, innerOrder
>   ^ innerOrder
>

oh well, I got the Order composition and the Ordering flattening mixed up,
but you get the idea :)

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] about SortFunctions

2017-11-09 Thread Damien Pollet
On 7 November 2017 at 14:48, Denis Kudriashov <dionisi...@gmail.com> wrote:
>
> And we already have VM based String compare: with strange logic returning
>> 1, 2, 3. So we already can optimize current String>>threeWayCompareTo:.
>>
>
> Maybe good idea to open ticket and modify image level methods to return
> standard -1,0,1 values.
>

If we're modifying core sorting methods, we might as well use proper
objects instead of magic numbers…

Ordering
  Lesser
  Equal
  Greater
  (Unordered?)

And while I'm on the topic of vocabulary, I'm not convinced by
SortFunction… "to sort" means either to screen, to classify, or to arrange.
There is a notion of going through all elements and swapping them around or
putting in specific bins. Think QuickSort, MergeSort, etc

The mathematical term for the thing that determines whether two elements a
and b are such that a ≤ b is "Order relation". So IMHO Java's Comparator
fits the purpose much better; OrderFunction or OrderRelation would be nice
and just Order would have my preference:

Order with: aPredicate
(Order with: [:a :b | a < b]) value: 1 value 2. → the singleton instance of
Lesser

Order by: aMappingBlock
people sorted: (Order by: #name) , (Order by: #age)

Lesser >> #, innerOrder
  ^ self

Equal >> #, innerOrder
  ^ innerOrder

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] String Interpolation

2017-10-03 Thread Damien Pollet
On 3 October 2017 at 14:07, Guillermo Polito <guillermopol...@gmail.com>
wrote:

> Why not having an opal plugin?
>
> The opal plugin may read strings in the form:
>
> "lalala {some expression} lololo"
>
> and replace at compile time that by:
>
> "lalala {1} lololo" format { some expression }
>

If we're going to extend the compiler, we might as avoid parsing at runtime
by desugaring more like:

String streamContents: [:str |
str
nextPutAll: 'lalala ';
nextPutAll: (some expression) printString;
nextPutAll: ' lololo' ]

The thing to think about is what is the delimiter for {some expression}.
>  - a too used one may break lots of existing code.
>

…or we could change the string quotes to mean "dynamic string in which
interpolations can be used" and keep single quotes for literal strings only.

 - and we should escape it
>

indeed


> On Fri, Sep 29, 2017 at 5:40 AM, Sven Van Caekenberghe <s...@stfx.eu>
> wrote:
>
>>
>>
>> > On 29 Sep 2017, at 08:54, Pavel Krivanek <pavel.kriva...@gmail.com>
>> wrote:
>> >
>> > This solution will not work for environments without sources too where
>> names like t1, t2 are used for temporary variables.
>>
>> That is true.
>>
>> I often wonder why we can't keep at least the variables names, it would
>> not be that expensive. There was this problem with FFI that needed source
>> code access as well. It would also help the debugger and make the
>> decompiler more powerful.
>>
>> > Anyway, nice idea.
>> >
>> > -- Pavel
>> >
>> > Dne čtvrtek 28. září 2017 Sven Van Caekenberghe <s...@stfx.eu>
>> napsal(a):
>> > Hi,
>> >
>> > I got into a little office discussion about string interpolation as it
>> is done in different programming languages.
>> >
>> > In Pharo we have String>>#format: which is pretty nice. It works as
>> follows:
>> >
>> > | x y |
>> > x := 123.
>> > y := #foo.
>> > 'x={1} and y={2}' format: { x. y }.
>> >
>> > It is also possible to use a dictionary with keys, like this:
>> >
>> > | x y |
>> > x := 123.
>> > y := #foo.
>> > 'x={x} and y={y}' format: { #x->x. #y->y } asDictionary.
>> >
>> > But this is not true string interpolation as described in [
>> https://en.wikipedia.org/wiki/String_interpolation ]. The idea is to
>> write the value generating expressions directly inside the strings.
>> >
>> > Since in Pharo we add features not by extending the syntax but by
>> adding messages I wondered if it could be done for string interpolation.
>> The goal is to make the following work:
>> >
>> > | x y |
>> > x := 123.
>> > y := #foo.
>> > 'It seems x equals {x} and y equals {y} while Pi is still {Float pi}'
>> interpolate.
>> >
>> >  => 'It seems x equals 123 and y equals foo while Pi is still
>> 3.141592653589793'
>> >
>> > Here is the implementation I came up with:
>> >
>> > String>>#interpolate
>> >   "Format the receiver by interpolating the evaluation of expressions
>> >   in between curly brackets in the context of the sender as in the
>> following 3 oneline examples.
>> >   'Today is {Date today}' interpolate.
>> >   | x | x := 123. 'x equals {x} and pi equals {Float pi}' interpolate.
>> >   'In {#strings} you can escape \{ by prefixing it with \\'
>> interpolate."
>> >
>> >   | senderContext |
>> >   senderContext := thisContext sender.
>> >   ^ self class new: self size streamContents: [ :out | | stream |
>> >   stream := self readStream.
>> >   [ stream atEnd ] whileFalse: [ | currentChar |
>> > (currentChar := stream next) == ${
>> >   ifTrue: [ | expression result |
>> > expression := stream upTo: $}.
>> > result := Compiler new
>> >   evaluate: expression in: senderContext to: nil notifying:
>> nil ifFail: [ ^ nil ] logged: false.
>> > out nextPutAll: result asString ]
>> >   ifFalse: [
>> > currentChar == $\
>> >   ifTrue: [ stream atEnd ifFalse: [ out nextPut: stream
>> next ] ]
>> >   ifFalse: [ out nextPut: currentChar ] ] ] ]
>> >
>> > It is a hack that could certainly be improved. And there is of course
>> an obvious security problem.
>> >
>> > Thoughts ?
>> >
>> > Sven
>> >
>> >
>>
>>
>>
>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Ann] Class meta annotations

2017-09-26 Thread Damien Pollet
+1 just call them class annotations. "annotation" itself already means
"meta-information"

What are class properties ?
How do annotations relate to Magritte? I'm guessing Magritte descriptions
are a specific kind of annotation already, right?

About #declaredInstances: you could do MySpecialAnnotation new in a
playground… but that instance would not be attached to any class. I think
the point of that query is to return the annotation instances that do come
from an actual class with an actual method with the 
pragma.

BTW, what if the method with  returns a different result
each time?

On 26 September 2017 at 03:11, Sean P. DeNigris <s...@clipperadams.com>
wrote:

> Denis Kudriashov wrote
> > Also I would like to thank Marcus who helps me realize this concept in
> > Commander and Calypso which I start simplify with this library.
>
> Embarrassingly, I'm not quite clear on what this all means so I'll be eager
> to hear the results of the case study with Commander and Calypso!
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Ann][Pillar] Travis -> Bintray for PDFs

2017-08-26 Thread Damien Pollet
On 25 August 2017 at 22:31, Peter Uhnák <i.uh...@gmail.com> wrote:

> > A problem I anticipate is that since we only keep the latest build,
>
> how did you manage that? :-o
>
> When I was using bintray we had trouble that we could only store every
> commit; so I guess I am interested to see what your process is. :-)
>

Simply uploading to always the same files to the same "latest" version,
with the overwrite flag set.
This overwrite feature is not provided by the Travis deployer for Github
releases, which is what I would prefer to use (it should be possible
through their REST API to detect/delete outdated releases and then deploy
the new files).

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Ann][Pillar] Travis -> Bintray for PDFs

2017-08-25 Thread Damien Pollet
A problem I anticipate is that since we only keep the latest build, the PDF
will only match master or any pull request until the next commit/build (I
don't like storing stuff for each and every commit). But maybe that could
be fixed by naming the PDF according to their originating branch…

On 25 August 2017 at 20:11, Dimitris Chloupis <kilon.al...@gmail.com> wrote:

> +100 :)
>
>
> On Fri, Aug 25, 2017 at 5:45 PM Stephane Ducasse <stepharo.s...@gmail.com>
> wrote:
>
>>  Hi
>>
>> with Damien Pollet, we went over all the booklets and some of the
>> Pharo books currently written in Pillar and made sure that each time
>> you commit
>>
>> - a travis job is run
>> - latex is produced as well as pdf
>> - the pdf is stored on bintray
>> - the release versions are stored on the github repo (I should verify)
>>
>> So now you can just do a PR and you get a super nice PDF.
>>
>> Have a look at Glorp or Voyage for example
>>
>> - https://github.com/SquareBracketAssociates/Booklet-Glorp
>> - https://github.com/SquareBracketAssociates/Booklet-Voyage
>>
>> You can access the bintray files from the squarebracketassociates
>> lovely binTray account :)
>>
>> https://bintray.com/squarebracketassociates/wip/download_file?file_path=
>> voyage-wip.pdf
>>
>>
>> I'm writing a doc of the process so that other people can do it for
>> their private projects.
>>
>>
>> Stef
>>
>>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About cr and lf

2017-08-04 Thread Damien Pollet
On 4 August 2017 at 18:52, Peter Uhnak <i.uh...@gmail.com> wrote:

> On Fri, Aug 04, 2017 at 03:41:05PM +0200, Damien Pollet wrote:
>
> > Stream >> newLineForWindows "convenience for the most common platforms
> > Stream >> newLineForUnix
> > Stream >> newLineForHistoricReasons
>
> Practically speaking this looks insanely wordy. In 102% (est.) you want to
> use the same consistent newline and not thinking about for which platform
> you are writing every time you want to write a new line.
>

Hmm, granted :)


> I think that most WriteStream miss what MultiByteFileStream has --
> lineEndConvention.
>
> fileStream lineEndConvention: #lf.
>

Agreed.


> fileStream cr. "<- this will be autoconverted to #lf"
>

No… please don't abuse a low-level explicit selector to mean something
context-dependent.

Also I would like to see a situation where you actually _want_ to use
> different line endings at the same time, so converting lf/cr to the global
> one shouldn't break things.
>

But it's ugly…


> So maybe instead of stating what kind of line ending you want to write,
> you would specify them for the whole stream
>
> > Stream >> newLineForWindows "convenience for the most common platforms
> > Stream >> newLineForUnix
> > Stream >> newLineForHistoricReasons
>
> Stream>>beForCurrentPlatform (would be the default maybe?)
>
> Stream>>beForWindows "crlf"
> Stream>>beForUnix "lf"
> Stream>>beAnnoyingOutsideOfPharo "cr"


Yes, I actually prefer that to my own proposition, just don't make #cr and
#lf contextually put something else than their name implies.

#newline (or #nl if you prefer it concise) should be the contextual message

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About cr and lf

2017-08-04 Thread Damien Pollet
I agree with Pablo, #cr and #lf should not be clever and just be names for
the carriage return and linefeed characters/codepoints.

Making #newLine's behavior dependent on the current platform disturbs me,
though. I'd rather have:

Stream >> newLineFor: platform
self nextPutAll: platform lineEnding

Stream >> newLineForCurrentPlatform
self newLineFor: OSPlatform current

Stream >> newLineForWindows "convenience for the most common platforms
Stream >> newLineForUnix
Stream >> newLineForHistoricReasons

Stream >> newLine
"delegates to one of the above, I'd argue for unix for convenience, but
windows is the technically correct combination of cr + lf, and cr only is
the historic one"


On 4 August 2017 at 14:25, teso...@gmail.com <teso...@gmail.com> wrote:

> To me it is clear that cr and lf should be in streams. But they should put
> the 'cr' or 'lf' character only. And of course the platform independent
> newline should be also.
>
> The first (cr, lf) should be used by the code wanting to have absolute
> control of what is in the stream. The later (newline) when you just want a
> new line.
>
> The two have completely different behaviour, ones are really low level,
> the other is higher level.
>
> On 4 Aug 2017 14:20, "Esteban Lorenzano" <esteba...@gmail.com> wrote:
>
>>
>> > On 4 Aug 2017, at 14:06, Stephane Ducasse <stepharo.s...@gmail.com>
>> wrote:
>> >
>> > Well. This is not implemented like that in Pharo.
>> >
>> > cr is bad because it does not mean that it is independent of the
>> platform.
>> > So cr can be redefined as newLine and keep but not used inside the
>> system.
>>
>> sometimes you actually want to write a cr (or a lf). So it needs to
>> remain in the system, of course.
>> now, including #newLine can be cool (most of the times you want the
>> “platform compatible” new line). Also I would consider including #nl,
>> abbreviated… just for convenience :P
>>
>> Esteban
>>
>> >
>> > Stef
>> >
>> > On Fri, Aug 4, 2017 at 12:50 PM, Jan Vrany <jan.vr...@fit.cvut.cz>
>> wrote:
>> >> On Fri, 2017-08-04 at 12:03 +0200, Stephane Ducasse wrote:
>> >>> Hi guys
>> >>>
>> >>> While writing pillar code, I ended up using "stream cr" and it
>> >>> worries
>> >>> me to still expand usage
>> >>> of a pattern I would like to remove.
>> >>>
>> >>> Let us imagine that we would like to prepare the migration from cr.
>> >>> I was thinking that we could replace cr invocation by newLine so that
>> >>> after newLine
>> >>> could be redefined as
>> >>>
>> >>> Stream >> newLine
>> >>>   self nextPutAll: OSPlatform current lineEnding
>> >>>
>> >>>
>> >>> what do you think about this approach?
>> >>
>> >> Why not? But please keep #cr.
>> >>
>> >> Section 5.9.4.1 of ANSI reads:
>> >>
>> >> Message: cr
>> >>
>> >> Synopsis
>> >> Writes an end-of-line sequence to the receiver.
>> >>
>> >> Definition: 
>> >> A sequence of character objects that constitute the implementation-
>> >> defined end-of-line sequence is added to the receiver in the same
>> >> manner as if the message  #nextPutAll: was sent to the receiver with
>> >> an argument string whose elements are the sequence of characters.
>> >>
>> >> Return Value
>> >> UNSPECIFIED
>> >> Errors
>> >> It is erroneous if any element of the end-of-line sequence is an
>> >> object that does not conform to the receiver's sequence value type .
>> >>
>> >> my 2c,
>> >>
>> >> Jan
>> >>
>> >>>
>> >>> Stef
>> >>>
>> >>
>> >
>>
>>
>>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] git, packages, and package dependencies (also migration from sthub to git)

2017-07-01 Thread Damien Pollet
On 1 July 2017 at 13:28, Peter Uhnak <i.uh...@gmail.com> wrote:

> In mcz/monticello, every package has an independent history and can change
> independently of each other.
> In git, this history is merged into a single hierarchy, therefore:
> * a specific version of package A mandates specific versions of
> every other package in the project
> * it is not possible to do a 1:1 migration from mcz to git and
> keep this flexibility
>

Did you ever use that feature (to achieve something precise, not just
because it's here)?

The only solution I see is to either separate every package to a separate
> git project to keep the flexibility or use git subtree/git module... which
> are both complications...
>

Yes, it's a pain… might be useful in some cases but I think most of the
time versioning each package of a project independently is just cognitive
noise.

As a git commit specifies the code in the entire project, even across
> packages, then I wonder what is the point of expressing package
> dependencies _within_ the project (whether in BaselineOf or Cargo).
>

Load order?


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] about expressions

2017-06-30 Thread Damien Pollet
Surprising that a sequence is not an expression. I'm pretty sure that (1+2.
2+3) is an expression that returns 5 (after computing a useless addition).
What is currently not an expression is the variable declaration, indeed.
But if we make |d| an expression then that means we can declare variables
in the middle of a sequence… so it would still have the same lifetime, but
a shorter scope ?

On 30 June 2017 at 11:32, Stephane Ducasse <stepharo.s...@gmail.com> wrote:

> I do not get why (Yes I know it is because it is not in the syntax
> but it is conceptually not nice).
>
> | d |
> d := Dictionary new.
> d at: #top at: #below1 put: 1.
> d at: #top at: #below1 put: 2.
> d at: #top at: #below1.
>
> is not an expression in Pharo.
>
> It means that I can manipulate
>
> 1 + 3,
> x + 3 as an expression
> but not a sequence.
>
> So it forces me to use a block to convert artificially a sequence
> in an expression.
>
> [
> | d |
> d := Dictionary new.
> d at: #top at: #below1 put: 1.
> d at: #top at: #below1 put: 2.
> d at: #top at: #below1.
> ] value
>
> So if I want to build a repl executing expression then this is not a
> Pharo repl but just a stupid expression.
>
> I would like to know what would be impact to have sequence and
> declaration as expression.
>
> Stef
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [ Pillar ] Plumbing travis + github => pdf delivered to you

2017-06-07 Thread Damien Pollet
Okay, unless I missed one, all booklets should have an appropriately named
PDF file uploaded as a draft release.
Don't trust the releases tab, drafts don't count as releases so it will say
"0 Releases" until we do a proper one.

There is still the annoyance that a new draft will be uploaded for each
commit and they will pile up over time… I'd rather have a rolling one but
we'll see.

On 7 June 2017 at 13:49, Damien Pollet <damien.pol...@gmail.com> wrote:

> Yes, in fact I did it for the glorp booklet already and will replicate
> that to the other ones as well.
>
> On 7 June 2017 at 03:43, Ben Coman <b...@openinworld.com> wrote:
>
>> This is really nice. Thanks Damien.
>>
>> Is it possible for the book title to appear in the PDF filename.
>> At [1] it is "book.spiral.pdf", which I guess might conflict if someone
>> wants to download other books to the same folder.
>> Both [3] & [4] are "book.pdf".
>> cheers -ben
>>
>> On Wed, Jun 7, 2017 at 2:48 AM, Stephane Ducasse <stepharo.s...@gmail.com
>> > wrote:
>>
>>> Thanks Damien Pollet now we have a new pdf inside git hub each time you
>>> commit.
>>>
>>> Here are two examples
>>> [1] https://github.com/SquareBracketAssociates/Booklet-Smacc/releases
>>
>>
>>> [2] https://github.com/SquareBracketAssociates/Booklet-Glorp/releases
>>>
>>> I'm going to do that for all the booklets and books :)
>>>
>>> Stef
>>>
>>>
>> [3] https://github.com/SquareBracketAssociates/Booklet-uFFI/releases
>> [4] https://github.com/SquareBracketAssociates/Booklet-Mocking/releases
>>
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [ Pillar ] Plumbing travis + github => pdf delivered to you

2017-06-07 Thread Damien Pollet
Yes, in fact I did it for the glorp booklet already and will replicate that
to the other ones as well.

On 7 June 2017 at 03:43, Ben Coman <b...@openinworld.com> wrote:

> This is really nice. Thanks Damien.
>
> Is it possible for the book title to appear in the PDF filename.
> At [1] it is "book.spiral.pdf", which I guess might conflict if someone
> wants to download other books to the same folder.
> Both [3] & [4] are "book.pdf".
> cheers -ben
>
> On Wed, Jun 7, 2017 at 2:48 AM, Stephane Ducasse <stepharo.s...@gmail.com>
> wrote:
>
>> Thanks Damien Pollet now we have a new pdf inside git hub each time you
>> commit.
>>
>> Here are two examples
>> [1] https://github.com/SquareBracketAssociates/Booklet-Smacc/releases
>
>
>> [2] https://github.com/SquareBracketAssociates/Booklet-Glorp/releases
>>
>> I'm going to do that for all the booklets and books :)
>>
>> Stef
>>
>>
> [3] https://github.com/SquareBracketAssociates/Booklet-uFFI/releases
> [4] https://github.com/SquareBracketAssociates/Booklet-Mocking/releases
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Highlighting with pillar (html)

2017-06-07 Thread Damien Pollet
Check the HTML source. I'd bet the highlighting is there as spans and
classes, but you don't have a matching stylesheet.

On 7 June 2017 at 11:29, p...@highoctane.be <p...@highoctane.be> wrote:

> Do you have like 2 blank lines before and after the [[['s ?
>
> Phil
>
> On Wed, Jun 7, 2017 at 11:15 AM, Alexandre Bergel <alexandre.ber...@me.com
> > wrote:
>
>> Weir… same result. No highlight for me… :-(
>>
>> Alexandre
>>
>>
>> > On Jun 6, 2017, at 3:58 AM, p...@highoctane.be wrote:
>> >
>> > Is
>> >
>> > [[[lan­gua­ge=­Sma­lltalk
>> >   g := RTGrapher new.
>> >
>> >   ds := RTData new.
>> >   ds points: 'What a beautiful day' substrings.
>> >   ds y: [ :aString | aString size ].
>> >   g add: ds.
>> >
>> >   g
>> > ]]]
>> >
>> > any better?
>> >
>> > Phil
>> >
>> > On Tue, Jun 6, 2017 at 9:19 AM, Alexandre Bergel <
>> alexandre.ber...@me.com> wrote:
>> > Hi!
>> >
>> > I have the following script:
>> >
>> > -=-=-=-=-=-=-=-=-=-=-=-=
>> > Any objects may be provided in place of this array. For example:
>> >
>> > [[[
>> >   g := RTGrapher new.
>> >
>> >   ds := RTData new.
>> >   ds points: 'What a beautiful day' substrings.
>> >   ds y: [ :aString | aString size ].
>> >   g add: ds.
>> >
>> >   g
>> > ]]]
>> > -=-=-=-=-=-=-=-=-=-=-=-=
>> >
>> > And it produces:
>> > 
>> >
>> >
>> > Any idea where there is no syntax highlighting? In some other part of
>> the document I go get syntax highlighting.
>> > How bizarre…
>> >
>> > Alexandre
>> >
>>
>>
>>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Using Pillar and Dropbox

2017-06-06 Thread Damien Pollet
try make wipeout

On 6 June 2017 at 08:25, Alexandre Bergel <alexandre.ber...@me.com> wrote:

> Hi!
>
> I have a book in a dropbox. And this may be causing problem:
>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> ~/Dropbox/Workspace/Books/RoassalBooklet> make html
> ln -fs ../support build
> ln: build/support: Operation not permitted
> make: *** [build/support] Error 1
> ~/Dropbox/Workspace/Books/RoassalBooklet>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
> Any idea ?
> Make clean does not help apparently
>
> Help really appreciated.
>
> Alexandre
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Pharo booklet collection

2017-05-23 Thread Damien Pollet
n find at http://files.pharo.org/books/ in beta version:
>> >> >>
>> >> >> Smacc: the Smalltalk Compiler Compiler by J. Brant, T. Goubier, J.
>> >> >> Lecerf
>> >> >> and S. Ducasse.
>> >> >> Glorp: the Object Relational Mapper framework by E. Maringolo, N.
>> Pratt
>> >> >> and R. Withney
>> >> >>
>> >> >> All the book material is hosted on
>> >> >> https://github.com/SquareBracketAssociates so you can contribute!
>> Fix
>> >> >> typos
>> >> >> and propose new material.
>> >> >>
>> >> >> We are planning a booklet on Magritte, Reddit in 10 cool classes,
>> >> >> Voyage,
>> >> >> and Mocking with BabyMock and Mocketry, XML (but we need a writer)
>> and
>> >> >> potentially PetitParser.
>> >> >>
>> >> >> If you have material for a tutorial and you would like to be part of
>> >> >> the
>> >> >> Pharo Booklet Collection contact S. Ducasse.
>> >> >>
>> >> >> S. Ducasse
>> >> >
>> >> >
>> >>
>> >
>>
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo-users] Need help with Pillar

2017-05-19 Thread Damien Pollet
I think it would have updated stuff. Hopefully.

As an alternative, to run in docker :
- delete pharo-vm (because if it's a mac VM it will not work in the linux
container)
- docker run --rm -tiv $PWD:/work dpollet/texlive:pillar make pdfbook

Docker is what the travis builds use, you can check the config file in
books that I have recently updated, e.g.
https://github.com/SquareBracketAssociates/Booklet-Glorp/blob/master/.travis.yml


On 19 May 2017 at 16:27, Alexandre Bergel <alexandre.ber...@me.com> wrote:

> I get the following:
>
> ~/Dropbox/Pillar> tlmgr update --self --all
> TeX Live 2016 is frozen forever and will no
> longer be updated.  This happens in preparation for a new release.
>
> If you're interested in helping to pretest the new release (when
> pretests are available), please read http://tug.org/texlive/pretest.html.
> Otherwise, just wait, and the new release will be ready in due time.
> tlmgr: package repository http://ftp.inf.utfsm.cl/pub/
> tex-archive/systems/texlive/tlnet (not verified: gnupg not available)
> You don't have permission to change the installation in any way,
> specifically, the directory /usr/local/texlive/2016/tlpkg/ is not writable.
> Please run this program as administrator, or contact your local admin.
> tlmgr: An error has occurred. See above messages. Exiting.
> ~/Dropbox/Pillar>
>
> I use the installation of TeXlive on my machine since I have no idea who
> to make the docker image use my local files.
>
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On May 19, 2017, at 10:06 AM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
> I think you still have a TeXlive snapshot from earlier this year. Try this
> :
> tlmgr update --self --all
>
> On 19 May 2017 at 15:19, Alexandre Bergel <alexandre.ber...@me.com> wrote:
>
>> Hi Damien!
>>
>> Apparently the INRIA CI is getting better. I could get the archetype. I
>> have another error when compiling the book. I get:
>> Sidefoothsep and sidefootwidth: 2.46019mm and 44.98633mm
>> Sidefootvsep and sidefootheight: 4.21747mm and 192.73828mm
>> **
>>
>> (/usr/local/texlive/2016/texmf-dist/tex/latex/datetime2/datetime2.sty
>> (/usr/local/texlive/2016/texmf-dist/tex/latex/tracklang/tracklang.sty
>> (/usr/local/texlive/2016/texmf-dist/tex/generic/tracklang/
>> tracklang.tex)))
>> Runaway argument?
>> \pdffeedback creationdate\@dtm@endparsepdfdatetime \let \@dtm@currentyear
>> \ETC.
>>
>> ./root/support/latex/common.tex:5: File ended while scanning use of
>> \@dtm@parse
>> pdfdatetime.
>> 
>> \par
>> l.5
>>
>>  1217 words of node memory still in use:
>>2 hlist, 1 rule, 1 dir, 34 glue, 9 attribute, 167 glue_spec, 9
>> attribute_lis
>> t, 3 write, 1 pdf_colorstack nodes
>>avail lists: 2:24,3:1,5:2,6:4,7:1,8:1,9:2
>> ./root/support/latex/common.tex:5:  ==> Fatal error occurred, no output
>> PDF fil
>> e produced!
>> Transcript written on book.log.
>> Latexmk: Errors, so I did not complete making targets
>> Collected error summary (may duplicate other messages):
>>   pdflatex: Command for 'pdflatex' gave return code 256
>> Latexmk: Use the -f option to force complete processing,
>>  unless error was exceeding maximum runs of latex/pdflatex.
>> make[1]: *** [book.pdf] Error 12
>> make: *** [build/book.pdf] Error 2
>> ~/Dropbox/Pillar>
>>
>> Is it because of some missing Latex .cls? If yes, which one? How can I
>> install them?
>>
>> Thanks for your help!
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>> On May 18, 2017, at 7:43 AM, Damien Pollet <damien.pol...@gmail.com>
>> wrote:
>>
>> On 18 May 2017 at 01:34, Alexandre Bergel <alexandre.ber...@me.com>
>> wrote:
>>
>>> curl https://raw.githubusercontent.com/pillar-markup/pillar/maste
>>> r/download.sh | bash
>>>
>>> I had to copy PharoV50.sources in the folder pharo-vm/ apparently.
>>>
>>
>> Hmm strange I got that this morning as well with Clément's book.
>> The script installs a PharoV60.sources so most probably it installs the
>> latest VM; might be a problem if Pillar really relies on Pharo 5…
>>
>>
>>> Getting the archetype book gives me an error:
>>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>> /tmp/pillar> ./pillar archetype book
>>>
>>> Which website is it trying to get access to?
>>>
>>
>> That would be Inria CI, they're having problems with CloudStack currently
>>
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>
>


Re: [Pharo-dev] [Pharo-users] Need help with Pillar

2017-05-19 Thread Damien Pollet
I think you still have a TeXlive snapshot from earlier this year. Try this :
tlmgr update --self --all

On 19 May 2017 at 15:19, Alexandre Bergel <alexandre.ber...@me.com> wrote:

> Hi Damien!
>
> Apparently the INRIA CI is getting better. I could get the archetype. I
> have another error when compiling the book. I get:
> Sidefoothsep and sidefootwidth: 2.46019mm and 44.98633mm
> Sidefootvsep and sidefootheight: 4.21747mm and 192.73828mm
> **
>
> (/usr/local/texlive/2016/texmf-dist/tex/latex/datetime2/datetime2.sty
> (/usr/local/texlive/2016/texmf-dist/tex/latex/tracklang/tracklang.sty
> (/usr/local/texlive/2016/texmf-dist/tex/generic/tracklang/tracklang.tex)))
> Runaway argument?
> \pdffeedback creationdate\@dtm@endparsepdfdatetime \let \@dtm@currentyear
> \ETC.
>
> ./root/support/latex/common.tex:5: File ended while scanning use of
> \@dtm@parse
> pdfdatetime.
> 
> \par
> l.5
>
>
>  1217 words of node memory still in use:
>2 hlist, 1 rule, 1 dir, 34 glue, 9 attribute, 167 glue_spec, 9
> attribute_lis
> t, 3 write, 1 pdf_colorstack nodes
>avail lists: 2:24,3:1,5:2,6:4,7:1,8:1,9:2
> ./root/support/latex/common.tex:5:  ==> Fatal error occurred, no output
> PDF fil
> e produced!
> Transcript written on book.log.
> Latexmk: Errors, so I did not complete making targets
> Collected error summary (may duplicate other messages):
>   pdflatex: Command for 'pdflatex' gave return code 256
> Latexmk: Use the -f option to force complete processing,
>  unless error was exceeding maximum runs of latex/pdflatex.
> make[1]: *** [book.pdf] Error 12
> make: *** [build/book.pdf] Error 2
> ~/Dropbox/Pillar>
>
> Is it because of some missing Latex .cls? If yes, which one? How can I
> install them?
>
> Thanks for your help!
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On May 18, 2017, at 7:43 AM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
> On 18 May 2017 at 01:34, Alexandre Bergel <alexandre.ber...@me.com> wrote:
>
>> curl https://raw.githubusercontent.com/pillar-markup/pillar/maste
>> r/download.sh | bash
>>
>> I had to copy PharoV50.sources in the folder pharo-vm/ apparently.
>>
>
> Hmm strange I got that this morning as well with Clément's book.
> The script installs a PharoV60.sources so most probably it installs the
> latest VM; might be a problem if Pillar really relies on Pharo 5…
>
>
>> Getting the archetype book gives me an error:
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> /tmp/pillar> ./pillar archetype book
>>
>> Which website is it trying to get access to?
>>
>
> That would be Inria CI, they're having problems with CloudStack currently
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo-users] Anyone knows how to get the list of available archetype with Pillar?

2017-05-19 Thread Damien Pollet
There is one archtype for each directory under
https://github.com/pillar-markup/Pillar-Archetype

On 19 May 2017 at 15:50, Alexandre Bergel  wrote:

> Hello!
>
> Still on my quest to use Pillar :-)
>
> What are the different Archetypes available for Pillar?
> It would be great to have: ./pillar archetype
> to obtain the list of available archetype :-)
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>


Re: [Pharo-dev] bug in command line handler

2017-05-19 Thread Damien Pollet
I wouldn't want to sound sarcastic, but I'm not sure there is such a
concept as "correct" in the context of ANSI escape sequences.
Still, according to the legends, 97 is supposed to be high intensity white
(for some subset of existing implementations).

On 19 May 2017 at 12:52, K K Subbu <kksubbu...@gmail.com> wrote:

> All,
>
> I found an annoying bug with Pharo's eval command line handler. When it
> encounters a syntax error, the foreground color is set to red while
> printing error message, but not restored after (see attachment). I have to
> reset it every time using "echo -e \e[0m" :-(.
>
> I found
> 
> STCommandLineHandler>>#printCompilerWarning: aSyntaxErrorNotification
> ...
> "print the marker under the error line"
>  (lineNumber == errorLine) ifTrue: [
> stderr red
> nextPutAll:( '_^_' padLeftTo: position -
> start + maxLineNumberSize + 4);
> lf ]]
> 
> The above code will leave the red color if the error happens on the last
> line (as in eval handler), then the color is never restored. Can someone
> confirm if this is indeed what is happening? I will file a case and post a
> fix, if so.
>
> I also found VTermOutputDriver uses incorrect ANSI color codes (e.g. white
> is 37 instead of 97). If the current terminal bg color happens to be
> "stderr white", then the error text is unreadable.
>
> Regards .. Subbu
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Need help with Pillar

2017-05-18 Thread Damien Pollet
On 18 May 2017 at 01:34, Alexandre Bergel <alexandre.ber...@me.com> wrote:

> curl https://raw.githubusercontent.com/pillar-markup/pillar/
> master/download.sh | bash
>
> I had to copy PharoV50.sources in the folder pharo-vm/ apparently.
>

Hmm strange I got that this morning as well with Clément's book.
The script installs a PharoV60.sources so most probably it installs the
latest VM; might be a problem if Pillar really relies on Pharo 5…


> Getting the archetype book gives me an error:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> /tmp/pillar> ./pillar archetype book
>
> Which website is it trying to get access to?
>

That would be Inria CI, they're having problems with CloudStack currently


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Command line save and quit

2017-05-17 Thread Damien Pollet
On 17 May 2017 at 14:34, Max Leske <maxle...@gmail.com> wrote:

> >   (self hasOption: 'save')
> >   ifTrue: [ Smalltalk snapshot: true andQuit: false ].
> >   (self hasOption: 'quit')
> >   ifTrue: [ self exitSuccess ].
>
> Yes, I think so. But you have to be careful there. Imagine that you first
> save with "Smalltalk snapshot: true andQuit: false" and then you check for
> 'quit' and send #exitSuccess.


But in this version the lookup for option quit is done again when the
images wakes up. Compare to the version originally copied by Subbu:

| quit  |
quit := self commandLine hasOption: 'quit'.
(self commandLine hasOption: 'save')
ifTrue: [ Smalltalk snapshot: true andQuit: quit ].
quit
ifTrue: [ self exitSuccess ].

Here I'm guessing if you --save --quit then the image will get saved, and
next time it wakes up, enters the second conditional and #exitSuccess…
confusing :/

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


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

2017-05-15 Thread Damien Pollet
My point was, if #shellCommand: accepts a single string for a whole
command, then surely it passes it to a system shell already, so why nest a
bash in between? (effectively running the equivalent of sh -c "bash -c \"ls
~\"')

On 15 May 2017 at 16:28, Eliot Miranda <eliot.mira...@gmail.com> wrote:

> Hi Damien,
>
> On May 15, 2017, at 6:44 AM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
> On 15 May 2017 at 15:26, Eliot Miranda <eliot.mira...@gmail.com> wrote:
>
>> Try something like
>>
>> shellCommand: 'bash -c ''ls ~''';
>>
>
> But then that would run ls inside of bash inside of the system shell
> (/bin/sh), wouldn't it? What's the point?
>
>
> -c's argument is parsed by the shell so one gets full expansion.  Further,
> if there are arguments after the string, they are assigned to the
> positional parameters, so that
>
> sh -c 'echo ~/$0' foo
>
> prints /Users/eliot/foo
>
> That may be useful.
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


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

2017-05-15 Thread Damien Pollet
On 15 May 2017 at 15:26, Eliot Miranda <eliot.mira...@gmail.com> wrote:

> Try something like
>
> shellCommand: 'bash -c ''ls ~''';
>

But then that would run ls inside of bash inside of the system shell
(/bin/sh), wouldn't it? What's the point?

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Official cover for the Pharo booklet collection

2017-05-12 Thread Damien Pollet
Thanks :)

On 12 May 2017 at 23:18, Oleks <olk.zayt...@gmail.com> wrote:

> It looks wonderful!
>
>
>
> --
> View this message in context: http://forum.world.st/
> Official-cover-for-the-Pharo-booklet-collection-tp4946926p4946945.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] IMPORTANT: iceberg home changed

2017-04-29 Thread Damien Pollet
the reason that SBA exists is to get ISBN numbers for the books. It's an
adhoc editor like Apress or O'Reilly, if you will. And it was created at
the time of Squeak by Example, so probably a bit before Pharo.

On 29 April 2017 at 03:04, Ben Coman <b...@openinworld.com> wrote:

>
> On Fri, Apr 28, 2017 at 11:07 PM, Dimitris Chloupis <kilon.al...@gmail.com
> > wrote:
>
>> Why not make a Pharo team , we already have one for the books which also
>> has a weird name "square bracker associates" ,
>>
>
> I don't think its weird.  Square brackets "[ ]" to delineate blocks of
> code is one thing that distinguishes Smalltalk from those weird cult of
> curly brace "{ }" !!
>
> cheers -ben
>
>
>> we should make a pharo team and put all the repos there so people can
>> find them in one place
>>
>> On Fri, Apr 28, 2017 at 11:31 AM Esteban Lorenzano <esteba...@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> not really, but we want to promote pharo related stuff with the pharo
>>> prefix on the organisations (and those who in someway will fall under our
>>> umbrella)..
>>>
>>> pharo-project -> core pharo
>>> pharo-vcs -> iceberg, libgit2 bindings, in the future: an iceberg page,
>>> maybe other backends.
>>> pharo-graphics -> block/brick and upcoming graphical cool stuff
>>> pharo-gtools -> gtools + glamour, etc.
>>> pharo-nosql -> voyage family
>>> pharo-? -> I don’t know, whatever
>>>
>>> in the future, with the upcoming versions of iceberg + bootstrap,
>>> projects like iceberg, gtools, etc. will be “subtrees” of pharo-core so is
>>> good to have them well organised.
>>>
>>> of course people are free to name their projects/organisation as they
>>> want, but I was trying to figure out a way for *us* :)
>>> (and since is very easy to change, we could just reorganise everything
>>> under pharo-project if we decide to put everything in just one repository).
>>>
>>> Esteban
>>>
>>>
>>> On 28 Apr 2017, at 10:11, Stephane Ducasse <stepharo.s...@gmail.com>
>>> wrote:
>>>
>>> esteban do we have a naming convention on github?
>>> pharo-xxx?
>>>
>>> Stef
>>>
>>> On Thu, Apr 27, 2017 at 5:51 PM, Esteban Lorenzano <esteba...@gmail.com>
>>> wrote:
>>>
>>>> As part of our work for release, I changed the home of Iceberg into his
>>>> own place:  https://github.com/pharo-vcs/iceberg
>>>>
>>>> So, now to install you will need:
>>>>
>>>> Metacello new
>>>>   baseline: 'Iceberg';
>>>>   repository: 'github://pharo-vcs/iceberg:dev-0.4';
>>>>   load.
>>>>
>>>> I also uploaded a Configuration to the *catalog>http://catalog.pharo.
>>>> org*, so you can load while
>>>> doing the transition.
>>>>
>>>
>>>
>>>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Pharo 6 screenshot

2017-04-25 Thread Damien Pollet
Nice ! but… no debugger window ?

On 25 April 2017 at 12:13, Igor Stasenko <siguc...@gmail.com> wrote:

> Great!
>
> On 25 April 2017 at 10:52, Alexandre Bergel <alexandre.ber...@me.com>
> wrote:
>
>> You are an artist!
>>
>> Alexandre
>>
>>
>> > On Apr 24, 2017, at 11:48 PM, Pavel Krivanek <pavel.kriva...@gmail.com>
>> wrote:
>> >
>> > Right, next try...
>> >
>> > https://goo.gl/photos/YnGoZTrpKjJnSbFU9
>> >
>> > -- Pavel
>> >
>> >
>> >
>> > 2017-04-24 22:22 GMT+02:00 Cyril Ferlicot D. <cyril.ferli...@gmail.com
>> >:
>> > Le 24/04/2017 à 22:13, Pavel Krivanek a écrit :
>> > > New version:
>> > >
>> > > https://goo.gl/photos/66Yz3pSSK62aTYV66
>> > >
>> > > -- Pavel
>> > >
>> >
>> > Pretty nice but too blurry for me. Especially on the right of the
>> screen.
>> >
>> > But maybe it's just me.
>> >
>> > --
>> > Cyril Ferlicot
>> > https://ferlicot.fr
>> >
>> > http://www.synectique.eu
>> > 2 rue Jacques Prévert 01,
>> > 59650 Villeneuve d'ascq France
>> >
>> >
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>
>
> --
> Best regards,
> Igor Stasenko.
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Path>>/ and ..

2017-03-29 Thread Damien Pollet
On 29 March 2017 at 14:02, Alistair Grant <akgrant0...@gmail.com> wrote:

> Except that ".." is treated as a special case at the moment in
> Path class>>addParentElementTo:, which is why #resolve: does the right
> thing (well, at least in my opinion :-)).
>

Well, not according to shell commands :
ls ./nonexistentdirectory/.. → cannot access, no such file or directory

So we have a divergence between FileSystem, where .. means "cancel the last
path segment, syntactically, without even checking the actual files and
directories" and the behavior of the shell command (and thus of the
underlying system call, I guess) which attempts to actually resolve each
segment and fails because it cannot go and look inside nonexistentdirectory
for the entry named '..'

This becomes important with symbolic links : try ls ./somesymlink/.. and
you'll see that you don't get the contents of $PWD but of the parent of the
symlink's destination.


> I'm having trouble understanding the Path class comments, however:
>
> "#* and #/ are mnemonic to . and /
> whose arguments should  be string file- or directory names, not
> fragments of Unix path notation intended to be parsed."
>
> seems to imply that segments should not contain the delimiter (/), and
> the current implementation leaves the delimiter in the segment.
>

Yes. The point is, if you have an API that tries to be clever and guesses
what you meant (e.g. you could pass '../foo/bar' as a path element, it
might be convenient most of the time, but you lose control of what you
mean: the API, because it interprets the strings you pass, will make it
difficult or impossible to express some paths. For instance, on my current
filesystem, I can create a file named foo\bar. I'm guessing that's
impossible on Windows… It also leads to quoting, escaping, case sensitivity
and such problems (try writing shell scripts that are robust to file names
with spaces…)

The alternative is to have an API that does what you tell it to, no more,
no less. It should consider that if you pass a string with special
characters, you meant to have those characters in the result. Maybe that's
impossible on some filesystems, and raises an error, but the API will not
decide to do something different than you asked.



> >> On 29 Mar 2017, at 12:21, Alistair Grant <akgrant0...@gmail.com> wrote:
> >>
> >> Hi All,
> >>
> >> The current implementation of Path>>/, while functional, seems to me to
> >> create poorly formed paths, e.g.:
> >>
> >> ('/a/b/c/d' asFileReference / '../e') path ==> "Path / 'a' / 'b' / 'c'
> >> / 'd' / '../e'"
> >>
> >> As can be seen above, the last segment is '../e'.
> >>
> >> I would expect the result to be:
> >>
> >> "Path / 'a' / 'b' / 'c' / 'e'"
> >>
> >> Is there a reason for the current behaviour?  If not, are people open to
> >> modifying Path>>/ to produce the suggested result above (in Pharo 7)?
> >>
> >> The method below produces the modified result above and doesn't change
> >> the result of running all automated tests.  If this is going to be added
> >> to Pharo 7 I'll create an additional automated test to check that it is
> >> working properly.
> >>
> >> Cheers,
> >> Alistair
> >>
> >> 'From Pharo6.0 of 13 May 2016 [Latest update: #60451] on 29 March 2017
> >> at 9:40:41.681228 am'!
> >>
> >> !Path methodsFor: 'navigating' stamp: 'AlistairGrant 3/29/2017 09:39'!
> >> / aString
> >>| path |
> >>
> >>aString isEmptyOrNil
> >>ifTrue: [ Error signal: 'Path element cannot be empty or nil'].
> >>
> >>^self resolve: (Path from: aString)
> >> ! !
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [ANN] PharoNOS

2017-03-19 Thread Damien Pollet
Is it specific to KVM, or is it possible to run it on top of different
hypervisors?
E.g. is it possible to make a demo VirtualBox image, or to launch PharoNOS
as a Docker container?

On 19 March 2017 at 15:33, Denis Kudriashov <dionisi...@gmail.com> wrote:

> Hi.
>
> How difficult it would be to support ARM processor?
>
> 2017-03-19 0:30 GMT+01:00 jan.struz <public+ph...@struz.cz>:
>
>> Hi,
>> I successfully ported SqueakNOS to Pharo, and want to share it with you!
>> It works with Pharo 4.0 image, networking included, ping works!
>>
>> *What is different:*
>> - I use my own CMake build file, with "out-of-tree" build support,
>> instead of "build.xyz" directories inside source tree + some template
>> scripts to build any VM type, but it is not complete...
>> - I use MUSL <http://www.musl-libc.org/> instead of GlibC,
>> cross-compiling GlibC statically on 64bit for 32bit seems impossible, but
>> anyway I use 32bit environment to build it
>> - It works with pre-opensmalltalk-vm migration directory structure, so
>> the "sync" with latest trunk remains #TODO, or maybe start a new branch
>> again from the latest upstream commit should work too
>> - freetype is included, but will not load any fonts, since the filesystem
>> driver is image-side... so you will need to make new fonts embedded, if you
>> want them
>> - known issues: image snapshot and fileout are not working, current
>> date+time hacked to make fat32 timestamps work
>> - revision needed: timer (heartbeat) vs. GC vs. interrupts enable/disable
>> - there are even some hacks to image-side methods
>>
>> *PharoNOS platform directory sources: [pharonos branch]*
>> SRC: https://gitlab.com/johnnyzz/pharonos
>>
>> *VM sources: [dev branch]*
>> SRC: https://gitlab.com/johnnyzz/pharo-vm
>> - added platform directory, build scripts and CMake templates
>> - added VMMaker configs
>>
>> *Build Environment (32bit) - Docker image repository, with CI:*
>> https://gitlab.com/johnnyzz/dev-build
>>
>> *PharoNOS CI (uses previous Docker image):*
>> CI: https://gitlab.com/johnnyzz/pharo-nos-build
>>
>> *How to run it:*
>> You can download fresh disk image from CI and then run:
>> (sudo) kvm -hda build/NOS.img -enable-kvm -cpu kvm32 -vga qxl -m 256
>> -netdev tap,id=user.3,ifname=tap2,vhost=on -net
>> nic,model=rtl8139,netdev=user.3 -global isa-fdc.driveA= -serial stdio
>>
>> *One more thing:*
>> Statically linked Pharo Spur32 (headless) VM, with only one dependency -
>> Linux kernel:
>> CI: https://gitlab.com/johnnyzz/pharo-build-static
>> Size: 2,4MB (too big?, but Freetype included too!)
>>
>> enjoy
>>
>> Jan
>> Save The World!
>>
>> --
>> View this message in context: [ANN] PharoNOS
>> <http://forum.world.st/ANN-PharoNOS-tp4939247.html>
>> Sent from the Pharo Smalltalk Developers mailing list archive
>> <http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html> at
>> Nabble.com.
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Call of projects of open-dev lectures

2017-01-07 Thread Damien Pollet
On 7 January 2017 at 13:52, Hilaire <hila...@drgeo.eu> wrote:

> Do the students have background on Pharo, if yes what is it?
>

They have at least a semester of Java, but it's their first experience with
Pharo, I believe. Stef will have them spend the first 3-4 fridays learning
and going through the books and MOOC.


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Call of projects of open-dev lectures

2017-01-06 Thread Damien Pollet
On 6 January 2017 at 21:04, Hilaire <hila...@drgeo.eu> wrote:

> How should I understand 12 * 4 hours?
> 12 hours by student in a team of four?
>

Ten weeks with 4 dedicated hours every friday afternoon, in groups of 3 to 5


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] ***Important*** Snapcraft pharo package for Pharo 50

2017-01-06 Thread Damien Pollet
Docker seems pretty nice as well, with the added bonus that it can be
hosted on Mac and Windows, and is probably a bit lighter since containers
are not full-system.

About installing Pharo, I'd guess that the adhoc install procedure is a
problem. Whatever the dependencies, it's easier for admins to install stuff
if it's just another package that fits with the rest of their distribution.


Re: [Pharo-dev] Call of projects of open-dev lectures

2017-01-04 Thread Damien Pollet
Perhaps the most important is that the project has maintainers who can be
reasonably reactive (so that the students can at least interact and get
feedback on a weekly basis). If you can identify beginner-friendly issues
and tasks, that would be great too.

On 4 January 2017 at 16:41, Serge Stinckwich <serge.stinckw...@gmail.com>
wrote:

> PolyMath issues are here:
>
> https://github.com/PolyMathOrg/PolyMath/issues
>
>
>
> On Wed, Jan 4, 2017 at 3:48 PM, Stephane Ducasse
> <stepharo.s...@gmail.com> wrote:
> > Hi
> >
> > We are organising a lecture where students should
> > - learn pharo
> > - learn how to communicate with open source community
> > - learn how to reverse engineer, fix bugs
> > They should work by 3/4.
> >
> > We are looking for projects that would like to accept
> > - propose some bugs to be fixed
> > - to communicate with newbies and from time to time
> >
> > I was thinking about
> > - MDL
> > - Roassal
> > - Moose ?
> > - Pillar ? but nobody beside me and I do not have the time
> > - DRGeoII
> > - Telescope
> > - Artefact
> > - Scale
> > - Ecstatic
> >
> > So if you have a project and you want to participate.
> > We would like to have
> > - web page?
> > - mailing-list
> > - bug trackers/todo?
> >
> > Stef
>
>
>
> --
> Serge Stinckwich
> UCBN & UMI UMMISCO 209 (IRD/UPMC)
> Every DSL ends up being Smalltalk
> http://www.doesnotunderstand.org/
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] pillar latex and code listings

2016-11-27 Thread Damien Pollet
EnterprisePharo is on master and there have been few LaTeX-level changes
recently. The parent commit of master dates from april when we migrated a
few books, and the recent commit was documentation.

I think at a minimum you'll have to use a different latex exporter in the
pillar.conf (check EnterprisePharo for that) to output the sbabook-specific
environments and macros, but if there are problems beyond that it's a
matter of how the main file and the templates are combined. At this point
my recommendation would be to migrate to the makefile-centric build of
EnterprisePharo. I've just tried to build PBE but the VM that ./download.sh
gets crashes…




On 27 November 2016 at 12:32, Nicolai Hess <nicolaih...@gmail.com> wrote:

>
>
> 2016-11-21 15:17 GMT+01:00 Damien Pollet <damien.pol...@gmail.com>:
>
>> I finally remembered to have a quick look… there is one named and
>> referenced script in the Pillar chapter in EnterprisePharo. Look for
>> occurrences of "my script"
>>
>
> Ok, thank you Damien.
>
> What is the most "stable" :-) version of sbabook ?
> PharoByExample uses sbabook @ b1ad4b4
> <https://github.com/cdlm/sbabook/tree/b1ad4b4f9a2ac2b2b6ae0a16f03e68e4d22ff5d5>
> EnterprisePharo uses sbabook @ bf4509f
> <https://github.com/cdlm/sbabook/tree/bf4509fa87b1987f6f9a49edddb4e2ac9910b9fa>
>
> nicolai
>
>
>>
>> On 13 November 2016 at 22:53, Nicolai Hess <nicolaih...@gmail.com> wrote:
>>
>>>
>>>
>>> 2016-11-13 22:16 GMT+01:00 Damien Pollet <damien.pol...@gmail.com>:
>>>
>>>> On 13 November 2016 at 16:23, Nicolai Hess <nicolaih...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Damien, I don't see how the layout from the EnterprisePharo could
>>>>> do labeled listings we could ref from the text. May it be that this is 
>>>>> just
>>>>> not possible ?
>>>>
>>>>
>>>> I recall we discussed choices with the other Damien, and that there
>>>> were constraints due to listings.sty, but I think that's possible. I'd have
>>>> to have a look at the code, though, because it's very well possible that we
>>>> decided on a workaround instead.
>>>>
>>>> Can you catch me on Slack sometime this week, or open an issue on
>>>> https://github.com/cdlm/sbabook if not?
>>>>
>>>
>>> Ok, thanks.
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Damien Pollet
>>>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] pillar latex and code listings

2016-11-21 Thread Damien Pollet
I finally remembered to have a quick look… there is one named and
referenced script in the Pillar chapter in EnterprisePharo. Look for
occurrences of "my script"

On 13 November 2016 at 22:53, Nicolai Hess <nicolaih...@gmail.com> wrote:

>
>
> 2016-11-13 22:16 GMT+01:00 Damien Pollet <damien.pol...@gmail.com>:
>
>> On 13 November 2016 at 16:23, Nicolai Hess <nicolaih...@gmail.com> wrote:
>>
>>> Hi Damien, I don't see how the layout from the EnterprisePharo could do
>>> labeled listings we could ref from the text. May it be that this is just
>>> not possible ?
>>
>>
>> I recall we discussed choices with the other Damien, and that there were
>> constraints due to listings.sty, but I think that's possible. I'd have to
>> have a look at the code, though, because it's very well possible that we
>> decided on a workaround instead.
>>
>> Can you catch me on Slack sometime this week, or open an issue on
>> https://github.com/cdlm/sbabook if not?
>>
>
> Ok, thanks.
>
>
>
>>
>>
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
>
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] pillar latex and code listings

2016-11-07 Thread Damien Pollet
On 7 November 2016 at 23:03, Nicolai Hess <nicolaih...@gmail.com> wrote:

> I look at the pdf for the update PBE and the references to code example
> don't
> work (just show ??, it works for figures).
>

Could be that the reference or label simply don't match…


> The code in the code example isn't highlight and
> does't have a dark background (as it is in the html output).
>

Don't expect PDF and HTML to look the same. Pillar does its job at a
semantic level, not at form level. Both have their own independent way of
styling stuff. For LaTeX it relies on a specific document class setup,
including some macros to have a layer of decoupling between pillar's output
and what some packages offer. The listing environment you're mentioning is
an example; I haven't looked at pre-EnterprisePharo books in a while, but
it should indeed just be defined as an alias to the lstlisting provided by
listings.sty.

BTW I'd recommend migrating the books to the EnterprisePharo layout… but
that requires being somehow versed in the dark arts of LaTeX and ready to
spend a couple days checking for problems and matching format conventions…

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Git versions on CI slaves

2016-10-21 Thread Damien Pollet
On 21 October 2016 at 15:47, Pavel Krivanek <pavel.kriva...@gmail.com>
wrote:

> The main problem are the long-term supported Linux distributions like
> Debian or CentOS.


Even Debian stable has git 2.1 so I'd say it's a non-problem.


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Path >> fullName should not be the same as printString

2016-10-14 Thread Damien Pollet
While we're at it, canonicalizing paths at creation time seems wrong also:

First because those two expressions do not return the same thing:
Path from: 'a/b/c/../d'
Path * / 'a' / 'b' / 'c' / '..' / 'd'

Second because if c happens to be a symlink, then the operating system will
not find the same thing as Pharo. The semantics is that you follow the
symlink first, and follow .. in the directory you end up in. So that goes
to the parent of the actual directory pointed to by the symlink, not back
one level in the path.

On 14 October 2016 at 13:59, Sven Van Caekenberghe <s...@stfx.eu> wrote:

> All this already works (although maybe not perfectly in edge cases).
> Consider:
>
>   'file:///C:/Users/tempfile.txt' asUrl.
>
>   'file:///C:/Users/tempfile.txt' asUrl asFileReference.
>
>   FileLocator C / 'Users' / 'tmpfile.txt'.
>
> Where the last two are identical.
>
> Note that relative file URLs do not exist.
>
> > On 14 Oct 2016, at 13:28, Gabriel Cotelli <g.cote...@gmail.com> wrote:
> >
> > At least Chrome uses this:
> >
> > file:///C:/Users/tempfile.txt
> >
> > On Fri, Oct 14, 2016 at 1:45 AM, Martin McClure <mar...@hand2mouse.com>
> wrote:
> > On 10/13/2016 10:35 AM, Damien Pollet wrote:
> > Could you give an example what the file:// URLs look like when they
> contain a drive letter?
> >
> > I'm afraid I don't have any Windows machines handy to see what Internet
> Explorer does, but as far as I can tell an absolute URL compliant with RFC
> 3986 might look something like
> >
> > file:/c:/foo/bar
> >
> > A relative URL that fits the URL syntax would be
> >
> > file:c:/foo/bar
> >
> > But I'm finding it difficult to tell precisely how RFCs 1738 and 3986
> currently interact.
> >
> > The discussion in this proposed RFC is somewhat interesting:
> https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-02, as it
> directly addresses Windows file naming. In appendix B.2, it says
> >
> > "When mapping a DOS- or Windows-like file path to a URI, use the drive
> >letter (e.g. "c:") as the first path segment. Some implementations
> leave the leading slash off before the drive letter.  "
> >
> > and appendix C.1 deals with DOS file paths.
> >
> >
> > I hope this is more helpful than it is confusing.
> >
> > Regards,
> >
> > -Martin
> >
> >
> >
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Path >> fullName should not be the same as printString

2016-10-13 Thread Damien Pollet
Yes, I knew about the per-drive current directory…

Could you give an example what the file:// URLs look like when they contain
a drive letter?

For context, my goal looking at this was to make Path instances able to
output a string representation of themselves that is useable independently
of a FileSystem. A good example would be inside a configuration file
committed in git, so that has to work whatever the system the working copy
resides on, but that we can assume will contain nothing too
system-specific. The URL path could be a nice example too.

On 13 October 2016 at 18:15, Ben Coman <b...@openinworld.com> wrote:

> Its awkward to deal with. Some notes here...
> https://pharo.fogbugz.com/default.asp?13094#154946
>
>
> On Fri, Oct 14, 2016 at 12:05 AM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
>> I explored a bit more and I'm stumped. Fixing it for Unix is easy, but it
>> breaks Windows paths, because those use their first element to store the
>> drive name (c: d: etc) which shouldn't be preceded by a /.
>>
>> I'm starting to think the Absolute/Relative dichotomy is either wrong or
>> incomplete and we need windows-specific subclasses. Doesn't it feel strange
>> that we can pass strings with different syntax and assumptions to Path
>> class >> from: and get instances from the same classes?
>>
>> On 8 October 2016 at 19:21, Damien Pollet <damien.pol...@gmail.com>
>> wrote:
>>
>>> It's a breaking change and I don't know if there's a way to do it with
>>> proper deprecation… my hope is that there are not many users of it, but I
>>> haven't checked yet. Any opinions among users of FileSystem?
>>>
>>> On 8 October 2016 at 19:12, stepharo <steph...@free.fr> wrote:
>>>
>>>> So damien what is the solution?
>>>>
>>>>
>>>>
>>>> Le 7/10/16 à 18:18, Damien Pollet a écrit :
>>>>
>>>> Path >> printString returns a self-evaluating representation, which is
>>>> fine. Its symmetric is thus Compiler >> evaluate: aString.
>>>>
>>>> (Path from: aString) parses the unix/url representation of a path and
>>>> results in a Path instance. As far as I understand, #fullName should be the
>>>> symmetric of that, so that we always have (modulo syntactic normalization,
>>>> maybe) :
>>>>
>>>> (Path from: aString) fullName = aString
>>>>
>>>> Note that there's an edge case with the empty string that is wrong (at
>>>> least it should be confusing to unix guys):
>>>>
>>>> Path from: ''. "Path root"
>>>>
>>>> Usually the absolute path for the root of the filesystem is explicitly
>>>> noted '/', and an empty path is equivalent to '.'
>>>>
>>>> --
>>>> Damien Pollet
>>>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Damien Pollet
>>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>>
>>
>>
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Path >> fullName should not be the same as printString

2016-10-13 Thread Damien Pollet
I explored a bit more and I'm stumped. Fixing it for Unix is easy, but it
breaks Windows paths, because those use their first element to store the
drive name (c: d: etc) which shouldn't be preceded by a /.

I'm starting to think the Absolute/Relative dichotomy is either wrong or
incomplete and we need windows-specific subclasses. Doesn't it feel strange
that we can pass strings with different syntax and assumptions to Path
class >> from: and get instances from the same classes?

On 8 October 2016 at 19:21, Damien Pollet <damien.pol...@gmail.com> wrote:

> It's a breaking change and I don't know if there's a way to do it with
> proper deprecation… my hope is that there are not many users of it, but I
> haven't checked yet. Any opinions among users of FileSystem?
>
> On 8 October 2016 at 19:12, stepharo <steph...@free.fr> wrote:
>
>> So damien what is the solution?
>>
>>
>>
>> Le 7/10/16 à 18:18, Damien Pollet a écrit :
>>
>> Path >> printString returns a self-evaluating representation, which is
>> fine. Its symmetric is thus Compiler >> evaluate: aString.
>>
>> (Path from: aString) parses the unix/url representation of a path and
>> results in a Path instance. As far as I understand, #fullName should be the
>> symmetric of that, so that we always have (modulo syntactic normalization,
>> maybe) :
>>
>> (Path from: aString) fullName = aString
>>
>> Note that there's an edge case with the empty string that is wrong (at
>> least it should be confusing to unix guys):
>>
>> Path from: ''. "Path root"
>>
>> Usually the absolute path for the root of the filesystem is explicitly
>> noted '/', and an empty path is equivalent to '.'
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Path >> fullName should not be the same as printString

2016-10-08 Thread Damien Pollet
It's a breaking change and I don't know if there's a way to do it with
proper deprecation… my hope is that there are not many users of it, but I
haven't checked yet. Any opinions among users of FileSystem?

On 8 October 2016 at 19:12, stepharo <steph...@free.fr> wrote:

> So damien what is the solution?
>
>
>
> Le 7/10/16 à 18:18, Damien Pollet a écrit :
>
> Path >> printString returns a self-evaluating representation, which is
> fine. Its symmetric is thus Compiler >> evaluate: aString.
>
> (Path from: aString) parses the unix/url representation of a path and
> results in a Path instance. As far as I understand, #fullName should be the
> symmetric of that, so that we always have (modulo syntactic normalization,
> maybe) :
>
> (Path from: aString) fullName = aString
>
> Note that there's an edge case with the empty string that is wrong (at
> least it should be confusing to unix guys):
>
> Path from: ''. "Path root"
>
> Usually the absolute path for the root of the filesystem is explicitly
> noted '/', and an empty path is equivalent to '.'
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


[Pharo-dev] Path >> fullName should not be the same as printString

2016-10-07 Thread Damien Pollet
Path >> printString returns a self-evaluating representation, which is
fine. Its symmetric is thus Compiler >> evaluate: aString.

(Path from: aString) parses the unix/url representation of a path and
results in a Path instance. As far as I understand, #fullName should be the
symmetric of that, so that we always have (modulo syntactic normalization,
maybe) :

(Path from: aString) fullName = aString

Note that there's an edge case with the empty string that is wrong (at
least it should be confusing to unix guys):

Path from: ''. "Path root"

Usually the absolute path for the root of the filesystem is explicitly
noted '/', and an empty path is equivalent to '.'

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Many problems with Iceberg :-(

2016-09-23 Thread Damien Pollet
Same for me. While Iceberg is in development, I have to rely on gitfiletree
and command-line git to have some control over the repo.

On 23 September 2016 at 11:23, Norbert Hartl <norb...@hartl.name> wrote:

> I really like this to work. I'm not sure my reports are useful at all. If
> I should report detailed stuff or should try something just drop me a note.
>
> thanks for making iceberg. Until now I've seen just the tip of it ;)
>
> Norbert
>
> Am 23.09.2016 um 10:57 schrieb Nicolas Passerini <npasser...@gmail.com>:
>
> Thanks, Norbert.
>
> On Fri, Sep 23, 2016 at 10:46 AM, Norbert Hartl <norb...@hartl.name>
> wrote:
>
>> No,
>>
>> I unloaded the code and reloaded the development version. My error is
>> slightly different. I use a repository that is having a filetree repository
>> (or gitfiletree) and that I try to open with iceberg
>>
>> Norbert
>>
>>
>> 
>>
>> Am 23.09.2016 um 00:07 schrieb Alexandre Bergel <alexandre.ber...@me.com
>> >:
>>
>> Hi!
>>
>> I am facing several bugs using Iceberg.
>> Am I the only one?
>>
>> 
>> 
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Pharo-users] [ANN] Pillar 4.0.0

2016-09-17 Thread Damien Pollet
I think the book.pillar root file is the way.

On 17 September 2016 at 08:21, Tudor Girba <tu...@tudorgirba.com> wrote:

> Hi,
>
> Great. I also started to use it, and I would be interested in working also
> on creating a webpage out of the box.
>
> It is also unclear to me how to deal with pillar.conf (I did not look at
> the code yet.). Should I rely on a book.pillar root class that embeds the
> chapter files? Or is there a way to still rely on a declarative way like we
> had in pillar.conf to embed those files?
>
> Cheers,
> Doru
>
>
> > On Sep 16, 2016, at 10:02 PM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
> >
> > Yes, I will first cleanup the one in the book archetype, and unify it
> with the Enterprise & Spec books, since they seem to be the most up-to-date
> with Pillar.
> >
> > On 16 September 2016 at 21:19, stepharo <steph...@free.fr> wrote:
> > Damien Pollet started to have a look at the makefile and this is on my
> todo to try.
> >
> >
> > Stef
> >
> >
> > Le 15/9/16 à 00:13, Johan Fabry a écrit :
> >
> > Hi Doru,
> >
> > it looks like there’s a problem with copySupport.mk, I had the same
> problem with the Spec booklet. The file is using Linux only syntax for the
> cp command. This was fixed for the Spec booklet after I raised an issue
> there, but it seems the fix was not propagated everywhere it needs to be.
> Have a look at https://github.com/SquareBracketAssociates/
> BuildingUIWithSpec/blob/master/copySupport.mk and try to update your
> copySupport, it may fix your problem.
> >
> > --
> > Does this mail seem too brief? Sorry for that, I don’t mean to be rude!
> Please see http://emailcharter.org .
> >
> > Johan Fabry   -   http://pleiad.cl/~jfabry
> > PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -
> University of Chile
> >
> > On Sep 14, 2016, at 18:40, Tudor Girba <tu...@tudorgirba.com> wrote:
> >
> > Hi,
> >
> > Ok, I found this document:
> > https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/
> lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
> >
> > And now I tried this:
> >
> > wget --no-check-certificate https://raw.githubusercontent.
> com/pillar-markup/pillar/master/download.sh
> > chmod +x download.sh
> > ./download.sh
> > ./pillar archetype book
> >
> > and I got the book template. But, I do not know how to compile the book.
> I tried
> >
> > make
> >
> > or
> > make book
> >
> > but I get:
> >
> > make
> > mkdir -p ./book-result
> > find . -type d -path ./book-result -prune -o -wholename "*/figures"
> -exec cp {} --parents -r ./book-result \;
> > cp: ./Chapters/Chapter1/figures is a directory (not copied).
> > cp: --parents: No such file or directory
> > cp: -r: No such file or directory
> > cp: ./figures is a directory (not copied).
> > cp: --parents: No such file or directory
> > cp: -r: No such file or directory
> > cp: ./support/figures is a directory (not copied).
> > cp: --parents: No such file or directory
> > cp: -r: No such file or directory
> > cp -r support/ ./book-result
> > cp .latexmkrc ./book-result
> > cp: .latexmkrc: No such file or directory
> > make: *** [copySupport] Error 1
> >
> >
> > I must be doing something wrong, but I do not know what. I am on a Mac
> 10.11 and I am using bash. Could someone point me in the right direction?
> >
> > Cheers,
> > Doru
> >
> >
> > On Sep 14, 2016, at 10:49 PM, Tudor Girba <tu...@tudorgirba.com> wrote:
> >
> > Hi,
> >
> > Where can I find the new template system for Pillar?
> >
> > Cheers,
> > Doru
> >
> >
> > On Jul 22, 2016, at 3:41 PM, Thibault ARLOING <
> thibault.arlo...@hotmail.fr> wrote:
> >
> > Hello,
> >
> > I'm happy to announce the latest release of Pillar.
> > This release has been possible because of the hard work of Damien
> Cassou, Cyril Ferlicot, Yann Dubois, Thibault Arloing and Lukas Komarek.
> > What did it bring and what are the largest changes ?
> >
> > • Huge cleaning of code and Dependencies
> > • Many bug fixes
> > • Huge refactoring of internal parts
> > • Extract phase management into an external project
> (LightPhaser)
> > • Transformers and Phases are all Pipes
> > Remove Compilation cycle
> > • Remove template handling f

Re: [Pharo-dev] [Pharo-users] [ANN] Pillar 4.0.0

2016-09-16 Thread Damien Pollet
Yes, I will first cleanup the one in the book archetype, and unify it with
the Enterprise & Spec books, since they seem to be the most up-to-date with
Pillar.

On 16 September 2016 at 21:19, stepharo <steph...@free.fr> wrote:

> Damien Pollet started to have a look at the makefile and this is on my
> todo to try.
>
>
> Stef
>
>
> Le 15/9/16 à 00:13, Johan Fabry a écrit :
>
> Hi Doru,
>>
>> it looks like there’s a problem with copySupport.mk, I had the same
>> problem with the Spec booklet. The file is using Linux only syntax for the
>> cp command. This was fixed for the Spec booklet after I raised an issue
>> there, but it seems the fix was not propagated everywhere it needs to be.
>> Have a look at https://github.com/SquareBrack
>> etAssociates/BuildingUIWithSpec/blob/master/copySupport.mk and try to
>> update your copySupport, it may fix your problem.
>>
>> --
>> Does this mail seem too brief? Sorry for that, I don’t mean to be rude!
>> Please see http://emailcharter.org .
>>
>> Johan Fabry   -   http://pleiad.cl/~jfabry
>> PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -  University
>> of Chile
>>
>> On Sep 14, 2016, at 18:40, Tudor Girba <tu...@tudorgirba.com> wrote:
>>>
>>> Hi,
>>>
>>> Ok, I found this document:
>>> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBo
>>> ok/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
>>>
>>> And now I tried this:
>>>
>>> wget --no-check-certificate https://raw.githubusercontent.
>>> com/pillar-markup/pillar/master/download.sh
>>> chmod +x download.sh
>>> ./download.sh
>>> ./pillar archetype book
>>>
>>> and I got the book template. But, I do not know how to compile the book.
>>> I tried
>>>
>>> make
>>>
>>> or
>>> make book
>>>
>>> but I get:
>>>
>>> make
>>> mkdir -p ./book-result
>>> find . -type d -path ./book-result -prune -o -wholename "*/figures"
>>> -exec cp {} --parents -r ./book-result \;
>>> cp: ./Chapters/Chapter1/figures is a directory (not copied).
>>> cp: --parents: No such file or directory
>>> cp: -r: No such file or directory
>>> cp: ./figures is a directory (not copied).
>>> cp: --parents: No such file or directory
>>> cp: -r: No such file or directory
>>> cp: ./support/figures is a directory (not copied).
>>> cp: --parents: No such file or directory
>>> cp: -r: No such file or directory
>>> cp -r support/ ./book-result
>>> cp .latexmkrc ./book-result
>>> cp: .latexmkrc: No such file or directory
>>> make: *** [copySupport] Error 1
>>>
>>>
>>> I must be doing something wrong, but I do not know what. I am on a Mac
>>> 10.11 and I am using bash. Could someone point me in the right direction?
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On Sep 14, 2016, at 10:49 PM, Tudor Girba <tu...@tudorgirba.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Where can I find the new template system for Pillar?
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>> On Jul 22, 2016, at 3:41 PM, Thibault ARLOING <
>>>>> thibault.arlo...@hotmail.fr> wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I'm happy to announce the latest release of Pillar.
>>>>> This release has been possible because of the hard work of Damien
>>>>> Cassou, Cyril Ferlicot, Yann Dubois, Thibault Arloing and Lukas Komarek.
>>>>> What did it bring and what are the largest changes ?
>>>>>
>>>>> • Huge cleaning of code and Dependencies
>>>>> • Many bug fixes
>>>>> • Huge refactoring of internal parts
>>>>> • Extract phase management into an external project
>>>>> (LightPhaser)
>>>>> • Transformers and Phases are all Pipes
>>>>> Remove Compilation cycle
>>>>> • Remove template handling from Pillar
>>>>> • Remove generation of pillarpostExport.sh
>>>>> • Pillar now exports files to JSON format
>>>>> • Command for pillar archetypes "./pillar archetype book",
>>>>> book can be replaced by other archetyp

Re: [Pharo-dev] Call for design for a literal programming doc similar to PythonDocTest

2016-09-16 Thread Damien Pollet
On 16 September 2016 at 20:42, stepharo <steph...@free.fr> wrote:

> Daemons of over-engineering are tempting us because this is cooler to to
> design something complex.
>

Dreaming of crazy features is a good thing. Talking from experience, I
prefer that to not dreaming, which is pretty dull.

And over-engineering is of course the wrong path. But the temptation to do
so is revealing of where the system is too complex.

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Call for design for a literal programming doc similar to PythonDocTest

2016-09-16 Thread Damien Pollet
On 16 September 2016 at 15:35, Thierry Goubier <thierry.goub...@gmail.com>
wrote:

> Could we have a Pillar-way of organizing comments so that, based on
> sections, one could automatically find, from a book-like comment of the
> package or the class, which section applies to a given method?


I guess it's like any cross-referencing or indexing system… I'm guessing a
purely automatic system would find irrelevant matches and miss related
stuff, so it would need some human-added hints. But no one can reasonably
go through the cross-product of docs and code, adding hints, so that would
need to be crowdsourced and aggregated, a bit like the QA critiques.

I'll leave this link to the Django docs:
https://docs.djangoproject.com/en/1.10/
I recently watched a talk from I think the Django lead who was explaining
the different kinds of docs (tutorials, howtos, topic guides, and
reference). Package/class/method comments would be reference doc, but would
need to cross-ref with any other docs too…

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Call for design for a literal programming doc similar to PythonDocTest

2016-09-16 Thread Damien Pollet
On 16 September 2016 at 13:42, Clément Bera <bera.clem...@gmail.com> wrote:

> Why don't you just change nautilus to have two text areas, one with the
> test corresponding to the method and the other one with the method's code ?


Exactly, we already have that with class comments, so why not methods (and
while we're at it, package comments too)

A separate method comment would make it clear that it's intended as API
documentation for users of the method (and then the comment inside the
method's source can be really a development comment). Another advantage is
that its syntax won't have to deal with being between quotes and all the
indentation/escapement hassles that come with inserting a syntax inside
another one…

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Ombu losing file on folder renaming

2016-09-08 Thread Damien Pollet
The path you copied corresponds to before, or after the rename ?

On 8 September 2016 at 09:27, stepharo <steph...@free.fr> wrote:

> Hi Martin
>
> I often get
>
> Information
> Ombu: Couldn't write entry, since FileDoesNotExist: File @
> /Users/ducasse/Workspace/FirstCircle/ActiveResearch/Pharo/
> PharoHarvestingFixes/60/current/pharo-local/ombu-sessions/
> Pharo_ajxqkxc.ombu
>
> And this happens when I save and close the image, renamed the folder and
> reopen the image.
>
> Stef
>
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] How to load with Iceberg?

2016-08-26 Thread Damien Pollet
Le vendredi 26 août 2016, Alexandre Bergel <alexandre.ber...@me.com> a
écrit :
>
> By the way, I see a commit with the comment ‘gitfiletree repository
> properties’. What is that? I have never made this commit.
>

it's made automatically when you first use the repo. Have a look at the
diff, there should be only a couple metadata there


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] install GitFileTree from catalog --> missing class

2016-08-11 Thread Damien Pollet
Is it normal that a clean 60178 image is still missing the class after
loading GitFileTree from the catalog?

On 4 June 2016 at 09:37, stepharo <steph...@free.fr> wrote:

> This is why we need to have metadata of loaded packages inside the image.
>
> Because right now the maintainer of the package is forced to remove
> information from his configuration :(
>
> Been there with RB.
>
>
> Setf
>
>
> Le 3/6/16 à 13:38, Esteban Lorenzano a écrit :
>
> yes, but then GitFileTree from catalog is downloading a wrong version :)
>>
>> On 03 Jun 2016, at 13:28, Sven Van Caekenberghe <s...@stfx.eu> wrote:
>>>
>>> STON is now (in 6.0) used as JSON parser.
>>>
>>> On 03 Jun 2016, at 13:24, Esteban Lorenzano <esteba...@gmail.com> wrote:
>>>>
>>>> this class is not there anymore :
>>>>
>>>> MCFileTreeJsonParser
>>>>
>>>> (Pharo 6.0 version)
>>>>
>>>
>>>
>>
>>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Unambiguously differentiating official and local builds [Was [Vm-dev] Moving the Cog subversion repository to githup at 2016-6-16 7am UTC]

2016-06-16 Thread Damien Pollet
On 17 June 2016 at 00:08, Eliot Miranda <eliot.mira...@gmail.com> wrote:

> What I don't understand is how, or indeed why, one stages modified files.
> I get that adding files requires informing git.  But why doesn't "git
> commit" commit modified files by default?  Why do I have to use git commit
> -a to include modified files?
>

The mindset with git is that your working copy is a sort of experimentation
area where you can have a crazy scientist attitude. When you commit,
however, you switch hats and become the thorough developer that cares about
your future self, and therefore has done all changes in a perfect didactic
sequence so that you can understand what the hell your future-past-self was
doing.

If your crazy-scientist-self is already auto-censored into producing limpid
incremental patches, then he can use git aliases for his preferred workflow
(for instance I have git ci, git co, git st configured to mimic their svn
counterparts; git staged shows a diff of what's to be committed next, etc)

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Implementing algorithms on polygons

2016-06-16 Thread Damien Pollet
Le jeudi 16 juin 2016, Ralph Boland <rpbol...@gmail.com> a écrit :

> I have some algorithms on polygons I would like to implement.
> When  implemented I will release my implementations as Squeak
> or Pharo packages under an MIT licence.
>
> What does Pharo have to offer in terms of a GUI for this?


Depends what you envision as GUI. I'd point you to Athens (2D vector
graphics), Bloc (Pharo's next GUI framework), Roassal (visualization DSL)…

It would also be helpful if the package already had an implementation
> of an algorithm for triangulating polygons.
>
> An implementation of an algorithms for constructing Voronoi diagrams
> of a point set would also be useful.


Check http://natalia.tymch.uk/RTVoronyjDiagram/


> Any advice appreciated.
>
> Note: earlier I made a similar post on one of the Squeak mailing lists.
>
> Are there anyone who might be interested in my algorithms?
> I won't go into details here but I am likely to implement my own
> triangulation algorithm among others and it would be nice if this
> implementation in particular was used by someone or some package.
>

Computational geometry is something I would explore for fun, but I don't
have a professional use-case for it :)


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [Ann] New version of Mocketry 3.0

2016-06-13 Thread Damien Pollet
Hello guys, a feature idea/request…

This weekend I was binge-watching talks from Ruby conferences, by Sandi
Metz and Katrina Owen on OO design, refactoring, and testing.
Highly recommended, and at least Sandi is an experienced smalltalker.
See for instance RailsConf 2016 - Succession by Katrina Owen
<https://www.youtube.com/watch?v=59YClXmkCVM> or Rails Conf 2013 The Magic
Tricks of Testing by Sandi Metz
<https://www.youtube.com/watch?v=URSWYvyc42M>

In particular, in the second one, Sandi remarks that there is a risk that
the application API diverges from the set of messages checked with the
mocks. There are tools to help with that, mostly involving the mocks
checking that each message they expect actually exists in the application.

In Mocketry, mocks are created ex-nihilo, but it could be nice to pass a
reference class to compare with, or for the mock to check that there are
implementors of the message.

On 20 April 2016 at 22:54, Tudor Girba <tu...@tudorgirba.com> wrote:

> Thank you!
>
> Doru
>
>
> > On Apr 20, 2016, at 10:35 AM, Denis Kudriashov <dionisi...@gmail.com>
> wrote:
> >
> >
> > 2016-04-20 2:27 GMT+02:00 Sean P. DeNigris <s...@clipperadams.com>:
> > Tudor Girba-2 wrote
> > > It is your prerogative :), but “should got" sounds broken :(.
> >
> > Sounds like fingernails on a chalkboard IMH-native-english-speaker-O ;)
> >
> > Ok. I open new thread about names
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "It's not how it is, it is how we see it."
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About PharoInProgress book

2016-05-06 Thread Damien Pollet
Listings can be floating (like figures) or not; I'd still recommend to
float the larger ones, especially if you want to refer to them from several
places, because for those, you need a number/caption and an entry in the
list of illustrations. Floating is more or less independent from the label
and caption, but IMHO it makes more sense.

I'm not sure of the details, but maybe you'll have to update how you marked
them up in Pillar to work as needed with the new LaTeX class. Check the
pillar chapter or its readme file on github.

On 6 May 2016 at 04:27, Esteban A. Maringolo <emaring...@gmail.com> wrote:

> Damien:
>
> One thing I noticed with the new PDF rendering is that the code
> listings does not appear in the order they are in the Pillar file, so
> I can't be sure that a code block will follow a certain paragraph,
> hence I can't say "in the following example code", because the example
> might have appeared three paragraphs ago.
>
> Can that be avoided? And if not... how can I "link" or add a reference
> to such code block?
>
> Regards!
>
> Esteban A. Maringolo
>
>
> 2016-05-04 4:14 GMT-03:00 stepharo <steph...@free.fr>:
> > Yes this is on my todo.
> >
> >
> > Le 3/5/16 à 14:01, Damien Pollet a écrit :
> >
> > The interns updated the stable release of Pillar; there is a mention of
> the
> > listings package in the log, which suggests that pillar outputs TeX code
> for
> > the new sbabook class instead of the old one. That should be fixable by
> > finding the correct version of Pillar to use, but the correct long-term
> fix
> > is to migrate to sbabook.
> >
> > On 27 April 2016 at 22:28, Esteban A. Maringolo <emaring...@gmail.com>
> > wrote:
> >>
> >> I sent an email this morning about this issue, apparently it has to do
> >> with a missing font.
> >>
> >> Esteban A. Maringolo
> >>
> >>
> >> 2016-04-27 16:50 GMT-03:00 stepharo <steph...@free.fr>:
> >> > Hi
> >> >
> >> > I tried to fix the build on jenkins but I failed. I do not know how to
> >> > fix
> >> > it.
> >> >
> >> > I do not know how to fix. Probably the changes in Pillar broke it.
> >> >
> >> > Now since Damien will quit our team, I wonder what will be the future
> of
> >> > pillar, may be markdown and for me LaTeX
> >> >
> >> > Stef
> >> >
> >> >
> >> >
> >> > ./AWS.tex:40: LaTeX Error: Environment listing undefined.
> >> >
> >> > See the LaTeX manual or LaTeX Companion for explanation.
> >> > Type  H   for immediate help.
> >> > ...
> >> >
> >> > l.40 \begin{listing}
> >> >  [language=smalltalk]
> >> > Your command was ignored.
> >> > Type  Ito replace it with another command,
> >> > orto continue without it.
> >> >
> >> >
> >> > ./AWS.tex:53: LaTeX Error: \begin{document} ended by \end{listing}.
> >> >
> >> > See the LaTeX manual or LaTeX Companion for explanation.
> >> > Type  H   for immediate help.
> >> > ...
> >> >
> >> > l.53 \end{listing}
> >> >
> >> > Your command was ignored.
> >> > Type  Ito replace it with another command,
> >> > orto continue without it.
> >> >
> >> > No file AWS.bbl.
> >> >
> >> >
> >>
> >
> >
> >
> > --
> > Damien Pollet
> > type less, do more [ | ] http://people.untyped.org/damien.pollet
> >
> >
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About PharoInProgress book

2016-05-03 Thread Damien Pollet
I did the migration, now waiting for the CI to run a build. On my machine
it looked fine.

SBAbook is a LaTeX class I made for the Pharo books, that's what defines
the new look of e.g. Enterprise Pharo

On 3 May 2016 at 19:43, Esteban A. Maringolo <emaring...@gmail.com> wrote:

> Hi Damien,
>
> Sorry, I don't know what SBABook is :)
> Who maintains the CI?  Is it easily fixable?
>
> I could get TeX running locally following your advice, so I can build
> the book's PDFs on my own machine. I guess doing the same on the build
> slave should be as straightforward as that.
>
> Regards!
> Esteban A. Maringolo
>
>
> 2016-05-03 9:01 GMT-03:00 Damien Pollet <damien.pol...@gmail.com>:
> > The interns updated the stable release of Pillar; there is a mention of
> the
> > listings package in the log, which suggests that pillar outputs TeX code
> for
> > the new sbabook class instead of the old one. That should be fixable by
> > finding the correct version of Pillar to use, but the correct long-term
> fix
> > is to migrate to sbabook.
> >
> > On 27 April 2016 at 22:28, Esteban A. Maringolo <emaring...@gmail.com>
> > wrote:
> >>
> >> I sent an email this morning about this issue, apparently it has to do
> >> with a missing font.
> >>
> >> Esteban A. Maringolo
> >>
> >>
> >> 2016-04-27 16:50 GMT-03:00 stepharo <steph...@free.fr>:
> >> > Hi
> >> >
> >> > I tried to fix the build on jenkins but I failed. I do not know how to
> >> > fix
> >> > it.
> >> >
> >> > I do not know how to fix. Probably the changes in Pillar broke it.
> >> >
> >> > Now since Damien will quit our team, I wonder what will be the future
> of
> >> > pillar, may be markdown and for me LaTeX
> >> >
> >> > Stef
> >> >
> >> >
> >> >
> >> > ./AWS.tex:40: LaTeX Error: Environment listing undefined.
> >> >
> >> > See the LaTeX manual or LaTeX Companion for explanation.
> >> > Type  H   for immediate help.
> >> > ...
> >> >
> >> > l.40 \begin{listing}
> >> >  [language=smalltalk]
> >> > Your command was ignored.
> >> > Type  Ito replace it with another command,
> >> > orto continue without it.
> >> >
> >> >
> >> > ./AWS.tex:53: LaTeX Error: \begin{document} ended by \end{listing}.
> >> >
> >> > See the LaTeX manual or LaTeX Companion for explanation.
> >> > Type  H   for immediate help.
> >> > ...
> >> >
> >> > l.53 \end{listing}
> >> >
> >> > Your command was ignored.
> >> > Type  Ito replace it with another command,
> >> > orto continue without it.
> >> >
> >> > No file AWS.bbl.
> >> >
> >> >
> >>
> >
> >
> >
> > --
> > Damien Pollet
> > type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About PharoInProgress book

2016-05-03 Thread Damien Pollet
See https://github.com/SquareBracketAssociates/PharoInProgress/issues/24

On 3 May 2016 at 14:01, Damien Pollet <damien.pol...@gmail.com> wrote:

> The interns updated the stable release of Pillar; there is a mention of
> the listings package in the log, which suggests that pillar outputs TeX
> code for the new sbabook class instead of the old one. That should be
> fixable by finding the correct version of Pillar to use, but the correct
> long-term fix is to migrate to sbabook.
>
> On 27 April 2016 at 22:28, Esteban A. Maringolo <emaring...@gmail.com>
> wrote:
>
>> I sent an email this morning about this issue, apparently it has to do
>> with a missing font.
>>
>> Esteban A. Maringolo
>>
>>
>> 2016-04-27 16:50 GMT-03:00 stepharo <steph...@free.fr>:
>> > Hi
>> >
>> > I tried to fix the build on jenkins but I failed. I do not know how to
>> fix
>> > it.
>> >
>> > I do not know how to fix. Probably the changes in Pillar broke it.
>> >
>> > Now since Damien will quit our team, I wonder what will be the future of
>> > pillar, may be markdown and for me LaTeX
>> >
>> > Stef
>> >
>> >
>> >
>> > ./AWS.tex:40: LaTeX Error: Environment listing undefined.
>> >
>> > See the LaTeX manual or LaTeX Companion for explanation.
>> > Type  H   for immediate help.
>> > ...
>> >
>> > l.40 \begin{listing}
>> >  [language=smalltalk]
>> > Your command was ignored.
>> > Type  Ito replace it with another command,
>> > orto continue without it.
>> >
>> >
>> > ./AWS.tex:53: LaTeX Error: \begin{document} ended by \end{listing}.
>> >
>> > See the LaTeX manual or LaTeX Companion for explanation.
>> > Type  H   for immediate help.
>> > ...
>> >
>> > l.53 \end{listing}
>> >
>> > Your command was ignored.
>> > Type  Ito replace it with another command,
>> > orto continue without it.
>> >
>> > No file AWS.bbl.
>> >
>> >
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] About PharoInProgress book

2016-05-03 Thread Damien Pollet
The interns updated the stable release of Pillar; there is a mention of the
listings package in the log, which suggests that pillar outputs TeX code
for the new sbabook class instead of the old one. That should be fixable by
finding the correct version of Pillar to use, but the correct long-term fix
is to migrate to sbabook.

On 27 April 2016 at 22:28, Esteban A. Maringolo <emaring...@gmail.com>
wrote:

> I sent an email this morning about this issue, apparently it has to do
> with a missing font.
>
> Esteban A. Maringolo
>
>
> 2016-04-27 16:50 GMT-03:00 stepharo <steph...@free.fr>:
> > Hi
> >
> > I tried to fix the build on jenkins but I failed. I do not know how to
> fix
> > it.
> >
> > I do not know how to fix. Probably the changes in Pillar broke it.
> >
> > Now since Damien will quit our team, I wonder what will be the future of
> > pillar, may be markdown and for me LaTeX
> >
> > Stef
> >
> >
> >
> > ./AWS.tex:40: LaTeX Error: Environment listing undefined.
> >
> > See the LaTeX manual or LaTeX Companion for explanation.
> > Type  H   for immediate help.
> > ...
> >
> > l.40 \begin{listing}
> >  [language=smalltalk]
> > Your command was ignored.
> > Type  Ito replace it with another command,
> > orto continue without it.
> >
> >
> > ./AWS.tex:53: LaTeX Error: \begin{document} ended by \end{listing}.
> >
> > See the LaTeX manual or LaTeX Companion for explanation.
> > Type  H   for immediate help.
> > ...
> >
> > l.53 \end{listing}
> >
> > Your command was ignored.
> > Type  Ito replace it with another command,
> > orto continue without it.
> >
> > No file AWS.bbl.
> >
> >
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Damien Pollet
On 23 April 2016 at 16:04, Cédrick Béler <cdric...@gmail.com> wrote:

> 1000 per day in 100 years => 36 500 000
>
> What I want is keeping track of all positions a person can have in his
> life (what can easily reach millions) and then rely on these « points » to
> index information added in the system.
>

Sure, but 1) that's not a lot 2) do you even know if you need interactive
stuff or if batch processing is ok?



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Damien Pollet
There are a lot of spatial access data structures:
https://en.wikipedia.org/wiki/Spatial_database#Spatial_index

But for a prototype I don't think you care; a simple linear search should
be ok for testing until you have thousands and thousands of records. It's
probably more important to really explore what you need and how your
constraints will influence the API (e.g. since we haven't invented
teleportation yet, events for one person that are close in time are
necessarily close in space)

On 23 April 2016 at 14:08, Cédrick Béler <cdric...@gmail.com> wrote:

> Thanks Max,
>
> I’ve seen in Pharo 5 OrderedDictionary, OrderedPreservingDictionary and
> some others. I guess they have the same intent.
>
> I was actually trying them right now :)
>
> Cheers,
>
> Cédrik
>
>
>
> > Le 23 avr. 2016 à 13:57, Max Leske <maxle...@gmail.com> a écrit :
> >
> > There was talk about an ordered dictionary implementation IIRC a couple
> of months ago on this list.
> >
> > I’ve attached an implementation I found in a thread from 2010 (may not
> work out of the box).
> >
> > Cheers,
> > Max
> >
> >
> > 
> >
> >> On 23 Apr 2016, at 13:46, Cédrick Béler <cdric...@gmail.com> wrote:
> >>
> >> A dictionary with keys being the timestamp or the spatiotemporal object
> would probably do it...
> >> I think I’ll do that but I wonder if there are better solutions out
> there ^^.
> >>
> >> Cheers,
> >>
> >> Cédrik
> >
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] new pharo cheatsheet

2016-04-08 Thread Damien Pollet
On 8 April 2016 at 22:57, Sven Van Caekenberghe <s...@stfx.eu> wrote:

> Since we are simpler and more logical, a cheat sheet should not confuse
> people by describing what we are not.


I beg to disagree. "Simpler and more logical" is just your biased point of
view; fact is, zero-based indexing is just more widespread in programming
languages.

I would be happy to be proven wrong about that, but I seriously doubt most
people that come to Smalltalk have never been exposed to programming
before. It's not unreasonable to assume that they've started programming in
any one of the most popular languages these days, and that that language is
zero-indexed. So mentioning that in Smalltalk the first element is indeed
at index 1 is pretty essential, if just to lift the ambiguity.

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] TxText model

2016-04-04 Thread Damien Pollet
On 4 April 2016 at 17:21, Thierry Goubier <thierry.goub...@gmail.com> wrote:

> Did you had a look at the Doc code (of Design Pattern fame)? It has
> allways been freely available.


no, what is it? do you have a link?


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [bloc] shape size?

2016-04-03 Thread Damien Pollet
On 3 April 2016 at 12:27, Aliaksei Syrel <alex.sy...@gmail.com> wrote:

> However, in most UI of applications (in web, mobile) it is extremely rare
> that clipping or event handling areas differ from drawing one (visual one -
> one that user sees in the end).


A counter-example that immediately comes to mind is Pharo's icon. You could
imagine a minimal version of it with just the circle/wave/splash and the
striped lighthouse inside (in the current icon, that has been filled with
some semi-transparent whiteish gradient). The visual shape has voids
(inside the circle, in between the stripes…) but the click-collision mask
is basically a full disc. I'm pretty sure an early version of the icon had
the same shape for rendering and click-catching, and you had to aim for the
small opaque regions in it…


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Documentation of UFFI

2016-03-29 Thread Damien Pollet
https://github.com/SquareBracketAssociates/PharoInProgress/tree/master/UnifiedFFI

On 30 March 2016 at 01:15, Mariano Martinez Peck <marianop...@gmail.com>
wrote:

> Hi guys,
>
> I remember someone mentioning Esteban was writing a doc on some tips to
> migrate from old FFI to new UFFI of Pharo 5.0. Do you know where can I find
> such a doc?
>
> Thanks,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Discussing FileSystem >> #workingDirectory and VM process getcwd(3)

2016-03-23 Thread Damien Pollet
as long as $PWD is respected, I don't think either way really matters

On 23 March 2016 at 11:53, Damien Cassou <damien.cas...@inria.fr> wrote:

> Mariano Martinez Peck <marianop...@gmail.com> writes:
>
> > On Tue, Mar 22, 2016 at 9:37 AM, Damien Pollet <damien.pol...@gmail.com>
> > wrote:
> >
> >> Because there is this concept called "consistency" that's interesting to
> >> have :p
> >>
> >> If your code wants $HOME it can ask for it explicitly, same for /.
> However
> >> if it just wants to do something in $PWD consistent with most use-cases,
> >> the image directory is the sensible default.
> >>
> >>
> > I agree with Pollet. I don't care if it is image directory or $HOME.
> What I
> > care is that $PWD of the VM process should match with FileSystem >>
> > workingDirectory.  And right now it does not match.
>
> I was not clear enough: I agree that consistency is important and VM
> must answer the same as image. What that "same" should be is still
> unclear to me though. You propose the image folder, but this is
> inconsistent with other applications launched by double-click. I propose
> to be consistent with other applications: HOME on Linux, / on OS X.
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Discussing FileSystem >> #workingDirectory and VM process getcwd(3)

2016-03-22 Thread Damien Pollet
Because there is this concept called "consistency" that's interesting to
have :p

If your code wants $HOME it can ask for it explicitly, same for /. However
if it just wants to do something in $PWD consistent with most use-cases,
the image directory is the sensible default.

On 22 March 2016 at 13:05, Damien Cassou <damien.cas...@inria.fr> wrote:

> Damien Pollet <damien.pol...@gmail.com> writes:
>
> > On 22 March 2016 at 12:56, Damien Cassou <damien.cas...@inria.fr> wrote:
> >
> >> typical applications ran with double-click are bound to the HOME
> >> directory. Why do you want to do it differently?
> >>
> >
> > Only on Linux. On OS X it's /
>
> so, why do you want to make it the image directory?
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Discussing FileSystem >> #workingDirectory and VM process getcwd(3)

2016-03-22 Thread Damien Pollet
On 22 March 2016 at 12:56, Damien Cassou <damien.cas...@inria.fr> wrote:

> typical applications ran with double-click are bound to the HOME
> directory. Why do you want to do it differently?
>

Only on Linux. On OS X it's /


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Discussing FileSystem >> #workingDirectory and VM process getcwd(3)

2016-03-21 Thread Damien Pollet
+1

FileSystem workingDirectory should never ever diverge from getcwd(); 2.1 is
definitely a bug.

On 21 March 2016 at 19:39, Dale Henrichs <dale.henri...@gemtalksystems.com>
wrote:

> this pinged my memory about OSX ... the funkiness is that you had to
> arrange for PWD to be set "correctly" when double clicking an application
> ... when running from the command line PWD was set "correctly" ...
>
> This was affecting GemStone because I was using the PWD of the client in
> certain circumstances (and years ago) ...
>
> Sounds like this quirk probably doesn't apply, but I still think it is
> something to be aware of ...
>
> Dale
>
>
> On 3/21/16 11:13 AM, Mariano Martinez Peck wrote:
>
> Hi guys,
>
> In a couple of recent threads, there were discussions about  FileSystem >>
> #workingDirectory VS  VM process getcwd(3) and the fact that they do not
> match.
>
> The current state is as follows:
>
> 1)  *If Pharo was launched from double click* then we do not care about
> its location and I think it's correct to default to image location:
>
> 1.1)  FileSystem >> #workingDirectory  refers to the directory containing
> the .image file
> 1.2) The VM process getcmd() is the default one of the particular OS
> ($HOME in my OSX).
>
> So...there is a mismatch between #workingDirectory and VM's process cmd.
>
> *I think (as Damien said), that we should do a chdir() for the VM process
> to match the .image location.   *
>
> 2) *If Pharo was launched from command line* then we likely are
> interested in the current CMD from where we launched the VM
> process (imagine using Pharo for scripting). The current status is:
>
> 2.1)  FileSystem >> #workingDirectory still refers to the directory
> containing the .image file which I think it is incorrect.
> 2.2) The CMD of the VM process is correct. But again, there is a mismatch
> with #workingDirectory.
>
> *For this case, I think we should set FileSystem >> #workingDirectory to
> CMD. *
>
> Before start discussing how to implement this, do you agree with the idea?
>
> Thanks in advance,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] [ANN] FFICHeaderExtractor first milestone (for early code reviewers) [WAS] Can OSProcess functionality be implemented using FFI instead of plugin?

2016-03-19 Thread Damien Pollet
;>
>>> Further, you still need the machinery to export the constants to be able
>>> to generate these initialization methods.  If you've got the machinery and
>>> you don't need the methods why bother to generate the methods?
>>>
>>> As the Scots say, many a mickle makes a muckle.
>>
>>
>> Thank's Eliot for such detailed explanation. It makes sense.
>> But personally I prefer Smalltalk solution although Smalltalk itself is
>> pure overhead comparing to C.
>>
>>
>> I can see the draw of the pure Smalltalk. Simplicity and brows ability.
>> But imagine a tiny headless image deployed on containers, say 2mb.  Now
>> 100kb of initialization code doesn't look so good :-).  Anyway I'm beating
>> a dead horse.  Mariano is generating initialization methods.
>>
>>
>> My question was raised by Mariano idea to save ston files in methods. I
>> think it can reduce problems which you described.
>> But then literal array syntax can be more suitable than ston.
>>
>>
>> I just want to be clear, I'm neutral about the notation used to export
>> info from the C file.  Liberal array syntax, chunk source format, ston,
>> xml.  It doesn't matter as long as it's convenient at expressing an
>> attribute dictionary from names to attributes such as value, size, offset.
>> Don't get hung up on the specific notation.  If one were to go with the
>> external file the only real requirements are that it be reasonably compact
>> and quick to parse.  That might kill xml but leave plenty of other
>> candidates.
>>
>>
>> _,,,^..^,,,_ (phone)
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Loading an image crashes the VM

2016-03-15 Thread Damien Pollet
Any idea what version of the image should be relatively stable ?

On 15 March 2016 at 07:31, Max Leske <maxle...@gmail.com> wrote:

> I should have looked at the attachment… What you’re seeing is a problem
> with UFFI, Esteban is trying to hunt down the cause. For some reason the
> font loading mechanism uses an FFI call that doesn’t always do what it’s
> supposed to. Usually this will lead to a playground or browser displaying a
> red “square for death” after boot but I’ve also seen segfaults myself.
>
> This (very likely) has nothing to do with image size, as I suggested
> earlier.
>
> Unfortunately, I don’t think there is a fix at the moment other than
> trying save a new copy of the image.
>
> Cheers,
> Max
>
>
> > On 15 Mar 2016, at 01:54, Ben Coman <b...@openinworld.com> wrote:
> >
> > On Tue, Mar 15, 2016 at 1:25 AM, Jan Kurš <k...@inf.unibe.ch> wrote:
> >> Hi,
> >>
> >> I am trying to open an image I saved a few days ago and I am getting
> this
> >> message (the whole log is attached):
> >>
> >> stack page bytes 4096 available headroom 2788 minimum unused headroom
> 3020
> >>
> >> (Segmentation fault)
> >>
> >> Anyone experiencing something similar? I am running the latest pharo5
> VM on
> >> Linux.
> >>
> >> Cheers,
> >> Jan
> >
> > Something similar happened to me for the first time last night, about
> > three times in quick succession.  Seemed to be when I started an Image
> > from a shell and later killed it with control-C.  Incidentally, these
> > was with a recent Tracker image only an hour old for me, which had
> > locked while I was doing risky changes to DelayScheduler, but I was
> > surprised that it affected the Image on disk.  I was doing temporary
> > checkpoint saves just prior to Accepting risky code changes. Then upon
> > restart I got the error.  But I could not reliably reproduce the
> > problem.
> >
> > Certainly it was not a large Image.
> >
> > VM: http://files.pharo.org/vm/pharo-spur32/linux/463.zip
> > Image:
> https://ci.inria.fr/pharo/view/5.0-Analysis/job/Pharo-5.0-Issue-Tracker-Image/
> > Platform: Debian 8 Jessie 32-bit
> >
> > cheers -ben
> >
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Use cases for methods with optional parameters

2016-01-29 Thread Damien Pollet
On 23 January 2016 at 16:12, stepharo <steph...@free.fr> wrote:

> If you have
>>mother1 := foo:(bar:zork:fork)
>>mother2 := foo:bar:(zork:bork:)
>>
> I'm not sure that this is allows in the same class. We should check that
> in Python or ruby.
>

In Ruby:

def m(x=42, y=51)
→ calling m(3) gets x=3, y=51 (the given arguments are passed into the
leftmost parameters first)

def m(options)
→ calling m( { x: 3, y: 4 } ) or m( x: 3, y: 4 ) gets options = { x: 3, y:
4 }
So, a dictionary magically created because you passed something that either
was already a dictionary, or used the syntax of dictionary key/value pairs.
If you need default values for known keys, you take a default dictionary
and override its contents using
http://www.rubydoc.info/stdlib/core/Hash%3Aupdate

In Python I think it's more like the first Ruby alternative, except
arguments can be named (so those bypass the left-to-right assignment order)

-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] How do you normally merge Git branches with Metadata-less GitFileTree?

2016-01-20 Thread Damien Pollet
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata
files were created. Did I miss a step on configuring the repo so it's
metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <marianop...@gmail.com>
wrote:

> OK, thanks Thierry.
>
> BTW, thanks for all the help you have been giving me in the last weeks and
> for your great GitFileTree :)
>
> On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <
> thierry.goub...@gmail.com> wrote:
>
>> Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :
>>
>>>
>>>
>>> On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
>>> <thierry.goub...@gmail.com <mailto:thierry.goub...@gmail.com>> wrote:
>>>
>>> Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
>>>
>>> Hi guys,
>>>
>>> First, let me say that I found very cool that I can do a "git
>>> checkout
>>> X" from command line, and from Pharo, opening the MC browser
>>> detects I
>>> am in another branch and everything seems to work. So I guess
>>> that's the
>>> way I manage branches? Simply "git checkout X" and then go to MC
>>> , and
>>> do a "load" of the last version of the repo?  (or another image,
>>> whatever).
>>>
>>>
>>> Yes, exactly.
>>>
>>>
>>> OK.
>>>
>>>
>>>
>>> The problem is now with merging. Not necessary about the
>>> metadata ( I
>>> guess we have less metadata conflicts with Metadata-less
>>> GitFileTree
>>> right???) , but real code changes conflicts between branches.
>>> How do you
>>> manage this? You manage everything at Git level using git and
>>> text editors?
>>>
>>>
>>> yes, or with git gui tools, or with the github interface (if there
>>> is no conflict). The only thing a bit problematic are the eventual
>>> conflicts, but, in that metadata-less format, they are less frequent
>>> and easier to solve.
>>>
>>>
>>> OK... but let me confirm... with metadata-less gitfiletree, would I
>>> still benefit from
>>> https://github.com/ThierryGoubier/GitFileTree-MergeDriver
>>> to minimize conflicts?
>>> Or that was when you were having filetree with metadata?
>>>
>>
>> The merge driver does three things:
>> - merge metadata version files
>> - merge method properties json files
>> - merge class definition json files (merge instances variables from both
>> branches)
>>
>> Items one and two do not exist anymore in metadata-less format. Third one
>> is not allways seen as a good thing.
>>
>> So the merge driver is rarely usefull in metadata-less mode.
>>
>>     I cannot think how to do that from MC browser "Merge" because MC
>>> sees
>>> only one repo associated to one current branch.
>>>
>>>
>>> It is possible to do the merge in MC (think of merging your current
>>> working copy and the top of the branch) but they won't be recorded
>>> in the git log as a merge.
>>>
>>>
>>> OK. I prefer git to see it as a merge. But thanks anyway.
>>>
>>
>> I understand and do the same. Moreover, git is better than MC in my
>> opinion to do the merge properly.
>>
>> Thierry
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] How do you normally merge Git branches with Metadata-less GitFileTree?

2016-01-20 Thread Damien Pollet
I rebuilt the image, then reloaded OSSubprocess from my own clone, on top
of the one loaded by GitFileTree
no metadata reappeared (so far…)

On 20 January 2016 at 20:45, Mariano Martinez Peck <marianop...@gmail.com>
wrote:

> No, something wrong is happening. GitFileTree should have NOT generated
> neither "version" nor "methodProperties" files.
> :(
>
> On Wed, Jan 20, 2016 at 4:37 PM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
>> So ? I put *.methodProperties in .gitignore ?
>> What about .gitattributes for the merge driver ?
>>
>> On 20 January 2016 at 20:19, Mariano Martinez Peck <marianop...@gmail.com
>> > wrote:
>>
>>> Damien, I think the "metadata-less" name is a bit wrong. I think you did
>>> it correct.
>>> The metadataless is that only SOME of the metadata is ignored, such as
>>> "version" and I don't remember what else.
>>> I am comparing the HEAD of your clone with mine and we seem to have the
>>> same .filetree and .json so I think we are fine.
>>>
>>>
>>>
>>> On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <damien.pol...@gmail.com>
>>> wrote:
>>>
>>>> Hm. I saved code in a clone of Mariano's project, and a bunch of
>>>> metadata files were created. Did I miss a step on configuring the repo so
>>>> it's metadataless ?
>>>>
>>>> On 16 January 2016 at 15:18, Mariano Martinez Peck <
>>>> marianop...@gmail.com> wrote:
>>>>
>>>>> OK, thanks Thierry.
>>>>>
>>>>> BTW, thanks for all the help you have been giving me in the last weeks
>>>>> and for your great GitFileTree :)
>>>>>
>>>>> On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <
>>>>> thierry.goub...@gmail.com> wrote:
>>>>>
>>>>>> Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
>>>>>>> <thierry.goub...@gmail.com <mailto:thierry.goub...@gmail.com>>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
>>>>>>>
>>>>>>> Hi guys,
>>>>>>>
>>>>>>> First, let me say that I found very cool that I can do a "git
>>>>>>> checkout
>>>>>>> X" from command line, and from Pharo, opening the MC browser
>>>>>>> detects I
>>>>>>> am in another branch and everything seems to work. So I guess
>>>>>>> that's the
>>>>>>> way I manage branches? Simply "git checkout X" and then go
>>>>>>> to MC
>>>>>>> , and
>>>>>>> do a "load" of the last version of the repo?  (or another
>>>>>>> image,
>>>>>>> whatever).
>>>>>>>
>>>>>>>
>>>>>>> Yes, exactly.
>>>>>>>
>>>>>>>
>>>>>>> OK.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The problem is now with merging. Not necessary about the
>>>>>>> metadata ( I
>>>>>>> guess we have less metadata conflicts with Metadata-less
>>>>>>> GitFileTree
>>>>>>> right???) , but real code changes conflicts between branches.
>>>>>>> How do you
>>>>>>> manage this? You manage everything at Git level using git and
>>>>>>> text editors?
>>>>>>>
>>>>>>>
>>>>>>> yes, or with git gui tools, or with the github interface (if
>>>>>>> there
>>>>>>> is no conflict). The only thing a bit problematic are the
>>>>>>> eventual
>>>>>>> conflicts, but, in that metadata-less format, they are less
>>>>>>> frequent
>>>>>>> and easier to solve.
>>>>>>>
>>>>>>>
>>>>>>> OK... but let me confirm... with metadata-less gitfiletree, would 

Re: [Pharo-dev] How do you normally merge Git branches with Metadata-less GitFileTree?

2016-01-20 Thread Damien Pollet
So ? I put *.methodProperties in .gitignore ?
What about .gitattributes for the merge driver ?

On 20 January 2016 at 20:19, Mariano Martinez Peck <marianop...@gmail.com>
wrote:

> Damien, I think the "metadata-less" name is a bit wrong. I think you did
> it correct.
> The metadataless is that only SOME of the metadata is ignored, such as
> "version" and I don't remember what else.
> I am comparing the HEAD of your clone with mine and we seem to have the
> same .filetree and .json so I think we are fine.
>
>
>
> On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <damien.pol...@gmail.com>
> wrote:
>
>> Hm. I saved code in a clone of Mariano's project, and a bunch of metadata
>> files were created. Did I miss a step on configuring the repo so it's
>> metadataless ?
>>
>> On 16 January 2016 at 15:18, Mariano Martinez Peck <marianop...@gmail.com
>> > wrote:
>>
>>> OK, thanks Thierry.
>>>
>>> BTW, thanks for all the help you have been giving me in the last weeks
>>> and for your great GitFileTree :)
>>>
>>> On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <
>>> thierry.goub...@gmail.com> wrote:
>>>
>>>> Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :
>>>>
>>>>>
>>>>>
>>>>> On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
>>>>> <thierry.goub...@gmail.com <mailto:thierry.goub...@gmail.com>> wrote:
>>>>>
>>>>> Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
>>>>>
>>>>> Hi guys,
>>>>>
>>>>> First, let me say that I found very cool that I can do a "git
>>>>> checkout
>>>>> X" from command line, and from Pharo, opening the MC browser
>>>>> detects I
>>>>> am in another branch and everything seems to work. So I guess
>>>>> that's the
>>>>> way I manage branches? Simply "git checkout X" and then go to
>>>>> MC
>>>>> , and
>>>>> do a "load" of the last version of the repo?  (or another
>>>>> image,
>>>>> whatever).
>>>>>
>>>>>
>>>>> Yes, exactly.
>>>>>
>>>>>
>>>>> OK.
>>>>>
>>>>>
>>>>>
>>>>> The problem is now with merging. Not necessary about the
>>>>> metadata ( I
>>>>> guess we have less metadata conflicts with Metadata-less
>>>>> GitFileTree
>>>>> right???) , but real code changes conflicts between branches.
>>>>> How do you
>>>>> manage this? You manage everything at Git level using git and
>>>>> text editors?
>>>>>
>>>>>
>>>>> yes, or with git gui tools, or with the github interface (if there
>>>>> is no conflict). The only thing a bit problematic are the eventual
>>>>> conflicts, but, in that metadata-less format, they are less
>>>>> frequent
>>>>> and easier to solve.
>>>>>
>>>>>
>>>>> OK... but let me confirm... with metadata-less gitfiletree, would I
>>>>> still benefit from
>>>>> https://github.com/ThierryGoubier/GitFileTree-MergeDriver
>>>>> to minimize conflicts?
>>>>> Or that was when you were having filetree with metadata?
>>>>>
>>>>
>>>> The merge driver does three things:
>>>> - merge metadata version files
>>>> - merge method properties json files
>>>> - merge class definition json files (merge instances variables from
>>>> both branches)
>>>>
>>>> Items one and two do not exist anymore in metadata-less format. Third
>>>> one is not allways seen as a good thing.
>>>>
>>>> So the merge driver is rarely usefull in metadata-less mode.
>>>>
>>>> I cannot think how to do that from MC browser "Merge" because MC
>>>>> sees
>>>>> only one repo associated to one current branch.
>>>>>
>>>>>
>>>>> It is possible to do the merge in MC (think of merging your current
>>>>> working copy and the top of the branch) but they won't be recorded
>>>>> in the git log as a merge.
>>>>>
>>>>>
>>>>> OK. I prefer git to see it as a merge. But thanks anyway.
>>>>>
>>>>
>>>> I understand and do the same. Moreover, git is better than MC in my
>>>> opinion to do the merge properly.
>>>>
>>>> Thierry
>>>>
>>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>
>>
>>
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] I will rename FFI-NB to UnifiedFFI

2016-01-12 Thread Damien Pollet
UniFFIed ?

On 12 January 2016 at 17:40, Max Leske <maxle...@gmail.com> wrote:

> In order of preference:
>
> 1. UnifiedFFI
> 2. FFI-Unified (suggests that there may be multiple FFI implementations)
> 3. UFFI (not clear to me that this is an FFI)
>
> Cheers,
> Max
>
> > On 12 Jan 2016, at 16:55, Esteban Lorenzano <esteba...@gmail.com> wrote:
> >
> > Hi,
> >
> > People has pointed (and they are right) that the name of the new FFI
> front-end is misleading.
> > So yesterday I was talking with Stef and we think UnifiedFFI (or UFFI,
> for short) is a better name… and to keep packages prox. to regular FFI I
> was thinking on rename FFI-NB packages to FFI-Unified… but maybe is better
> just to rename them as UFFI or UnifiedFFI…
> > what do you think?
> >
> > Esteban
> >
> >
>
>
>


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] What is switch universe in Bloc?

2015-11-05 Thread Damien Pollet
On 5 November 2015 at 13:54, Aliaksei Syrel <alex.sy...@gmail.com> wrote:

> P.S. For Bloc related stuff we have discussions-b...@pharo.org
>
Where is this list hosted ? how can we register ?



-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] We want to remove historyNavigation from Nautilus...

2015-06-18 Thread Damien Pollet
I have a mouse with a wheel and it happens to me as well… but it might be
that it only happens when I scroll using the trackpad gesture.

On 18 June 2015 at 11:03, Stephan Eggermont step...@stack.nl wrote:

 On 17-06-15 16:58, Norbert Hartl wrote:

  The best way to reproduce it is to buy a magic mouse :) Sometimes I am
 about to touch the mouse and an awful lot of events is created. The
 system browser happily consumes all of them and I can watch all panes
 select/deselect/scroll/etc. Usually 2-3 seconds later it stops and I can
 use the history to go back to the last place I've been. So the history
 saves my day!


 I stopped using a magic mouse for that...

 Stephan






-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] translateBy: vs translatedBy:

2015-05-27 Thread Damien Pollet
There is a discussion of such idioms in the I will present at ESUG. I only
looked at the API of String, but I'm sure most naming idioms apply to any
class. The question is, how do you ensure they are applied and complete?

On 27 May 2015 at 01:14, Ben Coman b...@openinworld.com wrote:

 
  On Tue, May 26, 2015 at 6:14 PM, Ben Coman b...@openinworld.com wrote:
 
  On Tue, May 26, 2015 at 9:38 PM, Peter Uhnák i.uh...@gmail.com wrote:
   I vote for renaming to RectangletranslatedBy:, because it returns a
   new
   translated rectangle instance.
  
  
   -1
   There is no benefit in renaming a single method, apart from creating
   more
   confusion.
 
  I wouldn't say no benefit.  Consistent conventions are beneficial.
  It could be useful to bring these into line with the general -ed
  convention of returning a new object.  I don't see how this would
  create confusion, though it might create work.  Whether its worth the
  work is a slightly different question.
 
   If anything, the whole Rectangle API would have to be changed, as
 there
   is
   plethora of similar methods (expandBy:, extendBy:, merge:, etc.)
 
  For a better feel of the work involved...
 
  Rectangle methods select: [ :m | m sourceCode includesSubstring: '^
  Rectangle ' ].
  Rectangle#intersect:
  Rectangle#quickMerge:
  Rectangle#encompass:
  Rectangle#intersect:ifNone:
 
  Rectangle methods select: [ :m | m sourceCode includesSubstring:
  '^Rectangle ' ].
  Rectangle#intersect:
  Rectangle#translateBy:
  Rectangle#scaleBy:
  Rectangle#merge:
  Rectangle#compressTo:
  Rectangle#expandTo:
  Rectangle#roundTo:
  Rectangle#truncateTo:
 
  The following already follow the convention...
  Rectangle#compressed
  Rectangle#expanded
  Rectangle#rounded
  Rectangle#truncated
 
   Pretty much all Rectangle messages are immutable and create new
   Rectangle,
   thus I feel it is unnecessary to state it explicitly.
  
   In VW there is plenty of methods (e.g. left:) that mutates it, thus
   unlike
   Pharo a clear distinction is required.
 
  Still, it is reasonable to consider the impact of inconsistent
  conventions on the rest of the system outside of Rectangle.
 
  cheers -ben
 
 


 On Wed, May 27, 2015 at 1:16 AM, Peter Uhnák i.uh...@gmail.com wrote:
  That's not all, many methods return new rectangles via Point's API,
 namely
  Point{#corner: #extent: #rectangle:}
 
  I don't know if I can perform static analysis of the code (are there
 tools
  for that in Pharo?) to see which methods exactly return Rectangle
 
  rectMethods := #(#corner: #extent: #rectangle:).
  (Point methods select: [ :m | rectMethods includes: m selector ]
  thenCollect: [ :m | m senders ]) flattened select: [ :s | s className =
  #Rectangle ]. an Array(
  Rectangle#areasOutside:
  Rectangle#withSideOrCorner:setToPoint:minExtent:limit:
  Rectangle#withBottom:
  Rectangle#bottom:
  Rectangle#areasOverlapingOutside:
  Rectangle#floor
  Rectangle#allAreasOutsideList:startingAt:do:
  Rectangle#scaledAndCenteredIn:
  Rectangle#squishedWithin:
  Rectangle#ceiling
  Rectangle#withHeight:
  Rectangle#rectanglesAt:height:
  Rectangle#scaleFrom:to:
  Rectangle#withLeft:
  Rectangle#left:
  Rectangle#withTop:
  Rectangle#right:
  Rectangle#top:
  Rectangle#innerCorners
  Rectangle#interpolateTo:at:
  Rectangle#withWidth:
  Rectangle#quickMergePoint:
  Rectangle#withRight:
  Rectangle#rotateBy:centerAt:
  Rectangle#withSideOrCorner:setToPoint:minExtent:limit:
  Rectangle#flipBy:centerAt:)
  
 
  This list is maybe a bit excessive (sometimes it returns self, sometimes
 new
  rectangle -- e.g. floor).
 

 Good   Point   ;)

 However the -ed convention doesn't make sense for many of those...
 #areasdOutside: , #areasedOutside , #areaOutsided:  ?
 ... and #areasOutside is obviously a different rectangle than the original.

 The scope might be restricted to only those where the usual convention
 makes the names misleading, for example:
#merge

 cheers -ben




-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Opportunity to steal good ideas from dad ;)

2015-05-21 Thread Damien Pollet
On 21 May 2015 at 16:22, Max Leske maxle...@gmail.com wrote:

 About the spaceship operator (=), is this something  we'd like to have
 around? (I like it). http://en.wikipedia.org/wiki/Three-way_comparison

 How would you make this “object oriented”? Have three singleton objects
 “Less”, “Greater”, “Equal” (similar to “True”, False”), and on those
 object methods “ifLess:”, “ifEqual:”, “ifGreater:”?


In http://mc.lukas-renggli.ch/container/ Lukas defined a hierarchy of
comparator classes which answer messages like
equals: X to: Y
less: X than: Y
maximum: anIterable

etc.


-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] Null Coalesce Operator?

2015-05-20 Thread Damien Pollet
…ifNone: is a nice idiom, but not always available (in which case, we
should think about introducing it)

?? is basically an infix but eager version of #ifNil:, IMHO a pragmatic
thing to have; could be quite handy.
My only fear is that it could encourage the use of nil instead of proper
Null Objects… and here we start bikeshedding

On 20 May 2015 at 21:31, Sergio Fedi sergio.f...@gmail.com wrote:


 In my experience those situations end up been handled by collections,
 detect:ifNone: which even handles the case when all defaults are nil.

 But maybe that idiom is very common in another situations.




-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


Re: [Pharo-dev] FileSystem not deleting symlinks

2015-05-20 Thread Damien Pollet
Perhaps a risk of deleting the symlink target instead of the link itself?

On 20 May 2015 at 15:46, Damien Cassou damien.cas...@inria.fr wrote:

 The FileSystem library uses DeleteVisitor and PostorderGuide
 (depth-first) to delete a directory and all its children. All its
 children? No. Symlinks are protected from deletion:

 DeleteVisitorvisit: aReference
   PostorderGuide
 show: aReference
 to: self
 selecting: [ :entry | entry isSymlink not ]


 I didn't find any unit-test or documentation about why symlinks are
 excluded from deletion. I don't see any reason. I'm quite sure the
 author had a reason to do that but I don't know which one.

 Anybody has an idea?

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

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




-- 
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet


  1   2   >