Re: [Pharo-dev] [Glass] Webminar about VA Smalltalk new OS Process Framework
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)
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
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
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
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
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
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?
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
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?
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?
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
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 Cotelliwrote: > 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 ?
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/benoiÌ‚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/benoiÌ‚t'. > '_'->'/tmp/benoiÌ‚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 :)
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 ?
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 ?
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
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
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
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
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
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
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
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
+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
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
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
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
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)
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
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
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
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)
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 >> > >> > [[[language=Smalltalk >> > 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
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
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
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
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?
There is one archtype for each directory under https://github.com/pillar-markup/Pillar-Archetype On 19 May 2017 at 15:50, Alexandre Bergelwrote: > 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
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
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
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?
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?
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
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
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
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 ..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 :-(
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
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
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
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
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
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
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?
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
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]
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
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
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
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
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
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
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 ?
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 ?
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
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
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?
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
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)
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)
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)
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)
+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?
;> >>> 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
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
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?
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?
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?
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
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?
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...
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:
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 ;)
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?
…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
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