[Pharo-users] Re: Opening presentation of the JPL Open Developer seminar series

2020-12-08 Thread Craig Latta



> Great ! What is the time zone?

 UTC-8


-C

--
Craig Latta :: research computer scientist
Black Page Digital :: Berkeley, California
663137D7940BF5C0AFC  1349FB2ADA32C4D5314CE


Re: [Pharo-users] Pharo at JPL

2020-08-29 Thread Craig Latta


 Good luck, Ted, and congratulations!


-C

--
Craig Latta
Black Page Digital
Berkeley, California
blackpagedigital.com
https://caffeine.js.org






[Pharo-users] browsing references to elements of Undeclared?

2020-05-27 Thread Craig Latta


Hi all--

 In various Smalltalks, I'm used to being able to open an inspector
on the Undeclared dictionary, then selecting an element and browsing
references to it. I don't seem to see that functionality in Pharo 8. Is
there an equivalent?


 thanks!
 Craig

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547



Re: [Pharo-users] New type of web application using HTML, CSS and Smalltalk

2020-05-06 Thread Craig Latta


Hi Paul--

> I wonder if you had or could make something like this:
>
> https://jgthms.com/web-design-in-4-minutes/
>
> that shows the value of caffeine in a way being placed into the
> default dev environment + readme doesn't.

 Yes indeed, I expect to produce such material.

> It seems like your work would be really useful to me as a person that
> writes web apps in Smalltalk but I have no idea what "extra" I can do
> with it.

 The extra thing is writing web apps in a livecoding style, from
within a web browser. I wanted this for my own web app development, as
an alternative to the mainstream edit-build-run cycle.

> I've watched the youtube presentation and navigated through the
> impress presentation on your site and it too quickly introduces tons
> of concepts of what you can do but nothing about why anyone should
> want to do those things or how to put them together into something a
> user would use once a developer has made something.

 Right, that presentation is just a bunch of demos of works in
progress, showing some things that are possible. They're meant to
inspire the viewer to imagine what she might do with those abilities,
rather than convince the viewer to adopt anything yet.

> I also think the dynamic nature of what you're making is cool but it
> seems like it adds another level of difficulty in making things
> comprehensible to/usable for/accessible by end users.

 Ultimately, I think making most of the external tools and build
steps unnecessary, and enabling direct manipulation, will make things
more comprehensible.

> Its clear something is there I just have no idea how to unlock the
> value for myself or current users and/or theoretical future users.

 I think it's just the classic value proposition of having a runtime
environment in which further development and debugging can occur. For
me, the greatest value is being to fix a problem at a point that took a
long time to reach, then just continuing the usage session (retaining
all that built-up state) rather than starting over. In highly
interactive environments like VR, this is critical.


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547




Re: [Pharo-users] New type of web application using HTML, CSS and Smalltalk

2020-05-06 Thread Craig Latta


> [Caffeine is] something very different from a standard single-page Web
> app showing standard HTML elements and no IDE in sight, in exchange
> for a small footprint.

 It depends what you do with it. Caffeine can interact with the web
browser and other JavaScript frameworks just as any JS framework can. I
have other demos showing mainstream SPAs and UIs, using WebComponents,
VueJS, plain old DOM elements, etc.


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547




Re: [Pharo-users] Reminder: Smalltalk Webcamp, 22nd of October

2019-09-24 Thread Craig Latta


Hi Johan--

 Looking forward to it!


-C

***

 On 23/9/19 19:57, Johan Brichau wrote:

> Hi,
>
> Are you doing Web development with Smalltalk? Then this meeting is for
you.
> We organise an informal meetup on Smalltalk Web Technologies at the
> Yesplan offices.
>
> ===
> Smalltalk WebCamp
> ---
> Date: Tuesday October 22nd, 2019 (9h30 -> 18h00)
> Location: Yesplan offices in Gent, Belgium. (www.yesplan.be
> <http://www.yesplan.be/>)
> ===
>
> This is an un-conference: everyone is invited to actively participate by
> presenting their project.
> Come and share your web development experience with Smalltalk.
> Wether you are doing Seaside, Teapot, PharoJS, Amber, SqueakJs, Zinc
> REST, … or anything else that involves Smalltalk and web technologies:
> come and share your experience!
>
> We provide ample time to discuss and collaborate on topics, meet people
> and have a beer in the evening.
>
> Attendance is free, but please register before October 15th if you are
> attending, so we can plan accordingly.
> Registration
> link: https://www.eventbrite.com/e/smalltalk-webcamp-tickets-69185265993
>
> At this time, there are 9 participants, excluding the Yesplan team.
>
> Questions? Please send me an email.
>
> Best regards
> Johan Brichau
> jo...@yesplan.be <mailto:jo...@yesplan.be>

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547



Re: [Pharo-users] pharo for ios and android

2019-09-22 Thread Craig Latta


Hi Richard--

> I see there is a caffeine.js.org/pharo... I'm trying it but it takes
> rather longer to start than the Squeak page.

 Ah, I recently condensed the changes file of the Squeak version, so
the first download is much faster. I also think the Pharo 6 image I was
using is much larger than the Squeak one, for some reason. I intend to
update the Pharo image to version 8 soon, anyway.

> By the way, I'm using Firefox on Ubuntu, so what do I type to get, for
> example, "print it"? Ctrl-P is captured by Firefox.

 You should be able to use the normal meta key for your host
platform, it's a bug in the supporting page code in
.../js/squeakjs/squeak.js if not. We can handle command key events
ourselves and then call .preventDefault() on them, to keep the web
browser from chiming in. It should be that Smalltalk handles all of them
except for copy/cut/paste/reload.

 Thanks for checking it out!


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547



Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Craig Latta


Hi--

> Craig Latta runs Smalltalk images on the javascript vm written by Bert
> Freudenberg. Search for Caffeine

 Yes, https://caffeine.js.org is my main development system these
days, and it runs nicely on my iPhone (or any device, with any web
browser). Caffeine is the https://squeak.js.org virtual machine (which
can run Squeak, Pharo, and Cuis) with Web platform and frameworks support.


 thanks,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547



Re: [Pharo-users] Status of Caffeine

2018-07-20 Thread Craig Latta


> What about the UI lag and the occasional spinner that blocks the UI,
> is this related to the debugging protocol (I see that the IDEs are
> loaded in iframes) that will go away when run from local, or is this
> something that can be optimized away?

 That's just the speed of Morphic. The VM is set up to display the
spinner whenever anything takes more than a certain amount of time (one
alternative is to just turn it off :). While Morphic in SqueakJS has
gotten a lot faster since the first release, just because JavaScript
engines have gotten faster, I was still motivated to explore
alternatives. That's why I experimented with animated HTML wireframes,
morphic.js from Snap, and using a separate HMTL5 canvas for each morph.

 All three of these approaches are much faster than traditional
Morphic. However, the traditional Morphic UI has the appeal that it's
pixel-portable between the Web and native apps.


 thanks again,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Status of Caffeine

2018-07-19 Thread Craig Latta


> The minimal example seems to load fast enough. Do you think there is a
> potential to slim it down even further for a production system that
> uses the DOM as its UI, ie remove morphic and others and use the image
> in headless mode?

 Certainly. I've done some experiments with "animated wireframes"
for the development tools. See [1]. I can compose UIs in HTML, then read
them into SqueakJS and give them behavior by giving them DOM event
handlers written in Smalltalk.

> Thanks for the offer to work together on the Pharo port. It is too
> early for me to commit to that, but I definitely like the idea. Right
> now I'm just checking out. I'd like to use Pharo's (or Squak's)
> interactive development workflow to develop single page web apps and
> mobile apps in a reliable manner.

 Yes, I've found it to be a very productive environment. It's great
to be able to debug things in situ, in the DOM environment.

> Is there a way to run the IDE in a separate window from the actual
> application, so that the UI would behave as in production during
> development? I'm especially thinking of responsive web applications
> here.

 Yes; I've also built an interface to the Google remote debugging
protocol, so (in Chrome) I can run SqueakJS in one browser window, and
control whatever's going on in any other browser window.

> (If not then perhaps putting them into divs next to each other might
> be a decent workaround)

 Yeah, this is what I did in the first Caffeine demo[2]. When I want
the Smalltalk IDE to disappear I just set the opacity of its div to zero
and its pointer-events to none. This approach works across all browsers.


 thanks,

-C

[1] https://tinyurl.com/y9ngn363 (github.com)
[2] https://caffeine.js.org

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Status of Caffeine

2018-07-19 Thread Craig Latta


Hi Erik--

> I read in some of the more recent issues that on some mobile devices
> (based on iOS) the page reloads after switching apps and/or locking
> the device. This will loose any data currently in the Caffeine app.
> Craig is working on a solution based on WebWorkers. This probably
> means: not production ready for mobiles yet.

 It turns out splitting the app over multiple processes is only
necessary on iOS 12, which has more severe memory limits. iOS 12 doesn't
support OffscreenCanvases in web workers yet, or 2d contexts for OCs, so
for now I'm just back in iOS 11, where everything works in one big
process (Squeak + A-Frame).


 thanks,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Status of Caffeine

2018-07-19 Thread Craig Latta




Hi Siemen--

> What is the status of Caffeine now - is it production-ready with
> Pharo, and how large is a minimal (not development) image with
> everything required to run a production system - i.e. what would be
> the load time of a Caffeine web app?

 I'm using Caffeine in production with Squeak; there are a few bugs
to deal with in Pharo. Would you like to work together on it?

 A minimal system is a few hundred kilobytes, depending on the
application. The VR app I'm doing now is fairly large and loads in 10
seconds. A small app should take about two seconds. The mini image demo
at [1] is a good approximation.

 Please feel free to join in on Caffeine issues, at [2].


 thanks,

-C

[1] https://squeak.js.org/demo/simple.html#fullscreen
[2] https://github.com/ccrraaiigg/ccrraaiigg.github.io/issues

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-users] Standalone HTML Model

2017-09-18 Thread Craig Latta

Hi Norbert--

> > In Pharo on the SqueakJS virtual machine in a web browser[1], I
> > sketch with live DOM objects, and write them out as HTML. This way,
> > the DSL is the actual JavaScript DOM API which is sitting in the web
> > browser anyway, although driven with Smalltalk messages over the JS
> > bridge. I'm also assured that everything I do with the DOM objects
> > is legitimate, and I can handle DOM API errors live in Smalltalk.
>
> Sure you can do the same with PharoJS.

 Really? I wasn't aware that one can livecode JS objects with
PharoJS, only that PharoJS generates JS source which eventually runs in
a browser. Can you give an example?

> But there are scenarios where you want to have DOM actions without
> having a browser.

 Oh, it wasn't clear to me that this was one of Sean's requirements.


 thanks,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Standalone HTML Model

2017-09-18 Thread Craig Latta

Hi Sean--

> I'd like to create HTML via a DSL, like Seaside's canvas builder, but
> without loading a whole web framework. Any ideas?

 In Pharo on the SqueakJS virtual machine in a web browser[1], I
sketch with live DOM objects, and write them out as HTML. This way, the
DSL is the actual JavaScript DOM API which is sitting in the web browser
anyway, although driven with Smalltalk messages over the JS bridge. I'm
also assured that everything I do with the DOM objects is legitimate,
and I can handle DOM API errors live in Smalltalk.


-C

[1] https://caffeine.js.org/pharo

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Minimizing an Application

2017-08-25 Thread Craig Latta

Hi--

> > > ...10mbs which is the size pharo image can be reduced to is
> > > nothing for todays TBs hard drives and GBs flash drives and
> > > online storage. Unless you do an embedded app and 10 mbs are huge
> > > for your limited storage.
> >
> > Or you want to minimize initial startup time, including the time it
> > takes to transmit the entire system over the net.
>
> ...transmitting the entire image would be necessary only in the case
> you want to install it remotely and that remote location has no
> immediate access to the installation.

 Yes, that's what I meant by "initial startup".


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
voice through 2017-09-12:
+ 1 510 833 5799 (SMS ok)
+31  20 893 2796 (no SMS)




Re: [Pharo-users] Minimizing an Application

2017-08-24 Thread Craig Latta

> ...10mbs which is the size pharo image can be reduced to is nothing
> for todays TBs hard drives and GBs flash drives and online storage.
> Unless you do an embedded app and 10 mbs are huge for your limited
> storage.

 Or you want to minimize initial startup time, including the time it
takes to transmit the entire system over the net.


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
voice through 2017-09-12:
+ 1 510 833 5799 (SMS ok)
+31  20 893 2796 (no SMS)




Re: [Pharo-users] Pharo on the SqueakJS virtual machine

2017-08-20 Thread Craig Latta

Hi Torsten--

> > The next big step is getting a WebAssembly version of Cog running.
>
> Anyone known already to work on such a beast?

 Yes, I'm working on it.

> Another path could be to run on a Linux booting in the browser:
>
> https://bellard.org/jslinux

     Blech! :)


-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
voice through 2017-09-12:
+ 1 510 833 5799 (SMS ok)
+31  20 893 2796 (no SMS)




Re: [Pharo-users] Pharo on the SqueakJS virtual machine

2017-08-20 Thread Craig Latta

Hi Sean--

> > https://tinyurl.com/y727fz4a
>
> Cool!
>
> A few things:
> - There is a very noticeable lag (e.g. ~5 seconds to open an "About"
> window). Any idea what it would take to deliver performance levels
> that feel more native?

 The next big step is getting a WebAssembly version of Cog running.
Until then, we're riding the performance improvements in the web browser
JavaScript engines. At the moment, Chrome seems a lot faster than the
others. Bert's just-in-time translation of compiled methods to JS (which
the web browser's JS engine then translates to native code) helped a lot.

> - I wonder how Tether compares to Denis' Seamless

 I think Tether's serialization takes more advantage of the fact
that the participants are live Smalltalk systems with many of the same
objects already in all locations. Tether also attempts to allow remote
messages with parameters from multiple object memories (e.g., in a
context on machine A, a message is sent to an object on B, with
parameters on C and D).

> - I was going to ask the same question for Naiad vs Epicea, but after
> reading on your blog, it seems Naiad is much more ambitious than
> simply tracking changes

 Yes, Naiad is ultimately a deployment vehicle, enabling the
accurate construction and deconstruction of systems. I want a coherent
way to release apps and work in teams, livecoding all the time.

> - I got a few errors off the bat
>   - UnixResolver>>#cantFindOriginError from #getEnvViaFFI
>   - "The primitiveFetchMourner is missing. Please upgrade your virtual
> machine..."

 Mm, I haven't delved into any of the non-fatal Pharo errors yet. :)


 thanks!

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
voice through 2017-09-12:
+ 1 510 833 5799 (SMS ok)
+31  20 893 2796 (no SMS)




Re: [Pharo-users] Pharo on the SqueakJS virtual machine

2017-06-29 Thread Craig Latta

 Well, that didn't take as long as I thought. :)  Probably due to
progress Bert made since we looked at it at ESUG 2016.

 For more details, see https://tinyurl.com/y727fz4a
(thiscontext.com). Let the bugfixing begin. :)


 thanks again,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] Pharo on the SqueakJS virtual machine (was "PharoJS")

2017-06-29 Thread Craig Latta

Hi Aik-Siong--

> Great news for Pharo. I presume it will be after you are done with
> Squeak running on SqueakJS.

 Now that I've gotten a release of Caffeine out[1], and written some
blog posts about it[2], I've turned my attention to Pharo in web
browsers. I also want Squeak and Pharo in web browsers to communicate
with their native counterparts, and with other Smalltalks. My goal is a
federation of live collaborating Smalltalk nodes on the net. I also have
SqueakJS controlling and reprogramming NodeJS instances.

> Do you have a roadmap?

 Bert and I worked on it a bit at ESUG 2016, and it was going
alright. Very conservatively, I expect to have it finished this year
sometime.

> How will WebAssembly help or not with project?

 I think WebAssembly will enable us to run Cog, with the usual web
security compromises. That's also something I'm interested in working
on. It may make the SqueakJS virtual machine obsolete.


 thanks,

-C

[1] https://caffeine.js.org
[2] https://thiscontext.com

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] PharoJS

2017-06-27 Thread Craig Latta

Hi--

 Aik-Siong writes:

> Craig Latta is doing something interesting[1] with SqueakJS which is
> an optimized Smalltalk VM in JavaScript and HTML5. It is supposedly
> able to run Smalltalk fast inside the browser and access the
> JavaScript world freely. I think this route will benefit greatly from
> WebAssembly.

 I'm also making it run Pharo.


 thanks,

-C

[1] https://caffeine.js.org

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)