Survey: what do you do with Squeak, what do you *want* to do?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
57 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: next Squeak e.V. meeting (was "Survey: what do you do with Squeak, what do you *want* to do?")

Craig Latta

Hi Mathieu--

> ...I like to attend the yearly Squeak e.V. Treffen (/meeting) at HPI
> in Potsdam Germany, to give a short presentation of our Smalltalk
> usage and especially to see others present their interesting Smalltalk
> related (research) projects.

     When is the next one?


     greetings!

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)


Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Chris Muller-3
In reply to this post by Nicolas Cellier
On Fri, Apr 27, 2018 at 2:57 PM, Nicolas Cellier
<[hidden email]> wrote:

>
>
> 2018-02-22 2:36 GMT+01:00 tim Rowledge <[hidden email]>:
>>
>> At the latest board meeting we got to discussing the relative quietness of
>> the squeak list(s) recently. We were wondering what you folks out there are
>> doing with Squeak, what you'd like to be able to use it for, the things that
>> you think would be important to improve it for wider use and so on.
>>
>> Please, whether you're a frequent user or an occasional look-at-the-list
>> type, take a moment to let us know your opinions.
>
>
> There's no reason for board members to not answer

+1

Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Florin Mateoc-4
In reply to this post by Ben Coman
On 4/28/2018 12:06 PM, Ben Coman wrote:


On 28 April 2018 at 21:49, Sean P. DeNigris <[hidden email]> wrote:
Nicolas Cellier wrote
> The growing gap with Pharo is not helping and is really annoying me

+1 but what can be done? The divergence is more and more fundamental e.g.
namespaces are only available on Squeak, stateful Traits/real packages
(RPackage) only on Pharo. For a time, I tried to sync all my projects
between the two, but the effort is exponential, and it wasn't even clear if
there would be users…

This will only get worse with Pharo moving to Bloc and presumably 
Squeak dependent projects requiring Morphic for a long time.


snip

If Squeak saw some value in having a similar bootstrap, 
then leveraging Pharo's efforts would make sense and might result in 
some *known* common minimal stage (e.g. pre-GUI) between distributions. 
Maintenance effort could then at least be shared at that level.

Such a minimal common bootstrap would probably suit being hosted under the OpenSmalltalk banner.


Speaking of which, one obvious point of contact could/should be smalltalkhub. I am not sure if or how often squeakers are using it, and it might be that I am missing something, but I tried to load John Brant's SmaCC as instructed on his page and failed miserably, although SmaCC should be a poster child for sharing between different Smalltalks. It was built with sharing in mind, it works for and within VA, VW and Pharo. Furthermore, the project as published on smalltalkhub has already taken care of separating the Pharo-only parts (mostly UI), and the configuration has a spec called #common (as opposed to #pharo) that should be loadable in Squeak.

John's instructions say:

Gofer new
    smalltalkhubUser: 'johnBrant' project: 'SmaCC';
    configurationOf: 'SmaCC';
    loadBleedingEdge

Yet this clearly does not work out of the box in Squeak, so after following the Metacello instructions and loading it (which did work nicely), I had to not only fileIn a couple of Pharo classes (GoferConfigurationReference. GoferMetacelloLoad and MCSmalltalkhubRepository) to Squeak, but I had to also add several methods to Gofer and MCSmalltalkhubRepository. While in Gofer they were just some additional utility methods from Pharo, the ones in MCSmalltalkhubRepository were needed to override inherited behavior, plus for some reason WebClient did not work for me, so I had to make sure to use HTTPSocket (which also has to replace the Pharo Zinc client).

The Gofer-related code would thus be identical with the one in Pharo, unfortunately MCSmalltalkhubRepository will probably have to diverge, but I think that's a small price to pay.
I have attached as changesets the added methods.

Florin





Gofer.fm.1.cs (1K) Download Attachment
MCSmalltalkhubRepository.fm.1.cs (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: next Squeak e.V. meeting (was "Survey: what do you do with Squeak, what do you *want* to do?")

marcel.taeumel
In reply to this post by Craig Latta
Hi Craig,

I suppose that we will go for October again. Not sure about an additional one in the summer.

Best,
Marcel

---
Squeak Deutschland e.V.
c/o Freudenberg, Potsdamer Str. 3a
39114 Magdeburg, GERMANY


Am 28.04.2018 19:41:22 schrieb Craig Latta <[hidden email]>:


Hi Mathieu--

> ...I like to attend the yearly Squeak e.V. Treffen (/meeting) at HPI
> in Potsdam Germany, to give a short presentation of our Smalltalk
> usage and especially to see others present their interesting Smalltalk
> related (research) projects.

When is the next one?


greetings!

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
+31 6 2757 7177 (SMS ok)
+ 1 415 287 3547 (no SMS)




Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Karl Ramberg
In reply to this post by timrowledge


On Thu, Feb 22, 2018 at 2:36 AM, tim Rowledge <[hidden email]> wrote:
At the latest board meeting we got to discussing the relative quietness of the squeak list(s) recently. We were wondering what you folks out there are doing with Squeak, what you'd like to be able to use it for, the things that you think would be important to improve it for wider use and so on.

Please, whether you're a frequent user or an occasional look-at-the-list type, take a moment to let us know your opinions.
What do you use Squeak for?
Hi,
I have been using Squeak on and off since around year 2000.
I use Squeak as a personal development and recreational computing platform.
Mostly I think of stuff I find interesting and start to hack together project in either Etoys or
in Morphic. Along the way in those projects I find and fix bugs and get totally sidetracked from 
my original intention. But it's all good fun and I enjoy it immensely when I track down issues and get them fixed 

Once I learned the basic of Squeak development I found most other development environments lacking 
and arcane. The bad thing is that I have never really hooked Squeak up to the outside of the image to interact 
with other languages. I don't really know how to even start doing that.
 
If you don't use Squeak, why not?

There are many rough edges in the tools in Squeak. Like in the drawing tools and the sound tools.
I think it's mostly because the scope of all the tools are so huge and that there are only a few developers and 
users, Not enough people to fix all issues. 
Specialized tools have a huge advantage that are impossible for a general platform like Squeak to keep up with.
But to at all be able to do mostly what I want in Squeak is satisfying and I can dig into the source and read what 
the developers did to make stuff work quite easily.
 
If you used Squeak in the past and don't now, what pulled you away?

I use Squeak for recreation and not for business. When I have time and feel the need to scratch an itch I come back to 
Squeak. 
  

What does Squeak lack that you think might make you use it for 'regular' development?
There are so many thing that are easy and convenient to do once I am in the Squeak tools so I have never 
gone into using stuff from other languages through stuff like FFI. 

 

 
What things are too hard or annoying to do?
Dependencies on obscure preferences, cruft and user habits make
changes cumbersome for many of the parts of Squeak. 

What would you like to be able to use Squeak for?
All personal computing and tinkering projects I do.
And it already does most of that. 

Best,
Karl



tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
C for sinking, java for drinking, Smalltalk for thinking






Reply | Threaded
Open this post in threaded view
|

Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Edgar De Cleene
In reply to this post by Ben Coman



> On 28/04/2018, 13:06, "Ben Coman" <[hidden email]> wrote:
>
>>> Now that Pharo is
>>> bootstrapped, couldn't the energy of Cuis to have a small, clean system be
>>> poured into that effort? Could Squeak be a layer on top with all the cool
>>> stuff reimplemented. Well, it's a dream, but maybe fragmentation is just the
>>> way of the world/human beingsŠ
>>
>> If Squeak saw some value in having a similar bootstrap, 
>> then leveraging Pharo's efforts would make sense and might result in 
>> some *known* common minimal stage (e.g. pre-GUI) between distributions. 
>> Maintenance effort could then at least be shared at that level.
>>
>> Such a minimal common bootstrap would probably suit being hosted under the
>> OpenSmalltalk banner.

This is subject which deserve a long discussion.
No idea about which Pharo bootstrap is this, if was a Gullermo Polito on
Candle or Pavel Krivanek on Kernel or some new.
I don't follow Pharo close enough.
But myself studying WebAssembly for one year now and building my own tools
for dissecting .wasm and "compiling" .wast .wat S- expressions to binary.
Just now WebAssembly lacks GC, but at 2019 end maybe not.
Using it we have speed and portability and is a great opportunity for build
a system from ground , taking the Squeak legacy to XXI century and beyond.

Edgar
@morplenauta



Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Ben Coman


On 2 May 2018 at 19:17, Edgar J. De Cleene <[hidden email]> wrote:



> On 28/04/2018, 13:06, "Ben Coman" <[hidden email]> wrote:
>
>>> Now that Pharo is
>>> bootstrapped, couldn't the energy of Cuis to have a small, clean system be
>>> poured into that effort? Could Squeak be a layer on top with all the cool
>>> stuff reimplemented. Well, it's a dream, but maybe fragmentation is just the
>>> way of the world/human beingsŠ
>>
>> If Squeak saw some value in having a similar bootstrap, 
>> then leveraging Pharo's efforts would make sense and might result in 
>> some *known* common minimal stage (e.g. pre-GUI) between distributions. 
>> Maintenance effort could then at least be shared at that level.
>>
>> Such a minimal common bootstrap would probably suit being hosted under the
>> OpenSmalltalk banner.

This is subject which deserve a long discussion.
No idea about which Pharo bootstrap is this, if was a Gullermo Polito on
Candle or Pavel Krivanek on Kernel or some new.

I didn't really know enough to answer properly so I went digging to learn a bit more.
I started another thread to avoid getting too deep in Pharo stuff here.

I believe its based on the same system that Guille used for Candle, 
but aimed at being so minimal. 
A general description available in the section "Bootstrapping Pharo from sources"...
 

I don't follow Pharo close enough.
But myself studying WebAssembly for one year now and building my own tools
for dissecting .wasm and "compiling" .wast .wat S- expressions to binary.

Cool!
 
Just now WebAssembly lacks GC, but at 2019 end maybe not.
Using it we have speed and portability and is a great opportunity for build
a system from ground , taking the Squeak legacy to XXI century and beyond.

Could be wonderful.  You've probably seen this old thread.

cheers -ben


Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Edgar De Cleene



On 03/05/2018, 09:40, "Ben Coman" <[hidden email]> wrote:

>> I didn't really know enough to answer properly so I went digging to learn a
>> bit more.
>> I started another thread to avoid getting too deep in Pharo stuff here.
>> http://forum.world.st/Pharo-Bootstrap-familiarity-td5075568.html
>>
>> I believe its based on the same system that Guille used for Candle, 
>> but aimed at being so minimal. 
>> A general description available in the section "Bootstrapping Pharo from
>> sources"...
>> https://github.com/pharo-project/pharo
I found the git repo of Guille, thanks

> Could be wonderful.  You've probably seen this old thread.
> http://forum.world.st/WebAssembly-td4926166.html
Yes, I know.
But my idea is not to made a VM with WebAssembly.

If I have time follow this git
https://github.com/yoshikiohshima/SqueakBootstrapper

My idea once the "compiler" is ready , now using a local copy of WABT for
test all work. is made some Squeak to WebAssembly (as Exupery many years
ago) and see what happens.

No idea if in the end some useful rise, but sure I learning a LOT.


Edgar
@morplenauta



Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Yoshiki Ohshima-3
On Thu, May 3, 2018 at 6:29 PM, Edgar J. De Cleene
<[hidden email]> wrote:

>
>
>
> On 03/05/2018, 09:40, "Ben Coman" <[hidden email]> wrote:
>
>>> I didn't really know enough to answer properly so I went digging to learn a
>>> bit more.
>>> I started another thread to avoid getting too deep in Pharo stuff here.
>>> http://forum.world.st/Pharo-Bootstrap-familiarity-td5075568.html
>>>
>>> I believe its based on the same system that Guille used for Candle,
>>> but aimed at being so minimal.
>>> A general description available in the section "Bootstrapping Pharo from
>>> sources"...
>>> https://github.com/pharo-project/pharo
> I found the git repo of Guille, thanks
>
>> Could be wonderful.  You've probably seen this old thread.
>> http://forum.world.st/WebAssembly-td4926166.html
> Yes, I know.
> But my idea is not to made a VM with WebAssembly.
>
> If I have time follow this git
> https://github.com/yoshikiohshima/SqueakBootstrapper

Ah ha. Thanks for mentioning it. Having a 60k (or such) byte array in
C counts as source, but one could imagine that writing that structure
in some kind of readable format.

It was a big deal for some open source community people that their
packages needs to be readable to qualify as their definition of open.
But nowadays there are other kinds of VM technology getting accepted,
and it feels like it is slightly less of a problem...




--
-- Yoshiki

Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Edgar De Cleene
You are inspiration for many things.
If you could giving us some help, this steps could be made.


Compiling yours to C and from this to wasm using Emscripten chain
Try to figure out how directly "map" Squeak to wasm (I reach Milestone 2 a
bugged "compiler" which could output .wasm same as wabt tool from Squeak ).

In particular I wish to know

2. The MicroSqueak reads compiler.sto and save itself.  Now, this
     image can further read more code and compile them.

So the attached should be able to read some...

How ?

Yours.
Edgar


On 04/05/2018, 10:12, "Yoshiki Ohshima" <[hidden email]> wrote:

> Ah ha. Thanks for mentioning it. Having a 60k (or such) byte array in
C counts
> as source, but one could imagine that writing that structure
in some kind of
> readable format.

It was a big deal for some open source community people that
> their
packages needs to be readable to qualify as their definition of
> open.
But nowadays there are other kinds of VM technology getting
> accepted,
and it feels like it is slightly less of a problem...




--
--
> Yoshiki




msqueak.image (162K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Yoshiki Ohshima-3
On Fri, May 4, 2018 at 1:31 PM, Edgar J. De Cleene
<[hidden email]> wrote:

> You are inspiration for many things.
> If you could giving us some help, this steps could be made.
>
>
> Compiling yours to C and from this to wasm using Emscripten chain
> Try to figure out how directly "map" Squeak to wasm (I reach Milestone 2 a
> bugged "compiler" which could output .wasm same as wabt tool from Squeak ).
>
> In particular I wish to know
>
> 2. The MicroSqueak reads compiler.sto and save itself.  Now, this
>      image can further read more code and compile them.

This is a question, right?  The answer is, "in theory, yes".

> So the attached should be able to read some...

Regrettably, I cannot remember much, and it seems that the uploaded
file There is a class called MSystem in there, and the #start method
is called there.  So if that method is modified to load more files
from command line,  it can open more files and process them as file
chunks (the processChunk: method may or may not be there).  Then yet
another MSystem class>start would open a terminal or window and start
an interactive session.

Once we did something along the line to load Gezira and render
graphics on top of this MicroSqueak... But I cannot remember the
details of it.

> On 04/05/2018, 10:12, "Yoshiki Ohshima" <[hidden email]> wrote:
>
>> Ah ha. Thanks for mentioning it. Having a 60k (or such) byte array in
> C counts
>> as source, but one could imagine that writing that structure
> in some kind of
>> readable format.
>
> It was a big deal for some open source community people that
>> their
> packages needs to be readable to qualify as their definition of
>> open.
> But nowadays there are other kinds of VM technology getting
>> accepted,
> and it feels like it is slightly less of a problem...
>
>
>
>
> --
> --
>> Yoshiki
>
>
>
>



--
-- Yoshiki

Reply | Threaded
Open this post in threaded view
|

WebAssembly experiments (was Re: Bootstrapped Squeak ( was Survey: what do you do with Squeak, what do you *want* to do?)

Edgar De Cleene
On 04/05/2018, 16:55, "Yoshiki Ohshima" <[hidden email]> wrote:

> In particular I wish to know.
I start of a modified Squeak 4.6 .
On top I load first my modifications

SqueakRosCore
PackageInfo-Base
Monticello
( for loading arbitrary .mcz with resources)

| loader |
    loader _ CodeLoader new.
    loader baseURL:'http://www.squeaksource.com/Ladrillos/'.
    loader installLastMonticelloFor: #('DynamicBindings'  'KomServices'
'KomHttpServer' 'HTML' 'HV' );installSourceFiles.

This let have a server for later web experiments.

 WasmLivingBook.3.image the dirty thing letting dissects .wasm and "compile"
.wast to .wasm files like
https://github.com/WebAssembly/wabt

I have a local copy and do "reverse engineering" collecting 44 .wasm ranging
from empty module to complete compilers

Right now disects .wasm well and compile simpler .wast

Using this tool

https://01alchemist.com/projects/turboscript/playground/

For boostrap module put the following text

class SmalltalkObject {}
class SmalltalkBehavior {}
class SmalltalkClass {}
class SmalltalkMetaclass {
x: int32;
constructor(x: int32): SmalltalkMetaclass {
       this.x = x;
       
       return this;
    this.meta = true;
}
class SmalltalkPackage {}
class SmalltalkMethod {}
class SmalltalkNil {}
class SmalltalkSymbol(string) {
    this.value = string;
}


class SmalltalkMetaclass {
x: int32;
constructor(x: int32): SmalltalkMetaclass {
       this.x = x;
       return this;
}

Gives boostrap.wasm

In Terminal

 cd /Users/edgardecleene/Documents/MagallanesSites/SqueakWASM/wabt wasm2wast
boostrap.wasm -o boostrap.wast

Drag and drop or use file list for boostrap.wast

Tomorrow I made a video and put in YouTube showing how gizmo "compile"


See all Squeakers in FAST Smalltalks 2018
 October 31 to November 2 at Universidad Nacional de Salta, in Salta,
Argentina.


Edgar
@morplenauta




Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Chris Muller-3
In reply to this post by timrowledge
Thanks for doing this survey, I finally gathered my thoughts and time
to participate.

> At the latest board meeting we got to discussing the relative quietness of the squeak list(s) recently. We were wondering what you folks out there are doing with Squeak, what you'd like to be able to use it for, the things that you think would be important to improve it for wider use and so on.
>
> Please, whether you're a frequent user or an occasional look-at-the-list type, take a moment to let us know your opinions.
>
> What do you use Squeak for?

I use Squeak to augment my thinking.   Not just as a calculator
(although I could not do my taxes without it, literally), but as a way
to force myself to contextualize something by modelling it as a
domain.  It's been an incredibly illuminating tool for understanding
things at a deeper level than I otherwise could.

> If you don't use Squeak, why not?
> If you used Squeak in the past and don't now, what pulled you away?
>
> What does Squeak lack that you think might make you use it for 'regular' development?

What does Squeak lack?  Squeak lacks fulfillment of the vision of
Smalltalk to be a personal computing tool for non-developer users.  It
still can, the domain of "sending messages to objects" is something I
believe users curious enough to use a spreadsheet, but not interested
in developing full-blown applications, would grasp as easily as 1-2-3:

   1) An object appears on the screen.
   2) Some widget on the object provides one or a (filtered) list of
message selectors the user is allowed to send, shown by their **actual
implementation names** in the class.
   3) The invocation of the message causes its return value to appear
as another object on the screen.  Return to step 1.

Nuturing this process into a beautiful and usable UI could provide a
level of leveraged access to domain models that is very powerful, yet
easy to understand.  Displaying the actual message selector names is
key, not just for serving as a useful "language" to converse with the
domain developers, but also as a stepping stone to the next layer
deeper into the system where, like, if they pressed "Help" on a
(high-level) message, the system response could be to show its actual
implementation in a code-tiles view such as Etoys / Scratch /
Elements.  Seeing the assemblage of other message names they've used
before causes them to grok the system at the level they need to
understand it properly.
This is why it is crucial for as much of the class library to remain
with utmost clarity AND brevity of code as it can, without wordy
comments to bloat up the widget.

> What things are too hard or annoying to do?

Convincing my colleagues of the importance of the above.

> What would you like to be able to use Squeak for?

To publish rich, interactive domain models to the web at the push of a
button, which users can use their client of choice to access them.
I'm currently working on a GraphQL parser and server to try to
accomplsh this.

 - Chris

Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Edgar De Cleene
Maybe i miss your point , but some similar to this is in MorphicWrappers

Edgar
@morplenauta

On 5 May 2018, at 19:10, Chris Muller <[hidden email]> wrote:

  1) An object appears on the screen.
  2) Some widget on the object provides one or a (filtered) list of
message selectors the user is allowed to send, shown by their **actual
implementation names** in the class.
  3) The invocation of the message causes its return value to appear
as another object on the screen.  Return to step 1.



Reply | Threaded
Open this post in threaded view
|

Re: Survey: what do you do with Squeak, what do you *want* to do?

Chris Muller-3
Hi Edgar,

> Maybe i miss your point , but some similar to this is in MorphicWrappers

You got it.  MorphicWrappers is exactly the type of UI I'm talking
about.  "Naked objects".  Maui is another.

Reply | Threaded
Open this post in threaded view
|

Survey: what do you do with Squeak, what do you *want* to do?

Craig Latta
In reply to this post by Stéphane Rollandin

Hi Tim and all--

     As always, I'm excited to read of all the fascinating things people
are doing with Squeak!

     I've been using since Squeak since the first release in 1996. At
the time, I was working with Tim and other former ParcPlace cohorts on
what became a Squeak-based tablet machine.

     Nowadays I use Squeak for...

-    ...livecoding SketchUp[] over its Ruby bridge, for 3D object
     sketching (e.g., of buildings).

-    ...controlling the JavaScript engines of web browsers via
     SqueakJS[]. This gives bidirectional access to the plethora of JS
     libraries out there (like the JS and web frameworks mentioned
     below).

-    ...writing live presentations using impress.js[], similar to
     Prezi[] but in 3D using CSS transformations.

-    ...livecoding 3D VR apps for the web using Mozilla's A-Frame[]

-    ...running Morphic windows as separate HTML5 canvases, and
     sometimes using animated HTML wireframes instead of Morphic
     altogether.

-    ...controlling Squeak on remote machines from a web browser (the
     Snowglobe project).

-    ...converting Smalltalk methods to JavaScript source code, and
     vice-versa.

-    ...injecting Smalltalk code into NodeJS instances and controlling
     various APIs from there, like the one for Twitter[].

-    ...controlling the Squeak UI and other frameworks with speech
     recognition, via the WebSpeech API.

-    ...making music with MIDI both on native Squeak and SqueakJS.

-    ...livecoding every other tab in the web browser in which SqueakJS
     is running, via the Chrome remote debugging protocol.

-    ...experimenting with parallelism by forking JavaScript Web Workers
     from SqueakJS, distributed across multiple machines.

-    ...exploring minimal object memories and virtual machines, through
     marking code touched by unit tests and real use cases.

-    ...running Pharo and Cuis with SqueakJS[,]

-    ...integration with WebDAV and SSH for CLI experiences.

-    ...adapting the stack Squeak VM to WebAssembly.

-    ...native app generation through SqueakJS, VueJS and NativeScript.

-    ...augmenting/replacing the changes and sources files with a
     complete live-object module system, Naiad[]. GitHub integration via
     minimal object memories.


     Thanks for a wonderful 22 years so far! Hope to see some of you at
ESUG 2018.

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Reply | Threaded
Open this post in threaded view
|

Survey: what do you do with Squeak, what do you *want* to do?

Craig Latta
In reply to this post by Stéphane Rollandin

Hi Tim and all--

     As always, I'm excited to read of all the fascinating things people
are doing with Squeak!

     I've been using since Squeak since the first release in 1996. At
the time, I was working with Tim and other former ParcPlace cohorts on
what became a Squeak-based tablet machine.

     Nowadays I use Squeak for...

-    ...livecoding SketchUp[1] over its Ruby bridge, for 3D object
     sketching (e.g., of buildings).

-    ...controlling the JavaScript engines of web browsers via
     SqueakJS[2] and Caffeine[3]. This gives bidirectional access to the
     plethora of JS, HTML5 and Node libraries out there (like the JS and
     web frameworks mentioned below).

-    ...writing live presentations using impress.js[4], similar to
     Prezi[5] but in 3D using CSS transformations.

-    ...livecoding 3D VR apps for the web using Mozilla's A-Frame[6]

-    ...running Morphic windows as separate HTML5 canvases, and
     sometimes using animated HTML wireframes instead of Morphic
     altogether.

-    ...controlling Squeak on remote machines from a web browser (the
     Snowglobe project).

-    ...converting Smalltalk methods to JavaScript source code, and
     vice-versa.

-    ...injecting Smalltalk code into NodeJS instances and controlling
     various APIs from there, like the one for Twitter[7].

-    ...controlling the Squeak UI and other frameworks with speech
     recognition, via the Web Speech API.

-    ...making music with MIDI both on native Squeak and SqueakJS.

-    ...livecoding every other tab in the web browser in which SqueakJS
     is running, via the Chrome remote debugging protocol[8].

-    ...experimenting with parallelism by forking JavaScript Web Workers
     from SqueakJS, distributed across multiple machines.

-    ...exploring minimal object memories and virtual machines, through
     marking code touched by unit tests and real use cases.

-    ...running Pharo and Cuis with SqueakJS[9]

-    ...integration with WebDAV and SSH for CLI experiences.

-    ...adapting the stack Squeak VM to WebAssembly.

-    ...native app generation through SqueakJS, VueJS[10] and
     NativeScript[11].

-    ...augmenting/replacing the changes and sources files with a
     complete live-object module system, Naiad[12]. GitHub integration
     via minimal object memories.


     Thanks for a wonderful 22 years so far! Hope to see some of you at
ESUG 2018.

-C

[ 1] https://www.sketchup.com
[ 2] https://squeak.js.org
[ 3] https://caffeine.js.org
[ 4] https://impress.js.org
[ 5] https://www.prezi.com
[ 6] https://aframe.io
[ 7] https://tinyurl.com/y7etc9z6 (thiscontext.com)
[ 8] https://tinyurl.com/yaqqmxup (thiscontext.com)
[ 9] https://tinyurl.com/y727fz4a (thiscontext.com)
[10] https://vuejs.org
[11] http://www.nativescript.org
[12] https://tinyurl.com/y8mzpepr (thiscontext.com)

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



--
--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
[hidden email]
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)


123