Re: [Pharo-users] Glorp

2016-10-02 Thread stepharo

Ah tx for the explanation.

I'm sure that I like bundles for the sake of them.


should not we removed DBXGlorp if it is not up to date?

Is BDXGlorp based on latest Glorp port?

GlorpDBX is nothing but a name to a Metacello config that used to load
both Glorp and the OpenDBX (now garageDB) drivers.


Esteban A. Maringolo







Re: [Pharo-users] bytes to utf8 string / byte stream parsing

2016-10-02 Thread stepharo

Hello Fabrice

Did you read the excellent book chapter written by sven on stream encodings?

Check Enterprise Pharo book http://books.pharo.org

Now can you tell us what you want to do?

It would be nice also to check if Xtreams offers (or deserves some 
extensions).


Stef


Le 30/9/16 à 12:57, Fabrice Leal a écrit :
can anyone provide me some pointers on how to turn a bunch of bytes 
into a utf8 string?


i'm planning on writing a byte stream parser, would appreciate 
anything you might find useful in addition to the Streams chapter from 
Pharo by Example


--
---
Fabrice Leal




Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread stepharo

+1

We want to support Windows!
But ... 64 bits, FFI++, ARM ... well you know. Gimme 10 Millions or just 
one million

and the situation will be really different.

Stef

By the way I am all for COM for Pharo, the issue is that 2/3 of our
community are MacOS and Linux users , I dont even remember the last time we
had a Windows only topic in the mailing list. Modern languages generally
avoid using OS specific libraries, the last exceptions be C# and Swift and
C# definetly looks like it will be fully cross platform soon enough (it
already is because of Mono).

I wouldn't state such affirmations without a proper surveying.

My latest survey related with RDBMS support [1] showed that the users
of Windows are on par with the users of MacOS.

I am a Windows user, who runs most of the Pharo images inside Linux
VMs not because I don't want to run them in Windows, but because the
current support of Windows is somewhat limited.

Having COM support for Pharo in a Windows environment would be a big
enabler to a lot of current users of Smalltalk that don't use Pharo.

Esteban A. Maringolo

[1] 
https://medium.com/@emaringolo/pharo-rdbms-support-survey-results-9c8f640878db#.ym049enul







Re: [Pharo-users] Get implementors list window from Spotter

2016-10-02 Thread stepharo

Me too ;)

I thought that I was the only one not being able to use Spotter :)


I meant to add, in practice what I find happened is that I use Spotter
to do initial search for implementors, then I randomly select onne of
the so that I can do ctrl-M to get to the ImplementorsOf dialog.  It
would be nice to skip that intermediate step.


cheers -ben







Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Ben Coman
On Mon, Oct 3, 2016 at 2:52 AM, CodeDmitry  wrote:
> @kilon.alios
>
> [1]
> I like C++/CLI more than C# because it is very refreshing to use a
> language capable of using managed memory and unmanaged memory.
>
> I am too used to being in languages where garbage collection is
> forced on you and everything must be done via new or stack types
> such as Java, most scripting languages;
> Or using languages where static-types are forced on you and
> heavily encouraged over dynamic types.
>
> I feel very "free" when I write C++CLI, as it can do everything
> C# can(although many things are admitably harder), but it can also
> call C when it feels like it.
>
> [2]
> If you want to get more users, I hope you are checking the things
> people are saying about Smalltalk.
>
> In my class last week, the general concensus was that
> "Smalltalk is dead, why are we studying this useless language".


This article is about Lisp, but the same applies to Smalltalk...
http://www.paulgraham.com/avg.html

University is not just about spitting you out able to operate the
latest fashionable tools, which may change in five years  anyway.  Its
about *stretching* your mind in different directions by exposure to
*different* paradigms.  Smalltalk's immersive programming within an
environment of live and persistent objects is about as different as
you can get from the conventional file based programming.  If they've
not grokked this "blub" aspect of Smalltalk due to short-sighted
negative approach then they are missing a learning opportunity.
After University, work/life pressures provide less opportunity to
learn such different paradigms - so you may be forever blind to them.

The only languages worth learning are those that change the way you
*think* about programming.

As for why Smalltalk didn't hit mainstream yet?  It seems more a
failure of business strategy than technical fundamentals in a time
when the Internet was changing the nature of the world - including
programming with free tools and open source collaboration.
http://c2.com/cgi/wiki?WhyIsSmalltalkDead


>
> Personally, I really enjoy the environment, but I feel that the
> environment would do better from giving existing users a reason
> to tell their friends about Pharo, and to like the language.
>
> There are many things that relate to this
>
> 1. Reasons to be excited about Pharo/Smalltalk
> - It is a system where you can modify the system within the system.
> - It has a very simple syntax, which is capable of doing things as
> powerful as JavaScript.
> - It is easy to get on Windows(3 minute download self contained)...
> - It has pretty powerful prototyping means, but it's not quite as
> powerful as
>   it could be. One way to improve this would be to add a morph editor
> similar to
>   VB6. Morphs are somewhat scary to new users right now, and I feel they
> stand a bit
>   further than where AWT/Swing is in terms of difficulty getting
> started, even
>   if it is not necessarily true.
>
> 2. Quality of Life
> - Blocks the GUI thread in strange scenarios: It's really aggrevating
> when
>   it does this; when you type in code, the GUI should not freeze!
> - Make it a bit easier to remove morphs(Pit of least astonishment, shift
> alt click
>   is not obvious, and morph that consists of many morphs is somewhat
> hard to select
>   the parent morph, so you have to delete the child morph then shift alt
> click the
>   same place to select the underlying morph(eg grids).
> - More themes!
> - I know you're going to hate me for this but... It's a bit annoying to
> install
>   Pharo on 64-bit Linux right now...

This is a high priority and a 64-bit is imminent.

> - It is kind-of hard to understand what .image, .changes, and .sources
> are and
>   the material online isn't very exhaustive on their responsibilities.
> To date I
>   am not actually sure what purpose .sources serves.

For each Pharo Release the .changes file that has been running during
development is condensed to a static .sources file, so that the
Release has an empty .changes files.  So only user changes show up in
.changes.

> - It's too easy to put Pharo into inconsistant state where it harasses
> you with
>   popups. It should be easier to access the "undo whatever I just did
> please", whether
>   it is editing of code, or running a code, I am not sure how easy this
> is but at the
>   moment, it's not as up-front as it could be; It's scary when you do
> something and
>   your environment starts yelling at you. (Maybe we could use some
> Toasts instead of
>   Popups?).

With great power comes great responsibility ;)
Yes it can be tough as a newcomer when you don't know where the traps are.
Something more to help recovery would be useful.

> - Is there a Pharo alternative to JavaScript timeouts?

Can you describe Javascript timeouts?

>
> That is all I could think of for now, 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread p...@highoctane.be
Ok. Fine points.

Want to contribute? Easy: https://pharo.fogbugz.com/

Even more easy: join the association @ http://association.pharo.org/

Being using it for serious stuff and make money out of it? Join the
consortium : http://consortium.pharo.org/

Discover some little interesting gem or way to do things in it? Tweet with
#Pharo. https://twitter.com/search?q=%23Pharo
(more people should do this actually).

Use it whenever you can, it will force you to understand how to do real
stuff with it properly.

I do hackathons with it.
https://hackernoon.com/hackapost-how-hackathons-can-be-the-best-learning-tool-under-the-sun-9c97e567e0a5

I do use it to do things for customers and whoever could benefit.

I just crafted a little tool to produce summary tables for a school this
week. They were doing this computation by hand or using they somewhat basic
Excel skills. Key important thing: no complications to install that on a
Windows box: unzip folder, run Pharo. Net result: good karma.

I now of no other platform where you can get something you make an easy to
integrate part (if not in the core, in a package/configuration). This
community is smaller, contributors can actually make a difference. Think
about how it makes you feel: valued. Not yet another package in a sea of
packages.

If I were to listen what other people do, yeah, one day Scala, the next
Python, the next Angular(2), React, Node, Electron, Swift, C#, not to
mention the Hadoop bestiary ... this is a neverending stream of ever
switching tech. It will not stop. [I am using these things for real
projects mind you - https://proba-v-mep.esa.int/ is what I am busy with
half my weeks].

How does one develop a true solid understanding of the underlying
fundamentals? With Pharo you actually can. Can see how parsing works
(PetitParser), can see how VM works (read Clement Bera blog and write your
little VM thingy), can see how a click become an event and actually craft
nifty little tools, look into VM plugins and see how something is done in
various major platforms, ...). We are not just *using* what vendors throw
at us. We are actually able to go to the next level. The price for that
freedom is present. But it gives a better appreciation of the whole picture.

You sound like a fine fellow, so, welcome aboard and help us make this
thing rock even more.

Phil


On Sun, Oct 2, 2016 at 10:38 PM, CodeDmitry  wrote:

> Contribution is something I've been thinking about for quite some time
> because it's interesting how a lot of software is declared "open" but make
> it not obvious what you can do to help, or at least participate, or just
> take a glimpse at the code to see if something stands out.
>
> I am a believer that there is a way to structure a project in a way to make
> it very easy for people with decent experience in broad programming
> paradigms to jump into looking over your code and propose revisions or
> question design decisions.
>
> That said, I've also been in groups where people only want to write things
> once and forget it exists and can't handle any criticism and consider any
> questions asked to them as a waste of time, who will only work on stuff
> at last moment and won't let anybody help them.
>
> The factors I've noticed are:
>
> 1. Ease of finding the repositories which you want people to contribute to,
> and tell them apart from
> repositories which you don't want people to contribute to, or are
> irrelevant
> to the project(often a project
> is broken down into multiple repositories, and the dependency chain isn't
> clear).
>
> 2. Dependencies: If you ever took a look at a Minix Kernel, you will notice
> a huge chain of headers
> including headers including headers, scopes with over 7 variables in them,
> and nonflat hierarchies which
> look at multiple include directories, many of which are not even part of
> the
> project, eg Minix will look at
> the system's include directory to decide things rather than figure it out
> in
> a standalone way. This means
> that it is very hard to just take things out of context and understand them
> without traversing huge
> dependency chains, this really discourages contribution.
>
> 3. Strict coding guidelines: i've seen projects that force you to either
> use
> tabs, or only use spaces, or such. These are very harmful to encouraging as
> many people to participate as possible; we have tools
> to restructure code you are looking at automatically, but these tools are
> not very easy to access on
> all platforms, and need to be configured to your tastes. These tools
> improve
> productivity immensely but
> people need to be told how to use them.
>
> 4. Ease of telling "where is the start" "where is the end". Many projects
> are simply too hard to tell where the start/where the end is, and where the
> plugins are, etc. Making it clear where the VM start point is, and
> how the project is structured, how the dependency chain looks like really
> helps familiarize yourself faster,
> 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Dimitris Chloupis
you dont need to have a lot of experience to contribute, even with zero
experience as a coder if you understand the basics you can at least
contribute class comments. Contribution wise Pharo is quite flexible and if
one is lost in the process people are more than happy to help him/her out.
When I helped a Pharo student to learn , she was really suprised that I was
so helpful but on the other hand when I joined the community people really
helped me out understanding Pharo and answered even my most irrelevant
questions.

Plus even if you just want to create your own libraries as long as you
share them you still contributing enough. None will stop you from following
your own design principles , Pharo developers made it even very easy to
make your project to be installed with a single click directly from inside
the image via Package Browser. This is actually one of the big strengths of
Pharo that has made contributions so easy.

On Sun, Oct 2, 2016 at 11:45 PM CodeDmitry  wrote:

> Contribution is something I've been thinking about for quite some time
> because it's interesting how a lot of software is declared "open" but make
> it not obvious what you can do to help, or at least participate, or just
> take a glimpse at the code to see if something stands out.
>
> I am a believer that there is a way to structure a project in a way to make
> it very easy for people with decent experience in broad programming
> paradigms to jump into looking over your code and propose revisions or
> question design decisions.
>
> That said, I've also been in groups where people only want to write things
> once and forget it exists and can't handle any criticism and consider any
> questions asked to them as a waste of time, who will only work on stuff
> at last moment and won't let anybody help them.
>
> The factors I've noticed are:
>
> 1. Ease of finding the repositories which you want people to contribute to,
> and tell them apart from
> repositories which you don't want people to contribute to, or are
> irrelevant
> to the project(often a project
> is broken down into multiple repositories, and the dependency chain isn't
> clear).
>
> 2. Dependencies: If you ever took a look at a Minix Kernel, you will notice
> a huge chain of headers
> including headers including headers, scopes with over 7 variables in them,
> and nonflat hierarchies which
> look at multiple include directories, many of which are not even part of
> the
> project, eg Minix will look at
> the system's include directory to decide things rather than figure it out
> in
> a standalone way. This means
> that it is very hard to just take things out of context and understand them
> without traversing huge
> dependency chains, this really discourages contribution.
>
> 3. Strict coding guidelines: i've seen projects that force you to either
> use
> tabs, or only use spaces, or such. These are very harmful to encouraging as
> many people to participate as possible; we have tools
> to restructure code you are looking at automatically, but these tools are
> not very easy to access on
> all platforms, and need to be configured to your tastes. These tools
> improve
> productivity immensely but
> people need to be told how to use them.
>
> 4. Ease of telling "where is the start" "where is the end". Many projects
> are simply too hard to tell where the start/where the end is, and where the
> plugins are, etc. Making it clear where the VM start point is, and
> how the project is structured, how the dependency chain looks like really
> helps familiarize yourself faster,
> and lets people jump into contributing faster as they don't feel like they
> need to learn EVERYTHING
> before doing anything.
>
> 
>
> My argument is:
> Let S be the set of all people who are aware of Pharo's existence who have
> enough
> programming experience to be relevant to possibly contributing.
>
> Let C be the set of all the people in S who have an interest in
> contributing
> to Pharo, or are willing to contribute to Pharo if you were to come up to
> them and ask them to sit next to you and work on it with you. eg they have
> the time/resources but don't feel like they go out of their way to get
> started.
>
> Let N be the set of all the people in C who are actually contributing or
> will contribute to Pharo at some point.
>
> There exists a way to structure the project under a philosophy which, the
> closer you come to it,
> the more set N decreases, that is, if the philosophy is executed perfectly,
> there are no people who are
> capable of contributing something relevant, who have not done so or will
> never do so.
>
> I am not quite sure what the exhaustive philosophy is, but I suspect the
> factors up front play a part in it.
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738p4917793.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread CodeDmitry
Contribution is something I've been thinking about for quite some time
because it's interesting how a lot of software is declared "open" but make
it not obvious what you can do to help, or at least participate, or just
take a glimpse at the code to see if something stands out.

I am a believer that there is a way to structure a project in a way to make
it very easy for people with decent experience in broad programming
paradigms to jump into looking over your code and propose revisions or
question design decisions.

That said, I've also been in groups where people only want to write things
once and forget it exists and can't handle any criticism and consider any
questions asked to them as a waste of time, who will only work on stuff 
at last moment and won't let anybody help them.

The factors I've noticed are:

1. Ease of finding the repositories which you want people to contribute to,
and tell them apart from
repositories which you don't want people to contribute to, or are irrelevant
to the project(often a project
is broken down into multiple repositories, and the dependency chain isn't
clear).

2. Dependencies: If you ever took a look at a Minix Kernel, you will notice
a huge chain of headers 
including headers including headers, scopes with over 7 variables in them,
and nonflat hierarchies which
look at multiple include directories, many of which are not even part of the
project, eg Minix will look at
the system's include directory to decide things rather than figure it out in
a standalone way. This means
that it is very hard to just take things out of context and understand them
without traversing huge
dependency chains, this really discourages contribution.

3. Strict coding guidelines: i've seen projects that force you to either use
tabs, or only use spaces, or such. These are very harmful to encouraging as
many people to participate as possible; we have tools
to restructure code you are looking at automatically, but these tools are
not very easy to access on
all platforms, and need to be configured to your tastes. These tools improve
productivity immensely but
people need to be told how to use them.

4. Ease of telling "where is the start" "where is the end". Many projects
are simply too hard to tell where the start/where the end is, and where the
plugins are, etc. Making it clear where the VM start point is, and 
how the project is structured, how the dependency chain looks like really
helps familiarize yourself faster,
and lets people jump into contributing faster as they don't feel like they
need to learn EVERYTHING
before doing anything.



My argument is:
Let S be the set of all people who are aware of Pharo's existence who have
enough 
programming experience to be relevant to possibly contributing. 

Let C be the set of all the people in S who have an interest in contributing
to Pharo, or are willing to contribute to Pharo if you were to come up to
them and ask them to sit next to you and work on it with you. eg they have
the time/resources but don't feel like they go out of their way to get
started.

Let N be the set of all the people in C who are actually contributing or
will contribute to Pharo at some point.

There exists a way to structure the project under a philosophy which, the
closer you come to it,
the more set N decreases, that is, if the philosophy is executed perfectly,
there are no people who are
capable of contributing something relevant, who have not done so or will
never do so.

I am not quite sure what the exhaustive philosophy is, but I suspect the
factors up front play a part in it.





--
View this message in context: 
http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738p4917793.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Dimitris Chloupis
I don't speak for the pharo community but even when I was new to smalltalk
back 4 years ago if I have read a comment like "Smalltalk is dead, why are
we studying this useless language" I would keep my distance from that
person. Because a) calling something "dead" in software is stupid b)
calling something "useless" in software is even more stupid. I would prefer
it if I was not so rude but in situations like these its kinda pointless
hiding the obvious truth.  There are people who still code entire OSs for
my first computer Amstrad CPC 6128 a computer back from 1988 with 128 kb of
Ram and 4 hz of cpu.  One such OS has multitasking , GUIs, video player,
web browser and all that built on technology that is 30 years old and
thousands times slower, thats how useful "dead" software is.

Ask the same people for how long Java has been dead , because people have
been declaring the death of Java for decades now. Java is beyond dead , its
actually the queen of undead.

I am not promoting either Smalltalk or Pharo because frankly there are
better alternatives out there. But I am using Pharo because I find the
whole environment very enjoyable for my taste. I also admire people of this
community because they are not afraid to break away from popularity and
innovate, I find this very refreshing. Software development is littered
with unimaginative clones, Pharo is a breath of fresh air.

There are many flaws in Pharo and I think as a community we are well aware
of them , for us it was never an issue what we should do to bring new users
, but rather how to convince more people to contribute because in the end
problems dont fix themselves. This a known problem for vast majority of
open source software and if we use your class criteria most software is
"dead" by these standards.

-Morphic designer has been tried in the past, its a huge project and quite
complex to pull through. I would not hold my breath.
-Pharo is not 64 bit, yet, but soon
-The perks of allowing the system to be hacked easily are that you going to
have some severe side effects in some cases, especially if you dont know
what you are doing.
-Popups , no idea what you mean , I dont have such problem
- sources is exactly what the name says, source code, the image contains
only bytecode, so without sources you cannot view the source code of the
system
- Easier morph removal exists, just inspect the parent morph the inspector
will show you the children then go to the child you want to delete and
issue a self delete command. But yeah halos could be improved in this case.
-As phil said, use fork for delay and your image will never freeze again
because of the code you executed.

I understand someone not wanting to learn Pharo or Smalltalk on the basis
he wont use it as a professional, I sympathize.  Then again, I have not
used 99% of the languages I have learned.Do I regret learning them ? Nope,
they made me a better programmer and that is what Pharo is doing too.

Lets be sincere here , people who love to be spoon fed wont be contributing
to open source project any time soon. Contributing to an open source
project is difficult, require patience and determination.

No GC language forces you to use garbage collection you can circumvent it
easily using an FFI. But then if you have no intention of taking advantage
of GC then there is no point on using a GC language and I can understand
why you prefer C++ CLI. On other hand Pharo does enforce dynamic types but
then OOP by nature is dynamic anyway.

On Sun, Oct 2, 2016 at 9:59 PM CodeDmitry  wrote:

> @kilon.alios
>
> [1]
> I like C++/CLI more than C# because it is very refreshing to use a
> language capable of using managed memory and unmanaged memory.
>
> I am too used to being in languages where garbage collection is
> forced on you and everything must be done via new or stack types
> such as Java, most scripting languages;
> Or using languages where static-types are forced on you and
> heavily encouraged over dynamic types.
>
> I feel very "free" when I write C++CLI, as it can do everything
> C# can(although many things are admitably harder), but it can also
> call C when it feels like it.
>
> [2]
> If you want to get more users, I hope you are checking the things
> people are saying about Smalltalk.
>
> In my class last week, the general concensus was that
> "Smalltalk is dead, why are we studying this useless language".
>
> Personally, I really enjoy the environment, but I feel that the
> environment would do better from giving existing users a reason
> to tell their friends about Pharo, and to like the language.
>
> There are many things that relate to this
>
> 1. Reasons to be excited about Pharo/Smalltalk
> - It is a system where you can modify the system within the system.
> - It has a very simple syntax, which is capable of doing things as
> powerful as JavaScript.
> - It is easy to get on Windows(3 minute download self contained)...
> - It has pretty powerful 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread p...@highoctane.be
On Sun, Oct 2, 2016 at 8:52 PM, CodeDmitry  wrote:

> @kilon.alios
>
> [1]
> I like C++/CLI more than C# because it is very refreshing to use a
> language capable of using managed memory and unmanaged memory.
>
> I am too used to being in languages where garbage collection is
> forced on you and everything must be done via new or stack types
> such as Java, most scripting languages;
> Or using languages where static-types are forced on you and
> heavily encouraged over dynamic types.
>
> I feel very "free" when I write C++CLI, as it can do everything
> C# can(although many things are admitably harder), but it can also
> call C when it feels like it.
>
> [2]
> If you want to get more users, I hope you are checking the things
> people are saying about Smalltalk.
>
> In my class last week, the general concensus was that
> "Smalltalk is dead, why are we studying this useless language".
>
> Personally, I really enjoy the environment, but I feel that the
> environment would do better from giving existing users a reason
> to tell their friends about Pharo, and to like the language.
>
> There are many things that relate to this
>
> 1. Reasons to be excited about Pharo/Smalltalk
> - It is a system where you can modify the system within the system.
> - It has a very simple syntax, which is capable of doing things as
> powerful as JavaScript.
> - It is easy to get on Windows(3 minute download self contained)...
> - It has pretty powerful prototyping means, but it's not quite as
> powerful as
>   it could be. One way to improve this would be to add a morph editor
> similar to
>   VB6. Morphs are somewhat scary to new users right now, and I feel
> they
> stand a bit
>   further than where AWT/Swing is in terms of difficulty getting
> started, even
>   if it is not necessarily true.
>
> 2. Quality of Life
> - Blocks the GUI thread in strange scenarios: It's really aggrevating
> when
>   it does this; when you type in code, the GUI should not freeze!
> - Make it a bit easier to remove morphs(Pit of least astonishment,
> shift
> alt click
>   is not obvious, and morph that consists of many morphs is somewhat
> hard to select
>   the parent morph, so you have to delete the child morph then shift
> alt
> click the
>   same place to select the underlying morph(eg grids).
> - More themes!
> - I know you're going to hate me for this but... It's a bit annoying to
> install
>   Pharo on 64-bit Linux right now...
> - It is kind-of hard to understand what .image, .changes, and .sources
> are and
>   the material online isn't very exhaustive on their responsibilities.
> To date I
>   am not actually sure what purpose .sources serves.
> - It's too easy to put Pharo into inconsistant state where it harasses
> you with
>   popups. It should be easier to access the "undo whatever I just did
> please", whether
>   it is editing of code, or running a code, I am not sure how easy this
> is but at the
>   moment, it's not as up-front as it could be; It's scary when you do
> something and
>   your environment starts yelling at you. (Maybe we could use some
> Toasts instead of
>   Popups?).
> - Is there a Pharo alternative to JavaScript timeouts?
>

forking a process with a delay in it?

[ 
(DelayWaitTimeout forSeconds: 2) wait ] fork


>
> That is all I could think of for now, probably not going to help you much
> but I wanted
> to give my 1/1000 of a cent.
>
>
>
> --
> View this message in context: http://forum.world.st/Intro-
> to-Microsoft-COM-for-Smalltalkers-tp4917738p4917788.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>


Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread CodeDmitry
@kilon.alios

[1]
I like C++/CLI more than C# because it is very refreshing to use a 
language capable of using managed memory and unmanaged memory.

I am too used to being in languages where garbage collection is
forced on you and everything must be done via new or stack types 
such as Java, most scripting languages;
Or using languages where static-types are forced on you and
heavily encouraged over dynamic types.

I feel very "free" when I write C++CLI, as it can do everything
C# can(although many things are admitably harder), but it can also
call C when it feels like it.

[2]
If you want to get more users, I hope you are checking the things
people are saying about Smalltalk.

In my class last week, the general concensus was that 
"Smalltalk is dead, why are we studying this useless language".

Personally, I really enjoy the environment, but I feel that the
environment would do better from giving existing users a reason
to tell their friends about Pharo, and to like the language.

There are many things that relate to this

1. Reasons to be excited about Pharo/Smalltalk
- It is a system where you can modify the system within the system.
- It has a very simple syntax, which is capable of doing things as
powerful as JavaScript.
- It is easy to get on Windows(3 minute download self contained)... 
- It has pretty powerful prototyping means, but it's not quite as
powerful as
  it could be. One way to improve this would be to add a morph editor
similar to
  VB6. Morphs are somewhat scary to new users right now, and I feel they
stand a bit
  further than where AWT/Swing is in terms of difficulty getting
started, even
  if it is not necessarily true.

2. Quality of Life
- Blocks the GUI thread in strange scenarios: It's really aggrevating
when
  it does this; when you type in code, the GUI should not freeze!
- Make it a bit easier to remove morphs(Pit of least astonishment, shift
alt click
  is not obvious, and morph that consists of many morphs is somewhat
hard to select
  the parent morph, so you have to delete the child morph then shift alt
click the
  same place to select the underlying morph(eg grids).
- More themes! 
- I know you're going to hate me for this but... It's a bit annoying to
install
  Pharo on 64-bit Linux right now...
- It is kind-of hard to understand what .image, .changes, and .sources
are and 
  the material online isn't very exhaustive on their responsibilities.
To date I
  am not actually sure what purpose .sources serves.
- It's too easy to put Pharo into inconsistant state where it harasses
you with
  popups. It should be easier to access the "undo whatever I just did
please", whether
  it is editing of code, or running a code, I am not sure how easy this
is but at the
  moment, it's not as up-front as it could be; It's scary when you do
something and
  your environment starts yelling at you. (Maybe we could use some
Toasts instead of 
  Popups?).
- Is there a Pharo alternative to JavaScript timeouts? 

That is all I could think of for now, probably not going to help you much
but I wanted
to give my 1/1000 of a cent.



--
View this message in context: 
http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738p4917788.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread p...@highoctane.be
I would for sure second that.

I am using COM for dealing with this thing: http://www.sparxsystems.com/
about all day long a couple days a week.

Bridging this with Roassal/Moose for additional visualisations would be
super (I am going to look at that one in the coming weeks to help with the
overall quality assessment of a quite large model).

Phil





On Sun, Oct 2, 2016 at 5:44 PM, Esteban A. Maringolo 
wrote:

> 2016-10-02 10:57 GMT-03:00 Dimitris Chloupis :
> > By the way I am all for COM for Pharo, the issue is that 2/3 of our
> > community are MacOS and Linux users , I dont even remember the last time
> we
> > had a Windows only topic in the mailing list. Modern languages generally
> > avoid using OS specific libraries, the last exceptions be C# and Swift
> and
> > C# definetly looks like it will be fully cross platform soon enough (it
> > already is because of Mono).
>
> I wouldn't state such affirmations without a proper surveying.
>
> My latest survey related with RDBMS support [1] showed that the users
> of Windows are on par with the users of MacOS.
>
> I am a Windows user, who runs most of the Pharo images inside Linux
> VMs not because I don't want to run them in Windows, but because the
> current support of Windows is somewhat limited.
>
> Having COM support for Pharo in a Windows environment would be a big
> enabler to a lot of current users of Smalltalk that don't use Pharo.
>
> Esteban A. Maringolo
>
> [1] https://medium.com/@emaringolo/pharo-rdbms-support-survey-results-
> 9c8f640878db#.ym049enul
>
>
>


Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Dimitris Chloupis
Well first of all what you linked supports my claim that 2/3 of Pharo users
are MacOS and Linux users which I based on another survey which pretty much
verifies what you linked.

Second the vast majorities of libraries out other for any programming
language are cross platform so I am willing to bet that we will attract
even more users if we emphasize cross platform support instead of libraries
that OS exclusive. Of course that implies good support for Windows too.

It will be kinda ironic Microsoft to beats us in the ability to be cross
platform.

Third I already said I fully support the effort to bring COM features to
Pharo, the exact wording "By the way I am all for COM for Pharo" leave
little to doubt if nothing at all. I would not use nor I would recommend
using a OS specific library but there are definitely scenarios where it
makes sense to use one and having it around is much better than not having
it around.

On Sun, Oct 2, 2016 at 6:46 PM Esteban A. Maringolo 
wrote:

> 2016-10-02 10:57 GMT-03:00 Dimitris Chloupis :
> > By the way I am all for COM for Pharo, the issue is that 2/3 of our
> > community are MacOS and Linux users , I dont even remember the last time
> we
> > had a Windows only topic in the mailing list. Modern languages generally
> > avoid using OS specific libraries, the last exceptions be C# and Swift
> and
> > C# definetly looks like it will be fully cross platform soon enough (it
> > already is because of Mono).
>
> I wouldn't state such affirmations without a proper surveying.
>
> My latest survey related with RDBMS support [1] showed that the users
> of Windows are on par with the users of MacOS.
>
> I am a Windows user, who runs most of the Pharo images inside Linux
> VMs not because I don't want to run them in Windows, but because the
> current support of Windows is somewhat limited.
>
> Having COM support for Pharo in a Windows environment would be a big
> enabler to a lot of current users of Smalltalk that don't use Pharo.
>
> Esteban A. Maringolo
>
> [1]
> https://medium.com/@emaringolo/pharo-rdbms-support-survey-results-9c8f640878db#.ym049enul
>
>


Re: [Pharo-users] Glorp

2016-10-02 Thread Esteban A. Maringolo
2016-10-02 2:37 GMT-03:00 stepharo :
> should not we removed DBXGlorp if it is not up to date?
>
> Is BDXGlorp based on latest Glorp port?

GlorpDBX is nothing but a name to a Metacello config that used to load
both Glorp and the OpenDBX (now garageDB) drivers.


Esteban A. Maringolo



Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Esteban A. Maringolo
2016-10-02 10:57 GMT-03:00 Dimitris Chloupis :
> By the way I am all for COM for Pharo, the issue is that 2/3 of our
> community are MacOS and Linux users , I dont even remember the last time we
> had a Windows only topic in the mailing list. Modern languages generally
> avoid using OS specific libraries, the last exceptions be C# and Swift and
> C# definetly looks like it will be fully cross platform soon enough (it
> already is because of Mono).

I wouldn't state such affirmations without a proper surveying.

My latest survey related with RDBMS support [1] showed that the users
of Windows are on par with the users of MacOS.

I am a Windows user, who runs most of the Pharo images inside Linux
VMs not because I don't want to run them in Windows, but because the
current support of Windows is somewhat limited.

Having COM support for Pharo in a Windows environment would be a big
enabler to a lot of current users of Smalltalk that don't use Pharo.

Esteban A. Maringolo

[1] 
https://medium.com/@emaringolo/pharo-rdbms-support-survey-results-9c8f640878db#.ym049enul



Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Dimitris Chloupis
By the way I am all for COM for Pharo, the issue is that 2/3 of our
community are MacOS and Linux users , I dont even remember the last time we
had a Windows only topic in the mailing list. Modern languages generally
avoid using OS specific libraries, the last exceptions be C# and Swift and
C# definetly looks like it will be fully cross platform soon enough (it
already is because of Mono).

On Sun, Oct 2, 2016 at 4:49 PM Dimitris Chloupis 
wrote:

> Well that is not fair because C++ CLI is basically C++ .NET which is
> another language altogether baring some resemblance to C++.
>
> And you dont need C++ CLI to sit on barrier of runtime and compile , C++
> can do this just fine.
>
> I found this recently trying to experiment at whether its possible to do
> live coding with C++. I found it after following tutorials that is very
> possible doing that isfyou put only a super minimal code loop in the
> executable that loads DLLs and divert all other code to DLLs. This gives
> you ability to have instant compilation and change code while it is
> executed. For live data you can put all data to a place in memory and then
> pass the memory as pointer to the DLLs. This give you live inspection of
> data and live change of data. You can even protect yourself from crashes ,
> something that Pharo cannot currently do, by wrapping the loading of the
> DLLs to an OS exception, the executable will never crash but it will show
> the crash errors. Of course you can hook the debugger for live debugging
> etc.
>
> You can find my experiment here
> https://github.com/kilon/LiveCPP
> and find more info here
> https://www.youtube.com/watch?v=WMSBRk5WG58
>
> My complains however is over the design of WIndows APIs for C++ , they are
> beyond ugly, the naming convention alone has a notoriously bad reputation.
>
> .NET is another thing altogether, its a beauty. Its actually an insult to
> put C# and Java on the same sentence, many coders think that C# is a rip
> off of Java but nothing could be further from the truth. The creator of
> .NET is not Microsoft , Microsoft has no clue what good design is, its a
> coder they hired that worked previously with Borland and created the
> gorgeous Delphi. Delphi is the only true pro quality Smalltalk out there,
> without being a Smalltalk. That may sound as a contradiction and it is.
> Delphi does not use the Smalltalk language , instead uses Object Pascal but
> pretty much else is a recipe take from the Smalltalk book, notable the API
> which Delphi calls VCL and the IDE. The API is of special interest here
> because it has been the first pro quality api to utilize full OO the proper
> way , with well designed objects and carefully mapped class inheritance.
> Java on the other hand like windows C++ APIs is a huge pile of mess. The
> same coder designed C# and .NET and used all the ideas he used with Delphi
> , winforms alone is a large rip off of Delphi's GUI api.
>
> But even with this beauty Microsoft could help itself dropping the ball,
> so what it did was to completely ignore the cross platform ability of .NET
> , hence why Java kept the lead. The excuse was mainly the Windows Mobile
> that Microsoft dreamed of competing with iOS and Android but that dream
> eventually failed with the spectacular commercial failure of Microsoft
> smartphones. So Microsoft did the expected thing, accepted defeat and
> bought the company that already ported .NET to iOS and Android and
> countless other platforms and named it Mono. The company is called Xamarin.
>
> Fortunately Microsoft seems to learn from its past mistakes and has
> recently redesigned .NET to better support cross platform and even open
> sourced it.
>
> Personally I love .NET and I would not mind at all coding on C# and
> ironpython  (.NET variant of python). Mircrosoft definetly has lost
> interest in C++ anyway , it has seen the rapidly decline of the language of
> the language and the mass migration to Java. Java may be ugly but it cured
> of the pain of manual memory management and offered the first pure business
> orientated API with the best cross platform support. Java also destroyed
> the myth that a Garbage Collector cannot reach top performance and compete
> with C++ code. In sort Java is not as popular because of the design of its
> libraries but is certainly extremely popular for a lot other reasons.
>
> The question is why you even bother with C++ CLI , C++ CLI was created
> mainly to bridge C++ with C# / .NET languages, is there a reason you prefer
> it over C# ?
>
> On Sun, Oct 2, 2016 at 2:01 PM CodeDmitry  wrote:
>
> To be fair, C++CLI is quite a pleasure to code, it's a very refreshing
> technology that sits nicely on the barrier of runtime and compiletime,
> similar to Objective C; eg still has access to unmanaged resources, while
> still having managed resources in contrast to Java/C# which kinda go one
> step towards runtime, and ISO C++ which tries to stay within 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Dimitris Chloupis
Well that is not fair because C++ CLI is basically C++ .NET which is
another language altogether baring some resemblance to C++.

And you dont need C++ CLI to sit on barrier of runtime and compile , C++
can do this just fine.

I found this recently trying to experiment at whether its possible to do
live coding with C++. I found it after following tutorials that is very
possible doing that isfyou put only a super minimal code loop in the
executable that loads DLLs and divert all other code to DLLs. This gives
you ability to have instant compilation and change code while it is
executed. For live data you can put all data to a place in memory and then
pass the memory as pointer to the DLLs. This give you live inspection of
data and live change of data. You can even protect yourself from crashes ,
something that Pharo cannot currently do, by wrapping the loading of the
DLLs to an OS exception, the executable will never crash but it will show
the crash errors. Of course you can hook the debugger for live debugging
etc.

You can find my experiment here
https://github.com/kilon/LiveCPP
and find more info here
https://www.youtube.com/watch?v=WMSBRk5WG58

My complains however is over the design of WIndows APIs for C++ , they are
beyond ugly, the naming convention alone has a notoriously bad reputation.

.NET is another thing altogether, its a beauty. Its actually an insult to
put C# and Java on the same sentence, many coders think that C# is a rip
off of Java but nothing could be further from the truth. The creator of
.NET is not Microsoft , Microsoft has no clue what good design is, its a
coder they hired that worked previously with Borland and created the
gorgeous Delphi. Delphi is the only true pro quality Smalltalk out there,
without being a Smalltalk. That may sound as a contradiction and it is.
Delphi does not use the Smalltalk language , instead uses Object Pascal but
pretty much else is a recipe take from the Smalltalk book, notable the API
which Delphi calls VCL and the IDE. The API is of special interest here
because it has been the first pro quality api to utilize full OO the proper
way , with well designed objects and carefully mapped class inheritance.
Java on the other hand like windows C++ APIs is a huge pile of mess. The
same coder designed C# and .NET and used all the ideas he used with Delphi
, winforms alone is a large rip off of Delphi's GUI api.

But even with this beauty Microsoft could help itself dropping the ball, so
what it did was to completely ignore the cross platform ability of .NET ,
hence why Java kept the lead. The excuse was mainly the Windows Mobile that
Microsoft dreamed of competing with iOS and Android but that dream
eventually failed with the spectacular commercial failure of Microsoft
smartphones. So Microsoft did the expected thing, accepted defeat and
bought the company that already ported .NET to iOS and Android and
countless other platforms and named it Mono. The company is called Xamarin.

Fortunately Microsoft seems to learn from its past mistakes and has
recently redesigned .NET to better support cross platform and even open
sourced it.

Personally I love .NET and I would not mind at all coding on C# and
ironpython  (.NET variant of python). Mircrosoft definetly has lost
interest in C++ anyway , it has seen the rapidly decline of the language of
the language and the mass migration to Java. Java may be ugly but it cured
of the pain of manual memory management and offered the first pure business
orientated API with the best cross platform support. Java also destroyed
the myth that a Garbage Collector cannot reach top performance and compete
with C++ code. In sort Java is not as popular because of the design of its
libraries but is certainly extremely popular for a lot other reasons.

The question is why you even bother with C++ CLI , C++ CLI was created
mainly to bridge C++ with C# / .NET languages, is there a reason you prefer
it over C# ?

On Sun, Oct 2, 2016 at 2:01 PM CodeDmitry  wrote:

> To be fair, C++CLI is quite a pleasure to code, it's a very refreshing
> technology that sits nicely on the barrier of runtime and compiletime,
> similar to Objective C; eg still has access to unmanaged resources, while
> still having managed resources in contrast to Java/C# which kinda go one
> step towards runtime, and ISO C++ which tries to stay within compile time.
>
> Windows Programming isn't quite that bad now with C++CLI, my image is
> contrived to demonstrate one of my first successful attempts at getting COM
> to actually do something other than give me compilation errors.
>
>
>
> --
> View this message in context:
> http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738p4917767.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread CodeDmitry
To be fair, C++CLI is quite a pleasure to code, it's a very refreshing
technology that sits nicely on the barrier of runtime and compiletime,
similar to Objective C; eg still has access to unmanaged resources, while
still having managed resources in contrast to Java/C# which kinda go one
step towards runtime, and ISO C++ which tries to stay within compile time.

Windows Programming isn't quite that bad now with C++CLI, my image is
contrived to demonstrate one of my first successful attempts at getting COM
to actually do something other than give me compilation errors.



--
View this message in context: 
http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738p4917767.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] About Seaside3.2

2016-10-02 Thread stepharo

Hi denis

I took again the latest 50 seaside32 and there is ZnZincServerAdaptor 
loaded.



server := ZnZincServerAdaptor startOn: 8080



server := ZnZincServerAdaptor startOn: 8080





Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread Esteban Lorenzano

> On 2 Oct 2016, at 07:09, stepharo  wrote:
> 
> ;)
> 
> 
> btw are working on a com lib for pharo because we were discussing it with 
> esteban

yes, Pablo already has a prototype working :)

Esteban

> 
> 
> 
> Le 2/10/16 à 04:09, CodeDmitry a écrit :
>> Just made this image, I thought it would be fun to share :3 (Yes there are a
>> few memory leaks there due to no SysFreeString to match SysAllocString, but
>> regardless...
>> 
>> http://i.imgur.com/Fz36SHU.png
>> 
>> COM to Microsoft Windows seems to be like Smalltalk to Smalltalk Runtime,
>> with Object Browser being the Windows Registry.
>> 
>> 
>> 
>> --
>> View this message in context: 
>> http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>> 
>> 
> 
> 




Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-02 Thread John Pfersich
Hey, all you have to do is reboot your computer (often). 

Sent from my iPhone

> On Oct 1, 2016, at 22:53, Dimitris Chloupis  wrote:
> 
> Ah the ugliness of Windoom programming has not changed since the last time I 
> tried to learn MFC 20 years ago.it melts my eyes. 
> 
> COM is an IPC tool, Windows registry is still a horrible idea. No connection 
> with Smalltalk whatsoever . And of course we don't worry about memory leaks. 
> 
>> On Sun, 2 Oct 2016 at 04:15, CodeDmitry  wrote:
>> Just made this image, I thought it would be fun to share :3 (Yes there are a
>> few memory leaks there due to no SysFreeString to match SysAllocString, but
>> regardless...
>> 
>> http://i.imgur.com/Fz36SHU.png
>> 
>> COM to Microsoft Windows seems to be like Smalltalk to Smalltalk Runtime,
>> with Object Browser being the Windows Registry.
>> 
>> 
>> 
>> --
>> View this message in context: 
>> http://forum.world.st/Intro-to-Microsoft-COM-for-Smalltalkers-tp4917738.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>