[Pharo-users] Re: Run old 32-Bit image on 64-Bit macOS

2022-02-02 Thread Jupiter Jones
I had a similar issue and ended up installing an ubuntu VM under VMWare Fusion 
and running older versions of Pharo there.

> On 3 Feb 2022, at 12:34 am, Steffen Märcker  wrote:
> 
> Hi,
> I am looking for a way to run an old 32-Bit image on a modern Mac
> (Montery). Pharo launcher gives me the following error:
> 
> Cannot run Prism Grammar (Pharo 6.1)!
> This image requires a 32-Bit VM to run and 32-Bit applications are not
> supported on this Operating System.
> 
> Is there a way to run it nevertheless? I want to extract some old app/code
> from the image for further use.
> 
> Best, Steffen


[Pharo-users] [ANN] When Pigeons Talk: The Evolution of Programming Education

2022-02-02 Thread horrido . hobbies
I’d like to give a shout out to David Buck’s latest project: 
https://richardeng.medium.com/when-pigeons-talk-the-evolution-of-programming-education-6a12790ec5ea

I think it’s a very worthy project and it deserves your support.

By the way,  he’s one of the four keynote speakers at Camp Smalltalk Supreme. 
Don’t forget to register your presentations before the mid-March deadline.

Thanks,

Richard


[Pharo-users] Re: Run old 32-Bit image on 64-Bit macOS

2022-02-02 Thread Esteban Lorenzano
Hello,

I'm sorry, you can't :(
macOS transitioned to 64bit without backwards compatibility so is not possible 
to read a 32bit images there right now.
The easiest solution is to run your image in a linux 32bit virtual machine and 
recover your code there.

Esteban
ps: Yes, other solutions are possible, but this is the easiest.
On Feb 2 2022, at 2:34 pm, Steffen Märcker  wrote:
> Hi,
> I am looking for a way to run an old 32-Bit image on a modern Mac
> (Montery). Pharo launcher gives me the following error:
>
> Cannot run Prism Grammar (Pharo 6.1)!
> This image requires a 32-Bit VM to run and 32-Bit applications are not
> supported on this Operating System.
>
> Is there a way to run it nevertheless? I want to extract some old app/code
> from the image for further use.
>
> Best, Steffen

[Pharo-users] Run old 32-Bit image on 64-Bit macOS

2022-02-02 Thread Steffen Märcker

Hi,
I am looking for a way to run an old 32-Bit image on a modern Mac
(Montery). Pharo launcher gives me the following error:

Cannot run Prism Grammar (Pharo 6.1)!
This image requires a 32-Bit VM to run and 32-Bit applications are not
supported on this Operating System.

Is there a way to run it nevertheless? I want to extract some old app/code
from the image for further use.

Best, Steffen


[Pharo-users] mentor wanted for a web application

2022-02-02 Thread Roelof Wobben via Pharo-users

Hello,

I like Pharo a lot and I like to make a web site with it for a volunteer 
organisation.


For the web site I need a login system.
And some products which can be "borrowed" by a client which has a 
subscription.


We have also some volunteer in the "shop"  where a client can also 
"borrow" some toys.

So a client can "borrow"  some toys  in the "shop" and also on the internet.

So I hope someone can and will be a mentor for me so we discuss the best 
way to make such a website.
So which "framework"  to use and which database to use and which classes 
I need


Regards,

Roelof


[Pharo-users] Re: What is "Fluid"?

2022-02-02 Thread Marcus Denker



> On 2 Feb 2022, at 09:04, contac...@kathe.in wrote:
> 
> I have attached 2 cropped screen-captures of the same class displayed in the 
> class browser;
> class-smalltalk.png is the regular class syntax,
> class-fluid.png is the same class but with the "Fluid" checkbox selected, and 
> shows a different syntax.
> 

This is no different syntax, as there is no Syntax (in the sense of Grammar) to 
define classes. 

These are all message sends, just like before.

> May I know what that is all about?
> 
> There's a different terminology too, something called "slot", which I have 
> faint memories of being quite like that in "Self" environments.
> 

The Fluid class definition has two goals:

1) be extensible.

With the ST80 way, any new parameter would mean adding *a lot* of methods. And 
every new parameter needs all the other variations,
it’s a serious combinatorial explosion.

Just an example: CompiledMethods and CompiledBlock use CompiledMethodLayout.

But they are created with:

CompiledCode variableByteSubclass: #CompiledMethod
instanceVariableNames: ''
classVariableNames: ''
package: 'Kernel-Methods'

So the system checks for the name and uses the CompiledMethodLayout instead of 
ByteLayout.
This is hacked in to the system really with “if the name is CompiledMethod, do 
not use ByteLayout but CompiledMethodLayout.”

But now

CompiledCode classLayout  ==> "a CompiledMethodLayout”

Which means yes, we have a class that we can not define! 

With the new class definition, this is explicit:

CompiledCode << #CompiledBlock
layout: CompiledMethodLayout;
slots: {};
tag: 'Methods';
package: ‘Kernel'

Now of course we could have added ~20 methods (not sure if that is enough…) of 
a compiledMethodSubclass:, and
added a version with the layout as a parameter (another 20+1 variants).

But what if we want to add yet another parameter? What is *you* want to do that?

With Fluid, class defintions are extensible, and we can easily extend them.

2) Why are variables not a list of names in a String anymore?

Because we have “First Class Variables”: every variable in the system has a 
meta-object, which is implemented
by a class. 

Point instanceVariables first "#x => InstanceVariableSlot”

So yes, there is an Object that represents “the variable #x in Point”. With an 
api. The compiler delegates
code generation to it fore read and write. You can think of it as a  Meta 
Object Protocol for Variables...

(I sometimes wonder if the name Slot was good, we could just think of it as  
“InstanceVariable” in the sense of
the Variable being modelled as an object, instead of a String).

This is a big topic, but the idea is: let’s use Objects, not Strings!

We can define our own kind of Variable (see the hierarchy of Variable), and the 
use of the array {} now allows us to 
actually define a class that uses this special kind of Variable.

There is a presentation I did about it last year:

https://vimeo.com/603398445


Marcus




[Pharo-users] Re: What can you do with Pharo?

2022-02-02 Thread Kasper Osterbye
Cheers

I restarted with smalltalk in the form of Pharo a few years back, so in a 
somewhat similar situation. I have done several different things:
Contributed to a number of different things in the Pharo community, fixing 
issues, commented on issues, and been involved in one of the sub-areas of Pharo 
(markdown support in the system itself)
We own a small hobby farm of 30 sheeps with 50-60 lambs a year. I have made a 
tool to help all the management of this.
I am responsible for memberships and fees in our kayakclub. I have made a 
system which help me keep information consistent across the few platforms we 
use to make sure all are billed the right amount.
My wife and I keep track of our pension stock portefolio ourselves using a 
system I built (rather specific to the csv files I am able to pull from the 
bank).

So, I believe one can build anything. The learning curve is somewhat steep, and 
many libraries have odd names, the code quality varies from elegant to 
over-engineered (in my view). But there is always friendly help on discord 
which is very nice. 

Best,

Kasper

> On 2 Feb 2022, at 08.55, contac...@kathe.in wrote:
> 
> I am new to Pharo, so pardon my ignorance.
> 
> I used to be a professional developer between 1996 and 2007 during which time 
> I developed personal Management Information Systems for employees at my 
> company's HRD using Microsoft Access, then moved on to leading a team of C++ 
> developers to build a graphical operating environment atop the bare Linux 
> kernel, then took up rapid prototyping using PHP at various Web-related 
> startups.
> 
> I have been aware of Smalltalk since 1999 and have only fiddled-around with 
> it, though have failed to learn how to produce software due to the different 
> syntax (as compared to C++ and PHP).
> 
> I would like to focus on Smalltalk more seriously and found the cleanness of 
> Pharo to be quite refreshing.
> My problem is that I can't figure out what I could build using the wonderful 
> tools in the amazing environment that is Pharo.
> 
> Project ideas are most welcome, though, I no longer wish to develop for the 
> Web.
> 
> Best regards,
> 
> ~Kathe
>  



[Pharo-users] What is "Fluid"?

2022-02-02 Thread contactme

I have attached 2 cropped screen-captures of the same class displayed in the 
class browser;
class-smalltalk.png is the regular class syntax,
class-fluid.png is the same class but with the "Fluid" checkbox selected, and 
shows a different syntax.

May I know what that is all about?

There's a different terminology too, something called "slot", which I have 
faint memories of being quite like that in "Self" environments.

Thank you,

~Kathe