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? 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 things are too hard or annoying to do? What would you like to be able to use Squeak for?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
timrowledge wrote
What do you use Squeak for?
Inspiration. I have a lot of old code and images floating around (e.g. Mathmorphs, Sophie, the cat with the eyes that follow the mouse) that I think are absolutely wonderful and most have never been duplicated.
timrowledge wrote
If you used Squeak in the past and don't now, what pulled you away?
For years, I had one foot on two different sleds (Squeak and Pharo), at times pulling in different directions. I was spending a large chunk of my time keeping all my projects compatible with both and eventually had to make a choice. At that time, IIRC my choice was mostly based on the fact that it seemed I could more easily get enhancements and cleanups integrated into Pharo. Also the IDE tools I wanted to use seemed better supported there. As the tools diverged more, I became locked in because I tend to heavily customize my IDE. This has only increased; lately, I consider GT and the other things Moose brings (e.g. Roassal) to be essential things I wouldn't want to live without. I still follow the Squeak MLs religiously and try to help in small ways like answering questions.
timrowledge wrote
What would you like to be able to use Squeak for?
My dream for a long time was for Squeak and Pharo to reunite, with Pharo as a lean, mean base system, and Squeak implementing/porting all the amazing projects on top, like some of the ones I listed above. I realize that this is extremely unlikely especially for political reasons, but since you asked! ;-)
----- Cheers, Sean -- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
What do you use Squeak for?
I use it for everything. I belong to the generation that grew up with personal computing, and I believe Squeak is the pinnacle of personal computing. It is fun, powerful, beautiful, intelligent.
Morphic provides a unique level of interactivity with graphical representations.
I have been working with Squeak for the last 15 years or so.
I developed (and am still improving daily) a system for music composition, http://www.zogotounga.net/comp/squeak/sqgeo.htm
.. and used it to write all pieces post-2003 in http://stephanerollandin.bandcamp.com/
I also made a game, http://www.zogotounga.net/comp/saucers.htm
.. a package for functional programming, http://www.zogotounga.net/comp/squeak/functionaltalk.htm
.. and a Lisp/Scheme implementation, http://www.zogotounga.net/comp/squeak/lispkit.htm
What does Squeak lack?
First of all, whatever Squeak lacks should not overshadow what Squeak has. It is a mature system IMO. It is paramount not to improve it just for the sake of improving it, at the risk of killing some of its current balance between "serious" and "fun" (or between "corporate" and "personal' if you wish) system.
Also, and somewhat related, not many people actually grok what makes Squeak and Morphic awesome. And not many people routinely uses features that are unique to Squeak, which may put them into danger.
For example, I regularly see people complaining that Morphic is a mess, undocumented, ugly, unusable, etc. While they may have a point (notably about documentation, and there are indeed messy parts), I think I can safely say that nobody has used Morphic as much as I have for muO, and it is just amazing. For all its wards, it is still a unique and deeply satisfying way to deal with graphical interfaces. It is a jewel.
With that said, what Squeak lacks IMO is, off the top of my head:
- a good handling of fonts and text coding systems (I cannot write my name in a string, as the accented é will get converted upon file-out, I also did not find a way to work with music fonts).
- facilities for touch screen devices, and all events generated by physical gestures on a phone (tilt, etc.)
- easy HTML/Javascript integration. It would be great if it was straightforward to embed Squeak images in a web page (I know some impressive work is already being done in that area, it is just not ready yet)
What things are too hard or annoying to do?
A behavior bugs me: when moving a Squeak image window in Windows, all processes pause, including MIDI out. Not too good for games or live music.
What would you like to be able to use Squeak for?
I would like to keep using it for music and games, and for musical games.
Stef
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 craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
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 craig@blackpagedigital.com +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)
Hi Tim,
On Wed, 21 Feb 2018 17:36:01 -0800, tim Rowledge tim@rowledge.org 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?
I use Squeak for fun. I also use Squeak when I want to write a program to run on a Raspberry Pi. One runs headless and uses Seaside to allow control of the Raspberry GPIO pins from a web browser on a PC or phone. Another that I am currently working on displays a clock on a monitor (and screen you can use on a Raspberry). It also uses Seaside to allow web access to the programs settings. The clock displays a picture as the clock face and the web access allows you to changes many options from a browser.
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?
I'm too use to VA Smalltalk to change. But if VA Smalltalk can't run on a platform, I turn to Squeak.
What things are too hard or annoying to do?
It would be nice to know what projects (I'm not sure that is the correct term) are needed in an image and what isn't for a given program. It would be nice to be able to reduce the size of an image. The images I put on the Raspberry run over 65MB, headless or not. My headless VA Smalltalk images run under 3MB and GUI images are usually under 6MB. This obviously isn't a deal breaker but it would be nice.
What would you like to be able to use Squeak for?
tim
Thanks for asking.
Lou
HI.
On Wed, Feb 21, 2018 at 5:36 PM, tim Rowledge tim@rowledge.org 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?
I have it running on a computer near me almost all of the time. At work, I use it to monitor our applications/machines, to analyze data, to diagram what is going on. Oh, and to prototype all sorts of new technologies. And finally as a scratch pad/assitent to help me think. When I can (and not at work), I often use it for play - occassionaly to build something fun (game-wise), although they never make it to a level to share like Stephane; more often to try new and odd things found in Squeak or elsewhere.
If you don't use Squeak, why not?
If you used Squeak in the past and don't now, what pulled you away?
-N/A
What does Squeak lack that you think might make you use it for 'regular' development? What things are too hard or annoying to do? What would you like to be able to use Squeak for?
The biggest thing lately I'd like to be able to do is pull some of the development environment in from Pharo-Moose. I saw the demo given by Alexandre end of last year, and that environment is very, very nice. I just don't want to give up my very long living images - I have one going to back to 2.4 that I still ocassionally break out for certain purposes.
-cbc
See answers within:
On Feb 21, 2018, at 18:36, tim Rowledge tim@rowledge.org 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?
Right now not using very much, just updating and trying a few things out.
If you don't use Squeak, why not?
Still my favourite, not working on any particular project now.
If you used Squeak in the past and don't now, what pulled you away?
Some years ago (too many) now at work I started to use Squeak as the basis of a scriptable test framework for end to end cycle testing, injecting known signals into a gas well flow measurement instrument that would report to a server via cell or satellite. Idea was to be able to monitor various pertinent data points in the whole system beginning to end making sure that the integrity of the information remained correct throughout. One part of the test suite, was connected to and monitored a single debug serial port on the instrument that was used to turn on and off software test points within the instrument that were enabled and disabled via commands into the port. Also, known measurement data was injected for certain tests. Outgoing streams of data that were enabled and coming from the instrument, were annotated as to which stream or test point they belonged to, and the data was subsequently separated and written to appropriate Squeak windows per stream or combination of streams as needed.
The project got cancelled before full realization due to company financial constraints and layoffs. A certain amount of resistance to Smalltalk and Squeak was experienced since the shop was Windows only.
What does Squeak lack that you think might make you use it for 'regular' development?
At the time of the test framework development, it was too easy to overwhelm the serial communications and lose data, perhaps I was doing something wrong. Work remained to be done to ensure reliability of the incoming data stream.
What things are too hard or annoying to do?
When a newcomer to Squeak, I learned about entering self halt at various places while learning and following code execution. I found that very intimidating, being afraid of modifying critical Squeak code and not being able to find or undo the modifications later. I’m sure many newcomers feel this way. Some easy way to remove or disable all such debug points from one place might be good.
I would like to see progress made with Craig Latta’s modularity work.
One main thing that I feel could use significant improvement now is SqueakMap. For some reason developers don’t seem to find SqueakMap compelling enough to register their software even though SqueakMap has the potential and I feel could/should be the primary go-to place for Squeak software and documentation. We might be able to make registration on SqueakMap easier to understand and accomplish, and more automatic.
Another item, I would like to see Edgar’s FunSqueak live long and prosper. I think keeping a lot of the old unique projects alive and loadable in latest Squeaks is a good thing, also it is good to see that eToys remains active in Squeak. SqueakMap would be ideal help for everything loadable and unloadable.
Another: initial look and feel, e.g. last time I looked, Cuis is much nicer looking at the start.
What would you like to be able to use Squeak for?
I intend to use Squeak on Raspberry Pi when it arrives, where the heck is that order anyway? Would like to find time for a few other projects as well e.g. home accounting that I haven’t gotten to yet, geodesic design, Grafcet…
Thanks a lot for everyone’s continuing work on Squeak.
Ken G. Brown
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
Hi all,
Am 22.02.2018 um 02:36 schrieb tim Rowledge
What do you use Squeak for?
Neural networks, genetic algorithms, optimizations, simulations.
Privately simulate/optimize stuff in squeak and then use the gained knowledge or results in the job :-) Generally wonderful tool to explore ideas. Projects in projects for documentation/idea sketching. Sometimes to annoy my fellow colleagues to show how easy things could be if they weren't forced to use mainstream tools/languages :-) Just recently by showing off Tony's Maps video. Analyzing Megabytes of badly formatted ASCII test protocols (automated tests) to evaluate production quality. Analyzing test reports written in baaaad German to find quality problems in production. Run an aidaweb webapp developed in 3.8, nowadays on 4.3. 24/7 image processing on a RasPi (detecting cats in the garden :-) Time keeping and billing hours spent on projects. Audio analysis and measurements (FFT)
Don't get me wrong, I'm an Engineer, not a programmer, programming is one tool in my toolbox. And it's a wonderful tool!
If you don't use Squeak, why not?
At work. Best I get to use is Python, goes steeply down from there. Luckily I rarely write software on the job.
If you used Squeak in the past and don't now, what pulled you away?
N/A
What does Squeak lack that you think might make you use it for 'regular' development?
'Shiny' UI. Unusable but shiny. Glad we don't have that. Not by M$. Not playing nice with the rest of the world, lack of ecosystem. Comparison here is Python. This is my only serious complaint. Mentoring. It has a steep learning curve and I'm sure mentoring would help.
What things are too hard or annoying to do?
N/A because the things I embark on seem to be well covered. May change when I retire and get more time to Squeak. Real time audio stuff, more audio formats (32 bit float wav) 64 bit Float Array (may even work in 64 bit images) FloatArray protocol too small.
What would you like to be able to use Squeak for?
Tons if I had more time/energy.
tim
Thanks for asking! Please note that the main problem is that I don't attack the things I want/dislike.
Cheers,
Herbert
-- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
2018-02-22 22:23 GMT+01:00 Herbert König herbertkoenig@gmx.net:
Please note that the main problem is that I don't attack the things I want/dislike.
Same here I guess.
2018-02-22 2:36 GMT+01:00 tim Rowledge tim@rowledge.org:
What do you use Squeak for? If you don't use Squeak, why not?
No Squeak software to be shipped at work. ;-) At least I have something in VA Smalltalk to work on. But I miss Morphic halos and keyboard shortcuts there.
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?
Better integration with the OS, in my case Windows (e.g., more flexible drag-n-drop into the image, supporting more objects than just files and more options to handle the objects being dropped in the image; more features in OSProcess for Windows; details like registry editing), and/or tools that help to create bindings to APIs and external libraries, so I would not have to do all the FFI stuff myself. In the end, this is just the ecosystem argument restated from a different angle. It would be nice if Squeak were more of a team player instead of 'only' being a superior environment inside of a nutshell.
For current business matters, an official VM for AIX would be required, or more (willing) Smalltalkers being around for staffing. ;-)
What things are too hard or annoying to do? What would you like to be able to use Squeak for?
All kinds of automation stuff where a simple shell script or batch file seems inadequate. Creating little (graphical) tools that make life (and special work tasks) easier. But being aware of the other posts in this thread, I guess this just degenerates to me affirming Herbert in the first paragraph.
On Thu, Feb 22, 2018 at 3:36 PM, tim Rowledge tim@rowledge.org 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?
Thank your for asking!
I am a hobby programmer who uses Squeak to develop applications that interest me. I am currently enhancing my audio stream recording application (using an external program) that I would like to run cross platform. I actively work on Mac and Windows and dabble with Pi and Android. I am researching requirements for an application to to extract, display, and manipulate geo data from USGS geopdf files. I am also thinking about building a Pi app that I can use to detect Scorpions around my house.
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?
I don't know that Squeak is lacking as much as I am and I don't think of Squeak as a 'regular' development environment. Squeak is a gateway into a different way of thinking about and doing development. When I see things like Alice and her decendents, Nebraska, Caffeine, SqueakJS, or TiledMaps, etc, it thrills me. Hey talented people can bootstrap Squeak to new chip sets or spit out Slang for embedd applications (IOT anyone?)
If Squeak lacks anything, it is a mechanism to grow our base
What things are too hard or annoying to do?
1. Writing a simple GUI application. The Squeak/Pharo landscape is littered with many different GUI development experiments, none of which have garnered global mind share (or sufficient documentation ;-), but this is the nature of of our evolving environment. When I ask questions on the list, I do get helpful answers. All GUI frameworks have limitations 2. Understanding the architecture of Morphic. I know I am not alone in this. 3. Understanding overloaded classes. E.g. StringValue seem to be heavily biased towards ToolBuilder. It has lots of methods which look like they belong in a package category, the ones with leading *, not in the base class categories, no*. If I am just interested in a simple StringValue object what methods are essential. Or maybe I should only use ValueHolder and do the heavy lifting in my classes.
What would you like to be able to use Squeak for?
Squeak seems quite capable of enabling me to reach my goals.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
jrm
What do you use Squeak for?
Unfortunately, I mostly just follow the list. My experience is limited to elementary experiments: just defining some classes, and using them in a workspace, using the transcript to inspect the results.
If you don't use Squeak, why not?
I just don't seem to get it. I think I master the building blocks, I get what is in the SBE book, but somehow, I don't see how to tie the pieces together into something that looks like a regular application.
If you used Squeak in the past and don't now, what pulled you away?
To be honest, it's more a mystery what keeps pulling me towards Squeak, given my poor results until now.
What does Squeak lack that you think might make you use it for 'regular' development?
I am not in a position to answer this question.
What things are too hard or annoying to do?
Everything is hard, but not annoying. I probably need to get more general knowledge of the 'Object Oriented' paradigm, and some UI design skills. A 30+ year career in mainframe development left me a very procedural guy, and a UI for me has 30 lines with 132 colums each.
What would you like to be able to use Squeak for?
What got me interested was reading about Squeaknos, turtles all the way down, at one of those moments I was struggling once more with a linux upgrade that destroyed the GNUstep installation I had managed to install. Now I see this is miles beyond my reach, but that was the spark.
Currently, I'm trying to build an intelligent doorbell, with Squeak and a Raspberry Pi that was laying around here. Now if only it would just ring outside the simulation. Did I mention my knowledge of electronics is far below average.....
I don't know if this is of much use to you, but since you asked....
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
On 23 February 2018 at 13:16, Edwin Ancaer eancaer@gmail.com wrote:
What do you use Squeak for?
Unfortunately, I mostly just follow the list. My experience is limited to elementary experiments: just defining some classes, and using them in a workspace, using the transcript to inspect the results.
If you don't use Squeak, why not?
I just don't seem to get it. I think I master the building blocks, I get what is in the SBE book, but somehow, I don't see how to tie the pieces together into something that looks like a regular application.
Hi Edwin,
You might like Stephan Wessels "LaserGame" tutorial. Its is a great end-to-end tutorial for developing a regular application. http://squeak.preeminent.org/tut2007/html/index.html
I'd suggest you do it in Squeak 3.9 to closely match the version the tutorial was done in... http://files.squeak.org/3.9/
cheers -ben
If you used Squeak in the past and don't now, what pulled you away?
To be honest, it's more a mystery what keeps pulling me towards Squeak, given my poor results until now.
What does Squeak lack that you think might make you use it for 'regular' development?
I am not in a position to answer this question.
What things are too hard or annoying to do?
Everything is hard, but not annoying. I probably need to get more general knowledge of the 'Object Oriented' paradigm, and some UI design skills. A 30+ year career in mainframe development left me a very procedural guy, and a UI for me has 30 lines with 132 colums each.
What would you like to be able to use Squeak for?
What got me interested was reading about Squeaknos, turtles all the way down, at one of those moments I was struggling once more with a linux upgrade that destroyed the GNUstep installation I had managed to install. Now I see this is miles beyond my reach, but that was the spark.
Currently, I'm trying to build an intelligent doorbell, with Squeak and a Raspberry Pi that was laying around here. Now if only it would just ring outside the simulation. Did I mention my knowledge of electronics is far below average.....
I don't know if this is of much use to you, but since you asked....
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
StackExchange is my goto for Squeak questions. The mailing lists cannot compare. Also, the last several years have been very tough economically. Just scratching to survive, no time to code.
Currently coding an application in Seaside.
For wider use, you need mindshare, that means the CLI centric Linux crowd and incorporate the language/cogvm into everyday Linux development models . However, the GUI is essential for other dev types; I am not knocking the GUI, just recognizing need for different users.
Squeak is a blast, though. It is the first (besides SQL) non-algol language I have used and I am never looking back.
I hope, as time frees up, to work on the REPL and decoupling the Squeak from Morphic/MVC . Would love to create an X Desktop with it.
Good luck.
---- On Wed, 21 Feb 2018 20:36:01 -0500 tim Rowledge <tim@rowledge.org> 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? 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 things are too hard or annoying to do? What would you like to be able to use Squeak for?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
I really love the answers so far! :)
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 it for my everyday information management. This includes: - emails - todo management - organizing bibliographic information - writing documents, sometimes papers - programming :) - managing students and projects for university courses (- I once started working on a domain model for managing my garden but never came around making it easy enough so I can adjust it quickly to my real-world tinkering)
Sometimes I use it to create presentations for conference talks using the BookMorph.
Also, I use it to do programming language experiments.
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?
It would be nice to have nicer rendering of morphs and fonts.
What things are too hard or annoying to do?
While classes are useful, I often need instance-specific fields. So far I always implemented it myself but it would be nice to have it as part of the language.
Handling files could be easier. The interface is somewhat confusing.
What would you like to be able to use Squeak for?
All my presentations :) However, manually assembling morphs and layouts is somewhat tedious. Also one of the last activities (besides music, video, web browsing, and calendars) for which I have to resort to my host OS is PDF reading (beyond converting a PDF to a folder of pngs and reading that :) ).
Also, editing objects is something I would love to directly from the explorer (or a similar tool). For example, I imagine dragging objects around and storing them in an instance variable of another object by simply dropping them in some tool.
Also I would really like to have a model for structured documents of some kind which plays nicely with Morphic. That would include the infamous embedding of Morphs in text.
Bests Patrick
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
On 25-02-2018, at 7:43 AM, patrick.rein@hpi.uni-potsdam.de patrick.rein@hpi.uni-potsdam.de wrote:
I really love the answers so far! :)
Me too. Keep those thoughts coming people; we want to know.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Fractured Idiom:- POSH MORTEM - Death styles of the rich and famous
On Mon, Feb 26, 2018 at 11:14:27AM -0800, tim Rowledge wrote:
On 25-02-2018, at 7:43 AM, patrick.rein@hpi.uni-potsdam.de patrick.rein@hpi.uni-potsdam.de wrote:
I really love the answers so far! :)
Me too. Keep those thoughts coming people; we want to know.
This is turning out to be a really interesting discussion. I am happily surprised at the range of responses, and I am especially happy that so many people are using Squeak as a tool for exploring ideas, and who see Squeak as much more than just another programming language or software development tool.
So yes please, keep those thoughts coming!
Dave
On Thursday 22 February 2018 07:06 AM, tim Rowledge wrote:
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?
Squeak is a hobby for me, not a work platform. I use it as "idea" processor (analogous to a word processor for text) for exploring ideas in programming and inspire students. My own professional interest is in the recursive decomposition of object machines.
I created LaTeXMorph to help children and teachers learn LaTeX on Linux laptops through live coding. I also helped localize Etoys to Kannada language (for OLPC) and helped an art teacher in France to translate their wiki into English for a wider reach.
If you don't use Squeak, why not?
I continue to use Squeak, but students find it difficult to integrate VMs and images on Linux. Squeak also does not work well with vector graphics (openGL) and audio drivers on Linux.
If you used Squeak in the past and don't now, what pulled you away?
N/A. Squeak community may be small, but the discussions are very enlightening and thought-provoking.
What does Squeak lack that you think might make you use it for 'regular' development?
Built-in NetMorph. It is about time objects became network-aware.
Better inspection tools (e.g. display pictures for bitmaps etc.)
Be able to embed Squeak into another program, say like
void *squeak(void *image, int argc, char *argv[], char *environ[])
Spawn a new Squeak session with a new image created on the fly bypassing the filesystem.
Concurrent processes to exploit multi-core hosts.
Proper reification of host facilities (VM, object memory, ...). Taking the idea of turtles all the way down.
Simpler File I/O like in Pharo.
Be able to build binaries on host from within Squeak without having to go through Slang.
What things are too hard or annoying to do?
Launcher should be able to pick the right VM for a given image and launch it.
Create and integrate plugins out of source tree. This is important for working on embedded boards like RPi. This is more of a VM issue than Squeak (image), but it does impact Squeak.
What would you like to be able to use Squeak for?
Processing ideas through live programming. It is really an excellent platform to teach/learn programming concepts before moving onto languages like C, Python, Java etc.
Squeak 3.8 may have grainy fonts but it was a WOW! in regards to live programming. Later versions improved on the look and ease but don't have the same level of WOW.
Regards .. Subbu
On Feb 21, 2018 8:36 PM, "tim Rowledge" tim@rowledge.org wrote:
What do you use Squeak for?
I generally use Cuis as opposed to Squeak for the bulk of my day-to-day Smalltalk needs. I do still use Squeak on a semi-regular basis to cross-check issues (i.e. is a problem I'm having with the image or VM etc) and to look at older (3.7 and earlier) images for ideas.
If you don't use Squeak, why not?
Mainly too much accretion of cruft and the resulting instability when my code attempted to sit on top of said cruft.
If you used Squeak in the past and don't now, what pulled you away?
Cuis. It was the best match for my needs that I found after spending a few years bouncing between Squeak/Pharo/Cuis. I view this as unfortunate: a minimal base image very much like Cuis (only moreso) should be a shared foundation that all dialects (Squeak, Pharo etc.) could be based on. The Smalltalk community is small enough and fragmenting it further isn't good long term.
What does Squeak lack that you think might make you use it for 'regular' development?
Tactically it would need to be much more minimal and modular, have API stability, documentation, direction and stop reinventing every wheel just because it's not written in Smalltalk (i.e. pick your battles). Strategically, while I very much appreciate everyone's efforts on Squeak I honestly don't see a long-term vision and think that's a problem.
What things are too hard or annoying to do?
When I was a beginner: getting started (I can't tell you how many times I threw up my hands and said 'not worth it' given all the missing/broken functionality, outdated documentation, broken packages etc. I started to see some daylight as I started playing with Cuis followed by a couple of big wins that sold me on sticking with it). At an intermediate level customizing core behavior (I'm looking at you, Morphic). And now that I've got a moderately large codebase I can't imagine how much effort it would be to keep it running on Squeak.
What would you like to be able to use Squeak for?
Everything I'm using Cuis for. (This is not at all a knock on Cuis as I love what it offers me. Rather, just acknowledging the reality that Juan or our small group of users often have to duplicate effort on things I think we (or at least I) often really wish we didn't have to.)
Thanks, Phil
The short answer is just about everything. I'm primarily working on web applications these days but also do some 'native' Smalltalk apps (I.e. Morphic and OpenGL-based) as well as hybrid stuff. Most of what I'm doing would best be described as data processing/text processing/NLP (the most interesting use a variety of OMeta-based data parsers and DSLs) with rich front-ends as well as more mundane business database apps. And when I can't take the work stuff anymore, I have a couple of games I work on for fun (and who knows, maybe someday for profit.)
One example: recently I was working on an OpenGL-based visualization (in Cuis) which gets it's data via a database-backed web service (also in Cuis) and needed to fine-tune some shaders. Being the lazy sort that I am, I slapped together a quick web app (yet again in Cuis) that allowed me to interactively modify the shaders (without needing to restart the visualization, which was a nice bonus) and it all worked out quite well. I liked the ease of it so much that I generalized the web app a bit and now use it as my front line of OpenGL monitoring and tweaking which is a lot faster than I could spit out even a simple 2D Morphic tool.
Smalltalk as a foundation and lever makes that rapid development and blurring/erasing of distinctions (client/server, thick/thin client) possible, but Cuis makes it practical by allowing me to trivially navigate from the highest level of abstraction in the image to the lowest and laterally from one set of tools to another since I can keep a mental model of large chunks of the system, and the entirety of the parts I am working on, in my head and alter fundamental system behavior as needed while not spending a lot of time and energy to keep it running as new images are released. Theoretically all this is doable in Squeak, but in practice I didn't find it feasible.
On Feb 28, 2018 7:53 AM, "Stéphane Rollandin" lecteur@zogotounga.net wrote:
What would you like to be able to use Squeak for?
Everything I'm using Cuis for.
Would you tell us what you are using Cuis for?
Stef
2018-03-05 20:20 GMT-03:00 Phil B pbpublist@gmail.com:
One example: recently I was working on an OpenGL-based visualization (in Cuis) which gets it's data via a database-backed web service (also in Cuis) and needed to fine-tune some shaders. Being the lazy sort that I am, I slapped together a quick web app (yet again in Cuis) that allowed me to interactively modify the shaders (without needing to restart the visualization, which was a nice bonus) and it all worked out quite well. I liked the ease of it so much that I generalized the web app a bit and now use it as my front line of OpenGL monitoring and tweaking which is a lot faster than I could spit out even a simple 2D Morphic tool.
Smalltalk as a foundation and lever makes that rapid development and blurring/erasing of distinctions (client/server, thick/thin client) possible, but Cuis makes it practical by allowing me to trivially navigate from the highest level of abstraction in the image to the lowest and laterally from one set of tools to another since I can keep a mental model of large chunks of the system, and the entirety of the parts I am working on, in my head and alter fundamental system behavior as needed while not spending a lot of time and energy to keep it running as new images are released. Theoretically all this is doable in Squeak, but in practice I didn't find it feasible.
Interesting comments!
How are you doing web stuff in Cuis, using Webclient port? Or another approach?
Thanks.
Germán,
For client-side, a fairly heavily modified version of WebClient.
For server-side, I actually started with your port of Aida which I updated ( https://github.com/pbella/Cuis-Smalltalk-Aida) and went from there. Before that I was using Seaside on Pharo but didn't want to deal with getting Unicode support (among other things) into Cuis at the time, which would have been needed for Seaside. We talked about it on the Cuis list but it sounded like I was pretty much the only one doing web apps at the time and the path of least resistance seemed to be Aida. Glad I ended up going that route as there are things that I definitely liked better about the Aida approach vs Seaside. (Though both frameworks are good starting points)
Thanks, Phil
On Mar 6, 2018 6:17 AM, "Germán Arduino" garduino@gmail.com wrote:
2018-03-05 20:20 GMT-03:00 Phil B pbpublist@gmail.com:
One example: recently I was working on an OpenGL-based visualization (in Cuis) which gets it's data via a database-backed web service (also in Cuis) and needed to fine-tune some shaders. Being the lazy sort that I am, I slapped together a quick web app (yet again in Cuis) that allowed me to interactively modify the shaders (without needing to restart the visualization, which was a nice bonus) and it all worked out quite well. I liked the ease of it so much that I generalized the web app a bit and now use it as my front line of OpenGL monitoring and tweaking which is a lot faster than I could spit out even a simple 2D Morphic tool.
Smalltalk as a foundation and lever makes that rapid development and blurring/erasing of distinctions (client/server, thick/thin client) possible, but Cuis makes it practical by allowing me to trivially navigate from the highest level of abstraction in the image to the lowest and laterally from one set of tools to another since I can keep a mental model of large chunks of the system, and the entirety of the parts I am working on, in my head and alter fundamental system behavior as needed while not spending a lot of time and energy to keep it running as new images are released. Theoretically all this is doable in Squeak, but in practice I didn't find it feasible.
Interesting comments!
How are you doing web stuff in Cuis, using Webclient port? Or another approach?
Thanks.
Hi Phil:
2018-03-09 19:12 GMT-03:00 Phil B pbpublist@gmail.com:
Germán,
For client-side, a fairly heavily modified version of WebClient.
This version is published somewhere?
For server-side, I actually started with your port of Aida which I updated (https://github.com/pbella/Cuis-Smalltalk-Aida) and went from there. Before that I was using Seaside on Pharo but didn't want to deal with getting Unicode support (among other things) into Cuis at the time, which would have been needed for Seaside. We talked about it on the Cuis list but it sounded like I was pretty much the only one doing web apps at the time and the path of least resistance seemed to be Aida. Glad I ended up going that route as there are things that I definitely liked better about the Aida approach vs Seaside. (Though both frameworks are good starting points)
ahh, interesting I'm seeing several repos with names that I know :) but if yours are more updated I should use these instead of mines (A long time without touching these stuff from my part).
Thanks, Phil
Thanks you very much! Germán.
Germán,
On Mar 10, 2018 7:52 AM, "Germán Arduino" garduino@gmail.com wrote:
Hi Phil:
2018-03-09 19:12 GMT-03:00 Phil B pbpublist@gmail.com:
Germán,
For client-side, a fairly heavily modified version of WebClient.
This version is published somewhere?
No, just my own private version. The version in the main Cuis repo (packages dir) is what I'd recommend starting with.
For server-side, I actually started with your port of Aida which I updated (https://github.com/pbella/Cuis-Smalltalk-Aida) and went from there. Before that I was using Seaside on Pharo but didn't want to deal with getting Unicode support (among other things) into Cuis at the time, which would have been needed for Seaside. We talked about it on the Cuis list but it sounded like I was pretty much the only one doing web apps at the time and the path of least resistance seemed to be Aida. Glad I ended up going that route as there are things that I definitely liked better about the Aida approach vs Seaside. (Though both frameworks are good starting points)
ahh, interesting I'm seeing several repos with names that I know :) but if yours are more updated I should use these instead of mines (A long time without touching these stuff from my part).
The versions I published were the versions you published updated to the latest updates from Janko at the time so I'd recommend starting with the versions from my repo.
Thanks, Phil
Thanks you very much! Germán.
Thanks Phll.
Saludos / Regards, Germán Arduino @garduino
2018-03-14 18:32 GMT-03:00 Phil B pbpublist@gmail.com:
Germán,
On Mar 10, 2018 7:52 AM, "Germán Arduino" garduino@gmail.com wrote:
Hi Phil:
2018-03-09 19:12 GMT-03:00 Phil B pbpublist@gmail.com:
Germán,
For client-side, a fairly heavily modified version of WebClient.
This version is published somewhere?
No, just my own private version. The version in the main Cuis repo (packages dir) is what I'd recommend starting with.
For server-side, I actually started with your port of Aida which I updated (https://github.com/pbella/Cuis-Smalltalk-Aida) and went from there. Before that I was using Seaside on Pharo but didn't want to deal with getting Unicode support (among other things) into Cuis at the time, which would have been needed for Seaside. We talked about it on the Cuis list but it sounded like I was pretty much the only one doing web apps at the time and the path of least resistance seemed to be Aida. Glad I ended up going that route as there are things that I definitely liked better about the Aida approach vs Seaside. (Though both frameworks are good starting points)
ahh, interesting I'm seeing several repos with names that I know :) but if yours are more updated I should use these instead of mines (A long time without touching these stuff from my part).
The versions I published were the versions you published updated to the latest updates from Janko at the time so I'd recommend starting with the versions from my repo.
Thanks, Phil
Thanks you very much! Germán.
Well, we had about 30 replies on this so far and I'd love to read more. Who else can tell us fun stuff?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim From C:*.* to shining C:*.*
On 21/02/2018, 22:36, "tim Rowledge" tim@rowledge.org 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.
Glad to see Board throw this
What do you use Squeak for?
I use Squeak and Cuis derived .image for learning .
Right now I have a Kom + HV + lots of external HTML5 + CSS + JavaScript Divagaciones.29.image at www.squeakros.org
Log with user 'visita' and without pass
Inside is a experimental thing combining wiki + blog and many Web 2.0 more.
Synch with official wiki daily and in Spanish what I put there.
Powered by Ubuntu Mate and Debian Ian Stack VM running in this http://190.193.176.228:9090/renderMe:SRS026%20Endeavour Click on first pict and you could see how you could have your cheap own cloud with old hardware
Also investigating WebAssembly and cooking a WasmLivingBook.image Any wishing know more send mail and I send link to our "BarSqueakRos" , currently on Discord
What does Squeak lack
From Andreas Raab lost , we miss a unquestionable leader as Pharo have and
off course Cuis. Now we have a Board with veterans and young's, so still I have hope. Hope releases have a plan. How we know 6.0 is finished if we don't know the road map ? Quality control, please. Test is not enough, .image needs first hand use
Edgar @morplenauta
tim -- tim Rowledge; tim@rowledge.org;
C for sinking, java for drinking, Smalltalk for
thinking
Hello all,
Please, whether you're a frequent user or an occasional look-at-the-list type, take a moment to let us know your opinions.
Long time lurker here and first time poster so go easy on me :)
What do you use Squeak for?
I did use Squeak for a seaside web app in production for 15 months before it was replaced with a PHP implementation. I no longer use Smalltalk at work.
If you don't use Squeak, why not? If you used Squeak in the past and don't now, what pulled you away?
It's hard to evangelise Smalltalk to an average developer who just wants to get things done. (Enterprise) managers are people who are difficult to reason with IME. Even for me, it didn't click until I read the first two chapters of "A Mentoring Course on Smalltalk". That brilliant mind-expanding book also spoiled it for me. Most smalltalk code looks rubbish now...like assembler inside objects and blocks.
There are also practical things like change management, deployment etc. Fact is the popular languages have at least caught up if not exceeded in terms of ecosystem and tooling.
What does Squeak lack that you think might make you use it for 'regular' development?
In 2018, the smalltalk-is-its-own-isolated-world view is just wrong.
What things are too hard or annoying to do?
Replacing the low level layers of the system. Eg: integrate the native high performance event system of the host operating system. 10-30% CPU usage even when idling is not acceptable when running on the cloud.
What would you like to be able to use Squeak for?
I'm dealing with a bunch of "knowledge management" problems and would like to use Squeak to build prototypes leveraging some good stuff like magma for example.
There is also the experiment that I started sometime ago but never found time to work on: a standalone magma server that runs directly on the hypervisor using a rumpkernelized squeak.
Cheers, --krishna
p.s: this is all from memory and I did not fact-check so it could very well be that the complaints are no longer valid in which case I'm happy to be corrected.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Super happy to see the new board take the initiative, with this Survey. I’ll try to add my answers thoughtfully.
What do you use Squeak for?
- Cryptography-ASN.1, Green - eLinda, Yellow - forward error correction, incomplete Green - ParrotTalk- encrypted ASN.1 specified comms between Squeak/Pharo/Java -, RELEASED GREEN - and Raven which is distributed objects with a PromiseFuture interface which is eventually sending async, promise returns, messages between objects. From http://erights.org, supports sending messages to futures of promise returns for send-chaining that is forwarded to the send Continuation, evaluated in a single-threaded event-loop. Raven passes all tests in Squeak/Pharo. Green. - STON for Java is not squeak code, it is Java code, to bring STON encoding so Raven can operate in Java, for distributed capabilities, cross-language promise system. C#, Swift, C support pending...
If you don't use Squeak, why not? I do use all the time, I love what everyone built over the decades. I am appreciating you.
If you used Squeak in the past and don't now, what pulled you away? I get pulled into Pharo and Java, but Squeak is my home environment.
What does Squeak lack that you think might make you use it for 'regular' development?
Spec back-ported from Pharo to Squeak and then Native windows support, each Morphic frame is an OS window. Spec-driven even better.
What things are too hard or annoying to do?
The seeming confusion, on my part in the least, all the different source control efforts. I like my Monticello. It seems there are too many needed steps to have package source control and package dependency control, then initialize and/or startUp:. Metacello, Installer, Gofer, Tonal, Iceberg. I don’t like having a ConfigurationOfXXXXXX, that makes two-level commit required. I think there is a way to add required or dependent packages, in Monticello but I have never used. Dependencies is hard, building trees from graphs. I wish Monticello packages incorporated all the dependency management learned in these other attempts such that the Monticello Browser is still the right point of entry and, for lack of a better term, application aware: MonticelloApplication.
What would you like to be able to use Squeak for?
I wish Raven to become the reference implementation for distributed capabilities Actor system, with eventual promise execution environment. With both a distributed naming service and job manager and application publishing, form the basis of Neal Stephenson’s Metaverse, with interconnected Houses 🏡 of presence in social activity.
I also wish to see lots of inter connectivity to RDB, NoSQL, BigData, and Cloud managers so Squeak/Pharo can be always-on servers. I believe the answer is data connection, naming and management, to form a MetaManager.
Thank you for the opportunity to share.
On Wed, Feb 21, 2018 at 20:36, tim Rowledge tim@rowledge.org 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? 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 things are too hard or annoying to do? What would you like to be able to use Squeak for? tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
Hello everyone,
I'm writing for a couple people at once, namely some students at Hasso-Plattner-Institut in Potsdam, so I hope you won’t mind the length of what follows.
What do you use Squeak for?
Last year, during our Bachelor's project, we worked with Lasse Fister [1] to create a font review tool, GlyphHub [2]. We have a video of an early prototype for kerning adjustments of a UFO font file[3] and a couple images of the result can be found on our website draft [2].
Before that, we created games as part of a lecture. The two games created by the groups involved in our Bachelor's project can be seen here: - "CookieQuest", written entirely in Morphic https://www.youtube.com/watch?v=J0dIqptelvk - "Totally Obsolete Mission", written using a fullscreen CroquetGL overlay and FMOD or OpenAL via FFI for sound and a port of SDL's controller interface for two stick movement and local multiplayer https://www.youtube.com/watch?v=OwzycVgFa_g
Other than that, we have some small side projects that involve Squeak: - creating a visualization for Pascal's Triangle that will be used in a science museum in Frankfurt - investigating how/if the UI toolkit we created on top of Morphic for GlyphHub can be re-used - small prototypes for aspects of games - small additions to EPIC as part of a lecture (https://github.com/hpi-swa-teaching/EPIC-Digitalsimulator/releases)
What things are too hard or annoying to do?
- The quality of font rendering, in particular on HiDPI screens lacks in comparison to the native rendering, which I would love to see improved (and have myself started investigating at some point). - While working on the UI widgets framework for GlyphHub we ran into a couple of issues with rendering and layouting. Balloon had some small issues (but annoying ones, for us “visual perfectionists”) and the lack of height-for-width layouting made fluid text layouts a pain. For the latter, we ended up writing a new layoutpolicy that we hope to share soon with the rest of the toolkit (can already be inspected in our repo, minus some refactors [4]). The rendering we ended up “fixing” by using a pango backend instead of Balloon, which in turn gave us a huge headache while making things portable again. - The fact that the version control situation seems still undecided has been source for some confusion in the past, with e.g. Metacello not being included by default. Working in a team with Metacello and git, like we did for an extended period of time, only worked out because we were always in the same room and could hand around sheets with required fixes after oddities that happened during the last merge and hand-merge our own changes on every other people’s workstations in the worst case. - I felt very uncertain whenever looking out for third-party code, concerning its maintenance and compatibility status. I believe having a well-defined stability status on every project, including links to a bug tracker and easy ways to propose fixes (akin to merge requests) for those projects that are deemed important building blocks would be very beneficial for my confidence in picking dependencies. - The landscape of FFI options left me very confused and even after lengthy searches through various Squeak repositories, I did not find good examples for either option, except those built into Pharo. I got the impression that Alien was deprecated, however in the other package that was just called FFI I believe, I did not find a way to define callbacks and the pragma annotation appeared to be generally more limited compared to Alien. These last two points might boil down to lack of documentation for everything that is not code, or code external to the beautiful alt+n/m world of my image.
What would you like to be able to use Squeak for?
I personally am very curious how Squeak can stack up for Game Development. This could either be fully within Squeak (likely involving a Morphic that would have somehow have to be refitted on top of OpenGL for performance) or as just a language backend for an existing engine, such as Godot [5]. Using it as a node.js replacement would also be a dream for me, which might even be possible, I did not have the time yet to investigate the state of database adapters and CPU consumption under load.
In any case, working with and exploring Squeak was a blast for me, and I hope to continue doing so in the future!
Thanks to everyone for building this great platform, Justus, Alex, Corinna, Eva, Tom
[1]: http://graphicore.de/en [2]: http://glyphhub.org/ [3]: https://www.youtube.com/watch?v=o0J9YXD1qPo [4]: https://github.com/hpi-swa-lab/GlyphHub/tree/master/packages/Bootstrap.packa... [5]: https://godotengine.org
________________________________ From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of henry henry@callistohouse.club Sent: Thursday, March 1, 2018 5:13 PM To: The general-purpose Squeak developers list Subject: Re: [squeak-dev] Survey: what do you do with Squeak, what do you *want* to do?
Super happy to see the new board take the initiative, with this Survey. I’ll try to add my answers thoughtfully.
What do you use Squeak for?
- Cryptography-ASN.1, Green - eLinda, Yellow - forward error correction, incomplete Green - ParrotTalk- encrypted ASN.1 specified comms between Squeak/Pharo/Java -, RELEASED GREEN - and Raven which is distributed objects with a PromiseFuture interface which is eventually sending async, promise returns, messages between objects. From http://erights.org, supports sending messages to futures of promise returns for send-chaining that is forwarded to the send Continuation, evaluated in a single-threaded event-loop. Raven passes all tests in Squeak/Pharo. Green. - STON for Java is not squeak code, it is Java code, to bring STON encoding so Raven can operate in Java, for distributed capabilities, cross-language promise system. C#, Swift, C support pending...
If you don't use Squeak, why not? I do use all the time, I love what everyone built over the decades. I am appreciating you.
If you used Squeak in the past and don't now, what pulled you away? I get pulled into Pharo and Java, but Squeak is my home environment.
What does Squeak lack that you think might make you use it for 'regular' development?
Spec back-ported from Pharo to Squeak and then Native windows support, each Morphic frame is an OS window. Spec-driven even better.
What things are too hard or annoying to do?
The seeming confusion, on my part in the least, all the different source control efforts. I like my Monticello. It seems there are too many needed steps to have package source control and package dependency control, then initialize and/or startUp:. Metacello, Installer, Gofer, Tonal, Iceberg. I don’t like having a ConfigurationOfXXXXXX, that makes two-level commit required. I think there is a way to add required or dependent packages, in Monticello but I have never used. Dependencies is hard, building trees from graphs. I wish Monticello packages incorporated all the dependency management learned in these other attempts such that the Monticello Browser is still the right point of entry and, for lack of a better term, application aware: MonticelloApplication.
What would you like to be able to use Squeak for?
I wish Raven to become the reference implementation for distributed capabilities Actor system, with eventual promise execution environment. With both a distributed naming service and job manager and application publishing, form the basis of Neal Stephenson’s Metaverse, with interconnected Houses 🏡 of presence in social activity.
I also wish to see lots of inter connectivity to RDB, NoSQL, BigData, and Cloud managers so Squeak/Pharo can be always-on servers. I believe the answer is data connection, naming and management, to form a MetaManager.
Thank you for the opportunity to share.
On Wed, Feb 21, 2018 at 20:36, tim Rowledge <tim@rowledge.orgmailto:tim@rowledge.org> 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? 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 things are too hard or annoying to do? What would you like to be able to use Squeak for? tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
Sorry being late here, but my answers, trying to add my 2 cents.
What do you use Squeak for?
Not using it currently, but I've several legacy projects, that got outdated unfortunately.
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?
I abandoned it to develop professional desktop applications, for a lot of reasons:
1. Not a decent UI that the regular common users can feel as in home. 2. The damn single window metaphor. 3. The lack of good integration with the operating systems. 4. Tha lack of good/easy integration with libraries in other languages. 5. Tha lack of must-be native code in areas as cryptography for example. 6. I never understood why excellent pieces of code (as Morphic UI Builder for example) never has been included in the base image (I wrote about this in this same list). 7. The always present inestability between releases, being very hard to move your project to a new image version. 8. The lack of ways to generate native executables versions of my applications to different operating systems.
to mention the most significative reasons that comes to my mind right now. May be some of my points have changed with the time, I'm not using Squeak from some years.
What things are too hard or annoying to do?
Try to compete (I mean sell your app against the competence written in any common language that have a normal UI and integration with the operating system) with Squeak and you will undestand that is an impossible.
I had to develop my password manager in Dolphin, because I wouldn't have sold a single licenses if I were attempted with Squeak.
What would you like to be able to use Squeak for?
I always dream with a Smalltalk environment that permit me work professionally in any operating system (includind mobile) but also I understand that this is an open source project with no funds and is not easy to make great things with no money involved.
Please, do not take my words as a criticism, but you asked and I answer with honestity.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
garduino wrote
Sorry being late here, but my answers, trying to add my 2 cents.
What do you use Squeak for?
Not using it currently, but I've several legacy projects, that got outdated unfortunately.
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?
I abandoned it to develop professional desktop applications, for a lot of reasons:
- Not a decent UI that the regular common users can feel as in home.
- The damn single window metaphor.
- The lack of good integration with the operating systems.
- Tha lack of good/easy integration with libraries in other languages.
- Tha lack of must-be native code in areas as cryptography for example.
- I never understood why excellent pieces of code (as Morphic UI Builder
for example) never has been included in the base image (I wrote about this in this same list). 7. The always present inestability between releases, being very hard to move your project to a new image version. 8. The lack of ways to generate native executables versions of my applications to different operating systems.
to mention the most significative reasons that comes to my mind right now. May be some of my points have changed with the time, I'm not using Squeak from some years.
What things are too hard or annoying to do?
Try to compete (I mean sell your app against the competence written in any common language that have a normal UI and integration with the operating system) with Squeak and you will undestand that is an impossible.
I had to develop my password manager in Dolphin, because I wouldn't have sold a single licenses if I were attempted with Squeak.
What would you like to be able to use Squeak for?
I always dream with a Smalltalk environment that permit me work professionally in any operating system (includind mobile) but also I understand that this is an open source project with no funds and is not easy to make great things with no money involved.
Please, do not take my words as a criticism, but you asked and I answer with honestity.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Sorry for the several typos, writing with few ligth and my tired eyes made the conjunction :)
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Tim Rowledge wrote on Wed, 21 Feb 2018 17:36:01 -0800
What do you use Squeak for?
I am using Celeste in Squeak to reply to this email.
Many of my presentations have used Squeak.
Squeak is a key technology in my projects (the SiliconSqueak processor) including for most of my simulations
Since I always have a window open with Squeak for email, I often use it as a calculator for more complicated things (I use an actual calculator for simple things and LibreOffice spreadsheets for really complicated things).
If you don't use Squeak, why not? If you used Squeak in the past and don't now, what pulled you away?
I like many languages including other Smalltalks. Though I am very interested in Cuis I never used it because some of the things that were ripped out were stuff I used in my presentations. Once I had a short deadline for a presentation and downloaded the latest Squeak on a new laptop but found that thumbnails had been broken. The fix was trivial, but I ended up doing the presentation in Prezi since I couldn't risk running into more problems. More recently stupid OS security restrictions in running Squeak off a USB pen drive have made me do presentations in PDF instead.
But the truth is that Self is my favorite Smalltalk for technical reasons and the Squeak community is the reason for me using that. And one aspect of that community for a long time was the leadership of the PARC people - very much like a reunion of the favorite band from your childhood. That put Squeak along with VisualWorks in a special place among all Smalltalks and we lost a bit of that after Squeak 3.2. The split with Pharo and Cuis certainly changed the community somewhat, but I think this was a good opportunity for Squeak to be more strongly commited to Etoys, which took a long while but eventually has mostly happened.
What does Squeak lack that you think might make you use it for 'regular' development?
Modularity needs to be improved. It should be possible to start really small and as transparently as possible use anything out there. Right now we start big and have too much trouble loading extra stuff. And given that we don't have computers with just a few MB of RAM anymore it is silly to have to manage separate .source and .changes files. I think these two issues are related.
What things are too hard or annoying to do?
Obviously writing class comments?
What would you like to be able to use Squeak for?
Run stuff like Frank, Croquet and so on all at the same time instead of as separate images.
-- Jecel
2018-02-22 2:36 GMT+01:00 tim Rowledge tim@rowledge.org:
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
I'm an engineer in Navigation/Guidance/Control, formerly in aerospace domain, and now in naval. I'm interested in signal processing, sensor data fusion, modelling, prediction and anticipation of disturbances (predictive control) and plenty of other cool things, like augmenting the autonomy of unmaned vehicles.
From 1988 to 2003 I have developped a tool more or less like Matlab, within
a micro company (3 to 5 engineers at most). I should have said more AND less. More because built around a higher level concept: the model of a system, not just the poor Matlab concept of "oh, cool everything is matrix of complex even a string!" (you know the genericity of assembler what if everything was a blob of bits?) It was able to manipulate symbolic expressions (ODE, transfer function, etc...) all the way down, unlike an exogen Symbolic Toolbox plugged to nothing. The first effect of having symbolic expressions was the ability to handle symbols, not just indices in an array (let's not connect output 3 of block 2 with input 4 of block 5, but simply connect the roll angle phi). It was able to generate code for simulation or for exporting control command algorithm. Plugging an external user system was much easier and efficient than writing a Simulink sfunction. User interface was well ahead Matlab: all operations on systems were available from a Simulink like block diagam browser And our graphics were quite better, more professional layout with nicer PostScript output. Less than Matlab too, quantity-of-available-Toolbox-wise.
In less than two years, the prototype were in production in several EADS GNC design offices (Aerospatiale company at that time) with about 30 users. And you know what, all this was written in Smalltalk... (after learning with STV, developped in st80 v2.5 then objectworks/visualworks) What else could have been as productive at that time?
We then failed to grow, but did we really want to? We were engineers, and happy to eat our own dog food everyday, We wrote the tool for us before thinking to others.
What do you use Squeak for?
- keeping programming in Smalltalk as a hobby - learning from participation to an opensource project - giving back some contribution to what I consider a potentially productive environment (one of the most productive)
If you don't use Squeak, why not?
Professionnally: see below
If you used Squeak in the past and don't now, what pulled you away?
Not applicable
What does Squeak lack that you think might make you use it for 'regular' development?
First a decent library for developping engineering tools, then acceptation as a standard.
The standards for my domain are things like Matlab/Python/... (numpy, scipy, ...) We more and more need database connection for storing more and more data. And good and live plots
If I want to deviate from the standard, I know that I will have to spend tons of energy for convincing. But if there isn't even a start of decent library, that ain't gonna be easy... - OK, OK, so you have something better, show me what you can do with Squeak Oh you mean that we'll have to rewrite all the available Python tools first, but then will have something better?
Acceptation as a standard comes later, if you start having some materials. It means that new employees have been exposed to the language/tools before. And we don't have to teach them from scratch. On the contrary, they can teach us too.
As you might guess, I'm interested in SciSmalltalk (now Polymath), but did not devote enough time to integrate the community. I'd like to see more good packages from Pharo ported back or even better shared by Squeak, rather than simply switching to Pharo because I'm far more comfortable with Squeak tools (they just work) and community too.
What things are too hard or annoying to do?
Gathering know-how on using advanced features of FFI recently cost me too much Gathering knowledge about what is up-to-date, what is abandonware, where is the working version... I'd like a socially successful SqueakMap. The growing gap with Pharo is not helping and is really annoying me
What would you like to be able to use Squeak for?
As I said above: a replacement for those tools used by (too) many engineers: Matlab/Python/... Maybe musing with web apps, I'm sure it's possible, but it's more a problem of my own ignorance than of Squeak. Demonstrating that Squeak has a future requires playing well in those ecosystems too
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
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…
The only (unrealistic) solution that ever came to my mind would be a reunification - why (besides politically and due to personalities) do cuis, pharo, and squeak have to be independent projects? 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…
----- Cheers, Sean -- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
On 28 April 2018 at 21:49, Sean P. DeNigris sean@clipperadams.com 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.
The only (unrealistic) solution that ever came to my mind would be a
reunification - why (besides politically and due to personalities) do cuis, pharo, and squeak have to be independent projects?
Personalities and politics (i.e. differing opinions/objectives/goals, not gamesmanship) are what drive the world. Open source is about being able to scratch *your* own itch. So different projects that can have different agendas makes sense rather than antagnoise everyone trying to squeeze all those different agendas into one box...
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.
Perhaps that could even be an attractive path for Dolphin to move to 64-bit, rather than the effort to maintain their own VM. That would really make in impact on perceptions on Smalltalk in the outside market. Its a dream... I can't guess how palatable that would be for various parties.
cheers -ben
On 4/28/2018 12:06 PM, Ben Coman wrote:
On 28 April 2018 at 21:49, Sean P. DeNigris <sean@clipperadams.com mailto:sean@clipperadams.com> 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
On 28/04/2018, 13:06, "Ben Coman" btc@openinworld.com 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 edgardec2005@gmail.com wrote:
On 28/04/2018, 13:06, "Ben Coman" btc@openinworld.com 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. 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 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. http://forum.world.st/WebAssembly-td4926166.html
cheers -ben
On 03/05/2018, 09:40, "Ben Coman" btc@openinworld.com 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
On Thu, May 3, 2018 at 6:29 PM, Edgar J. De Cleene edgardec2005@gmail.com wrote:
On 03/05/2018, 09:40, "Ben Coman" btc@openinworld.com 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...
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" Yoshiki.Ohshima@acm.org 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...
On Fri, May 4, 2018 at 1:31 PM, Edgar J. De Cleene edgardec2005@gmail.com 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
- 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" Yoshiki.Ohshima@acm.org 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
On 04/05/2018, 16:55, "Yoshiki Ohshima" Yoshiki.Ohshima@acm.org 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
On Fri, Apr 27, 2018 at 2:57 PM, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
2018-02-22 2:36 GMT+01:00 tim Rowledge tim@rowledge.org:
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
On Thu, Feb 22, 2018 at 2:36 AM, tim Rowledge tim@rowledge.org 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; tim@rowledge.org; http://www.rowledge.org/tim C for sinking, java for drinking, Smalltalk for thinking
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
On 5 May 2018, at 19:10, Chris Muller asqueaker@gmail.com wrote:
- An object appears on the screen.
- 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.
squeak-dev@lists.squeakfoundation.org