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) |
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 |
In reply to this post by Ben Coman
On 4/28/2018 12:06 PM, Ben Coman wrote:
snip
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 |
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 E-Mail: [hidden email] Internet: https://www.squeak-ev.de
|
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. 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.
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
|
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 |
On 2 May 2018 at 19:17, Edgar J. De Cleene <[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. 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. Cool! Just now WebAssembly lacks GC, but at 2019 end maybe not. Could be wonderful. You've probably seen this old thread. cheers -ben |
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 > 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 |
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 |
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 |
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 |
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 |
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 |
Maybe i miss your point , but some similar to this is in MorphicWrappers
Edgar @morplenauta
|
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. |
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) |
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) |
Free forum by Nabble | Edit this page |