[Pharo-users] Pharo VM v10.2.1

2024-06-14 Thread teso...@gmail.com
Hi,
   there is a new release of the VM

## v10.2.1

* Adding the missing tty.c file in the packaging. by @tesonep in
https://github.com/pharo-project/pharo-vm/pull/771
* Do not allow comparing objects of different types by @guillep in
https://github.com/pharo-project/pharo-vm/pull/772
* Prepare release 10.2.1 by @guillep in
https://github.com/pharo-project/pharo-vm/pull/773
* Constant conversion warning by @guillep in
https://github.com/pharo-project/pharo-vm/pull/777
* Fix tautological-pointer-compare warnings by @guillep in
https://github.com/pharo-project/pharo-vm/pull/775
* Removed Cogit>>#voidNSSendCache:  by @jordanmontt in
https://github.com/pharo-project/pharo-vm/pull/776
* Re-enable incompatible-function-pointer-types warning by @guillep in
https://github.com/pharo-project/pharo-vm/pull/778
* Removed unused functions from the C written by hand by @jordanmontt in
https://github.com/pharo-project/pharo-vm/pull/780
* Fix function pointer comparison warning by @guillep in
https://github.com/pharo-project/pharo-vm/pull/783
* Fix -return-type warnings by @doste in
https://github.com/pharo-project/pharo-vm/pull/781
* Fix shift-negative-value warning and reenable warning by @guillep in
https://github.com/pharo-project/pharo-vm/pull/785
* Remove warnings c compiler by @PalumboN in
https://github.com/pharo-project/pharo-vm/pull/789
* Remove StackInterpreter interruptPending instance variable by
@jordanmontt in https://github.com/pharo-project/pharo-vm/pull/793
* Do not use asserta: in a statement by @guillep in
https://github.com/pharo-project/pharo-vm/pull/788
* Bump to MacOS 11 and above by @guillep in
https://github.com/pharo-project/pharo-vm/pull/792
* Moving pharo.signatures files for OSX Bundle to Resources folder by
@tesonep in https://github.com/pharo-project/pharo-vm/pull/770
* Do not retain any selectors in CogAbstractInstruction by @RenaudFondeur
in https://github.com/pharo-project/pharo-vm/pull/798
* remove warning because of type and unsigned shift issues by
@RenaudFondeur in https://github.com/pharo-project/pharo-vm/pull/800
* add tests for type harmonization by @RenaudFondeur in
https://github.com/pharo-project/pharo-vm/pull/807
* Primitive format by @doste in
https://github.com/pharo-project/pharo-vm/pull/802
* Adding an implementation of the aio.c using EPOLL in Linux. by @tesonep
in https://github.com/pharo-project/pharo-vm/pull/805
* Fixing warnings that are errors in newer versions of clang by @tesonep in
https://github.com/pharo-project/pharo-vm/pull/813

## New Contributors
* @RenaudFondeur made their first contribution in
https://github.com/pharo-project/pharo-vm/pull/798

**Full Changelog**:
https://github.com/pharo-project/pharo-vm/compare/v10.2.0...v10.2.1

More Information:
https://github.com/pharo-project/pharo-vm/releases/tag/v10.2.1

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: [Pharo-dev] The results of the Pharo Browser usage survey are available

2023-09-26 Thread teso...@gmail.com
That is a really cool survey, thanks for the work!!!

On Tue, Sep 5, 2023 at 10:11 PM Koen De Hondt <
k...@all-objects-all-the-time.st> wrote:

> Dear Pharo users and developers,
>
> Last week at ESUG’23 I presented the results of the survey on the usage of
> the Pharo Browser. Half an hour was not enough to show and discuss all
> questions and answers. You find all results on my blog:
> https://all-objects-all-the-time.st/#/blog/posts/3. If you have
> questions, comments, or suggestions, please do not hesitate to send me a
> message.
>
> Best regards,
> Koen
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Pharo VM Release - v10.0.5

2023-05-05 Thread teso...@gmail.com
Hello,
  we have released a new version of the Pharo VM for Pharo 11. This VM is
accessible right now from Zero-Conf, updating it in the Pharo Launcher or
using the usual downloads (as described in pharo.org/download). Also, OBS
packages are ready to be updated using your distribution package manager.

This is the new VM that will be stable for Pharo 11 release and Pharo 12
alpha, it is also compatible with Pharo 10 images but it is not the default
for Pharo 10.

Changelog

* Testing scavenger tenuring by @PalumboN in
https://github.com/pharo-project/pharo-vm/pull/588
* Deleting Pharo image from the VM repo by @jordanmontt in
https://github.com/pharo-project/pharo-vm/pull/591
* Cleaning Up Third Party Libraries by @tesonep in
https://github.com/pharo-project/pharo-vm/pull/581

**Full Changelog**:
https://github.com/pharo-project/pharo-vm/compare/v10.0.4...v10.0.5

Thanks a lot, and any doubt please let us know.
Cheers,

Pablo on behalf of the whole Pharo team.
--
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Pharo VM Release - v10.0.0

2023-03-01 Thread teso...@gmail.com
Hello,
  we have released a new version of the Pharo VM for Pharo 11. This VM is
accessible right now from Zero-Conf, updating it in the Pharo Launcher or
using the usual downloads (as described in pharo.org/download). OBS
packages are still in work and will come later.

This is the new VM that will be stable for Pharo 11 release, it is also
compatible with Pharo 10 images but it is not the default for Pharo 10.

It has a lot of changes and improvements, as it is the result of more than
a year and a half of improvements, clean-ups, and bug fixes.

Changelog v10.0.0

- Slang (Smalltalk to C Translator)
- Introducing a C AST to ease the generation of C Code
- Having a Pretty Printer for C AST
- Translation Tests
- Fixing Translation Issues
- Clear separation between Slang and VM code
- Improving Cast generation

- Clean Up:
- Remove Old Bytecode Set
- Remove Old Block Implementation
- Simplification of the Primitives
- Removing Unused / Old Code / Dead Code
- Cleanup / Removal of Old Unused primitives
- Removing Old FFI Implementation
- Removing MT Experiment from the code base (Kept in own branch)
- Fixing Compilation Warnings
- Improving Type annotations to fix bugs in the translation / compilation
- Removing Conditional Code on Old Configurations / Features
- Renaming Concepts to be inline with Common terminology
- Remove Newspeak, Multiple Bytecode and Old Memory Managers
- Removing Unused Plugins

- Tests
- GNUification Tests
- Tests for Math primitives including overflow and conversion testing.
- Tests for comparison primitives (Equals / Not Equals / Less than / Less
or Equals / Greater Than / Greater or Equals)
- Testing Primitives for objects Pinned in Memory
- Testing Math Primitives for Immediate Classes (SmallFloats /
SmallIntegers)
- Improving Simulation Infrastructure
- Using Sista Bytecode in all Tests
- Updating Unicorn version
- Improving Machine Code emulation
- Testing Image Read / Image Write
- Using the same memory map in Tests and Execution
- Testing Ephemerons
- Become Primitives

- Ephemeron
- Fix for large ammounts
- Make it available
- Testing Signal Finalizations

- Fixing Become Errors.

- Fixing XRay Primitive

- Single-Instruction Multiple-Data (SIMD) initial Support:
- Initialization of new objects using SIMD (ARM64)
- Adding Bytecode Extensions to support SIMD instructions
- Adding Vector Registers
- Vector Register bytecodes

- Auto Localization of Interpreter loop variables and edge detection
simplifying development and minimizing code

- ImageReader / ImageWriter reification needed for Permanent Space.

- Improving the Memory Map of the VM (Using constant positions)

- Dependencies Improvements

Thanks a lot, and any doubt please let us know.
Cheers,

Pablo on behalf of the whole Pharo team

--
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Pharo VM Release - v9.0.21

2022-12-12 Thread teso...@gmail.com
Hello,
  I have released a new version of the Pharo VM for Pharo 9, Pharo 10 and
Pharo 11. This VM is accessible right now from Zero-Conf, updating it in
the Pharo Launcher or using the usual downloads (as described in
pharo.org/download).

This version includes a series of bug fixes and upgrades on the third-party
libraries.

Changelog:

- Implementing High resolution clock for ARM64 (Used during profiling)
- Updating third party libraries for all the graphic layer.
- Fixing a performance regression on the allocation of opcodes and fix-ups.
Cleaning only the ones that are going to be used.
Like this, this version has the same speed than before when
allocating in the stack.
- Correctly handling the encoding of the command line arguments of the VM
(Windows)
- Allocating the opcodes and fixup structs only once and reusing them
(Reducing risk of C Stack Overflow)

Thanks a lot, and any doubt please let me know.
Cheers,

Pablo on behalf of the whole Pharo team.

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Pharo VM Release - v9.0.13

2022-03-16 Thread teso...@gmail.com
Hello,
  I have released a new version of the Pharo VM for Pharo 9 and Pharo 10.
This VM is accessible right now from Zero-Conf, updating it in the Pharo
Launcher or using the usual downloads (as described in pharo.org/download).

This version includes a series of bug fixes.

Changelog:

- Correct handling OOB (Out of Band Data) in Window
- Blocking signals while signalling semaphores to avoid deadlocks caused by
signal handlers
- Make MAXHOSTNAMELEN at least 256: improving resolution of names in Linux
- Improving VM Simulator Machine debugger
- Integrating Processor Simulator for RISCV
- Using a new SDL2 version built for OSX Mojave compatibility

Thanks a lot, and any doubt please let me know.
Cheers,

Pablo on behalf of the whole Pharo team.


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Pharo VM Release - v9.0.11

2022-01-13 Thread teso...@gmail.com
Hello,
  I have released a new version of the Pharo VM for Pharo 9 and Pharo 10.
This VM is accessible right now from Zero-Conf, updating it in the Pharo
Launcher or using the usual downloads (as described in pharo.org/download).

This version includes a series of minor bug fixes.

Changelog:

- Include FloatArrayPlugin in the build
- Updating SDL2 to 2.0.18 for OSX X86_64
- Using Pharo 10 image as VMMaker image
- Fixing issue in message counting on non-JIT VM

Thanks a lot, and any doubt please let me know.
Cheers,

Pablo on behalf of the whole Pharo team.

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: uFFI: Calling conventions?

2021-08-26 Thread teso...@gmail.com
Hi All,
   The answer is yes and no.
Let's go step by step.
To declare the calling convention a class can override the method
#ffiCallingConvention. Returning a Symbol representing the Calling
Convention.

Yesterday we have implemented the image side part in P10 to correctly
honour the calling convention.
I have implemented it for X86 but this can be easily extended to ARM32
(ARM64 has a single calling convention).
If this fix is useful, it can be backported to P9.

However, this only works for X86_64 as it depends on the new FFI
implementation. We still do not have an X86 32 bits VM, it is possible to
compile it from sources, but we are not distributing it.

In X86_64 only exists the Windows and the GNU calling convention, we are
supporting both.

On the other hand, you are asking about ThisCall. This calling convention
is only relevant in 32bits systems. What is your target system/library?
Does it not exist as 64-bit library?

Thanks

On Tue, Aug 24, 2021 at 9:33 PM egarrulo  wrote:

> Hi all,
>
> I haven't found any information on calling conventions in the "Unified
> FFI - Calling Foreign Functions from Pharo" manual. What conventions are
> available, please?
>
> If the ThisCall[1] convention isn't supported, could it be implemented
> in code with some boilerplate?
>
> Thank you.
>
> --
>
> [1] ThisCall works like StdCall, but the first parameter - the "this"
> pointer - is passed via the ECX register.
>
>

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: Pharo concurrency: select on socket or file IO

2021-07-22 Thread teso...@gmail.com
Hi,
 Socket implementation in the VM already handles Async IO operations.
The execution model in Pharo is intended to have many concurrent green
threads (they are not OS threads, they are handled by Pharo VM). These
green threads are called processes in Pharo.
Pharo Green threads are quite cheap to create and use, and the context
switch of them is quite cheap also.
The programming model of Pharo is intended to have many concurrent green
threads, without caring if they block in tIO operations.
These block green threads are handled by the VM and the VM continue
executing useful code.
For orchestrating and communication between the green threads you can use
low-level synchronization as semaphores and mutex, but also there is a rich
library (Taskit) for using Asynchronous tasks, Callables and Futures.

Cheers,
Pablo


On Thu, Jul 22, 2021 at 8:57 AM  wrote:

> Can the Pharo VM or a library do a “select” on a collection of processes
> waiting on a socket or file IO? Something like
> https://man7.org/linux/man-pages/man2/select.2.html, or
> https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select
> .
>
> Say I have a bunch of forked processes and some will get blocked waiting
> for IO. I would put the blocked connections/processes in a collection and
> non-blocked processes can continue to do useful work. At some appropriate I
> would do a select on the blocked processes and resume those that are done.
>
> Vince
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: Pharo 9.0 vm same-as Pharo 8.0 ?

2021-07-20 Thread teso...@gmail.com
Thanks for the report, I will update the page.

On Mon, Jul 19, 2021 at 6:34 PM Isaac Gouy via Pharo-users <
pharo-users@lists.pharo.org> wrote:

> On Monday, July 19, 2021, 12:55:08 AM PDT, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>
> > that link is now obsolete in favour of pharo-vm-Linux-[ARCH]-stable.zip.
>
>
>
>
> That "obsolete" link is still given in the section
>
> "Pharo standalone"
>
> on the page
>
> "https://pharo.org/download;
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: New Pharo-based commercial software

2021-06-12 Thread teso...@gmail.com
This is so cool, congrats!!!

On Sat, Jun 12, 2021, 11:36 Noury Bouraqadi  wrote:

> Hi everyone,
>
> I'm glad to announce a new Pharo-based commercial product: PLC3000 (
> https://plc3000.com).
>
> It's a SaaS solution for teaching PLC programming for factory automation.
> The server side is based on Zinc and the client side uses PharoJS.
>
> This wouldn't have been possible without the great work done by the
> community in large, and more specifically, the Pharo consortium.
>
> Thank you all,
> Noury
>


[Pharo-users] Re: New VM, how do I get it

2021-05-19 Thread teso...@gmail.com
Hi David,

   for M1 we have Pharo 9 compatible VMs, you can download them using Zero
Conf or directly.

For the latest:
  - wget -O - https://get.pharo.org/vmLatest90 | bash
  - http://files.pharo.org/get-files/90/pharo-vm-Darwin-arm64-latest.zip

For the stable:
  - wget -O - https://get.pharo.org/vm90 | bash
  - http://files.pharo.org/get-files/90/pharo-vm-Darwin-arm64-stable.zip

If you are scripting the download I recommend using ZeroConf.

For Pharo 8, we don't have a M1 native version, because Pharo 8 requires
changes in the image to support the newer VMs. We have plans to backport
the changes in the future, now we are putting all efforts in the release of
Pharo 9. However, if the community consider it, we can switch priorities
but it is not magical; we will need to leave something aside. Also, future
versions of the Pharo Launcher will have support for detecting the
architecture.

In the meantime, Pharo 8 / 9 can be used without a problem with Rossetta,
although the performance is not ideal.

Tell me if you have any problem.
Cheers,
Pablo


On Tue, May 18, 2021 at 3:54 PM David Pennington 
wrote:

> Hi there. I am currently using v8.0 on a new M1 MacBookAir. When I save
> the image I keep getting a message telling me that my VM is too old and to
> download a new one. I have looked in my Pharo Launcher but there is no new
> one there. What do I do please?
>
> David



-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: Pharo and LLVM?

2021-01-25 Thread teso...@gmail.com
Quintin Ducasse has been working with this:

- https://github.com/QDucasse/LLVMBindings
- https://github.com/QDucasse/LLVM-C
- https://github.com/QDucasse/Booklet-LLVMCompilationWithPharo

Maybe he can provide more insights of the level of advance the bindings
have.

On Mon, Jan 25, 2021 at 4:26 PM Alexandre Bergel via Pharo-users <
pharo-users@lists.pharo.org> wrote:

> Hi!
>
> Just wondering, someone has done something with LLVM and Pharo?
> Any URL / blog post / anything?
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Beta Testing ARM64 Linux & Windows

2021-01-11 Thread teso...@gmail.com
ory to take the current versions

sudo apt update

3) Install Pharo9 VM

sudo apt install pharo9 libgit2


4) In case of using the interactive version (with UI) check if the packages
libsdl2-2.0-0  and libcairo2 are installed (Usually they are installed, but
depends what it is installed in the system). These are not needed for the
headless execution or if it is not used by the image.


*Getting the images:*

The images can be downloaded using zero-conf, the latest image is ready to
be used. It can be done with:

wget -O - get.pharo.org/64/90 | bash


*Running Pharo*

pharo Pharo.image eval 42 factorial

Or interactive

pharo Pharo.image --interactive


*Windows Testing*
A version of the VM is ready to be tested in Windows ARM64. A zip
containing the VM is available in:

https://files.pharo.org/vm/pharo-spur64/Windows-ARM64/PharoVM-9.0.0-4df0e562a-Windows-ARM64-stockReplacement-bin.zip

As in Linux, the latest image is compatible with this version of the VM.


*Error reporting*
In case of encountering errors please report them attaching:

 - crash.dmp file and PharoDebug.log
 - Version of the image using (in case of any community project loaded, the
names of those)

 - Complete machine version (the result of executing uname -a)
 - Complete information about the Linux distribution

 - Steps for reproducing the error (if needed)

Thanks for the effort!!

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: [Pharo-dev] [ANN] New Pharo VM released (v8.6.1)

2020-11-27 Thread teso...@gmail.com
Hi Martin, yes, it is true. I have to rollback the change because it
was a compatibility issue with Debian 9.11, and this version is the
one used by Jenkins docker images.
I will do a release as soon as I can fix it. I want to push OBS to the
last step to be productive. There is a lot of work on that and we need
to profit it.
The headless VM in Linux has been updated to the latest and that one
has not been rollbacked.

On Fri, Nov 27, 2020 at 5:48 AM Martin McClure  wrote:
>
> Is this new VM available for Linux? I only see Windows and Mac VMs that
> are dated 2020-11-02.
> In the launcher (launcher 2.2, still the latest AFAICT) refreshing the
> 90-x64 VM just re-downloads the one from 2020-02-11.
>
> Thanks,
> -Martin
>
> On 11/2/20 7:48 AM, teso...@gmail.com wrote:
> > Hi,
> >   this is an announcement of a new release of the Pharo VM. This
> > new version is available to be downloaded through get-pharo scripts
> > and through the Pharo Launcher. From the Pharo Launcher, remember to
> > update the VM from the VM manager window.
> >
> > This version includes a series of improvements:
> >
> > - Unification of code base with the headless VM
> > - Preparation for supporting HDPI displays.
> > - Improvements in the speed of Threaded FFI (40x times faster in
> > SameThread runner and 2x in Threaded worker).
> > - Better handling of semaphores
> > - Improvements in the loading of large images (better buffering)
> > - Better support for headless execution on non-main thread
> >
> > Please let me know if you find any issues.
> >
> > Cheers, Pablo
> >
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] [ANN] New Pharo VM released (v8.6.1)

2020-11-02 Thread teso...@gmail.com
Hi,
 this is an announcement of a new release of the Pharo VM. This
new version is available to be downloaded through get-pharo scripts
and through the Pharo Launcher. From the Pharo Launcher, remember to
update the VM from the VM manager window.

This version includes a series of improvements:

- Unification of code base with the headless VM
- Preparation for supporting HDPI displays.
- Improvements in the speed of Threaded FFI (40x times faster in
SameThread runner and 2x in Threaded worker).
- Better handling of semaphores
- Improvements in the loading of large images (better buffering)
- Better support for headless execution on non-main thread

Please let me know if you find any issues.

Cheers, Pablo

-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] Re: [Pharo-dev] [ANN] Libgit 1.0.0 in Pharo 9

2020-10-13 Thread teso...@gmail.com
Hi Martin,
   thanks for testing it. Can you tell me the version / flavour of
Debian are you using?
Maybe we need to ship PCRE with the VM. I am not fun of that, but we
need to do it until we can have a proper packaging for each Linux
distribution (Esteban is working on having a nice OBS configuration
for the VM extending what Holger has previously done).
It takes time and a lot of testing, but the idea is to fix (or at
least control better) the dependency nightmare between different Linux
distributions.

Cheers,
Pablo

On Tue, Oct 13, 2020 at 7:49 AM Martin McClure  wrote:
>
> Thanks, this is great news.
>
> Are there instructions on how to make P9 actually use the new version of
> libgit2? I see that the stable Linux VM for 9.0 does include
> "libgit2.1.0.0.so" but Pharo is still loading libgit2.so.0.25.1.
>
> ...this may be because Pharo's libgit2.1.0.0.so has not-found
> dependencies on libpcre.so.3 and libpcreposix.so.3.
>
> I find Debian's versioning of libpcre somewhat confusing. The package
> "libpcre3" is the *old* libraries, and new stuff is supposed to use
> "pcre2." 2 is apparently newer than 3. At any rate PCRE library naming
> is rather distro-specific, and although I have the right packages
> installed, the libraries have different filenames.
>
> But libgit2 is not supposed to have PCRE as a dependency. The source
> code for PCRE is included in the source for libgit2. Seems like it would
> be possible (and nice!) to compile the libgit2.1.0.0.so included with
> the VM to include the PCRE code internally, rather than depend on an
> external library.
>
> Thanks,
> -Martin
>
> On 10/12/20 2:26 AM, teso...@gmail.com wrote:
> > Hi, a later announcement (this have been done some months ago... but I
> > never send the mail).
> >
> > We have upgraded in Pharo 9 to use the latest stable version of Libgit.
> > It required to have some improvements in Libgit to handle the updated
> > version and also to support the previous version.
> >
> >  From the point of view of new features, it does not add new things.
> > However, this version fixes a lot of existing problems in Libgit.
> >
> > We can be sure this was a successful deployment as we don't have
> > problems with it. We are really happy that this has been done
> > transparently and keeping the working version with different
> > configurations of images and VMs. As we should support new and old
> > images, on the same VM. And also running new images in old VMs
> >
> > Thanks.
> >
>


--
Pablo Tesone.
teso...@gmail.com


[Pharo-users] [ANN] Libgit 1.0.0 in Pharo 9

2020-10-12 Thread teso...@gmail.com
Hi, a later announcement (this have been done some months ago... but I
never send the mail).

We have upgraded in Pharo 9 to use the latest stable version of Libgit.
It required to have some improvements in Libgit to handle the updated
version and also to support the previous version.

>From the point of view of new features, it does not add new things.
However, this version fixes a lot of existing problems in Libgit.

We can be sure this was a successful deployment as we don't have
problems with it. We are really happy that this has been done
transparently and keeping the working version with different
configurations of images and VMs. As we should support new and old
images, on the same VM. And also running new images in old VMs

Thanks.

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Iceberg "adopt commit" behavior

2020-08-21 Thread teso...@gmail.com
You can always get the registered repositories through:

IceRepository registry

But take care that the API is not intended to be stable through
versions as it is always intended to be used by the UI. So, script it
as you wish, we can answer whatever doubt you have, but I have warn
you :D!

On Fri, Aug 21, 2020 at 3:44 PM Sean P. DeNigris  wrote:
>
> Esteban A. Maringolo wrote
> > so I add how do I get the IceLibgitRepository
> > instance? (given I provide the name).
>
> I got it via Iceberg contextMenu -> Extra -> Inspect, which works via the UI
> but maybe you're looking for a programmatic way?
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Iceberg "adopt commit" behavior

2020-08-20 Thread teso...@gmail.com
Yes, it should work. The same if you repair the repository doing a
checkout loading the changes from the repository (there should not be
changes)

Tell us if you have any questions

Thanks!

On Thu, Aug 20, 2020 at 2:21 PM Esteban Maringolo  wrote:
>
> Hi Pablo,
>
> Thanks for the answer.
>
> So my workflow of editing files outside of Pharo, committing them, and
> then adopting the latest commit would be safe? (as long I don't modify
> files modified by Pharo).
>
> Best regards!
>
>
> Esteban A. Maringolo
>
> On Thu, Aug 20, 2020 at 6:46 AM teso...@gmail.com  wrote:
> >
> > Hi,
> >   the adopt commit operation has nothing to do with the rebase. It
> > sets the reference commit of the image to the given commit. It does
> > not affect the git repository.
> > The image knows at any moment the commit it has loaded (or it supposed
> > to have loaded).
> > The adopt operation overrides the reference commit with the selected
> > one, it does not affect the loaded code.
> > There is risk of doing so, it changes the commit in the image but
> > without changing the repository nor the loaded code. So, it can
> > produce a detached working-copy, and also it affects the records of
> > changes the image has.
> >
> > On Thu, Aug 20, 2020 at 5:16 AM Esteban Maringolo  
> > wrote:
> > >
> > > Hi,
> > >
> > > What does the "Adopt commit" mean?
> > >
> > > It seems like a rebase, but I'm not sure.
> > >
> > > I often have ongoing changes in my image, and also changes in the
> > > filesystem (css, js, Dockerfile, etc.). So what I do is to commit on
> > > the filesystem, and then "adopt" the recently created commit, and then
> > > commit in Iceberg (and probably push).
> > >
> > > Is this okay? Is there any risk in doing this?
> > >
> > > Regards!
> > >
> > > Esteban A. Maringolo
> > >
> >
> >
> > --
> > Pablo Tesone.
> > teso...@gmail.com
> >
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Iceberg "adopt commit" behavior

2020-08-20 Thread teso...@gmail.com
Hi,
  the adopt commit operation has nothing to do with the rebase. It
sets the reference commit of the image to the given commit. It does
not affect the git repository.
The image knows at any moment the commit it has loaded (or it supposed
to have loaded).
The adopt operation overrides the reference commit with the selected
one, it does not affect the loaded code.
There is risk of doing so, it changes the commit in the image but
without changing the repository nor the loaded code. So, it can
produce a detached working-copy, and also it affects the records of
changes the image has.

On Thu, Aug 20, 2020 at 5:16 AM Esteban Maringolo  wrote:
>
> Hi,
>
> What does the "Adopt commit" mean?
>
> It seems like a rebase, but I'm not sure.
>
> I often have ongoing changes in my image, and also changes in the
> filesystem (css, js, Dockerfile, etc.). So what I do is to commit on
> the filesystem, and then "adopt" the recently created commit, and then
> commit in Iceberg (and probably push).
>
> Is this okay? Is there any risk in doing this?
>
> Regards!
>
> Esteban A. Maringolo
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] GTK3 / PDF Viewer

2020-08-17 Thread teso...@gmail.com
Hello, Robert

 I have checked previously and seems that there is not a component to
present PDF in Gtk basic library.
Gtk components are intended to be building blocks to other more complex UI.
For doing what you are intending maybe it is required to build a more
complex window using Gtk components.
One alternative is to do a binding with the Ghostscript library
(https://www.ghostscript.com/doc/current/Lib.htm) that already
provides all the support to render PDFs.
It is designed to call the interested user with a callback with
instructions how to render the content.
This rendering can be later done directly in Morphic or in Athens. In
both cases, they can be shown as part of a GTK window.

Another alternative is to check the implementation of Evince (the GTK
based PDF presenter of Gnome) to check if it provides a component that
can be extracted.
It was supposed to be a reusable component but there is lack of
documentation of it (https://developer.gnome.org/libevview/stable/)

Cheer,
Pablo

On Sun, Aug 16, 2020 at 5:48 PM  wrote:
>
> Hi,
>
>
>
> what is the best way to integrate a PDF Viewer with a Spec2 / GTK3 
> application on Windows?
>
> I couldn’t find any mentioning of PDF viewer on the GTK3 site.
>
>
>
> Thx for your help
>
>
>
> Best
>
>
>
> Robert



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] UFFI asynchronous callbacks

2020-07-27 Thread teso...@gmail.com
Hello,
   for executing it you will need the headless VM. If you are using
Pharo Launcher you can change the VM for that image in the
configuration combo box (The click on "Edit Configurations..."). If
you are using the zero-conf you can use "wget -O -
get.pharo.org/64/vmHeadlessLatest90 | bash"

Cheers,
Pablo

On Sat, Jul 25, 2020 at 10:17 AM ASAM  wrote:
>
> Hi Pablo,
> today I have a little bit of time to try out the "threaded FFI".
> But immediately with the load I get the following error message
> "PrimitiveFailed: primitive #primitiveInitializeQueueWith: in
> TFCallbackQueue failed".
>
> see pic:  <http://forum.world.st/file/t372350/ThreadedFFI.png>
>
> When I load it again it looks good. But then I get the error message with
> every Pharo start.
>
> To rule out possible errors, I tested with a fresh Pharo8 64bit image, of
> course.
>
> Could you tell me what i'm doing wrong?
>
> Thanks
> ASAM
>
>
>
>
>
>
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] UFFI asynchronous callbacks

2020-07-20 Thread teso...@gmail.com
Hi, as Ben correctly pointed out there is the alternative of using a
Queue based approach for FFI.
It is available as a plugin for the headless VM and it can be used with Pharo 8.
It is here: https://github.com/pharo-project/threadedFFI-Plugin
The plugin is already compiled and shipped with the VM.
It is only required to load the Smalltalk side code with:

Metacello new
baseline: 'ThreadedFFI';
repository: 'github://pharo-project/threadedFFI-Plugin';
onConflictUseLoaded;
load.

This is fully integrated as a backend of UFFI, so all the code you
already have it will be working fine.
You need to give more information to select the callout strategy to
use (https://github.com/pharo-project/threadedFFI-Plugin/wiki/Using-with-UFFI)

 Using TFFI it is possible to receive callbacks from other threads and
process them in the VM thread.

If you need any help, please feel free to ask in the list, so it can
be useful for everybody.
Cheers,

Pablo

On Sun, Jul 19, 2020 at 6:32 PM Ben Coman  wrote:
>
> Hi Asam,
>
> On Sun, 19 Jul 2020 at 21:38, ASAM  wrote:
> >
> > Hello Ben,
> >
> > I quickly made a dummy DLL to limit the problem to the essentials.
>
> Great idea.  A more generic example is attractive for people to
> examine and help out.
> I browsed the code but I'm sorry it needs a deeper expertise than I have.
> Hopefully someone working on the threaded FFI will tune in.
>
> In the meantime, it won't solve your query but you may find this
> interesting to watch...
> Strategies for Non-Blocking FFI
> https://www.youtube.com/watch?v=L_QFwsNOMAc
>
> cheers -ben
>
> >
> > I think my problem comes more from how I use the semaphore.
> >
> > I wanted to do that:
> >
> > only "semaphore signal",
> > But that somehow doesn't work.
> > Now i'm doing that "[ Processor yield. semaphore signal ] fork" (it work's)
> > but i don't know if that's a good idea.
> >
> >
> > ffiCallback
> > ^ FFICallback signature: #( void #( uint32 foo ) ) block: [ :foo |
> >   Transcript
> >   show: 'API Funktion value: ' , foo asString, ' 
> > activePriority:',
> >   Processor activePriority asString; cr.
> >
> > "that's working"
> >   [ Processor yield. semaphore signal ] fork.
> >
> >   "that usually works 80%."
> >   "[ semaphore signal ] fork"
> >
> >   "that crashes pharo almost always."
> >   "semaphore signal"
> > ]
> >
> > I also have a little problem, too. Why can I use my own C-Type UNUM32 at
> > ...self ffiCall: #( T_ERROR StartMyThreadFunction(UNUM32 millisecondsToFire)
> > ).
> > But with FFICallback signature: # (void # (uint32 foo)) I get an error
> > "Unable to resolve external type: UNUM32. Why is that?
> >
> > Thanks for your help.
> >
> > testDllForAsyncCallback.dll
> > <http://forum.world.st/file/t372350/testDllForAsyncCallback.dll>
> > testDllForAsyncCallback.cpp
> > <http://forum.world.st/file/t372350/testDllForAsyncCallback.cpp>
> > testDllForAsyncCallback.h
> > <http://forum.world.st/file/t372350/testDllForAsyncCallback.h>
> > testDllForAsyncCallback.h
> > <http://forum.world.st/file/t372350/testDllForAsyncCallback.h>
> > UFFICallback.st <http://forum.world.st/file/t372350/UFFICallback.st>
> > CTypes.st <http://forum.world.st/file/t372350/CTypes.st>
> > <http://forum.world.st/file/t372350/Transcript.png>
> >
> >
> >
> >
> > --
> > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
> >
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Pharo on Chromebook

2020-06-08 Thread teso...@gmail.com
Hi, I have tested with CloudReady (another variation of Chromium OS)
but I couldn't reproduce the error. Maybe there is a problem with the
latest version of Chrome OS (that of course is not the same).

On Mon, Jun 8, 2020 at 8:25 AM Stéphane Ducasse
 wrote:
>
> I think that we will have to buy one of such device.
> What would be a good choice?
> I know Olivier runs pharo on his without problem,
> @olivier which Chrome book do you suggest us to buy?
>
> S.
>
> On 8 Jun 2020, at 00:40, tbrunz  wrote:
>
> Hi Pablo,
>
> I'm seeing the same thing on a Chromebook "Pixelbook" Crostini (Linux)
> container:
>
> Debian v9 ("stretch"), Linux kernel 4.9.0-12, recently updated.  The system
> has 8GB RAM & 128GB SSD.
>
> The ChromeOS version in 81.0.4044.141.
>
> I'm running the latest Pharo Launcher, 2.0-2020.04.07, VM 5.0-202002121043.
>
> Just opening Pharo Launcher, and without even launching an image, I'm seeing
> the same tearing and rendering problems as Jan.  If I open the Settings
> dialog, it partially renders, and when I try to move the window, I get the
> tearing behavior.
>
> And I was also able to run PL & images on this platform without problems in
> the past.  (It's been at least a month since I tried running Pharo on a
> Chromebook.)
>
> -Ted
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
> 
> Stéphane Ducasse
> http://stephane.ducasse.free.fr / http://www.pharo.org
> 03 59 35 87 52
> Assistant: Aurore Dalle
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Thinking aloud about project at hand

2020-04-10 Thread teso...@gmail.com
Hi Tomaz,

>From the comments about the requirements you do I suggest:

- For data storage, my recommendation goes depending on two factors:
1)Installation complexity, 2) volume of data. These are two variables
that will be against one and the other. I will recommend to use
MongoDB + Voyage, that goes very well. It grows excellent with the
amount of data, it has really cool integration with Pharo and Voyage
is an excellent mapping tool; also it is a mature solution and it has
a lot of support for back-up schemes and solutions. Using MongoDB
complicates the installation process, so if you have the idea of a
easy installable application maybe SQLlite is a good alternative.

- I think using Spec2 + GTK + Roassal3 + Polymath is a good idea.
Check that Spec2 and Roassal3 are still under heavy development. They
are getting much better, but of course, it will take some time to
stabilize; but both of them are progressing very fast and they are
already quite stable.

- For developing DSL and interactive programming for non-programmers
users, Pharo is ideal. It presents a lot of tools to easily develop
DSL and the UI to make them work excellent. The idea of live
manipulation of objects and inspection of all the instances can be
easily added to a DSL.

Thanks for your attention!

On Thu, Apr 9, 2020 at 9:13 PM Tomaž Turk  wrote:
>
> Dear all,
>
> I'm thinking about implementing a software solution in Pharo (as one of the 
> candidate environments), it's a project that I'm dealing with professionally. 
> The goal is to develop a financial planning/simulation application on the 
> country level, which is at present developed as a set of interrelated Excel 
> spreadsheets. The requirement is that the solution should be more 
> "manageable", resilient and straightforward than Excel permits, that it 
> should present a workflow to the user - i.e. , that the tasks the user should 
> do are suggested through the GUI.
>
> The majority of the data is in a form of a time series (for instance: GDP for 
> a series of years). There are many variables in the model which shoud be 
> calculated from other variables, year by year. There are also lagged 
> variables (the value for the current year depends from the value of previous 
> year), and running averages. There are also some variables which are not time 
> series (parameters). As a part of GUI, there is a need to present the results 
> as diagrams, too (scatterplots, line charts), otherwise tables are the output.
>
> I found Pharo to be a very elegant language and environment, with version 8.0 
> it became pretty stable, however I don't have any experiences in building 
> software solutions of this type in Smalltalk. In other words, I'd like to be 
> more confident in setting the architecture, both in the sense of the model 
> content (variables interrelation) and the architecture of classes. Besides, 
> for the calculated variables I'd like to have a relatively simple syntax to 
> define them (like 'GDPpC <- GDP / Population').
>
> My thoughts and questions:
> - for easier maintenance I'd like to separate the data from the code - so the 
> question is what would be the best way to implement persistence (another 
> Pharo image  - with what?, some relational database, XML/JSON, flat files ...)
> - I wonder what would be the best "architecture" of classes - so, we have a 
> lot of aggregate variables like GDP and population, which can be grouped at 
> least according to the stage in the planning workflow. There are also 
> resulting (calculated) variables (e.g. GDP per capita). On the other hand, 
> since this is a planning software, it's a kind of simulation, where we have a 
> "data warehouse", experiments and results
> - As a core packages I would use Spec2, Roassal, and PolyMath.
>
> I'm just thinking aloud, and would greatly appreciate any thoughts from 
> experienced Pharoers  :-)
>
> Best wishes,
> Tomaz



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-08 Thread teso...@gmail.com
Hi!!!
  This was a great report. I have submitted a fix in the master of Pharo-COM.

Basically the problem was to free twice the BSTR in the Variant.
It was being free in the access to the value and in the free of the struct.
Why it works with other BSTR when they are smaller, I cannot know.

I have added another smoke test using Word

Can you try the fix?

Thanks, both for helping me with the reports, they were great.

On Wed, Apr 8, 2020 at 9:37 AM PBKResearch  wrote:
>
> Tomaz, that was my understanding from the VBA piece you cited yesterday. So 
> presumably it must be something in Pharo-Com which imposes the limits we have 
> seen. I am OK at the moment, because all this work is just an exploration of 
> possibilities; I can wait until you and Pablo have sorted it out. But from 
> the results of your tests, a maximum of 16K in 64-bit systems must be a 
> serious limitation, so something in Pharo-Com needs fixing.
>
>
>
> For my immediate work, I shall continue exporting the full text using 
> MailItem.SaveAs; my further processing uses files I have exported manually in 
> this way, so it’s not a problem.
>
>
>
> Thanks
>
>
>
> Peter Kenny
>
>
>
> From: Pharo-users  On Behalf Of Tomaž 
> Turk
> Sent: 08 April 2020 07:58
> To: Any question about pharo is welcome 
> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>
>
>
> Thanks, Stephane, for the acknowledgement. Peter, as I understand, the limits 
> in COM BSTR data type are defined by the header's length prefix (which is 4 
> bytes) and software implementatios - for instance, string data type in Visual 
> Basic for Applications is described as "a variable-length string can contain 
> up to approximately 2 billion (2^31) characters", which is in line with the 
> BSTR header. I'm not sure if the OS architecture (32 and 64 bit) influences 
> these values.
>
>
>
> Best wishes,
>
> Tomaz
>
>
>
>



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-06 Thread teso...@gmail.com
Hi Peter,
First, thanks to try to use Pharo-COM, that is great, I love to have
users for it and find it is useful.
Secondly, the Pharo 7 problem is an error I have introduced. It is clear
that some changes I have done to support the new version of UFFI (the
framework in Pharo to handle FFI calls) have broken the Pharo 7 version, so
I will fix it to maintain compatibility.

It is great that you were able to make it work!

Cheers,


On Mon, Apr 6, 2020 at 12:18 PM PBKResearch  wrote:

> Hello Tomaž
>
>
>
> Many thanks for your patient explanation. I should have been able to work
> out for myself how the Word test works, and indeed I realized some of it
> when I came to shut down the Word instance and its two documents. But it
> was late at night, and I should have packed up before then.
>
>
>
> My last test last night showed that basically I have cracked it for my job
> of automating Outlook. I have been able to connect to my running instance
> of Outlook, open my application and interrogate the names of my top-level
> folders. From now on it should be just a matter of understanding the MS
> documentation of the Outlook model.
>
>
>
> However, all this is with Pharo-Com installed in a new Pharo 8 image. I
> have no idea what went wrong with my first effort on Pharo 7. But I shan’t
> worry about that – I shall gradually move all my bits and pieces to P8. I
> shall try to work it out myself from here, but I shall come back if I get
> stuck.
>
>
>
> Thanks again
>
>
>
> Peter Kenny
>
>
>
> *From:* Pharo-users  *On Behalf Of *Tomaž
> Turk
> *Sent:* 06 April 2020 08:04
> *To:* Any question about pharo is welcome 
> *Subject:* Re: [Pharo-users] Automation of MS Office from Pharo
>
>
>
> Hello Peter,
>
>
>
> If you look at the code in the Word test you will notice that the test
> firstly
>
> - creates a new Word instance,
>
> - makes it visible to the end user,
>
> - then adds an empty document to the documents collection with the text
> "Hello from Pharo!"
>
> - then it tests whether it can receive the same text back from Word.
>
>
>
> After that, the test
>
> - adds a new empty document to the documents collection with the text
> "Hello from Pharo! Some additional text. ", this time as an array of two
> texts
>
> - it activates this second document (this imitates the end user's window
> activation on the desktop)
>
> - then it tests whether it can receive the same text back from Word.
>
>
>
> If you look at the Task Manager, you'll notice that you have one Word
> process with two open documents:
>
>
>
>
>
> Namely, for each document Word creates a new, separate window - the
> documents are not displayed in one "Word application window", but
> separately - that's a normal behavior for some versions of MS Office, and
> it happens also if you open several documents directly in Word. So, there
> is just one Word instance.
>
>
>
> 'finalize' clears the references to the Word instance, it doesn't close
> the program by itself. If you want to do that, you can send Quit message to
> Word before you destroy the reference (
> https://docs.microsoft.com/en-us/office/vba/api/word.application.quit(method)
> ).
>
>
>
> Similar behaviour is with Outlook, here's one example:
> https://www.excelcommand.com/excel-help/excel-how-to.php?i=124116
>
>
>
> The calling among COM objects is asynchronous, and it's usually wise to
> wrap it in error handling structures.
>
>
>
> Please tell us how it goes.
>
>
>
> Best wishes,
>
> Tomaz
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -- Original Message --
>
> From: "PBKResearch" 
>
> To: "Any question about pharo is welcome" 
>
> Sent: 5.4.2020 23:18:02
>
> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>
>
>
> Pablo - a final update before I close for the night. The Word test on the
> pharo 8 version comes up green. The strange error message is nowhere to be
> seen in any Pharo 8 runs. The result is not what I expected; I finish up
> with two Word documents open, one with the first message, the other with
> the two messages. I thought the 'finalize' command would close it down.
>
>
>
> Anyway, it looks as if I need to switch to P8 to use Pharo-Com. I shall
> continue testing tomorrow on P8.
>
>
>
> Sorry for the late-night hassle.
>
>
>
> Peter
>
>
>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-05 Thread teso...@gmail.com
Ok, I was trying to find an easy solution. I will try tomorrow morning
to see the problem.
Sorry,

On Sun, Apr 5, 2020 at 10:29 PM PBKResearch  wrote:
>
> Pablo – Yes, I saw the instruction. I used the quoted Metacello procedure for 
> P7 – I used copy and paste from the repo Readme. Peter
>
>
>
> From: Pharo-users  On Behalf Of 
> teso...@gmail.com
> Sent: 05 April 2020 21:19
> To: Any question about pharo is welcome 
> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>
>
>
> The install instructions are not the same for Pharo 7, or pharo 8/9
>
>
>
> On Sun, Apr 5, 2020, 22:18 teso...@gmail.com  wrote:
>
> If you are using pharo 7, you have to install a different branch of the 
> project. Check in the documentation of pharo-com(the read me in the same repo)
>
>
>
> On Sun, Apr 5, 2020, 21:41 PBKResearch  wrote:
>
> Hello Pablo
>
> Many thanks for the suggestion. I have tried to use Pharo-Com to connect to 
> Outlook, and have now got myself into a complete tangle. I have been able to 
> connect to my already-running copy of Outlook, but when I tried to enter 
> propertyNamed: 'Folders', an error message appeared with the text: "Instance 
> of FFIExternalObjectType did not understand emitArgument:context:inCallout:".
> I could not understand this, so I closed the debugger, assuming the effects 
> would be unwound.
>
> I found that, whatever I tried after that, the same message appeared. In 
> desperation I closed down Pharo, without saving the image, and started again. 
> Whatever I tried in using Pharo-Com, the exact same message appeared. Even 
> when I tried running one of your tests, the same message.
>
> It seems clear that something in my system, not part of Pharo, has been 
> changed in a way which persists from one run of Pharo to another. I have no 
> idea what it can be, but I see that some parts of Pharo-Com address the 
> registry, so I wonder if I have corrupted that in some way.
>
> For the time being I have stopped work on Pharo-Com. I hope that a night's 
> sleep will bring inspiration. In case it means anything to you, I attach a 
> screenshot of the error stack when I try to run the testWord case in 
> PharoCOM-Tests.
>
> Thanks again
>
> Peter Kenny
>
> -Original Message-
> From: Pharo-users  On Behalf Of 
> teso...@gmail.com
> Sent: 05 April 2020 16:23
> To: Any question about pharo is welcome 
> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>
> Hello,
>One of the alternatives to integrate with Office is the use of the COM 
> interface. There is an implementation in 
> https://github.com/tesonep/pharo-com. In the test package, there are examples 
> to integrate with Word, Excell, Internet Explorer, and Access. Integration 
> with Outlook can be done in the same fashion. It is good that the API of all 
> the Office products is heavily documented.
>
> You can get more information about how to use Outlook here:
> https://docs.microsoft.com/en-us/office/vba/api/overview/outlook/object-model
>
> If you have any questions, please let me know.
> Cheers,
> Pablo.
>
> On Sun, Apr 5, 2020 at 2:44 PM PBKResearch  wrote:
> >
> > Hello All
> >
> >
> >
> > I am using Pharo (currently P7, moving to P8) under Windows 10. I have MS 
> > Office 365 on my system, and use it regularly for non-Smalltalk tasks. It 
> > would be very convenient if I could issue commands to MS Office components 
> > from within Pharo. My current interest is to manage my incoming e-mails in 
> > Outlook, but I can see many other applications. I have a recollection of 
> > seeing a reference to automation of Excel to transfer data both ways, but I 
> > cannot recall where. I have searched the catalog, but could not see 
> > anything that looked relevant. I have also read the uFFI booklet, but again 
> > no luck. Could anyone point me to any information or examples of such 
> > control, please? It would not have to be Outlook, though that is my main 
> > interest; given examples for other Office components, I should be able to 
> > follow the pattern.
> >
> >
> >
> > TIA
> >
> >
> >
> > Peter Kenny
>
>
>
> --
> Pablo Tesone.
> teso...@gmail.com



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-05 Thread teso...@gmail.com
The install instructions are not the same for Pharo 7, or pharo 8/9

On Sun, Apr 5, 2020, 22:18 teso...@gmail.com  wrote:

> If you are using pharo 7, you have to install a different branch of the
> project. Check in the documentation of pharo-com(the read me in the same
> repo)
>
> On Sun, Apr 5, 2020, 21:41 PBKResearch  wrote:
>
>> Hello Pablo
>>
>> Many thanks for the suggestion. I have tried to use Pharo-Com to connect
>> to Outlook, and have now got myself into a complete tangle. I have been
>> able to connect to my already-running copy of Outlook, but when I tried to
>> enter propertyNamed: 'Folders', an error message appeared with the text:
>> "Instance of FFIExternalObjectType did not understand
>> emitArgument:context:inCallout:".
>> I could not understand this, so I closed the debugger, assuming the
>> effects would be unwound.
>>
>> I found that, whatever I tried after that, the same message appeared. In
>> desperation I closed down Pharo, without saving the image, and started
>> again. Whatever I tried in using Pharo-Com, the exact same message
>> appeared. Even when I tried running one of your tests, the same message.
>>
>> It seems clear that something in my system, not part of Pharo, has been
>> changed in a way which persists from one run of Pharo to another. I have no
>> idea what it can be, but I see that some parts of Pharo-Com address the
>> registry, so I wonder if I have corrupted that in some way.
>>
>> For the time being I have stopped work on Pharo-Com. I hope that a
>> night's sleep will bring inspiration. In case it means anything to you, I
>> attach a screenshot of the error stack when I try to run the testWord case
>> in PharoCOM-Tests.
>>
>> Thanks again
>>
>> Peter Kenny
>>
>> -Original Message-
>> From: Pharo-users  On Behalf Of
>> teso...@gmail.com
>> Sent: 05 April 2020 16:23
>> To: Any question about pharo is welcome 
>> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>>
>> Hello,
>>One of the alternatives to integrate with Office is the use of the COM
>> interface. There is an implementation in
>> https://github.com/tesonep/pharo-com. In the test package, there are
>> examples to integrate with Word, Excell, Internet Explorer, and Access.
>> Integration with Outlook can be done in the same fashion. It is good that
>> the API of all the Office products is heavily documented.
>>
>> You can get more information about how to use Outlook here:
>>
>> https://docs.microsoft.com/en-us/office/vba/api/overview/outlook/object-model
>>
>> If you have any questions, please let me know.
>> Cheers,
>> Pablo.
>>
>> On Sun, Apr 5, 2020 at 2:44 PM PBKResearch 
>> wrote:
>> >
>> > Hello All
>> >
>> >
>> >
>> > I am using Pharo (currently P7, moving to P8) under Windows 10. I have
>> MS Office 365 on my system, and use it regularly for non-Smalltalk tasks.
>> It would be very convenient if I could issue commands to MS Office
>> components from within Pharo. My current interest is to manage my incoming
>> e-mails in Outlook, but I can see many other applications. I have a
>> recollection of seeing a reference to automation of Excel to transfer data
>> both ways, but I cannot recall where. I have searched the catalog, but
>> could not see anything that looked relevant. I have also read the uFFI
>> booklet, but again no luck. Could anyone point me to any information or
>> examples of such control, please? It would not have to be Outlook, though
>> that is my main interest; given examples for other Office components, I
>> should be able to follow the pattern.
>> >
>> >
>> >
>> > TIA
>> >
>> >
>> >
>> > Peter Kenny
>>
>>
>>
>> --
>> Pablo Tesone.
>> teso...@gmail.com
>>
>


Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-05 Thread teso...@gmail.com
If you are using pharo 7, you have to install a different branch of the
project. Check in the documentation of pharo-com(the read me in the same
repo)

On Sun, Apr 5, 2020, 21:41 PBKResearch  wrote:

> Hello Pablo
>
> Many thanks for the suggestion. I have tried to use Pharo-Com to connect
> to Outlook, and have now got myself into a complete tangle. I have been
> able to connect to my already-running copy of Outlook, but when I tried to
> enter propertyNamed: 'Folders', an error message appeared with the text:
> "Instance of FFIExternalObjectType did not understand
> emitArgument:context:inCallout:".
> I could not understand this, so I closed the debugger, assuming the
> effects would be unwound.
>
> I found that, whatever I tried after that, the same message appeared. In
> desperation I closed down Pharo, without saving the image, and started
> again. Whatever I tried in using Pharo-Com, the exact same message
> appeared. Even when I tried running one of your tests, the same message.
>
> It seems clear that something in my system, not part of Pharo, has been
> changed in a way which persists from one run of Pharo to another. I have no
> idea what it can be, but I see that some parts of Pharo-Com address the
> registry, so I wonder if I have corrupted that in some way.
>
> For the time being I have stopped work on Pharo-Com. I hope that a night's
> sleep will bring inspiration. In case it means anything to you, I attach a
> screenshot of the error stack when I try to run the testWord case in
> PharoCOM-Tests.
>
> Thanks again
>
> Peter Kenny
>
> -Original Message-
> From: Pharo-users  On Behalf Of
> teso...@gmail.com
> Sent: 05 April 2020 16:23
> To: Any question about pharo is welcome 
> Subject: Re: [Pharo-users] Automation of MS Office from Pharo
>
> Hello,
>One of the alternatives to integrate with Office is the use of the COM
> interface. There is an implementation in
> https://github.com/tesonep/pharo-com. In the test package, there are
> examples to integrate with Word, Excell, Internet Explorer, and Access.
> Integration with Outlook can be done in the same fashion. It is good that
> the API of all the Office products is heavily documented.
>
> You can get more information about how to use Outlook here:
>
> https://docs.microsoft.com/en-us/office/vba/api/overview/outlook/object-model
>
> If you have any questions, please let me know.
> Cheers,
> Pablo.
>
> On Sun, Apr 5, 2020 at 2:44 PM PBKResearch 
> wrote:
> >
> > Hello All
> >
> >
> >
> > I am using Pharo (currently P7, moving to P8) under Windows 10. I have
> MS Office 365 on my system, and use it regularly for non-Smalltalk tasks.
> It would be very convenient if I could issue commands to MS Office
> components from within Pharo. My current interest is to manage my incoming
> e-mails in Outlook, but I can see many other applications. I have a
> recollection of seeing a reference to automation of Excel to transfer data
> both ways, but I cannot recall where. I have searched the catalog, but
> could not see anything that looked relevant. I have also read the uFFI
> booklet, but again no luck. Could anyone point me to any information or
> examples of such control, please? It would not have to be Outlook, though
> that is my main interest; given examples for other Office components, I
> should be able to follow the pattern.
> >
> >
> >
> > TIA
> >
> >
> >
> > Peter Kenny
>
>
>
> --
> Pablo Tesone.
> teso...@gmail.com
>


Re: [Pharo-users] Automation of MS Office from Pharo

2020-04-05 Thread teso...@gmail.com
Hello,
   One of the alternatives to integrate with Office is the use of the
COM interface. There is an implementation in
https://github.com/tesonep/pharo-com. In the test package, there are
examples to integrate with Word, Excell, Internet Explorer, and
Access. Integration with Outlook can be done in the same fashion. It
is good that the API of all the Office products is heavily documented.

You can get more information about how to use Outlook here:
https://docs.microsoft.com/en-us/office/vba/api/overview/outlook/object-model

If you have any questions, please let me know.
Cheers,
Pablo.

On Sun, Apr 5, 2020 at 2:44 PM PBKResearch  wrote:
>
> Hello All
>
>
>
> I am using Pharo (currently P7, moving to P8) under Windows 10. I have MS 
> Office 365 on my system, and use it regularly for non-Smalltalk tasks. It 
> would be very convenient if I could issue commands to MS Office components 
> from within Pharo. My current interest is to manage my incoming e-mails in 
> Outlook, but I can see many other applications. I have a recollection of 
> seeing a reference to automation of Excel to transfer data both ways, but I 
> cannot recall where. I have searched the catalog, but could not see anything 
> that looked relevant. I have also read the uFFI booklet, but again no luck. 
> Could anyone point me to any information or examples of such control, please? 
> It would not have to be Outlook, though that is my main interest; given 
> examples for other Office components, I should be able to follow the pattern.
>
>
>
> TIA
>
>
>
> Peter Kenny



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] [ANN] Pharo-Spreedsheet on GitHub

2020-04-03 Thread teso...@gmail.com
Thanks, it is really cool!

On Fri, Apr 3, 2020 at 10:20 PM Guillermo Polito
 wrote:
>
> Thanks!
>
> > El 3 abr 2020, a las 21:39, Torsten Bergmann  escribió:
> >
> > Hi,
> >
> > I just moved "Spreadsheet" from SmalltalkHub 
> > (http://www.smalltalkhub.com/#!/~TorstenBergmann/Spreadsheet)
> > to a community owned location at GitHub 
> > ("https://github.com/pharo-contributions/Pharo-Spreadsheet;).
> >
> > If I remember correctly the project goes back to ancient Squeak times - but 
> > it was kept up to date
> > and is basically working. So if you want to write the next killer 
> > spreadsheet application in Pharo
> > then you might want to use this as a base.
> >
> > Screenshot attached
> >
> > Have fun
> > T. (aka astares)
> >
> >
> >
> > 
>
>


-- 
Pablo Tesone.
teso...@gmail.com



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

2020-02-03 Thread teso...@gmail.com
Yes... it is basically the same version... maybe I should change the
version to 9

On Mon, Feb 3, 2020 at 4:06 PM Damien Pollet  wrote:
>
> 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



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Large Image Generator

2020-01-29 Thread teso...@gmail.com
Hi Benoit,
 the main idea as always is to have better tests.
We have seen that Pharo, and many users reported, that Pharo does not
behaves correctly in some cases when handling large images. When I
take about large images, I am talking about images with a lot of code
and/or with a lot of data (yes the code for us is data... but I am
just differencing because if we are testing senders / implementors we
don't care about having a 10GB ByteArray).

Also we have seen that for correctly testing this scenarios, we need
good images, because depending the characteristics of the image it
stress different parts of the system. As you correctly said we need to
improve the tools (Calypso, System Navigation, Spotter, Iceberg, etc)
and the infrastructure (GC, Compiler, VM in general). So we need to
generate a lot of different images with different characteristics.

Also, as you correctly mentioned we need to generate images with
static behavior and with dynamic behavior (e.g., lots of concurrent
processes).

The main goal of the project is to start a recollection of existing
solutions and to add new ones to generate this synthetic images. We
want also to generate images that reproduce the nature of images. For
example, it is not enough to generate random method selectors if we
are testing the indexing of them. A good index varies its performance
depending of the nature of the text. We need to generate random
methods following some rules a developer whould use, for example using
more a given word or using real words.

So basically, we started collecting the easy algorithms to generate
and we will add more, and of course, it is open to contribution from
anyone and to different usage scenarios. The two I have implemented
are the ones we are using this week to solve three issues: (1)
improving the startup time, (2) improving the detection of deprecated
methods, (3) improving the analysis of big literal methods. I have
finished 1, the other two we are in working.

Also, I will like to add an implementation of the work of Clement and
Sophie to generate images to stress the GC.

If you have ideas or things to add let's share them!!

Cheers,
Pablo

On Wed, Jan 29, 2020 at 6:48 PM Benoit St-Jean via Pharo-users
 wrote:
>
> Just read that announcement
> (https://pharoweekly.wordpress.com/2020/01/29/ann-large-image-generator/)
> on Pharo Weekly.
>
> Anyone knows more about the precise goal of that project?  What is the
> exact purpose of those images and what are we trying to test?  Garbage
> collection?  The VM behavior under stress? Limitations of Pharo on a
> specific OS? A reference against which future versions will be
> benchmarked for performance? Iceberg and code management performance?
> How base classes react when they have to deal with millions of objects
> (e.g. a Bag with 15 million objects, forking 15000 processes, creating
> 2 semaphores, etc) ?
>
> --
> -
> Benoît St-Jean
> Yahoo! Messenger: bstjean
> Twitter: @BenLeChialeux
> Pinterest: benoitstjean
> Instagram: Chef_Benito
> IRC: lamneth
> GitHub: bstjean
> Blogue: endormitoire.wordpress.com
> "A standpoint is an intellectual horizon of radius zero".  (A. Einstein)
>
>


-- 
Pablo Tesone.
teso...@gmail.com



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

2020-01-28 Thread teso...@gmail.com
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



Re: [Pharo-users] Embedding pharo in C++

2020-01-23 Thread teso...@gmail.com
Hi Roland,

the function vm_main_with_parameters() starts the vm and it will
not return until the image finishes.
In my example, only when the SDL window is closed, the quit primitive
is executed and the function ends.

To do a nicer POC we need to make modifications in the image, so it
handles keeping the image open.

On Wed, Jan 22, 2020 at 7:08 PM Roland Plüss via Pharo-users
 wrote:
>
> I gave the C-Example repository a try but I don't fully understand how
> it works. Does the vm_main_with_parameters() block until the VM is quit
> or some function it runs? From looking at the source code I'm not sure
> what it does.
>
> On 1/22/20 12:17 PM, Pierce Ng wrote:
> > On Wed, Jan 22, 2020 at 11:04:07AM +0100, teso...@gmail.com wrote:
> >>nice to hear about the Pascal experiment,
> > I've published my code on GH and sent an announcement to pharo-dev.
> >
> > Repo is https://github.com/PierceNg/pharo-vm-embedded-pascal
> >
> > Pierce
> >
> >
>
> --
> Yours sincerely
> Plüss Roland
>
> Leader and Head Programmer
> - Game: Epsylon ( http://www.indiedb.com/games/epsylon )
> - Game Engine: Drag[en]gine ( http://www.indiedb.com/engines/dragengine
> , http://dragengine.rptd.ch/wiki )
> - As well as various Blender export scripts und game tools
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Embedding pharo in C++

2020-01-22 Thread teso...@gmail.com
Hi, we are working on the tools required to have embedded Pharo in
different solutions.

My idea is to implement an API to communicate to the image, I was
thinking more in an API similar to Objective-C Bridge or COM objects.
Still I am not sure how to design the API or the way to integrate it.
Today, I am thinking about not having to much marsharlling of Pharo
Objects to external objects, I am thinking to use a similar strategy
like the used with FFI.

A simple start point begins with exposing callbacks from the image.
This will only work with the new Queue based callbacks, as the image
will receive callbacks from outside a call-out.

I have started with a POC of this, but time / resources is the
limitant. I will try to put some time on it, but we have other
priorities.

Cheers,


On Wed, Jan 22, 2020 at 9:38 AM Pierce Ng  wrote:
>
> On Tue, Jan 21, 2020 at 08:20:48PM +0100, Roland Plüss via Pharo-users wrote:
> > The first mode is the "runtime mode". This would be the mode used for
> > the released products and does not allow to "directly modify" the image.
> > This mode would only require basic set of classes (frameworks) since the
> > game engine provides a large set of functionality in the module layer so
> > the script layer provides the logic, UI and things like that. This image
> > would not require to be enriched with a lot of things.
>
> This is doable currently. The Pharo image is embedded into the
> executable and used in read-only mode. Although personally I'd implement
> as much of the app logic in Pharo as possible simply because of the high
> productivity.
>
> > The second mode is the "development mode". For this one I thought about
> > exposing a Pharo VM image acting as the Coding and Debugging IDE. Here I
> > would opt to expose the full power of Pharo/Smalltalk to the developer.
>
> I envisage doing this via some kind of data exchange between the host
> program and Pharo, which seems doable for both the embedded and 'over the
> wire' development cases.
>
> Pablo recently published an example of embedding a headless-but-GUI
> Pharo image inside a C program via the Windows resource mechanism. As it
> happens, I have just implemented the same example that works on Linux
> and MacOS from one source code. Didn't test on Windows, but I'm sure
> it'll work there too. In a day or two I will publish the code and blog
> post.
>
> Attached teaser screenshot. :-)
>
> Pierce
>


-- 
Pablo Tesone.
teso...@gmail.com



[Pharo-users] [ANN] Embedding Image Example (Win)

2020-01-13 Thread teso...@gmail.com
Hi,
   I have produced an example of using the headless VM to have an
embedded image in Windows. The example is hosted in Github
(https://github.com/tesonep/pharo-vm-embedded-example)

The example is a CMake project to generate a new small executable that
uses the VM as a library. Also, it shows how to perform the branding
of applications (I have used the same Pharo icon, but we can use
anything else).

In the example, I am opening one of the SDL2 examples, it opens a
window where we can draw in an Athens Canvas.

It requires a Cygwin environment, but if you are able to build the
headless VM you already have it!.

I will do other examples of the use case we are thinking for the headless VM!

Cheers,
Pablo

-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Pharo TechTalk Oct 24

2019-10-25 Thread teso...@gmail.com
Hi,
   I am putting the recorded version.

https://youtu.be/6iAzRYybY_M

Cheers,
Pablo

On Thu, Oct 24, 2019 at 11:18 AM teso...@gmail.com  wrote:
>
> Friendly reminder:
>
> Today at 17:00 (GMT+2, Paris Time) we have the techtalk about the headless VM
>
> Calendar entry: https://association.pharo.org/event-3419545
>
> On Thu, Oct 17, 2019 at 1:02 PM Marcus Denker  wrote:
> >
> > Hi,
> >
> > Next techtalk will be *next* week (Oct 24):
> >
> > Topic:  Headless VM
> >
> > Calendar entry: https://association.pharo.org/event-3419545
> >
> >
> > (it was originally dated to today, we will try to be better in pre-planning 
> > from the next one on)
>
>
>
> --
> Pablo Tesone.
> teso...@gmail.com



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Pharo TechTalk Oct 24

2019-10-24 Thread teso...@gmail.com
Friendly reminder:

Today at 17:00 (GMT+2, Paris Time) we have the techtalk about the headless VM

Calendar entry: https://association.pharo.org/event-3419545

On Thu, Oct 17, 2019 at 1:02 PM Marcus Denker  wrote:
>
> Hi,
>
> Next techtalk will be *next* week (Oct 24):
>
> Topic:  Headless VM
>
> Calendar entry: https://association.pharo.org/event-3419545
>
>
> (it was originally dated to today, we will try to be better in pre-planning 
> from the next one on)



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] [Pharo-dev] The Lands Platform at SLE 2019: Pharo magic inside

2019-10-24 Thread teso...@gmail.com
Really nice!!!

On Thu, Oct 24, 2019 at 8:44 AM Santiago Bragagnolo
 wrote:
>
> I loved it. great job nick!
>
> El mié., 23 oct. 2019 a las 9:16, Nick Papoylias () 
> escribió:
>>
>> The Lands Platform: Lan.guages and D.omain S.yntax,
>> @sleconf 2019, co-located with @splashcon
>>
>> https://youtu.be/HMgJK8mVPYw
>>
>> Showcasing live magic tricks powered by the @pharoproject
>>
>> Best,
>>
>> Nick



-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] Microsoft COM

2019-09-26 Thread teso...@gmail.com
Hi Tomaz,
 nice to hear you like the code you found. It is a prototype and
it is still needing some work. Basically, I needed a use case to
continue improving it.
Also, historically there was a limitation with the callbacks coming
from an external thread, but that should be fixed now with the new
Threading-ffi plugin. So, it will be possible also to expose Pharo
objects as COM objects.
Of course, we should join efforts.
Do you have any use case in mind to start working on?

Thanks,
Pablo

On Wed, Sep 25, 2019 at 10:29 PM eftomi  wrote:
>
> Hi,
>
> I finally got some time to check Pablo's PharoCOM package closely. At first
> I had problems with simple things, like making Word visible with
> properyNamed:put: (it's frustrating when you see the app on the processes
> list but you cannot control it :-)) but then I found the reason - it was a
> tiny detail in Win32VariantBool>>#write:to:, and then - voila!
>
> Here's an example of opening Word for Windows, adding a blank document,
> typing some text and getting this text back to Pharo:
>
> Ole32Lib uniqueInstance initLibrary.
> wrd := COMDispatchInstance createInstanceByName: 'Word.Application'.
> wrd propertyNamed: 'Visible' put: true.
>
> docs := wrd propertyNamed: 'Documents'.
> docs dispatch: 'Add'.
>
> sel := wrd propertyNamed: 'Selection'.
> sel dispatch: 'TypeText' withArguments: {'Hello from Pharo!'}.
>
> sel dispatch: 'WholeStory' .
> Transcript show: (sel propertyNamed: 'Text'); cr.
>
> Another example is with Active Data Objects to get DB access:
>
> conn := COMDispatchInstance createInstanceByName: 'ADODB.Connection' .
> conn dispatch: 'Open' withArguments: { 'DSN=this; Uid=that; Pwd=theOther;' }
> .
> conn propertyNamed: 'State' . --> true!
> rst := (COMDispatchInstance createInstanceByName: 'ADODB.Recordset') .
> rst dispatch: 'Open' withArguments: { 'SomeTableName' . conn . 3 . 1 }.
>
> The last line raises an exception because not all of the data types that
> functions are reporting are implemented yet, as Pablo mentioned in his post.
>
> The package is really nicely prepared. The most impressive is it's
> reflective capability. My "proof of concept" work with DispHelper library
> that I mentioned in another forum topic was successful (I can get to the SQL
> Server :-)), however it's a dead-end regarding the reflection.
>
> I'm very interested in COM implementation since I found Pharo to be very
> useful as a tool, and since I work in "windowed" environment the COM
> interaction is crucial to me. I decided to spent my free evenings working on
> the project finalization. I'm not sure of how long will it take though :-)
> Pablo, I hope that I can count on your help regarding the questions about
> the overall architecture that you set.
>
> Is anybody else interested in this? Maybe we can join our efforts.
>
> Best wishes,
> Tomaz
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>


-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] [ANN] New Windows VM - Fixes 1903 error

2019-09-20 Thread teso...@gmail.com
A little information I was missing, the fixed VM is for both Pharo 7 and
Pharo 8

Thanks Guille!

Cheers,

On Fri, Sep 20, 2019 at 12:06 PM teso...@gmail.com 
wrote:

> Hello,
> a new stable VM has been deployed. This VM uses a new version of
> libSSH allowing us to work in the latest Windows version.
>
> It can be directly updated using Pharo Launcher or downloaded using
> ZeroConf scripts.
>
> To update from Pharo Launcher you have to access to the VM Manager window.
> Just click on the marked button and then in "Update"
> [image: updateVM.png]
>
> Thanks!!!
>
> Cheers,
> Pablo
>
> --
> Pablo Tesone.
> teso...@gmail.com
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] [ANN] New Windows VM - Fixes 1903 error

2019-09-20 Thread teso...@gmail.com
Hello,
a new stable VM has been deployed. This VM uses a new version of libSSH
allowing us to work in the latest Windows version.

It can be directly updated using Pharo Launcher or downloaded using
ZeroConf scripts.

To update from Pharo Launcher you have to access to the VM Manager window.
Just click on the marked button and then in "Update"
[image: updateVM.png]

Thanks!!!

Cheers,
Pablo

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] [Pharo-dev] [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

2019-08-12 Thread teso...@gmail.com
Hi,
   the repos is https://github.com/pharo-project/opensmalltalk-vm in
the headless branch

Cheers,
Pablo

On Mon, Aug 12, 2019 at 11:07 AM Tudor Girba  wrote:
>
> Hi,
>
> Thanks for the answers!
>
> Could you point me to where the platforms for minheadless are (which 
> repository should we look at)? Also, to the build scripts that are used to 
> build it?
>
> Cheers,
> Doru
>
>
> > On Aug 12, 2019, at 10:56 AM, teso...@gmail.com wrote:
> >
> > Hi,
> >The executables are not the same.
> >We have 2 different now: the Stock VM (that is downloaded by the
> > launcher, and it is the default download in Zero-conf), and the
> > headless VM (this is downloaded by zero-conf when using
> > vmLatestHeadless).
> >
> >Those platforms are not representative we currently have: OSX,
> > Windows, and Linux all 64bits. We are working in ARM 32bits.
> >In the near future, I will work on validating different flavors of
> > Unix, but again It depends on the roadmap, and they are not there now.
> >
> >If someone requires some other platform we can talk to see how it
> > can fit in the roadmap.
> >
> > Cheers,
> > Pablo
> >
> > On Mon, Aug 12, 2019 at 10:03 AM Tudor Girba  wrote:
> >>
> >> Hi,
> >>
> >> Yes. We will be testing these days and we will come back with more details.
> >>
> >> Two more questions:
> >> - Is minheadlessVM now integrated in the regular VM binary or are the two 
> >> different artifacts?
> >> - Also are the platforms from 
> >> https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms 
> >> representative for minheadlessVM?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>
> >>> On Aug 12, 2019, at 9:11 AM, teso...@gmail.com wrote:
> >>>
> >>> Hi Doru,
> >>>   can you give us more insight of the errors? Because there should
> >>> not be changes in the behavior of the VM. Maybe there are issues, we
> >>> have used the Pharo tests as a guarantee and we are laking some tests.
> >>>
> >>> Cheers,
> >>> Pablo.
> >>>
> >>> On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba  wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>>
> >>>>
> >>>>> On Aug 11, 2019, at 5:29 PM, ducasse  wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> On 11 Aug 2019, at 13:19, Tudor Girba  wrote:
> >>>>>>
> >>>>>> Excellent news!
> >>>>>>
> >>>>>> I should say that for GT we are currently using the minheadlessVM 
> >>>>>> (Ronie’s work) out of the opensmalltalk-vm repo 
> >>>>>> (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably 
> >>>>>> well.
> >>>>>>
> >>>>>> We started to play with your minheadlessVM. So far it looks like there 
> >>>>>> are differences, although I am sure they are not large.
> >>>>>
> >>>>> like what?
> >>>>
> >>>> I do not know yet, but running GT in headless opens the window with the 
> >>>> one from opensmalltalk-vm, but not with the new one. We did not yet look 
> >>>> into details, but we will.
> >>>>
> >>>> Cheers,
> >>>> Doru
> >>>>
> >>>>
> >>>>>> So, what is the difference between the minheadlessVM built by you 
> >>>>>> versus the one from opensmalltalk-vm?
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Doru
> >>>>>>
> >>>>>>
> >>>>>>> On Aug 8, 2019, at 9:53 AM, teso...@gmail.com wrote:
> >>>>>>>
> >>>>>>> TL;DR;
> >>>>>>> ==
> >>>>>>>
> >>>>>>> For the anxious, you can get real headless vm and image from 
> >>>>>>> zero-conf.
> >>>>>>>
> >>>>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>>>>>
> >>>>>>> Zero conf scripts remain unchanged for users.
> >>>>>>>
> >>>>>>> However, if you are launching the VM by hand from the executable
> >>&g

Re: [Pharo-users] [Pharo-dev] [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

2019-08-12 Thread teso...@gmail.com
Hi,
The executables are not the same.
We have 2 different now: the Stock VM (that is downloaded by the
launcher, and it is the default download in Zero-conf), and the
headless VM (this is downloaded by zero-conf when using
vmLatestHeadless).

Those platforms are not representative we currently have: OSX,
Windows, and Linux all 64bits. We are working in ARM 32bits.
In the near future, I will work on validating different flavors of
Unix, but again It depends on the roadmap, and they are not there now.

If someone requires some other platform we can talk to see how it
can fit in the roadmap.

Cheers,
Pablo

On Mon, Aug 12, 2019 at 10:03 AM Tudor Girba  wrote:
>
> Hi,
>
> Yes. We will be testing these days and we will come back with more details.
>
> Two more questions:
> - Is minheadlessVM now integrated in the regular VM binary or are the two 
> different artifacts?
> - Also are the platforms from 
> https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms 
> representative for minheadlessVM?
>
> Cheers,
> Doru
>
>
>
> > On Aug 12, 2019, at 9:11 AM, teso...@gmail.com wrote:
> >
> > Hi Doru,
> >can you give us more insight of the errors? Because there should
> > not be changes in the behavior of the VM. Maybe there are issues, we
> > have used the Pharo tests as a guarantee and we are laking some tests.
> >
> > Cheers,
> > Pablo.
> >
> > On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba  wrote:
> >>
> >> Hi,
> >>
> >>
> >>
> >>> On Aug 11, 2019, at 5:29 PM, ducasse  wrote:
> >>>
> >>>
> >>>
> >>>> On 11 Aug 2019, at 13:19, Tudor Girba  wrote:
> >>>>
> >>>> Excellent news!
> >>>>
> >>>> I should say that for GT we are currently using the minheadlessVM 
> >>>> (Ronie’s work) out of the opensmalltalk-vm repo 
> >>>> (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>>>
> >>>> We started to play with your minheadlessVM. So far it looks like there 
> >>>> are differences, although I am sure they are not large.
> >>>
> >>> like what?
> >>
> >> I do not know yet, but running GT in headless opens the window with the 
> >> one from opensmalltalk-vm, but not with the new one. We did not yet look 
> >> into details, but we will.
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>>> So, what is the difference between the minheadlessVM built by you versus 
> >>>> the one from opensmalltalk-vm?
> >>>>
> >>>> Cheers,
> >>>> Doru
> >>>>
> >>>>
> >>>>> On Aug 8, 2019, at 9:53 AM, teso...@gmail.com wrote:
> >>>>>
> >>>>> TL;DR;
> >>>>> ==
> >>>>>
> >>>>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>>>
> >>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>>>
> >>>>> Zero conf scripts remain unchanged for users.
> >>>>>
> >>>>> However, if you are launching the VM by hand from the executable
> >>>>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>>>
> >>>>> $ ./pharoexecutable Pharo.image
> >>>>>
> >>>>> the image will launch in headless mode and will not open a window.
> >>>>> To launch it in headfull, you can use the --interactive argument after
> >>>>> the image, which will make the image open a window using SDL2.
> >>>>>
> >>>>> $ ./pharoexecutable Pharo.image --interactive
> >>>>>
> >>>>> Long version
> >>>>> 
> >>>>>
> >>>>> Hi, this mail is the happy intermediate result of the work that us,
> >>>>> the Pharo Consortium Team, has been doing in the last couple of
> >>>>> months.
> >>>>> Our main objective is to have a real headless implementation of Pharo
> >>>>> where all the responsibility to open or not a World window (or other)
> >>>>> is handled by the image.
> >>>>> For doing so we have done a series of modifications in the image and
> >>>>> the VM side.
> >>>>> We consider this is the path that Pharo 8 and following versions
> >

Re: [Pharo-users] [Pharo-dev] [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

2019-08-12 Thread teso...@gmail.com
Hi Doru,
can you give us more insight of the errors? Because there should
not be changes in the behavior of the VM. Maybe there are issues, we
have used the Pharo tests as a guarantee and we are laking some tests.

Cheers,
Pablo.

On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba  wrote:
>
> Hi,
>
>
>
> > On Aug 11, 2019, at 5:29 PM, ducasse  wrote:
> >
> >
> >
> >> On 11 Aug 2019, at 13:19, Tudor Girba  wrote:
> >>
> >> Excellent news!
> >>
> >> I should say that for GT we are currently using the minheadlessVM (Ronie’s 
> >> work) out of the opensmalltalk-vm repo 
> >> (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>
> >> We started to play with your minheadlessVM. So far it looks like there are 
> >> differences, although I am sure they are not large.
> >
> > like what?
>
> I do not know yet, but running GT in headless opens the window with the one 
> from opensmalltalk-vm, but not with the new one. We did not yet look into 
> details, but we will.
>
> Cheers,
> Doru
>
>
> >> So, what is the difference between the minheadlessVM built by you versus 
> >> the one from opensmalltalk-vm?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>> On Aug 8, 2019, at 9:53 AM, teso...@gmail.com wrote:
> >>>
> >>> TL;DR;
> >>> ==
> >>>
> >>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>
> >>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>
> >>> Zero conf scripts remain unchanged for users.
> >>>
> >>> However, if you are launching the VM by hand from the executable
> >>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>
> >>> $ ./pharoexecutable Pharo.image
> >>>
> >>> the image will launch in headless mode and will not open a window.
> >>> To launch it in headfull, you can use the --interactive argument after
> >>> the image, which will make the image open a window using SDL2.
> >>>
> >>> $ ./pharoexecutable Pharo.image --interactive
> >>>
> >>> Long version
> >>> 
> >>>
> >>> Hi, this mail is the happy intermediate result of the work that us,
> >>> the Pharo Consortium Team, has been doing in the last couple of
> >>> months.
> >>> Our main objective is to have a real headless implementation of Pharo
> >>> where all the responsibility to open or not a World window (or other)
> >>> is handled by the image.
> >>> For doing so we have done a series of modifications in the image and
> >>> the VM side.
> >>> We consider this is the path that Pharo 8 and following versions
> >>> should follow, as it will severely improve server-side and command
> >>> line Pharo and in building custom desktop applications.
> >>>
> >>> These modifications are available only in 64-bits machines (Windows,
> >>> OSX, and Linux).
> >>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> >>> we have prioritized our three major platforms for this first couple of
> >>> months.
> >>>
> >>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> >>> on headless.
> >>> We are really grateful to all the contributors in the history of this
> >>> nice product.
> >>> To achieve a real headless VM we have brought modifications in the
> >>> source tree because most of the platform code to open and manipulate
> >>> windows is not required anymore.
> >>> Instead, we use the SDL2 library that implements a nice layer on top
> >>> of the OS and allows us to manage on the image side through FFI.
> >>>
> >>> So this mail is now an open call for (beta?)testing.
> >>> The sources of the current VM we are building are in the headless branch 
> >>> in
> >>> https://github.com/pharo-project/opensmalltalk-vm
> >>> And we have set up a CI that is both building and testing the VM in
> >>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
> >>>
> >>> For the future we have a lot of ideas, that will wait for another long
> >>> email or a beer-talk @ESUG.
> >>> We want to hear your ideas!!
> >>>
> >>> Image-Side Improvements
> &g

Re: [Pharo-users] Desktop - just try ...

2019-08-08 Thread teso...@gmail.com
Very very nice, and it fits perfectly!!!

On Thu, Aug 8, 2019 at 12:16 AM Torsten Bergmann  wrote:
>
> |image|
> image := ZnEasy getJpeg: 
> 'http://www.bing.com/th?id=OHR.NubbleLight_EN-US4307721919_1920x1080.jpg=LaDigue_1920x1080.jpg=hp'.
>
> World
>   backgroundImage: image
>   layout: #scaled.
>


-- 
Pablo Tesone.
teso...@gmail.com



[Pharo-users] [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

2019-08-08 Thread teso...@gmail.com
TL;DR;
==

For the anxious, you can get real headless vm and image from zero-conf.

$ wget get.pharo.org/64/80+vmHeadlessLatest | bash

Zero conf scripts remain unchanged for users.

However, if you are launching the VM by hand from the executable
instead of the launcher scripts (pharo and pharo-ui) as in

$ ./pharoexecutable Pharo.image

the image will launch in headless mode and will not open a window.
To launch it in headfull, you can use the --interactive argument after
the image, which will make the image open a window using SDL2.

$ ./pharoexecutable Pharo.image --interactive

Long version


Hi, this mail is the happy intermediate result of the work that us,
the Pharo Consortium Team, has been doing in the last couple of
months.
Our main objective is to have a real headless implementation of Pharo
where all the responsibility to open or not a World window (or other)
is handled by the image.
For doing so we have done a series of modifications in the image and
the VM side.
We consider this is the path that Pharo 8 and following versions
should follow, as it will severely improve server-side and command
line Pharo and in building custom desktop applications.

These modifications are available only in 64-bits machines (Windows,
OSX, and Linux).
ARM32 and 64bits headless is in the roadmap, but it is delayed because
we have prioritized our three major platforms for this first couple of
months.

All this work is based in Opensmalltalk-VM and Ronnie's initial work
on headless.
We are really grateful to all the contributors in the history of this
nice product.
To achieve a real headless VM we have brought modifications in the
source tree because most of the platform code to open and manipulate
windows is not required anymore.
Instead, we use the SDL2 library that implements a nice layer on top
of the OS and allows us to manage on the image side through FFI.

So this mail is now an open call for (beta?)testing.
The sources of the current VM we are building are in the headless branch in
  https://github.com/pharo-project/opensmalltalk-vm
And we have set up a CI that is both building and testing the VM in
  https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/

For the future we have a lot of ideas, that will wait for another long
email or a beer-talk @ESUG.
We want to hear your ideas!!

Image-Side Improvements
===

- The image handles the creation or not of the main world window.
- We incorporated the idea of World renderer, where different backends
are used to render the world.
- We have 3 backends: VM support (compatibility with non-headless
VMs), and OSWindow with two backends: SDL and GTK3+.
- The modifications in the image are fully backward compatible with
the non-headless VM and are pushed since weeks in the latest 8.0
image.
- We move the handling of events to the image side when using SDL and
GTK3+, opening the door to a richer set of events and finer-grained
control over them.
- SDL and GTK versions are implemented using FFI calls.

VM-Side Improvements


- VMMaker code migrated to Tonel thanks to Feenk and included in the
repository of the VM.
- Making VMMaker execute in Pharo 7 and 8.
- Removing GPL code from the VM repository (GDB).

- Slowly adding new tests for the JIT / Slang and VMGeneration.
- Restructuring of the source code.
- A new simpler CMake build.
- Generate VM code from Slang on each build.
- A CI process to validate (including the run of the tests in Pharo
and the ones adding to the VM).
- Simplification of the codebase.

- Maximize the reuse of code between the platforms (preferring the
standard versions over the platform-specific).
- Cleaning up duplicated code.
- All the plugins are now external plugins.
- The VM is now a dynamic library. This is a first step towards
embedding Pharo into other applications.
- The main executable is a thin frontend (you can change it or
implement your own).

- Removing unused plugins.
- Improved crash dump. Especially the crash dump works now in Windows 64bits.
- Dummy implementation of Security plugin (it is going away eventually).
- Cleanup of SSL, UUID, and Socket plugin.

- Cleanup of conditional code (Still to improve).
- Improving the types used in the functions (we have to be neat to be
multiplatform/multi-arch).
- Improving the lookup of modules
- Improving the logging of the VM
- Improving the handling of VM arguments


Thanks a lot for reading so long!!
We hope you enjoy the VM and please tell us all the problems you find!!

Pablo, Guille, and Esteban



Re: [Pharo-users] Working VM for OS X for Pharo 7

2019-02-14 Thread teso...@gmail.com
Good morning,
 Last week I had a problem with a conflicting version of libgit installed
by brew. In my case, brew had updated the version making it incompatible
with the bindings in FFi.

Could you check the execution of:

DYLD_PRINT_LIBRARIES_POST_LAUNCH=1
./pharo-vm/Pharo.app/Contents/MacOS/Pharo Pharo.image

So we can see the libgit that is loading. This can be fixed in the image
side, I remember I fixed a bug in the lookup of libgit.

On Thu, 14 Feb 2019, 09:09 Hilaire  Hi,
>
> Where is it possible to get a working OS X VM for Pharo7 ?
>
> Accoring to my test, the VM linked at http://pharo.org/download as error
> with a libgit plugin (same for linux VM btw)
>
> Thanks
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>


Re: [Pharo-users] Unable to compile myself Pharo

2018-11-28 Thread teso...@gmail.com
Hi Alexandre,

  as Cédrick said there is no need to generate a new image from scratch.
Pharo is basically divided in two parts an image (that is the one that it
is generated by the process you want to run) and a virtual machine to run
the image.
The image is multi-OS you can download a 32 bits image and run it in any of
the supported operating systems.
Usually the VM will run in different OSs, there is a VM for  Mac OS, one
for Windows and one for Unix(es).
The VM came in 32 and 64 bits flavors.

You should try to run the pre built version of the pack. And again using
the Pharo Launcher will be the simpler option.

Cheers,
Pablo


On Wed, Nov 28, 2018 at 1:02 PM Cédrick Béler  wrote:

> Hi Alexandre,
>
> Do you really want to « bootstrap » an image ? You don’t need to (just use
> an official image).
>
> Try here, either through the launcher or the curl command line:
>
> https://pharo.org/download (Linux for thé launcher or at the end of the
> page from the command line.
>
> HTH,
>
> Cedrick
>
> Envoyé de mon iPhone
>
> Le 28 nov. 2018 à 11:23, Garreau, Alexandre  a
> écrit :
>
> Le 28/11/2018 à 11h17, Garreau, Alexandre a écrit :
>
> This VM uses a separate heartbeat thread to update its internal clock
>
> and handle events.  For best operation, this thread should run at a
>
> higher priority, however the VM was unable to change the priority.  The
>
> effect is that heavily loaded systems may experience some latency
>
> issues.  If this occurs, please create the appropriate configuration
>
> file in /etc/security/limits.d/ as shown below:
>
>
> cat <
> *  hardrtprio  2
>
> *  softrtprio  2
>
> END
>
>
> and report to the pharo mailing list whether this improves behaviour.
>
>
> Btw changing this didn’t improve anything until then, since build still
> fails (but the error disappeared).
>
> Sorry to clutter with a second mail.
>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] question about FFI

2018-11-26 Thread teso...@gmail.com
Hi,

   could be the problem that you are using the same external array for both
xm and ym?.
The clone message just creates a shallow copy of the external array.
It does not allocates a new external array, it only copies the address in
both xm and ym.

You should better do something like this:

xm :=  FFIExternalArray externalNewType: 'float' size: 2.
ym := FFIExternalArray externalNewType: 'float' size: 2.

Cheers.

On Mon, Nov 26, 2018 at 9:30 AM Yuriy Babah  wrote:

> Hi !
>
> I'm trying to call a very simple function from C ++ lib, writed for the
> test.
> function with prototype:
>
> extern "C" float interpolationFunc(float* xm, float* ym, int size, float
> x).
>
> In Pharo7 wrote:
> FFIExamples class >> interpolationFunc_xm: xM ym: yM size: size x: x
> ^ self ffiCall: #(float interpolationFunc #(float * xM , float * yM ,
> int size , float x)) module: 'libinterpolationLib.so'
>
> in Playground i'm doing:
> xm :=  FFIExternalArray externalNewType: 'float' size: 2.
> ym := xm clone.
> #(2 3) doWithIndex: [:each :i | xm at: i put: each].
> #(3 4) doWithIndex: [:each :i | ym at: i put: each].
> FFIExamples interpolationFunc_xm: xm pointer ym: ym pointer size: 2  x:
> 2.5 .
>
> last expression returninп me 0.0, but right is 3.5.
>
> I'm dit the same in Python3 ctypes, and there work's fine.
>
> In UnifiedFFI booklet is absent chapter "Arrays", anybody may help with
> whot i'm doing wrong?
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] ZnClient 403 but 200 in Firefox

2018-10-11 Thread teso...@gmail.com
Hi Hernan, quite interesting.

I have tried with curl and it works, but with wget it doesn't work. Both
using the brew versions in my OSX machine.

To me, it is a problem of the headers.

Cheers.


On Wed, Oct 10, 2018 at 10:07 PM Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

> When I visit this site http://ifconfig.me/ip using the web browser I
> get the expected text output. However if I try to do it from Pharo 6.1
> (Windows 8.1) I get a 403 forbidden response using this code:
>
> ZnClient new
> systemPolicy;
> beOneShot;
> accept: ZnMimeType textPlain;
> timeout: 6000;
> url: 'http://ifconfig.me/ip';
> get.
>
> 2018-09-16 03:06:18 011 Retrying ConnectionTimedOut: Cannot connect to
> 153.121.72.212:80
> 2018-09-16 03:06:19 012 Connection Established ifconfig.me:80
> 153.121.72.212 288ms
> 2018-09-16 03:06:19 013 Request Written a ZnRequest(GET /all.xml) 1ms
> 2018-09-16 03:06:19 014 Response Read a ZnResponse(403 Forbidden
> text/html;charset=iso-8859-1 209B) 318ms
> 2018-09-16 03:06:19 015 GET /all.xml 403 209B 319ms
> 2018-09-16 03:06:19 016 Connection Closed 153.121.72.212:80
>
> In Firefox this is the output
>
> Request Headers Firefox:
>
> Host: ifconfig.me
> User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:62.0)
> Gecko/20100101 Firefox/62.0
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language: en-US
> Accept-Encoding: gzip, deflate
> DNT: 1
> Connection: keep-alive
> Upgrade-Insecure-Requests: 1
>
> Response Headers Firefox:
>
> HTTP/1.1 200 OK
> Date: Sun, 16 Sep 2018 16:47:02 GMT
> Server: Apache
> Vary: Accept-Encoding
> Content-Encoding: gzip
> Content-Length: 32
> Connection: close
> Content-Type: text/plain
>
>
> Any idea?
>
> Cheers,
>
> Hernán
>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] is class-side name setter used by the system

2018-09-17 Thread teso...@gmail.com
Hi Peter,
   there is no more #name: in Class (or ClassDescription or Behavior). It
is named #setName:
It is only used by the class builder, some class methods and some tests. It
could be hidden better if it is still a problem.

Cheers.


On Mon, Sep 17, 2018 at 9:57 AM Peter Uhnak  wrote:

> Hi,
>
> is the class-side "name:" setter used by the system itself?
> Because I remember many times overriding it for my own needs and it never
> broke anything as far as I know... which makes it strange why it even
> exists (because it is a trap).
>
> Thanks,
> Peter
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] [Esug-list] Internet of Things in Smalltalk - meeting proposal

2018-09-10 Thread teso...@gmail.com
Nice idea. I will try to be there.

On Mon, 10 Sep 2018, 16:09 Cédrick Béler,  wrote:

> Hi,
>
>  We will have a meeting Tuesday afternoon on IoT at esug.
>
> More info later to see how we organize that.
>
> Should be after « show us your project » around 5 or 6 am.
>
> More info later especially on where the meeting will take place (might be
> around the beach).
>
> See you later for those interested (maybe answer there so that we can
> count and find an appropriate place).
>
> Cheers,
>
> Cedrick
> ___
> Esug-list mailing list
> esug-l...@lists.esug.org
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
>


Re: [Pharo-users] Trait method override

2018-08-17 Thread teso...@gmail.com
Jajajja,
 yes I like the power that there is in the language. It opens a lot of
doors and possibilities.
You can check the implementation of deep alias that rewrites the users of
the aliased method.

There is also the ability to implement new operations to traits algebra.
You can check how they are implemented and implement new operations.

Cheers

On Fri, Aug 17, 2018 at 1:23 PM Vitor Medina Cruz 
wrote:

> Hello Pablo,
>
> Don't think it is ugly, I personally think it is wonderfull how those
> extensions to the language can be done with normal messaging passing code!
> But the information about this seems scattered a bit, I found in google and
> was not certain if the information was official or correct.
>
> Also, there could be some default aliases in hand, in a way similar to
> groovy:
> http://docs.groovy-lang.org/latest/html/documentation/#_user_conflict_resolution
>
> So, if I use TraitA with a methodX, this method could be aliased by
> default with something like TraitA_methodX. Don't know if this have some
> problem, just an idea (maybe I will explore this here :) )
>
> regards,
> Vitor
>
> On Fri, Aug 17, 2018 at 4:37 AM, teso...@gmail.com 
> wrote:
>
>> Hi Vitor,
>>as Julien correctly said there is no super call in traits. Currently
>> the solution, maybe is a bit ugly, it is to use aliasing.
>> Cheers,
>> Pablo
>>
>> On Fri, Aug 17, 2018 at 12:10 AM Vitor Medina Cruz 
>> wrote:
>>
>>> Thanks Julian!
>>>
>>> On Thu, Aug 16, 2018 at 5:38 PM, Julien 
>>> wrote:
>>>
>>>> Hello Vitor,
>>>>
>>>> Yeah, I was talking about that with Pablo (who implemented stateful
>>>> traits) some times ago.
>>>>
>>>> He told me that aliasing was he way to go.
>>>>
>>>> There is no other option to override a trait method without aliasing it.
>>>>
>>>> Cheers,
>>>>
>>>> Julien
>>>>
>>>> ---
>>>> Julien Delplanque
>>>> Doctorant à l’Université de Lille
>>>> http://juliendelplanque.be/phd.html
>>>> Equipe Rmod, Inria
>>>> Bâtiment B 40, Avenue Halley 59650
>>>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>>>>  Villeneuve
>>>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>>>>  d'Ascq
>>>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>>>> Numéro de téléphone: +333 59 35 86 40
>>>>
>>>> Le 16 août 2018 à 19:32, Vitor Medina Cruz  a
>>>> écrit :
>>>>
>>>> Well, found out about aliasing in
>>>> http://pharo.gemtalksystems.com/book/LanguageAndLibraries/Traits/, is
>>>> that the correct way of doint it?
>>>>
>>>> On Thu, Aug 16, 2018 at 11:30 AM, Vitor Medina Cruz <
>>>> vitormc...@gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> In a class that uses a Trait, how can I override one of it's method by
>>>>> appending behavior to the method implemented by the Trait? In a typical
>>>>> override, this is done by calling super:
>>>>>
>>>>> method
>>>>>
>>>>>super method
>>>>>"extended behavior"
>>>>>...
>>>>>
>>>>>
>>>>> Is there a way to change "super" to a reference the Trait?
>>>>>
>>>>> Regards,
>>>>> Vitor
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>> --
>> Pablo Tesone.
>> teso...@gmail.com
>>
>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Trait method override

2018-08-17 Thread teso...@gmail.com
Hi Vitor,
   as Julien correctly said there is no super call in traits. Currently the
solution, maybe is a bit ugly, it is to use aliasing.
Cheers,
Pablo

On Fri, Aug 17, 2018 at 12:10 AM Vitor Medina Cruz 
wrote:

> Thanks Julian!
>
> On Thu, Aug 16, 2018 at 5:38 PM, Julien 
> wrote:
>
>> Hello Vitor,
>>
>> Yeah, I was talking about that with Pablo (who implemented stateful
>> traits) some times ago.
>>
>> He told me that aliasing was he way to go.
>>
>> There is no other option to override a trait method without aliasing it.
>>
>> Cheers,
>>
>> Julien
>>
>> ---
>> Julien Delplanque
>> Doctorant à l’Université de Lille
>> http://juliendelplanque.be/phd.html
>> Equipe Rmod, Inria
>> Bâtiment B 40, Avenue Halley 59650
>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>>  Villeneuve
>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>>  d'Ascq
>> <https://maps.google.com/?q=40,+Avenue+Halley+59650+Villeneuve+d'Ascq=gmail=g>
>> Numéro de téléphone: +333 59 35 86 40
>>
>> Le 16 août 2018 à 19:32, Vitor Medina Cruz  a
>> écrit :
>>
>> Well, found out about aliasing in
>> http://pharo.gemtalksystems.com/book/LanguageAndLibraries/Traits/, is
>> that the correct way of doint it?
>>
>> On Thu, Aug 16, 2018 at 11:30 AM, Vitor Medina Cruz > > wrote:
>>
>>> Hello,
>>>
>>> In a class that uses a Trait, how can I override one of it's method by
>>> appending behavior to the method implemented by the Trait? In a typical
>>> override, this is done by calling super:
>>>
>>> method
>>>
>>>super method
>>>"extended behavior"
>>>...
>>>
>>>
>>> Is there a way to change "super" to a reference the Trait?
>>>
>>> Regards,
>>> Vitor
>>>
>>
>>
>>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] [Pharo-dev] New Iceberg Version 1.2.1

2018-08-07 Thread teso...@gmail.com
Only adding a small detail, the Metacello expression is used to generate
the project that is offered.

Also I see it as the Detached head status for projects that are loaded
using Metacello. Maybe we should display the dirtiness in other way, but I
think that is not a problem.
It is normal that a project is marked dirty while used.

Cheers

On Tue, Aug 7, 2018 at 4:01 PM Guillermo Polito 
wrote:

> Hi,
>
> I'll write down some of the reasons of the project's design, like that I
> can afterwards copy paste it in the wiki :).
>
> First, this design did not came up from an egg. We worked on it for about
> two months. And it is thought to be backwards compatible and manage lots of
> metacello particularities. It may have things that are perfectible, sure,
> so let's discuss it.
>
> One of the main problems we saw in metacello, and that Iceberg inherited,
> was the "source subdirectory" thing. This source directory had to be
> specified in the CLIENT, meaning that every time we clone a repository we
> should know by heart the directory chose by its developer. Moreover, we
> lack a standard way to do it, so everybody does as he feels (root
> directory, src, source, repository, mc).
>
> This has some bad consequences:
>  - once a repository is referenced by some other project, it is more
> complicated to change its source directory. Imagine that tomorrow we set as
> standard that all git repos should have the code in src. Then voyage should
> change. And all its clients too.
>  - Making a typo in the code subdirectory means sometimes super ugly
> errors from metacello that are difficult to debug and understand (e.g.,
> "Cannot resolve BaselineOfMetacello WTF")
>
> Moreover, there was another problem that people started stumbling on: the
> fact that iceberg got confused sometimes thinking that an empty project was
> in filetree (to keep backwards compatibility with projects without a
> .properties).
>
> So we decided that for this release we wanted to revert a bit that
> situation. Think object: let's put the meta-data used to interpret a
> project's structure inside the project itself.
> The idea is that:
>
>  - each project should contain both a .project and a .properties file. The
> first can contain arbitrary project meta-data (such as the source
> directory). The second contains the cypress properties, which are needed to
> correctly interpret the code inside the source directory.
>  - a project without a .project file is an old project and cannot be
> interpreted, because we don't know the source directory
>  - a project without a .properties file is an old project and is by
> default transformed in a project with a #filetree properties file
>  - an old project cloned from iceberg detects the missing .project file
> and gives the user the opportunity to declare it (and then commit it
> explicitly)
>  - an old project cloned and loaded from a Metacello expression defining a
> source directory will honnor the source directory defined in the Metacello
> expression (for backwards compatibility, and we have ~500 tests about this).
>
> # About defaults values / forcing the user to define a project
>
> First, notice that even when the repositories you load are just marked as
> "dirty".
> This is because in memory we add a project to your repository.
> But you're not forced to commit it.
> Actually, you can still load packages and baselines from that repository
> without committing.
>
> This is in line with Iceberg's "explicitness". We try to not do any
> destructive operation without asking the user first (that's why we have
> several preview windows for pushing, pulling, checkout, merge..., and why
> contrastingly with monticello we show the committed changes on the commit
> window...). So, instead of transparently "adding the file" we have decided
> to modify the project in memory and let the user the responsibility to
> commit that file.
>
> If there's a drawback, is that the repository is marked as dirty. Which is
> a bit noisy, yes, but still I think it's not so bad compared with the
> previous drawbacks.
> To solve this, we could have some default values, yes, and only mark it as
> dirty if the project does not follow the default value.
> This could work, but right now all projects use different names for their
> source directories.
> So the question is, what would be a good default? I'd like to use 'src'
> since this is short, well known and less alien (all these in the sense that
> we do not lose anything and we have a lot to gain by using it).
> However, not much repositories use 'src' so it will still produce a lot of
> "noise"...
>
> But still! Committing that file is a one-time operation. Once people fix
> their repositories adding the project meta-data, you will not see them
> dirty anymore. So we can see this as a transition noise too...
>
> Of course, new ideas are welcome. I'll let Pablo and Esteban add their
> points of view on this too.
> Guille
>


-- 
Pablo Tesone.
teso...@gmail.com


[Pharo-users] New Iceberg Version 1.2.1

2018-08-07 Thread teso...@gmail.com
New Iceberg Version 1.2.1 [
https://github.com/pharo-vcs/iceberg/releases/tag/v1.2.0 +
https://github.com/pharo-vcs/iceberg/releases/tag/v1.2.1]
Thanks to all brave users, issue reporters, and contributors :).

This version includes the implementation of projects.
Projects are a way of defining basic metadata of the repository.
Now, this metadata just includes the source directory.

This means that people do not need anymore to provide ALL THE TIME the
source directory.
Instead, every repository includes a project file that provides it.
Iceberg will guide people to create the given file. This file is managed by
Iceberg and people should not touch it from the outside or accept the
consequences :).

This version is integrated in the latest Pharo 7 images.

#New Features

 - #866 Introduce first version of Projects

#Infrastructure

 - #870 Improving tests of Metacello Integration
 - #903 Split basic tests from metacello tests in CI
 - #914 Sync Wiki with documentation directory automatically
 - #934 Manually check metacello integration dialogs
 - #935 Try to refrite the metacello integration tests.
 - #940 Installation in new Pharo should also bootstrap pharo repository

#Enhancements

 - #675 The History of a Method in Calypso should show a progress bar.
 - #788 Show progress during network operations (fetch,push, ...) Libgit.
 - #875 Tonel plugin does not delete .filetree Migration
 - #897 Update to OSSubprocess 1.0.1
 - #911 Repair Checkout branch should appear in "no project found"
 - #933 Fix Edit repository dialog
 - #939 IceInteractiveErrorVisitor duplicates IceTipInteractiveErrorVisitor
 - #944 Extract pharo repository bootstrap code into iceberg

#Bug Fixes

 - #828 Convert sources to tonel raises an Exception
 - #839 Infinite loop in IceGitLocalRepositoryType if the path is wrong
 - #849 VM crash while saving credentials Credential Manager
 - #851 .properties file is not create if project is imported and not
cloned.
 - #869 Error msg after an http timeout is unreadable
 - #873 Error with credential provider Credential Manager
 - #874 The integration with Metacello does not work when there is a src
directory, but not project file.
 - #880 Putting "." in project src field gives dnu
 - #884 Edit Project Dialog tries to select 'src' folder as default, but
does not handle if it does not exists
 - #886 Edit Project Dialog does not allow to select the root of the
repository as source directory
 - #888 Could not locate repository does not have subdirectory anymore.
 - #889 Loading an unborn project through metacello does not work
 - #894 GitHubAPI fails when the API responds with a 204 No Content
 - #901 I get a DNU projectName
 - #902 Edit project metadata does not detect default format
 - #918 Cloning pharo from a sync'ed repository does not correctly show
dirty packages
 - #928 Pull request cancel
 - #930 Changed ivar/slot name in stateful trait not recognized as a change
 - #931 DNU when trying to unload an Iceberg pkg where underlying Pharo pkg
has been removed
 - #932 Pharo repository forgets packages
 - #938 Do not catch assertion failures
 - #941 Iceberg pre-installed repository has wrong repair action
 - #946 Fixing Metacello Integration Tests
 - #948 Cloning from github creates an invalid remote
 - #950 Iceberg v1.2.0 breaks projects Metacello Integration bug
 - #951 New project window should be coherent on the vocabulary UI
enhancement
 - #953 Make remote request anonymous enhancement
 - #952 Cannot Clone Pharo Repository Pharo plugin bug
 - #955 Repair actions for repositories with fetch required are wrong UI bug

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] transactions on pharo objects

2018-07-31 Thread teso...@gmail.com
Hello,
  A lot of time ago, we have implemented a basic support for STM in Java
(it is written in Scala... dark dark dark ages). We have used aspect
oriented programming to intercept the reading and writing of the instance
variables of the classes that support the transactions.
We kept a dictionary with the values for the transactions in course and a
version, and the original object has the "commited" values. On a commit you
can apply the changes to the object iff there is no conflict version.

I think a similar implementation could be done in Pharo using Slots in a
couple of hours. Also, you should use process specific values to detect and
handle in witch transaction you are.
Depending how much you want to guarantee ACID properties, you will have
simpler or complex implementation. In those days, we only wanted only
isolation.

Sadly, the details of the implementation are in a Master Thesis in Spanish,
I doubt they will be useful, but still I can point you to the source code
of the solution.
By the way, this is still in use as a part of a tool to teach UI design.

https://github.com/uqbar-project/arena/tree/master/arena-pot

Cheers,
Pablo

On Tue, Jul 31, 2018 at 8:48 AM Norbert Hartl  wrote:

>
>
> Am 31.07.2018 um 06:57 schrieb Richard O'Keefe :
>
> Basically, what you are talking about is Software Transactional Memory.
> According to
> https://en.wikipedia.org/wiki/Software_transactional_memory#Smalltalk
> there *is* STM support for Pharo at
> http://source.lukas-renggli.ch/transactional/
> although the last version there is from 2012, and there have been major
> changes to Pharo
> since then, so it probably doesn't work any longer.
>
> You could probably make a TransactionalObject class with a
> 'lastTransaction'
> instance variable, and a noteChange method that checks if lastTransaction
> ==
> Transaction current, and if not, pushes self -> self shallowCopy onto a
> stack
> inside Transaction and sets lastTransaction to Transaction current.  Then
> to
> roll back a transaction, peel back original -> backup records from the
> stack
> and do original copyFrom: backup for each of them.
>
> Please don't ask me to think about combining this with concurrency.
>
> You could delegate the transaction list and other objects to a process
> specific variable. But the biggest problem with a copy approach is that all
> identity checks fail with the copied objects
>
> Norbert
>
> On 31 July 2018 at 01:16, Peter Uhnák  wrote:
>
>> Hi,
>>
>> is there some library or approach how to do transactions in pharo?
>> And I don't mean database transactions, but directly in memory on Pharo
>> objects... e.g.
>>
>> p := Person new.
>>
>> transaction do: [
>> p name: 'Nobody'.
>> p age: 70.
>> ] on: Error do: [
>> transaction rollback.
>> ].
>>
>> self assert: p name equals: 'Nobody'.
>> self assert: p age equals: 70.
>>
>> transaction do: [
>> p name: 'Somebody'.
>> p age: 1 / 0.
>> ] on: Error do: [
>> transaction rollback.
>> ].
>>
>> self assert: p name equals: 'Nobody'.
>> self assert: p age equals: 70.
>>
>> Any pointers appreciated.
>>
>> Thanks,
>> Peter
>>
>
>

-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] [ANN] Iceberg v1.0.0

2018-05-30 Thread teso...@gmail.com
Thanks a lot!!

On Wed, May 30, 2018 at 10:42 AM, Esteban Lorenzano 
wrote:

> yep… I will backport VM to 6.1 now.
>
> cheers,
> Esteban
>
>
> On 30 May 2018, at 09:58, teso...@gmail.com wrote:
>
> I am talking about the long paths issue.
>
> On Wed, May 30, 2018 at 9:57 AM, teso...@gmail.com 
> wrote:
>
>> Hello,
>> Esteban maybe you can correct me, but in the new Pharo7 VM this issue
>> with the long paths is not partially corrected?
>> Maybe Andrei you can try with the Pharo 7 VM, even though it is not still
>> marked as stable for Pharo 6.
>>
>> Cheers,
>>
>> On Wed, May 30, 2018 at 9:52 AM, Guillermo Polito <
>> guillermopol...@gmail.com> wrote:
>>
>>> Hi!
>>>
>>> On Wed, May 30, 2018 at 7:51 AM, Esteban Lorenzano 
>>> wrote:
>>>
>>>> hi,
>>>>
>>>> On 30 May 2018, at 01:59, Andrei Stebakov  wrote:
>>>>
>>>> On Pharo 7.0, Windows 10 when I try to clone from pillar-markup/pillar
>>>> on Windows 10, it gives me an error "the filename or extension is too long”
>>>>
>>>>
>>>> this is more a problem of pillar being in filetree format than iceberg.
>>>> there is no clear way to fix that other than migrate to tonel.
>>>>
>>>> but you can try to get smaller paths, like putting your sources in
>>>> C:\pillar
>>>>
>>>
>>> I've opened an issue in pillar. I'll try to do it later this morning.
>>>
>>> https://github.com/pillar-markup/pillar/issues/300
>>>
>>>
>>>>
>>>> Also I got a couple of questions:
>>>> - How do I check the version of Iceberg
>>>>
>>>>
>>>> not much way this days, since iceberg is installed outside iceberg.
>>>>
>>>
>>> I've opened an issue in Iceberg. I believe we should be able to retrieve
>>> the current installed version. Otherwise it will be far too difficult to
>>> ask users for good feedback.
>>> We already ask: What OS are you on? What pharo version are you on? We
>>> should ask them "What Iceberg version are you on"?
>>>
>>> https://github.com/pharo-vcs/iceberg/issues/824
>>>
>>>
>>>>
>>>> - How can I update from Iceberg 0.7.1 on Pharo 6.1 (installed using
>>>> instructions from https://github.com/pharo-vcs/iceberg) to latest
>>>> Iceberg 1.0.1?
>>>>
>>>>
>>>> The instructions there are titled “updating iceberg” and “for Pharo
>>>> 6.1” so yes :)
>>>> the only difference is you have to change “0.7.?” with “1.0.?” (I need
>>>> to update that).
>>>>
>>>
>>> Done
>>>
>>> https://github.com/pharo-vcs/iceberg/commit/acd66a0b5cc22ffe
>>> 1317434f9bc41b809b70571c
>>>
>>>
>>>>
>>>> Esteban
>>>>
>>>>
>>>> Thanks!
>>>> Andrei
>>>>
>>>> On Tue, May 29, 2018 at 5:30 AM, Guillermo Polito <
>>>> guillermopol...@gmail.com> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Time for a new Iceberg update, that will be available in the next
>>>>> Pharo build. This time, there are lots of cleanups and enhancements. On 
>>>>> the
>>>>> big highlights:
>>>>>
>>>>> - Tonel migration plugin is available in the "Other menu item"
>>>>> - Tests are green on 64 bits! (meaning iceberg can be safely used in
>>>>> 64 bits).
>>>>>
>>>>> Thanks to everybody that participated in reviewing, opening/closing
>>>>> issues or even fixing a typo!
>>>>>
>>>>> # Documentation
>>>>>
>>>>> Just as a reminder, here you have a link to iceberg's wiki, convering
>>>>> some info like terminology, how to help us, and so on...
>>>>>
>>>>> https://github.com/pharo-vcs/iceberg/wiki
>>>>>
>>>>> # And some videos ;)
>>>>>
>>>>> - Branching and merging https://www.youtube.com/watch?v=DBzkjwABPEI
>>>>> - Loading a Baseline https://youtu.be/brUHEOr-p_E
>>>>> - Contributing to Iceberg https://youtu.be/yGr5HvVWM0M
>>>>>
>>>>> # Changes Log
>>>>>
>>>>> https://github.com/pharo-vcs/iceberg/releases/tag/v1.0.0
>>>>>

Re: [Pharo-users] [ANN] Iceberg v1.0.0

2018-05-30 Thread teso...@gmail.com
Hello,
Esteban maybe you can correct me, but in the new Pharo7 VM this issue
with the long paths is not partially corrected?
Maybe Andrei you can try with the Pharo 7 VM, even though it is not still
marked as stable for Pharo 6.

Cheers,

On Wed, May 30, 2018 at 9:52 AM, Guillermo Polito  wrote:

> Hi!
>
> On Wed, May 30, 2018 at 7:51 AM, Esteban Lorenzano 
> wrote:
>
>> hi,
>>
>> On 30 May 2018, at 01:59, Andrei Stebakov  wrote:
>>
>> On Pharo 7.0, Windows 10 when I try to clone from pillar-markup/pillar on
>> Windows 10, it gives me an error "the filename or extension is too long”
>>
>>
>> this is more a problem of pillar being in filetree format than iceberg.
>> there is no clear way to fix that other than migrate to tonel.
>>
>> but you can try to get smaller paths, like putting your sources in
>> C:\pillar
>>
>
> I've opened an issue in pillar. I'll try to do it later this morning.
>
> https://github.com/pillar-markup/pillar/issues/300
>
>
>>
>> Also I got a couple of questions:
>> - How do I check the version of Iceberg
>>
>>
>> not much way this days, since iceberg is installed outside iceberg.
>>
>
> I've opened an issue in Iceberg. I believe we should be able to retrieve
> the current installed version. Otherwise it will be far too difficult to
> ask users for good feedback.
> We already ask: What OS are you on? What pharo version are you on? We
> should ask them "What Iceberg version are you on"?
>
> https://github.com/pharo-vcs/iceberg/issues/824
>
>
>>
>> - How can I update from Iceberg 0.7.1 on Pharo 6.1 (installed using
>> instructions from https://github.com/pharo-vcs/iceberg) to latest
>> Iceberg 1.0.1?
>>
>>
>> The instructions there are titled “updating iceberg” and “for Pharo 6.1”
>> so yes :)
>> the only difference is you have to change “0.7.?” with “1.0.?” (I need to
>> update that).
>>
>
> Done
>
> https://github.com/pharo-vcs/iceberg/commit/acd66a0b5cc22ffe1317434f9bc41b
> 809b70571c
>
>
>>
>> Esteban
>>
>>
>> Thanks!
>> Andrei
>>
>> On Tue, May 29, 2018 at 5:30 AM, Guillermo Polito <
>> guillermopol...@gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> Time for a new Iceberg update, that will be available in the next Pharo
>>> build. This time, there are lots of cleanups and enhancements. On the big
>>> highlights:
>>>
>>> - Tonel migration plugin is available in the "Other menu item"
>>> - Tests are green on 64 bits! (meaning iceberg can be safely used in 64
>>> bits).
>>>
>>> Thanks to everybody that participated in reviewing, opening/closing
>>> issues or even fixing a typo!
>>>
>>> # Documentation
>>>
>>> Just as a reminder, here you have a link to iceberg's wiki, convering
>>> some info like terminology, how to help us, and so on...
>>>
>>> https://github.com/pharo-vcs/iceberg/wiki
>>>
>>> # And some videos ;)
>>>
>>> - Branching and merging https://www.youtube.com/watch?v=DBzkjwABPEI
>>> - Loading a Baseline https://youtu.be/brUHEOr-p_E
>>> - Contributing to Iceberg https://youtu.be/yGr5HvVWM0M
>>>
>>> # Changes Log
>>>
>>> https://github.com/pharo-vcs/iceberg/releases/tag/v1.0.0
>>>
>>> Enjoy, Guille
>>>
>>> PS, detailed changes log below:
>>>
>>> # Cleanups
>>>
>>> #819 Fix tooltip typo in settings
>>> #800 Iceberg should be removed from the catalogue
>>> #801 Remove not referenced packages
>>> #803 Correct some lints in tests
>>> #806 Bad repair options when local repository is missing
>>> #725 Remove and clean old UI
>>> #794 Some classes should use category "utilities" instead of "utility"
>>> #791 Begin to remove old UI
>>> #734 Begin to remove old UI
>>> #576 Add link to github/gitlab ssh instructions
>>>
>>> # Enhancements
>>>
>>> #776 Upgrade to Commander 0.6.2  dependencies
>>> #765 Add command to copy SHA from history window
>>> #793 Add the commit message to history window
>>> #785 Metacello conflicts are not handled Metacello Integration
>>>
>>> # Bug fixes
>>>
>>> #771 IceTipRemoveFromRepositoryPackageCommand >> execute is not
>>> implemented
>>> #748 Code subdirectory in empty repository
>>> #767 Error while pulling with renamed packages
&g

Re: [Pharo-users] [ANN] Iceberg v1.0.0

2018-05-30 Thread teso...@gmail.com
I am talking about the long paths issue.

On Wed, May 30, 2018 at 9:57 AM, teso...@gmail.com 
wrote:

> Hello,
> Esteban maybe you can correct me, but in the new Pharo7 VM this issue
> with the long paths is not partially corrected?
> Maybe Andrei you can try with the Pharo 7 VM, even though it is not still
> marked as stable for Pharo 6.
>
> Cheers,
>
> On Wed, May 30, 2018 at 9:52 AM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>> Hi!
>>
>> On Wed, May 30, 2018 at 7:51 AM, Esteban Lorenzano 
>> wrote:
>>
>>> hi,
>>>
>>> On 30 May 2018, at 01:59, Andrei Stebakov  wrote:
>>>
>>> On Pharo 7.0, Windows 10 when I try to clone from pillar-markup/pillar
>>> on Windows 10, it gives me an error "the filename or extension is too long”
>>>
>>>
>>> this is more a problem of pillar being in filetree format than iceberg.
>>> there is no clear way to fix that other than migrate to tonel.
>>>
>>> but you can try to get smaller paths, like putting your sources in
>>> C:\pillar
>>>
>>
>> I've opened an issue in pillar. I'll try to do it later this morning.
>>
>> https://github.com/pillar-markup/pillar/issues/300
>>
>>
>>>
>>> Also I got a couple of questions:
>>> - How do I check the version of Iceberg
>>>
>>>
>>> not much way this days, since iceberg is installed outside iceberg.
>>>
>>
>> I've opened an issue in Iceberg. I believe we should be able to retrieve
>> the current installed version. Otherwise it will be far too difficult to
>> ask users for good feedback.
>> We already ask: What OS are you on? What pharo version are you on? We
>> should ask them "What Iceberg version are you on"?
>>
>> https://github.com/pharo-vcs/iceberg/issues/824
>>
>>
>>>
>>> - How can I update from Iceberg 0.7.1 on Pharo 6.1 (installed using
>>> instructions from https://github.com/pharo-vcs/iceberg) to latest
>>> Iceberg 1.0.1?
>>>
>>>
>>> The instructions there are titled “updating iceberg” and “for Pharo 6.1”
>>> so yes :)
>>> the only difference is you have to change “0.7.?” with “1.0.?” (I need
>>> to update that).
>>>
>>
>> Done
>>
>> https://github.com/pharo-vcs/iceberg/commit/acd66a0b5cc22ffe
>> 1317434f9bc41b809b70571c
>>
>>
>>>
>>> Esteban
>>>
>>>
>>> Thanks!
>>> Andrei
>>>
>>> On Tue, May 29, 2018 at 5:30 AM, Guillermo Polito <
>>> guillermopol...@gmail.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Time for a new Iceberg update, that will be available in the next Pharo
>>>> build. This time, there are lots of cleanups and enhancements. On the big
>>>> highlights:
>>>>
>>>> - Tonel migration plugin is available in the "Other menu item"
>>>> - Tests are green on 64 bits! (meaning iceberg can be safely used in 64
>>>> bits).
>>>>
>>>> Thanks to everybody that participated in reviewing, opening/closing
>>>> issues or even fixing a typo!
>>>>
>>>> # Documentation
>>>>
>>>> Just as a reminder, here you have a link to iceberg's wiki, convering
>>>> some info like terminology, how to help us, and so on...
>>>>
>>>> https://github.com/pharo-vcs/iceberg/wiki
>>>>
>>>> # And some videos ;)
>>>>
>>>> - Branching and merging https://www.youtube.com/watch?v=DBzkjwABPEI
>>>> - Loading a Baseline https://youtu.be/brUHEOr-p_E
>>>> - Contributing to Iceberg https://youtu.be/yGr5HvVWM0M
>>>>
>>>> # Changes Log
>>>>
>>>> https://github.com/pharo-vcs/iceberg/releases/tag/v1.0.0
>>>>
>>>> Enjoy, Guille
>>>>
>>>> PS, detailed changes log below:
>>>>
>>>> # Cleanups
>>>>
>>>> #819 Fix tooltip typo in settings
>>>> #800 Iceberg should be removed from the catalogue
>>>> #801 Remove not referenced packages
>>>> #803 Correct some lints in tests
>>>> #806 Bad repair options when local repository is missing
>>>> #725 Remove and clean old UI
>>>> #794 Some classes should use category "utilities" instead of "utility"
>>>> #791 Begin to remove old UI
>>>> #734 Begin to remove old UI
>

Re: [Pharo-users] Restoring a class via Epicea didn't recompile a reference?

2018-05-02 Thread teso...@gmail.com
Two points.

1. Maybe we should centralize the removal of a class in a component as the
class installer. So we can have it all in one place, and if we need to
override and do fancy stuff.
2. Yes to the messages to the environment, I am doing so to have multiple
environments sharing the same methods. We can check how much does it affect
the performance, because it opens a lot of different options to extend the
language.

Cheers,
Pablo

On Wed, May 2, 2018 at 2:09 PM, Marcus Denker <marcus.den...@inria.fr>
wrote:

>
>
> > On 26 Apr 2018, at 09:28, Guillermo Polito <guillermopol...@gmail.com>
> wrote:
> >
> > Hi,
> >
> > It looks you got bit by this issue:
> >
> > https://pharo.fogbugz.com/f/cases/21519/RemoveFromSystem-
> does-not-work-well-with-Undeclareds
> >
> > It's not particular to Epicea. There should be a better management of
> Undeclareds in general in all Pharo.
> >
>
> It can be fixed by moving the binding to undeclared in #removeFromSystem:
>
> This is done by adding
>
>   Undeclared declare: self name asSymbol from: Smalltalk globals.
>
> before the "forgetClass: self logged:" line.
>
> What we need to do in addition: Only do that when the class is referenced.
> #isUsedClass: does that, but it does integrate over all methods in the
> system.
>
> (I sometimes wonder if we should not late-bind accesses to globals, that
> is, just compile them as message sends to the environment).
>
> Marcus
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Recover question at startup

2018-04-16 Thread teso...@gmail.com
Hi Cyril, I have taken your mail and added to the issue.

Thanks

On Mon, Apr 16, 2018 at 11:35 AM, Cyril Ferlicot D. <
cyril.ferli...@gmail.com> wrote:

> On 16/04/2018 11:30, teso...@gmail.com wrote:
> > I have created an Issue
> > (https://pharo.fogbugz.com/f/cases/21708/Epicea-should-not-
> offer-to-recover-changes-if-the-ombu-file-does-not-exists)
> > to follow the conversation and to notify Martín and listen to his
> opinion.
> >
>
> Hi,
>
> Indeed it would be cool to not show the recover window when there is no
> ombu file. It was something I already raised in this message:
>
> http://forum.world.st/Problems-with-Epicea-on-Pharo-7-td5069768.html
>
> > Cheers,
> > Pablo
> >
> > --
> > Pablo Tesone.
> > teso...@gmail.com <mailto:teso...@gmail.com>
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Recover question at startup

2018-04-16 Thread teso...@gmail.com
I have created an Issue (
https://pharo.fogbugz.com/f/cases/21708/Epicea-should-not-offer-to-recover-changes-if-the-ombu-file-does-not-exists
)
to follow the conversation and to notify Martín and listen to his opinion.

Cheers,
Pablo

On Sun, Apr 15, 2018 at 7:02 AM, Ben Coman <b...@openinworld.com> wrote:

> On Sat, Apr 14, 2018 at 5:56 PM, Hilaire <hila...@drgeo.eu> wrote:
>>
>>> Replying to myself for the record, these two lines seem to inactivate
>>> Epicea
>>>
>>> "Inactivate Epicea"
>>> EpSettings monitorEnabled: false.
>>> EpSettings lostEventsDetectorEnabled: false.
>>>
>>>
>>> Now, there is still likely an issue I don't understand
>>
>>
>
> On 15 April 2018 at 00:32, teso...@gmail.com <teso...@gmail.com> wrote:
>
>> Hi,
>>I have been checking this problem and the message is shown because is
>> trying to find the ombu file for the current session.
>> Usually what it does is comparing the file with the recorded size and
>> timestamp in the image to check that the file has no new changes.
>> If the file is newer or larger than the previous info of the image, the
>> recover message appears.
>>
>> I think there is a bug here, although I am not sure, I think that Martín
>> has to help to understand it.
>> Because in the current implementation if the file does not exists it
>> produces the recovery message.
>> Even though it can show that there are changes, if there is no file with
>> them I think is quite difficult to recover them.
>>
>> This behaviour is not happening in the machine where the image is built,
>> because the file exists in the disk. They are stored in the pharo-local
>> directory.
>>
>> Cheers,
>> Pablo
>>
>
>
> I didn't have a chance to check for repeat-ability, but yesterday I
> saved-quit and Image-A,
> then in PharoLauncher did a Copy of Image-A to image-B,
> then opening Image-B got a question about Recovery that I didn't expect or
> want.
>
> cheers -ben
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Recover question at startup

2018-04-14 Thread teso...@gmail.com
Hi,
   I have been checking this problem and the message is shown because is
trying to find the ombu file for the current session.
Usually what it does is comparing the file with the recorded size and
timestamp in the image to check that the file has no new changes.
If the file is newer or larger than the previous info of the image, the
recover message appears.

I think there is a bug here, although I am not sure, I think that Martín
has to help to understand it.
Because in the current implementation if the file does not exists it
produces the recovery message.
Even though it can show that there are changes, if there is no file with
them I think is quite difficult to recover them.

This behaviour is not happening in the machine where the image is built,
because the file exists in the disk. They are stored in the pharo-local
directory.

Cheers,
Pablo

On Sat, Apr 14, 2018 at 5:56 PM, Hilaire <hila...@drgeo.eu> wrote:

> Replying to myself for the record, these two lines seem to inactivate
> Epicea
>
> "Inactivate Epicea"
> EpSettings monitorEnabled: false.
> EpSettings lostEventsDetectorEnabled: false.
>
>
> Now, there is still likely an issue I don't understand
>
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Frozen at start up

2018-04-12 Thread teso...@gmail.com
Hi Hilaire,
 to use the deferred action in the startup you can add it to the
SessionManager >> addDeferredStartupAction:, this will execute after all
the startup actions. However, I was wrong it will not solve the problem of
the splash, as the deferred action is still running in maximum priority
(maybe this should be changed).

So the solution for the splash window will be to fork the process in a
lower priority (with an explicit priority)

Cheers

On Wed, Apr 11, 2018 at 3:56 PM, Hilaire <hila...@drgeo.eu> wrote:

> Removing the Splash screen avoid locking the image. About deferred action,
> how do you do it?
>
> However why do I have this start up message about Pharo not been properly
> claused?
>
> The installation of the app ends with a proper save and quit.
>
> DrGeoInstallerWorkstation>>install
> super install.
> DrGDefault beWorkstation.
> self cleanUpForRelease.
> Author fullName: 'MrCleaner'.
> Smalltalk saveAs: 'drgeo'.
> World submorphs
> select: [:m | m class == (Smalltalk at: #DrGeoWindow)]
> thenDo: [:drMorph | drMorph deleteWithoutConfirmation ].
>
> self cleanMySelf.
> Smalltalk fixObsoleteReferences.
> Smalltalk garbageCollect.
> Smalltalk garbageCollect.
> Smalltalk garbageCollect.
>
> PharoChangesCondenser condense.
> ExternalDropHandler registerHandler:
> (ExternalDropHandler
> type: nil
> extension: 'fgeo'
> action: [ :stream | DrGeo fullscreenOn: stream ]).
>
> Smalltalk snapshot: true andQuit: true.
>
>
> What is even strange, when I run the buid in the system building it, this
> message does not show up?
>
> Any idea?
>
> Thanks
>
> Hilaire
>
> Le 10/04/2018 à 21:36, teso...@gmail.com a écrit :
>
>> In Pharo 7 the startup of the session runs in higher priority so it
>> cannot be interrupted.
>> This is done in that way to fix some problems during the initialization
>> of the session (Now, I could not remember what was fixed).
>>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Frozen at start up

2018-04-11 Thread teso...@gmail.com
Hi Sean,
   it is the exactly the same behavior.

Cheers.

On Tue, Apr 10, 2018 at 11:38 PM, Sean P. DeNigris <s...@clipperadams.com>
wrote:

> HilaireFernandes wrote
> > Any idea?
>
> Can you try starting with `--no-default-preferences` and see if it's the
> same?
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Frozen at start up

2018-04-10 Thread teso...@gmail.com
Hi Hilaire,
  I have seen the same problem when trying to reproduce the error with
FreeTypeFonts.
I can see that the problem arise because there is a startUp of a class that
is calling the #splash method. This method uses Delay.
As this is run during the startup of the classes, it runs with the higher
priority. Taking precedence over the Delay scheduling process.
In Pharo 7 the startup of the session runs in higher priority so it cannot
be interrupted.
This is done in that way to fix some problems during the initialization of
the session (Now, I could not remember what was fixed).
I believe this actions should be executed as a deferred action.

Also I have found a problem with the requirement of the UIThemeWatery
class, I have fixed it extending UITheme with a new subclass (same
behavior) so the code can be loaded.

If you want I can help you to port DrGeo to Pharo7.

Cheers,
Pablo

On Tue, Apr 10, 2018 at 8:32 PM, Hilaire <hila...@drgeo.eu> wrote:

> Hi,
> I have this strange situation with a DrGeo built against P7, where DrGeo
> starts, but then get frozen with this message.
> Strangely the start seems not to have completed as the UI messages are not
> localized in French.
>
> What is strange, on my PC where I built the app, this problem does not
> occur.
>
> Any idea?
>
> Thanks
>
> Hilaire
>
>
> --
> Dr. Geo
> http://drgeo.eu
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] FreeFontProvider unload [was] Re: Black screen on Mac OSX

2018-04-10 Thread teso...@gmail.com
Hi Hilaire,
  thanks for spliting the subject, I have missed the discussion in the
other thread.

The #unload message should be used to clean up the system in case the class
is unload from the system.
That's why the logic has been move to the #resetCurrent method that is
called during the shutdown of the image.

However, the question is not if the method should be included in a
compatibility package or if the users should send #resetCurrent.
The problem is why it is needed to clean up the font cache, it should not
be needed. The only scenario I think is if you want to replace a font (in
the Pharo world a Face, because there is a font per each combination of
face and point size) named exactly the same with another one. I think this
is no normal behavior.

I will try to see why this is needed when loading DrGeo in Pharo7 and fix
the FT implementation not to need it.
Maybe it is hiding a bigger issue.

Cheers,
Pablo

On Mon, Apr 9, 2018 at 9:52 PM, Hilaire <hila...@drgeo.eu> wrote:

> I tracked the problem, it is related to change in the FreeTypeFontProvider
> behavior.
>
> In P3, #unload message cleared the cache. In P7, #unload just does
> nothing. Seems to be replaced by #resetCurrent
>
> Hilaire
>
>
> Le 07/04/2018 à 17:43, Stephane Ducasse a écrit :
>
>> Hi Hilaire
>>
>> The app goes to the dock but nothing happens. What is strange is that
>> it is assigned to none display.
>> I tried to open the drgeo.image with my working Pharo6.1VM and it did not
>> work.
>> I tried to open the drgeo.image with my working Pharo70VM and it did not
>> work.
>> => did not open.
>>
>> I could open one of my Phaor 70 images with the VM you ship.
>>
>> I have no log files or others. So I do not know what to do.
>>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Ever growing image

2018-03-02 Thread teso...@gmail.com
Hi Hilaire, is it possible that is the wrong image?
This is a 32bits image, and it is around 52 MB, quite similar to the Pharo
base image.

Thanks.

On Fri, Mar 2, 2018 at 11:27 AM, Stephane Ducasse <stepharo.s...@gmail.com>
wrote:

> Thanks Pablo! and Hilaire!
>
> On Fri, Mar 2, 2018 at 9:30 AM, teso...@gmail.com <teso...@gmail.com>
> wrote:
> > Thank you
> >
> > On 2 Mar 2018 09:23, "Hilaire" <hila...@drgeo.eu> wrote:
> >>
> >> Sure, here is a DrGeo image of an unreasonnable size, you can
> investigage
> >> on:
> >>
> >> https://www.dropbox.com/s/wc18e21p371z28f/DrGeo.app-18.01a.zip?dl=0
> >>
> >>
> >> It is a based on a P7 64bits, don't use the shipped VMs, there are not
> >> matching.
> >>
> >> Thanks
> >>
> >> Hilaire
> >>
> >> Le 02/03/2018 à 09:13, teso...@gmail.com a écrit :
> >>>
> >>> It will be great if somebody has images with this problem, and it can
> be
> >>> shared without trouble, to share it. So we can investigate if the
> problem is
> >>> image or vm related.
> >>
> >>
> >> --
> >> Dr. Geo
> >> http://drgeo.eu
> >>
> >>
> >>
> >
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Ever growing image

2018-03-02 Thread teso...@gmail.com
Thank you

On 2 Mar 2018 09:23, "Hilaire" <hila...@drgeo.eu> wrote:

> Sure, here is a DrGeo image of an unreasonnable size, you can investigage
> on:
>
> https://www.dropbox.com/s/wc18e21p371z28f/DrGeo.app-18.01a.zip?dl=0
>
>
> It is a based on a P7 64bits, don't use the shipped VMs, there are not
> matching.
>
> Thanks
>
> Hilaire
>
> Le 02/03/2018 à 09:13, teso...@gmail.com a écrit :
>
>> It will be great if somebody has images with this problem, and it can be
>> shared without trouble, to share it. So we can investigate if the problem
>> is image or vm related.
>>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
>


Re: [Pharo-users] Ever growing image

2018-03-02 Thread teso...@gmail.com
It will be great if somebody has images with this problem, and it can be
shared without trouble, to share it. So we can investigate if the problem
is image or vm related.

On 1 Mar 2018 17:43, "Norbert Hartl"  wrote:

I use 64bits on Mac and I suffer from this. Today I started a new image
because the old one was 1,2 GB in size and starting to behave sluggish.

Norbert


> Am 01.03.2018 um 15:55 schrieb Hilaire :
>
> Hi,
>
> Does the current 64bits VM suffers of the ever growing image syndrom?
>
> Thanks
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>


Re: [Pharo-users] how to load compiled code in the image and to change methods already on the stack?

2018-02-26 Thread teso...@gmail.com
Hi Steven,

1. You can use Hermes through a socket or a file. The only pre-requisite is
that both images run similar compatible compilers (usually you can use it
from and to Pharo 6.1 and 7)
2. You can change the method, but if there is an activation context in the
stack everything can be wrong. If you change a method you should update the
program counter of the stack, and also any other thing can change (for
example, temporaries or literals).
Can you describe more the scenario where you want to change the method?

Cheers,

On Sat, Feb 24, 2018 at 11:23 AM, Steven Costiou <steven.cost...@kloum.io>
wrote:

> Hi,
>
> is this possible somehow to:
>
> - load compiled code in the image? like loading a compiled method instead
> of loading source then compiling it?
>
> - dynamically change a method that is on the stack?
>
>
>
> If so, how? :)
>
> Steven.
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Embedded PDF viewer?

2017-11-05 Thread teso...@gmail.com
Hello Ben,
   UFFI does not allow you to call static libraries. Static libraries are
not executable per se, they need to be linked in another program.
As I know, the only way of using an static library from Pharo is to:
  - Build a plugin that wraps it.
  - Build a DLL exposing all the functions in the library and then they are
used through UFFI.

The second option is the easiest to me, but it depends how the library is
built up. For example, if the library uses a lot of compile time code
generation (like macros or templates) making a generic DLL is not so easy.

I think it is better to see if not other project has already tackle this
problem when using the desired static library.

Cheers,
Pablo

On Sun, Nov 5, 2017 at 1:39 PM, Ben Coman <b...@openinworld.com> wrote:

> I'm looking into calling PDFium from Pharo via FFI.
> Currently I'm stalled a bit since it doesn't have a shared-library target.
>
> If you consider access to such a library would be useful to the community,
> please take a few moments to star this issue...
> https://bugs.chromium.org/p/pdfium/issues/detail?id=826
>
> cheers -ben
>
>
> P.S. Can anyone comment on calling into a static library via FFI?
>
>
>
> On Wed, Oct 11, 2017 at 2:05 PM, Ben Coman <b...@openinworld.com> wrote:
>
>>
>>
>> On Wed, Oct 11, 2017 at 2:03 PM, Ben Coman <b...@openinworld.com> wrote:
>>
>>>
>>> > On Tue, Oct 10, 2017 at 8:58 PM, Manuel Leuenberger
>>> > <leuenber...@inf.unibe.ch> wrote:
>>> > > Hi,
>>> > >
>>> > > I want to view a PDF within Pharo. I found that Athens has a PDF
>>> canvas, but I have no idea how to use it. Is there a way to view a PDF
>>> within Pharo, so that I can scroll, zoom, click links etc. in the PDF?
>>> > >
>>> > > Cheers,
>>> > > Manuel
>>>
>>>
>>> On Wed, Oct 11, 2017 at 3:04 AM, Stephane Ducasse <
>>> stepharo.s...@gmail.com> wrote:
>>> >
>>> > Hi manuel
>>> >
>>> > So far I do not know if we have this is Pharo.
>>> > I imagine that we would have to build a renderer once we will have the
>>> > PDF reader from Christian library.
>>> >
>>> > Stef
>>>
>>>
>> [Edit: Update license link]
>>
>>
>>> A renderer will have great synergy with PDFTalk, but I think a proof of
>>> concept can be done independently.
>>> I've been poking at this topic for a while looking for options.
>>> Coincidentally a couple of days I discovered the PDFium library.
>>> I haven't had time yet to give it a run, but it seems a good candidate
>>> since...
>>> * Its a successful commercial product by Foxit built into Chrome
>>> converted to open source with Google's backing for use in Chromium
>>>https://www.foxitsoftware.com/company/press.php?id=305
>>> * Its license is BSD style
>>>*https://github.com/hfiguiere/pdfium/blob/master/LICENSE
>>> <https://github.com/hfiguiere/pdfium/blob/master/LICENSE>*
>>> * Although written in C++ it has a C interface
>>>   https://github.com/hfiguiere/pdfium/blob/master/public/fpdfview.h
>>>   * Search here on  " Function: "  to skim through
>>>   * Proof of concept seems to only need these key functions...
>>>   * voidFPDF_RenderPageBitmap( FPDF_BITMAP bitmap,FPDF_PAGE
>>> page, ... )
>>>   * FPDF_BITMAPFPDFBitmap_Create( int width, int height, int
>>> alpha);
>>>   * FPDF_PAGE   FPDF_LoadPage   ( FPDF_DOCUMENT document, int
>>> page_index )
>>>   * FPDF_DOCUMENT   FPDF_LoadMemDocument   ( const void*
>>> data_buf ... )
>>>   * voidFPDF_InitLibrary ()
>>> * Has a concise getting started for POC...
>>>   https://github.com/hfiguiere/pdfium/blob/master/docs/getting
>>> -started.md
>>> * Maybe useful fork with V8 disabled by default
>>>   https://github.com/klokantech/pdfium
>>> * Master repo here
>>>   https://pdfium.googlesource.com/pdfium/
>>>
>>> So Pharo might load a PDF file into a ByteArray, pass that to
>>> FPDF_LoadMemDocument() & FPDF_LoadPage(),
>>> then get a bitmap back from FPDFBitmap_Create() &
>>> FPDF_RenderPageBitmap() and display the result in a Pharo window.
>>>
>>> The rest of this week I'm working 12 hour days on a mine site.  I could
>>> try it out once I'm home, but in the meantime is anyone else keen to try
>>> it?
>>>
>>> cheers -ben
>>>
>>
>>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Microsoft COM

2017-10-31 Thread teso...@gmail.com
Hi Ben,
first sorry for answering late, I have seen your mail before, but the
tons of mails of Pharo got over it.

I will tell you the state of what I have and what maybe you will need. But,
before my plan is to improve this, but as with everything it is easier to
push it if I have some users.

- I have implemented a way of expressing FFI calls to COM objects, I have
solved all the problems of the Vtable and the different types. So it is
possible to create a wrapper for any of the COM objects. I have done so for
the objects used in the "reflective" API of COM.

- My idea is to use the reflective API to generate automatically the Pharo
Wrappers to the objects. This is nice, but if you need to use some known
objects you don't need all this transparency as using known instances can
be easily implemented.

- I have some examples using the IE COM object as it is a nice thing to
use, and also it uses many different things in the API (properties,
variant, optional parameters, etc). However, the support in the Variant
type is not full yet. You can receive and send variant type values, but
reading the different contents is not implemented (it has like 30 different
payloads in the type, I have only the basics).

I have to check what I have know, because I have been working a little
more, but I have to put it in Github and organize it a little. Now it is
working in Pharo 6 32Bits. My plan is to first migrate it to Pharo7 also (I
think it should be straight forward) and then implement it for 64 bits
(this part is possible that requires a big rewritting, as the API has some
changes from 32 to 64 bits).

In the next days I will try to make a couple of examples to show how to map
a known class. I remember that the reflective part now can query the
interface and perform dynamic calls but the way of interacting with it
should be improved.

I really will love to have somebody using it, so I will try to help you if
you (or other) has a use case. Usually having a use case is easy to move a
project.

Cheers,
Pablo

On Mon, Oct 30, 2017 at 6:11 PM, Ben Coman <b...@openinworld.com> wrote:

> Hi Pablo,
>
> At work I managed to remote control Internet Explorer with Excel VBA like
> this...
> [1] http://www.automateexcel.com/vba/automate-internet-explorer
>
> and went looking for how similar might be achieved from Pharo.  IIUC I
> discovered this would be done via Microsoft's Component Object Model, and
> then I bumped into your repo...
> [2] https://github.com/tesonep/pharo-com
>
> Could you advise the status and your plans for this?  Since I see its only
> a few months old I've probably stumbled onto it prematurely, but I see no
> documentation or tests to discover how to use it.  So I'll curious whether
> it makes something like [1] possible? And could you show how that would be
> done?
>
> cheers -ben
>
>
> P.S. For context, at work I automated IE since the intranet document
> management system (OpenText) does authentication via a javascript function
> in the browser, which doesn't compute with Microsoft's MSXML.DOMDocument
> component.  So I use IE to do the authentication and grab the raw XML from
> IE to then stuff it into MSXML.DOMDocument from which I pull the data I
> need.
>
> But I'd love to do it with Pharo instead (if I can get IT to white list it)
>
> cheers -ben
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Return value of a FFI call to a external function is its 2`s complement

2017-10-30 Thread teso...@gmail.com
Hi,
 the problem is that the Zq function has the following signature:

int zmq_msg_recv (zmq_msg_t *msg, void *socket, int flags);

And in your ffiCall you are putting #long.

You should use the correct size of integers, as the binary numbers need to
extend the size when they are negatives.

0x is a valid positive for a long, but a -1 for an int.

Cheers.

On Mon, Oct 30, 2017 at 4:26 PM, Dimitris Chloupis <kilon.al...@gmail.com>
wrote:

> Ah ok I know that one, just did not know it was named "two's complement" ,
> looks to me normal error. I have seen this value many times in case of
> errors while debugging C code with GBP
>
> It returns error probably because of the reason I outlined in my previous
> reply.
>
> On Mon, Oct 30, 2017 at 3:51 PM Paulo R. Dellani <dell...@pobox.com>
> wrote:
>
>> "Two`s complement" is one possible way to represent signed integers in
>> binary form (1).
>>
>> When the message apiZmqMsgRecv: message socket: socket withFlags: flags is
>> sent, as
>> shown in my prior message, a function from libzmq, zmq_msg_recv (2) is
>> called
>> and the return value should be either the number of bytes in the received
>> message
>> or -1, in case of an error. Well, I was expecting to get a -1 as return
>> value when
>> calling the function in non-blocking mode, but it returns 0x,
>> which happens
>> to be the 2's complement representation of -1. At least the old code for
>> libZMQ
>> was not expecting that.
>>
>> Cheers, Paulo
>>
>> (1) https://en.wikipedia.org/wiki/Two's_complement
>> (2) http://api.zeromq.org/4-2:zmq-msg-recv
>>
>>
>> On 10/30/2017 02:13 PM, Dimitris Chloupis wrote:
>>
>>
>> I have no idea what you mean by "2's complement"
>>
>> In any case bare in mind that UFFI has a limited range of C types that
>> does support. Here you use 2 custom types , ZmqApiMessage and ZmqApiSocket
>> , both are pointers because of * . Now these types are definetly not
>> included with UFFI so if you have not done so you will have to
>>
>> 1) Define a class that inherits from FFIExternalObject and make sure your
>> class handles the pointer properly
>> 2) Replace the custom type with an equivelant type that is supported by
>> UFFI
>>
>> The type of the pointer does not affect the pointer itself, usually, but
>> rather the data it points to. So a pointer knows from it type that the data
>> consumes a x amount of bytes and is of specific type , this can help also
>> with indexing as C arrays are nothing more than a pointer that uses the
>> index as an offset depending on its type of x amount of bytes.
>>
>> So its crucial that you get these right or else you going have some super
>> weird results and even crashes.
>>
>> Because if you use improper types the pointer will give access to an area
>> of memory bigger or smaller than the inteded type . Smaller will give you
>> corrupted data (you will be missing bytes of data), bigger may crash
>> because it may extend to area of memory not allowed to access.
>>
>> Technically speaking you can use even incorrect types if you know what
>> you doing because UFFI pointers have great flexibility allowing you define
>> real time the excact position of the memory and the range.
>>
>> Bare in mind that C is a high level language (and not low level as many
>> incorrect assume) and deal with types that is NOT a low level concept
>> (excepts types that have to do only with the size/ amount of bits) . So the
>> type gives crucial information to C how exactly to access the memory.
>> On Mon, Oct 30, 2017 at 2:03 PM Paulo R. Dellani <dell...@pobox.com>
>> wrote:
>>
>>> Dear uFFI experts,
>>>
>>> I am dealing with the port of the ZeroMQ
>>> <http://smalltalkhub.com/#%21/%7Epanuw/zeromq> code to Pharo 6 and
>>> found
>>> something unexpected to me, at least:
>>>
>>> Zmq4Api>>apiZmqMsgRecv: message socket: socket withFlags: flags
>>> ^ self ffiCall: #(long zmq_msg_recv (ZmqApiMessage* message,
>>> ZmqApiSocket* socket, long flags ) )
>>>
>>> Calling this returns the 2's complement of the return value
>>> of the external function call. Is it expected that the code calling
>>> this do the decoding of the 2'complement representation of
>>> the return value?
>>>
>>> Cheers,
>>>
>>> Paulo
>>>
>>
>>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] why is adding instance variables so slow?

2017-04-14 Thread teso...@gmail.com
Hi, I think the problem was not clearly explained. This is the scenario
that is problematic.
This scenario does not happen in the new Spur implementation of forwarding,
but I think is happening in the old one.

1. You have, let's say 3 instances of ClassA.
2. You add a new instance variable to ClassA. It produces
   2a. A new ClassAv2 is created with the instances variables of ClassA and
the newone
   2b. 3 Instances of ClassAv2 are created
   2c. The values of the instance variables of ClassA are copied to the
ones in ClassAv2 (the ones missing are left in nil).
   2d. The 3 instances of ClassA are becomed forward to the 3 instances of
ClassAv2
   2e. The ClassA is becomed forward ClassAv2

3. You add a new instance variable to ClassAv2. It produces
   3a. A new ClassAv3 is created with the instances variables of ClassAv2
and the newone
   3b. 3 Instances of ClassAv3 are created
   3c. The values of the instance variables of ClassAv2 are copied to the
ones in ClassAv3 (the ones missing are left in nil).
   3d. The 3 instances of ClassAv2 are becomed forward to the 3 instances
of ClassAv3
   3e. The ClassAv2 is becomedFormeward ClassAv3

4. All the instances of ClassAV3 have the correct format and everything
works.

What is the problem:
===

- When you do the first add instance variable, the old instances (the one
from ClassA) which are smaller (has 1 instance variable less)
have its class changed (after you perform a become of ClassA to ClassAv2).
So if you try to use them everything will explode, because you will trying
to access an instance variable that does not exists.
These instances are not referenced by anyone, however if you perform a
ClassAv2>>allInstances you will find them. So if you modify the class
adding two variables, one after another the second time
you will be accessing the invalid instances.


Considering the differences in the Become implementation


However, the main difference is the implementation of the become forward.
Let's start with the new implementation, as it has not problems.

When you do a become forward, from object a to b, the primitive replaces
the object a with a forwarder to b.
When this forwarded is accessed the references to it are rewrited.
If the objects are the same size (not this scenario) the object b replaces
object a. It does not produces an error because the old.
In the become forward the old instances are not keeped.

In the old implementation the whole image is scanned, changing the
references to the old instances, replacing with references to the new
instances.
The old instances are not removed, just kept there to let the GC do its
work.
Again if the objects are the same size there is special behavior.

I hope know the problem is better explained

Cheers,
Pablo



On Fri, Apr 14, 2017 at 10:50 AM, Igor Stasenko <siguc...@gmail.com> wrote:

>
>
> On 14 April 2017 at 10:19, Stephane Ducasse <stepharo.s...@gmail.com>
> wrote:
>
>> But I do not get how doing that would handle the old instances?
>> Because you want to migrate the old instances.
>>
>>
> +1
> there are no such thing as 'bad zombies', if they are there, it means you
> either don't care about migrating data
> or again, don't care about doing #becomeForward-ing them properly.
> In any case i don't see how GC could help to fix these issues. You either
> have consistency or don't have it,
> and GC cannot do anything magical to fix it.
>
>
>
>> Stef
>>
>> On Wed, Apr 12, 2017 at 1:26 PM, Denis Kudriashov <dionisi...@gmail.com>
>> wrote:
>>
>>>
>>> 2017-04-12 13:17 GMT+02:00 Guillermo Polito <guillermopol...@gmail.com>:
>>>
>>>>   1) each instance of A is becomed into its corresponding instance of A'
>>>>   2) finally we become class A into A'
>>>>   This step will make that old instances of A now have:
>>>>  - the old format
>>>>  - but point to the new class A
>>>>
>>>
>>> step 1) ensures that there are no instances of class A anymore.
>>> Check following script:
>>>
>>> c1 := Class1 new.
>>> c2 := Class2 new.
>>> c1 becomeForward: c2.
>>> Class1 allInstances "=> #()".
>>>
>>>
>>> And full migration is executed in high priority uninterrupted process to
>>> ensure that between 1) and 2) nobody will instantiate Class1
>>>
>>>
>>
>
>
> --
> Best regards,
> Igor Stasenko.
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] why is adding instance variables so slow?

2017-04-14 Thread teso...@gmail.com
Hi Denis,
 in the script you are not generating instances of Class1, the problem
is with the instances.
Cheers,
Pablo

On Fri, Apr 14, 2017 at 10:04 AM, Denis Kudriashov <dionisi...@gmail.com>
wrote:

>
> 2017-04-12 13:29 GMT+02:00 teso...@gmail.com <teso...@gmail.com>:
>
>> Hi,
>> in non spur, the only improve that I think it can be made safely is
>> moving the garbage collect operation to the migration of instances side,
>> only executing the garbage collect if there are instances.
>>
>> In spur the garbage collect it is not needed anymore, because the way the
>> become is working is not the same.
>>
>
> I checked on prespur cogVM: my script produced same result as on spur.
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] why is adding instance variables so slow?

2017-04-12 Thread teso...@gmail.com
Hi,
in non spur, the only improve that I think it can be made safely is
moving the garbage collect operation to the migration of instances side,
only executing the garbage collect if there are instances.

In spur the garbage collect it is not needed anymore, because the way the
become is working is not the same.

In the old implementation, the old instances where in the image until they
are removed by the garbage collector. So you can access them with the
allInstances. In the new implementation, the old instances are marked as a
forwarded to the new instances.
So, there is no need for the garbage collect.
This should be tried but I think it can work.

Cheers,
Pablo



On Wed, Apr 12, 2017 at 1:17 PM, Guillermo Polito <guillermopol...@gmail.com
> wrote:

>
>
> On Wed, Apr 12, 2017 at 11:35 AM, Denis Kudriashov <dionisi...@gmail.com>
> wrote:
>
>>
>> 2017-04-12 10:55 GMT+02:00 Guillermo Polito <guillermopol...@gmail.com>:
>>
>>> PharoClassInstaller>>migrateClasses: old to: new using:
>>>> anInstanceModification
>>>> instanceModification := anInstanceModification.
>>>> old ifEmpty:  [ ^ self ].
>>>> [
>>>> 1 to: old size do: [ :index |
>>>> self updateClass: (old at: index) to: (new at: index)].
>>>> old elementsForwardIdentityTo: new.
>>>> " Garbage collect away the zombie instances left behind in garbage
>>>> memory in #updateInstancesFrom: "
>>>> " If we don't clean up this garbage, a second update would revive them
>>>> with a wrong layout! "
>>>> " (newClass rather than oldClass, since they are now both newClass) "
>>>> Smalltalk garbageCollect.
>>>> ] valueUnpreemptively
>>>>
>>>> Commenting garbage collection here increases performance 10 times.
>>>> Then commenting class update loop increases performance 3 times more.
>>>> But this loop is required. It adopts all instances of old class to new one.
>>>> And time here spent in #allInstances method.
>>>>
>>>> Can we remove manual garbage collection here? Why it is needed?
>>>>
>>>
>>> Well, there is the comment that explains it and makes pretty good sense.
>>>
>>
>> But is does not explain why these bad zombies exist. We investigates
>> possible reasons and could not reproduce them. We will try remove garbage
>> collection here in Pharo 7
>>
>
> No, this will break stuff! I'll try to explain what does it mean by zombie
> instances to make some sense:
>
> - Imagine that you have class A + 10 instances of A.
>
> - We add an instance variable to A.
>   - this means the class builder will generate class A' that is the new
> version of A.
>   - then, it migrates all instances of A to class A'.
>  This migration is not magic:
> - 10 new instances of A' are created
> - the state is migrated from the instances of A to A'
> - each instance of A is becomed into its corresponding instance of
> A'
>   - finally we become class A into A'
>   This step will make that old instances of A now have:
>  - the old format
>  - but point to the new class A
>
> If we do not garbage collect, this means that doing
>
> A allInstances
>
> will return not only the new 10 instances of A, but the old instances of
> A'.
> And that will break LOOOTS of stuff.
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] How to remove a class ?

2017-03-09 Thread teso...@gmail.com
You can send the message #removeFromSystem to the class.

Cheers

On Thu, Mar 9, 2017 at 1:44 PM, Hilaire <hila...@drgeo.eu> wrote:

> Hi,
>
> One creates by code a new class with: "Object subclass: #Situation".
> What is the counter part API to remove it from the system?
>
> Thanks
>
> Hilaire
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Japanese Fonts

2016-12-27 Thread teso...@gmail.com
Great you can fixed it.

Cheers,
Pablo.

On Tue, Dec 27, 2016 at 4:25 AM, Evan Donahue <emdon...@gmail.com> wrote:

> Hi, thanks for the reply.
>
> FreeType disable/reenable seems to have done the trick. It loaded up my
> system fonts, and I was able to select Noto Sans CJK JP, which seems to do
> the trick. For reference, this is on Pharo 6 #60334. I also installed this
> for text entry: http://smalltalkhub.com/#!/~tomooda/Tekka and it seems to
> work like a charm.
>
> Thanks,
> Evan
>
>
>
>
> --
> View this message in context: http://forum.world.st/Japanese-Fonts-
> tp4928056p4928161.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Japanese Fonts

2016-12-23 Thread teso...@gmail.com
Hi,
 which version of Pharo are you using? Where do you install your font
in your linux system? This is because Pharo is looking for the fonts in the
paths '/usr/share/fonts' '/usr/local/share/fonts' and ~/.fonts. So maybe it
is not finding them. This is not the ideal solution, because if you have
another font directory configured you can't use it (even though, adding
your custom directory is as easy as modifying a method :) ).

Have you tried to disable and reenable FreeType support in the settings
browser. It will help as when freetype is enabled the font cache is
reconstructed. Also you can try to set the font from that settings browser.
If it is shown in the font dialog when using the system browser you can use
the font.

Cheers,
Pablo.

On Sat, Dec 24, 2016 at 1:40 AM, Evan Donahue <emdon...@gmail.com> wrote:

> Hello,
>
> I am trying to get Japanese characters to show up in my Pharo image.
> Following some advice I found on google, I have set my font to something
> that I think should handle Japanese characters:
>
> defaultFont := LogicalFont familyName: 'Droid Sans Fallback' pointSize: 18.
> StandardFonts defaultFont: defaultFont.
>
> I then used the settings browser to force that to all system fonts. I did
> not notice a change to any of the text when I did this, so I am not sure it
> worked. Also, Japanese text still shows up as spaces. Does anyone know
> whether this is something I need to deal with in Pharo, on Ubuntu, or both?
> As far as I can tell, the font is on my system.
>
> Thanks,
> Evan
>



-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] support for Croatian language

2016-08-26 Thread teso...@gmail.com
It seems that the directory lookup process is wrong, the directories are
having less entries.

If you check the class FreeTypeFontProvider has the methods to resolve the
directories.

You can change the implementation of #unixFontDirectories to add the
missing directory, I will file an issue in fogbuz.


Cheers.

On Fri, Aug 26, 2016 at 10:57 AM, Gour <g...@atmarama.com> wrote:

> On Fri, 26 Aug 2016 10:18:14 +0200
> "teso...@gmail.com"
> <teso...@gmail.com> wrote:
>
> > Hi,
> >  sometimes running fc-cache is needed to update the FreeTypeFonts
> > caches of fonts.
>
> Well, my fonts are already installed for some time and visible to other
> apps.
>
> > It will list all the directories where is looking for classes and
> > updates all the caches, It maybe take some minutes to run, but is
> > needed if you added fonts in the different directories.
>
> It lists ~/.fonts, but Pharo tool does not see those fonts.
>
> Is there a way to log output when I press 'Update'?
>
> I see that it scans e.g. /usr/share/fonts, but would like to see
> complete output?
>
>
> Sincerely,
> Gour
>
> --
> But for one who takes pleasure in the self, whose human life
> is one of self-realization, and who is satisfied in the self only,
> fully satiated — for him there is no duty.
>
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] support for Croatian language

2016-08-26 Thread teso...@gmail.com
Hi,
 sometimes running fc-cache is needed to update the FreeTypeFonts
caches of fonts.

Try just running in your terminal

fc-cache

It will list all the directories where is looking for classes and updates
all the caches, It maybe take some minutes to run, but is needed if you
added fonts in the different directories.

Cheers,
Pablo


On Thu, Aug 25, 2016 at 7:22 PM, Gour <g...@atmarama.com> wrote:

> On Thu, 25 Aug 2016 18:19:13 +0200 Esteban Lorenzano
> <esteba...@gmail.com> wrote:
>
> > you mean the list after enabling free type library?
>
> Yes.
>
> > that has nothing to do with Pharo, it lists the fonts present (and
> > findable) of your system.
>
> Ahh, now I got it...'language' simply denotes "demo string" and not
> selecting support for the language...still, I see that it does not find
> fonts installed in ~/.fonts.
>
>
> Sincerely,
> Gour
>
> --
> One must deliver himself with the help of his mind, and not
> degrade himself. The mind is the friend of the conditioned soul,
> and his enemy as well.
>
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] File Policy

2016-06-23 Thread teso...@gmail.com
I think that using the stdout / stderr should be the way. It's the standard
and expected way to behave.

Even though, I recommend you to perform a little test to see how the output
is generated in the terminal, if everything is mixed up or it is quite
long, maybe generating a file is not as bad idea, it will improve the way
Pharo can be used by the command line.

Other tools have different logging levels or even options to send the
logging to a file. But that maybe is asking too much for a first version.

On Wed, Jun 22, 2016 at 2:12 PM, Christophe Demarey <
christophe.dema...@inria.fr> wrote:

>
> > Le 22 juin 2016 à 14:05, Valentin Ryckewaert <
> valentin.ryckewa...@gmail.com> a écrit :
> >
> > Hello everyone,
> >
> > i'm currently working on making Pharo able to manage if it writes on his
> files.I created a class which can define it, then  I'm already able, for
> example, to define if Pharo writes on pharo.changes or not.
> >
> > The meaning of this is to make Pharo able to execute a script but
> without being modified by it, a script shouldn't let any trace of its
> execution on the image or on Pharo files.
> >
> > My problem concern PharoDebug.log, I would like to know what you prefer
> Pharo to do with it in the case we configured it to not write on his files
> (changes, source,image).
> > Should Pharo writes the logs in the terminal ? in a tmp file ? or just
> in PharoDebug.log ?
>
> If you want to use Pharo as a script interpreter, then just do like other
> interpreter: report results and errors on stdout / stderr.
> Then, you can redirect the output to also have it in a file if you want. I
> would not use PharoDebug.log or any other file.
>
> Christophe
>
>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] Hello World (found a RoelTyper Bug)

2016-04-19 Thread teso...@gmail.com
Hi Diego,
Just yesterday I have added documentation explaining a bit how the
process is working in my Type Inferer, it works in a different way than
RoelTyper, but maybe you can get ideas of how enhance Roel's

Any doubt please tell me.

Pablo


On Tue, Apr 19, 2016 at 2:41 AM, Diego Orellana <dorell...@gmail.com> wrote:

> Hello,
> My smalltalkhub user is dorellang.
>
> Cheers.
>
> 2016-04-15 17:27 GMT-03:00 stepharo <steph...@free.fr>:
>
>> Hello Diego
>>
>> Good initiative!
>> RoelTyper is not a Moose project. It is just used in moose.
>> Now it would be good to check a bit (RoelTyper was made to work on
>> VisualWorks and Squeak/Pharo) and
>> it would be nice to make sure that we do not need the VW specificities.
>>
>> RoelTyper is managed by RMoD
>> so give me you login and we will add you to the project.
>>
>>
>>
>> Le 14/4/16 16:52, Diego Orellana a écrit :
>>
>> Hi, Pharo Users!
>>>
>>> I'm starting to work on types in Pharo. To be more precise, I'd like to
>>> improve the RoelTyper (a package which "guesses" variable types in code).
>>> What suggestions do you have? I have some ideas and I'm currently working
>>> to find more, but it's always interesting to hear what the community has to
>>> say :)
>>>
>>> Oh, and by the way, I've found a bug in RoelTyper. I have a fix, but it
>>> seems that RoelTyper is a Moose thing, since it's not included in the
>>> vanilla Pharo image. Do you know where I could submit the fix?
>>>
>>> Cheers,
>>> Diego.
>>>
>>
>>
>>
>


-- 
Pablo Tesone.
teso...@gmail.com


Re: [Pharo-users] [gsoc-mentors] GSoC: call for ideas

2014-02-13 Thread teso...@gmail.com
Project idea

Description: Enhance refactorings with type information
Skill level: Advance
Possible Mentors: Guillermo Polito / Esteban Lorenzano / Santiago Bragagnolo
Name of the Student: Pablo Tesone
Keywords: tools, refactoring, code completion, type inference.

Description:

During the development of a program in any programming language, the IDE
has a very important role. It will never replace the knowledge of the
programmer but it can make his life easier.
As Smalltalk doesn’t have explicit type information, the IDE can not
perform the same mechanisms that are present in IDE like Eclipse or
Intellij IDEA. These mechanisms can be very useful.
The idea of this project is to add type inference mechanisms to try to
provide more information to the refactoring and code completion tools.
It is important to say that the idea is not to check types or correct the
program, but to allow the programmer to have more information.



On Thu, Feb 13, 2014 at 12:06 PM, Usman Bhatti usman.bha...@gmail.comwrote:

 [Anne Etien could not post this msg on the mentors list I m forwarding it
 on her behalf].

 Title: FAST JavaScript model

 Level: advanced

 Possible mentor: Anne Etien

 Possible second mentor: Nicolas Anquetil or Yuriy Tymchuk

 Description:
 For in depth source code analysis a support of abstract syntax trees is
 required. FAST is an abstract syntax tree extension for FAMIX meta-model
 that is used by Moose technology. The goal of this project is to create
 a JavaScript version of FAST.

 Technical Details:
 As programming languages are different, their AST representations are
 different too. FAST model aims for creation of as generic as possible
 core that can be extended for different languages. Also the structure of
 a model allows creation of generic algorithms like symbol resolution,
 metrics calculation and rule checking that will work for any language.
 Prototypes of FAST for Smalltalk and Java are already implemented.
 During the project a student will implement the JavaScript model. More
 detailed information about FAST is provided in the Moose day
 presentation: http://youtu.be/dRr3WHOD3x4

 Benefits to the Student:
 The student will gain a deep understanding of a JavaScript syntax and
 abstract syntax tree model. He will also learn about PetitParser
 framework, and gain knowledge about software modeling and analysis.

 Benefits to the Community:
 Community will get a FAST model for JavaScript that can be used for
 software assessment with Moose. Also this model can be used later in PhD
 projects such as automation of source code translation. With this third
 model, the community will have raw material to real think and improve
 generic algorithms based on AST.


 On Tue, Feb 11, 2014 at 10:42 AM, Damien Cassou 
 damien.cas...@gmail.comwrote:

 Hi fellow Pharo hackers,

 ESUG, the European Smalltalk User Group, is applying for this
 year's Google Summer of Code.  As you probably know, the Summer
 of Code provides the opportunity to fund students to work during
 the summer on Pharo.  Please reply to this
 email (be sure to use Reply to all) if you have ideas you
 would like to propose.

 Please include a summary of the project and links to web pages
 that can help prospective students to write their application.
 Please also include the following information:

 - if applicable, other dialects that you would be willing to
   mentor this project for

 - the skill level

 - name of the mentor(s), email addresses, and possibly any IRC
   network/channel/nickname where they can be found.

 Thanks for contributing to ESUG's Summer of Code application!

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

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

 --
 You received this message because you are subscribed to the Google Groups
 Smalltalk GSoC mentors group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to smalltalk-gsoc-mentors+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 You received this message because you are subscribed to the Google Groups
 Smalltalk GSoC mentors group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to smalltalk-gsoc-mentors+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
Pablo Tesone.
teso...@gmail.com