Re: [Pharo-dev] DebugSession>>activePC:

2019-01-11 Thread Craig Latta


Hi all--

 Eliot writes:

> Do you want to remove the method simply because there are no senders
> in the image?
>
> If so, this is indicative of a serious problem with the Pharo
> development process.  In the summer I ported VMMaker.oscog to Pharo 6.
> Now as feenk try and build a VMMaker.oscog image on Pharo 7, the
> system is broken, in part because of depreciations and in part because
> useful methods (isOptimisedBlock (isOptimizedBlock?) in the Opal
> compiler) have been removed.
>
> Just because a method is not in the image does not imply it is not in
> use.  It simply means that it is not in use in the base image.  As the
> system gets modularised this issue will only increase.  There are lots
> of collection methods that exist as a library that are not used in the
> base image and removing them would clearly damage the library for
> users.  This is the case for lots of so-called system code.  There are
> users out there, like those of us in the vm team, who rely on such
> system code, and it is extremely unsettling and frustrating to have
> that system code change all the time.  If Pharo is to be a useful
> platform to the vm team it has to be more stable.

 Esteban responds:

> ...we are told that we remove things without caring.

 I don't see where Eliot said anyone didn't care.

 Stef responds:

> About the method removed, could you please react less negatively? It
> would be nice.
>
> ...
>
> How much time opening a bug entry can take? Under 1 min I guess. So
> why if marcus removed it inadvertly would you want to make him feel
> bad?

 Eliot said the system has to be more stable. It doesn't seem like a
negative reaction, or an attempt to make anyone feel bad. As Ben pointed
out, the major cost of reporting regressions isn't the time spent
interacting with the bug-tracking system, it's being switched away from
what you were doing. Using the automated regression-testing system seems
like a good way of catching this particular issue (even though it's a
step away from having full live traceability all the time, before
committing changes).

> For calypso we try and sometimes fail and retry. But we do not rant...
> The solution is also to have ***positive*
> communication... There is no point to piss on our process... So before
> bashing us I would expect a bit of respect that it is due to our track
> record... it would be nice if you could refrain to be systematically
> negative about what we are doing.

 I don't think Eliot is being systematically negative, or that he
was ranting, pissing, or bashing. I think introducing those accusatory
words into the conversation detracts from positive communication.

> I think that we are doing a great job make Smalltalk cool.

 I do, too! (And thanks for using that word. ;)


 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-dev] Anybody using Orca Smalltalk to JavaScript?

2017-08-15 Thread Craig Latta

Hi Frank--

> > > ...especially if their sources MUST be closely connected with
> > > existing Smalltalk code, which does not run in the client like
> > > all the data-driven model definitions etc that I already have
> >
> > There is no such requirement.
>
> Of course, there is, actually it's an absolute necessity in my case.

 Oh, I misunderstood you. I thought you were saying that such a
coupling was a bad thing; I didn't realize it's a constraint you already
have. Anyway, Caffeine is a distributed system. As long as your existing
code can use WebSockets, you can use remote messaging between your code
and the object memories running in web browsers. The Snowglobe remote UI
examples, for example, have object memories running in the AWS cloud
which can send messages to objects in a web browser, modifying that web
browser's DOM objects.

> > ...at the moment my UI is Mozilla's A-Frame 3D virtual reality
> > framework, at 90 frames per second.
>
> Well, what I have seen from the demos, the responsiveness to the
> cursor alone is so very far away from being acceptable...

 That must have been the first Smalltalk Morphic demo, in which
Morphic had full unoptimized control of the cursor. Since then, I've
made UIs that use the Zebkit UI framework, morphic.js from the Snap
project, A-Frame, and pure HTML/CSS. As it turns out, I now always use
the web browser's built-in cursor handling for the normal case, even
with Smalltalk Morphic, so one gets the native OS cursor handling speed.

> ...that I only believe, what you are writing, when I have seen a
> real-world JavaScript UI based on your system. Sorry, over the years,
> from bad experiences and one's own mistakes, I have become very
> skeptical and even more careful.

 Sure, no worries; as older demos are replaced with newer ones this
stuff will be obvious.

> > > and it's impossible to port my >10.000 framwork and application
> > > classes to Squeak.
>
> > Caffeine can use Pharo, Squeak, or Cuis.
>
> Well, my Smalltalk code is in neither of these and it would cost many
> months of work and the loss of very essential tools to port this to
> any of your supported systems.

 Oh, since you're not using Pharo, if were were to continue this
conversation it should be off-list in private email. Anyway, you could
use Caffeine's remote UI server component in your Smalltalk environment,
and just use web browsers for the UI.

 I'm currently adapting the remote messaging parts to all the other
Smalltalks.

> However, *I see one advantage in your approach*, assuming that no
> Smalltalk source code must be sent to the client (I have no info
> about that) and this is in the fact that Smalltalk byte code is, of
> course, a much better protection of IPR than any obfuscated
> JavaScript could ever offer. But the price for this advantage would
> be far to high, as far as I can currently tell.

 No, no Smalltalk code need be sent to the client, although you
always have the option of sending remote messages.


 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-dev] Anybody using Orca Smalltalk to JavaScript?

2017-08-14 Thread Craig Latta

Hi Frank--

> I see absolutely no sense in this approach for real-world end-user
> applications...

 Smalltalk in a web browser (or NodeJS) makes just as much sense as
any other JS framework, like React, Angular, etc. BitBLT, Morphic, and
even the Smalltalk process scheduler are all entirely optional; since
there is full JavaScript connectivity, one can manipulate the DOM (or
shadow DOM) just like any other framework, using JS functions and
promises (and Smalltalk objects which can stand in for those things).

> ...especially if their sources MUST be closely connected with existing
> Smalltalk code, which does not run in the client like all the
> data-driven model definitions etc that I already have

 There is no such requirement.

> the Morph UI is out of any question related to what end-users expect
> (pardon, but end-users would regard this as a bad joke)

 One need not use Morphic. One can use any JS code one likes.

> the responsivness of such a solution in the browser must always be far
> slower than any "normal" browser UI

 That's not true. For example, at the moment my UI is Mozilla's
A-Frame 3D virtual reality framework, at 90 frames per second.

> and it's impossible to port my >10.000 framwork and application
> classes to Squeak.

 Caffeine can use Pharo, Squeak, or Cuis.

> Should my view be completely wrong, please let me know.

 It actually is. :)

     Best of luck with your project!


-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-dev] Anybody using Orca Smalltalk to JavaScript?

2017-08-14 Thread Craig Latta

Hi Frank--

 I'm working on a different project called Caffeine[1]. It runs
Pharo, Squeak, and Cuis object memories in web browsers, using the
SqueakJS virtual machine. There is support for the Chrome Debugging
Protocol, the A-Frame WebVR framework, and the Snowglobe remote UI
framework (e.g., run Pharo in the cloud and interact with it live in a
web browser), and for peer-to-peer communication and NodeJS server
livecoding.

 The target is large-scale web deployments. The project is currently
in alpha.


 thanks,

-C

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

--
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-dev] Anybody using Orca Smalltalk to JavaScript?

2017-08-14 Thread Craig Latta

Hi--

 Eliot writes to Frank:

> Craig Latta has done some strong work integrating Squeak and Pharo
> with the browser using a bridge derived from Bert Freudenberg's
> SqueakJS. Craig's work allows one to use Pharo running on the
> standard Cog VM, client side, to render to the browser, receive
> events from the browser, and manipulate the DOM.
>
> You could contact him to find out if his work is relevant to you.  He
> isn't comfortable discussing it on the Pharo lists himself.

 Oh, I'm plenty comfortable discussing it on the Pharo lists. :)  I
was referring to different context in which someone asked me a question
here, and I got attacked for responding to it.

 Anyway, yes: livecoded Pharo in web browsers is working.


     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-dev] Smalltalk Internet Browser

2017-05-06 Thread Craig Latta

 Raffaello writes:

> > > If I understand the proposal correctly, something similar was
> > > tried in project Lively Kernel (https://www.lively-kernel.org/),
> > > which is dead since long...
> >
> > That project is alive, actually.
>
> The last news and copyright notices are from 2012, the last release is
> from February 2014, the last mailing list entry is from August 2016
> and its gzipped volume in the last year is less than 5 KB.
>
> Would anybody honestly call such a project "alive"?

 As long as there are people using it, then yes, it's alive. I would
say the best indication of activity is the HPI Lively Kernel page[1],
and its associated wiki, which has content from 2017.

 You might also be interested in the consulting work done for
Daimler with Lively, and other real-world projects described in the
paper "A World of Active Objects for Work and Play: The First Ten Years
of Lively", by Ingalls et al[2].

 For me, the most relevant example of Lively's real-world impact is
Bert Freudenberg's use of it to create SqueakJS. You can read about that
in the paper "SqueakJS - A Modern and Practical Smalltalk That Runs in
Any Browser"[3]. I'm using SqueakJS now to create in-browser JavaScript
IDEs (for livecoding JS front-end frameworks like React), and
distributed systems that federate native apps with web browsers across
multiple machines.

 Stéphane writes:

> ...is [SqueakJS] a browser plugin?

 No, it's a JS framework written in normal JavaScript, loadable by
any HTML page via a 

Re: [Pharo-dev] Smalltalk Internet Browser

2017-05-05 Thread Craig Latta

 Raffaello writes:

> If I understand the proposal correctly, something similar was tried in
> project Lively Kernel (https://www.lively-kernel.org/), which is dead
> since long...

 That project is alive, actually.

> ...and was marginally relevant perhaps only in the academic
> field and not at all in the real world.

 As far as I know, the most Lively activity is at the Hasso-Plattner
Institute, but it was also very well received at industry conference JSConf.

 Frank writes:

> ...Squeak running in a browser is already old news, thanks to
> [SqueakJS by] Bert Freudenberg...

 Right, I mentioned it earlier in this very thread, along with
WebAssembly.

> I don't know about interop between that image running in the browser,
> and the browser itself.

 Since there's a two-way JavaScript bridge in SqueakJS, you can do
anything with the browser that any other script can do. It works well.


-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-dev] Smalltalk Internet Browser

2017-05-02 Thread Craig Latta

> So the Smalltalk VMs, which are mostly C, can be compiled to
> WebAssembly to run inside browsers everywhere and be fast too. Wow.
> Is WebAssembly released yet?

 It's enabled by default in Chrome 57 and Firefox 52 and later. See
[1] and [2] for ongoing status and instructional material.

> When can we expect such a VM running a standard Smalltalk?

 I expect it'll happen this year, although I don't know when the
Safari and Edge web browsers will enable it.

> What are the pros and cons compared to native apps?

 For me, the pros are zero-installation ubiquity and integration
with other web tech, and the con is restricted access to local resources.


-C

[1] https://developer.mozilla.org/en-US/docs/WebAssembly
[2] http://webassembly.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-dev] Smalltalk Internet Browser

2017-05-01 Thread Craig Latta

Hi Aik-Siong--

> I want to go to a web page, select a body of text and have Smalltalk
> code analyze the text in some way and return the answer in the
> browser or in the Smalltalk app or file output. There should be
> two-way communication between app and browser. I would like to do
> live debugging too.

 Ah, it sounds like you want something that would work with
arbitrary websites you happen to visit. I would do that by making a
SqueakJS-powered extension for an existing web browser (e.g., a Chrome
extension). The JavaScript bridge in SqueakJS gives you full two-way
livecoding access to the host browser's JS engine, and I'd probably use
it for the Smalltalk app's UI (driving some JS front-end library, like
React). And there's no reason the object memory can't be Pharo.

 At this point, I think it makes much more sense to run Smalltalk in
a web browser rather than building a Smalltalk web browser. I find
SqueakJS easily fast enough for useful things, like the Cog app
streaming Eliot mentioned. WebAssembly will enable web browsers to run
Cog directly (although subject to web security constraints), making
JavaScript completely optional.

 Yes, the web platform is full of astounding accidental complexity,
as Stephen pointed out. Still, there's a lot of great work, community
energy, and reach in which Smalltalk can now participate, and I'm
enjoying it. (Thanks again, Bert, Dan and all!)


-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-dev] Pharo bootstrap

2016-01-22 Thread Craig Latta

> From my perspective, I am very frustrated to not be able to use:
>
> - Context in Pharo
> - Your remote running of tiny images in my Pharo browser (including
>   the sonar ping sound when messages are landing remotely)
> - Using WebDav for looking into my images using your WebDav component

 Cool, that's all planned for this year (in reverse order).


     thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo bootstrap

2016-01-21 Thread Craig Latta

Hi Christophe--

> > Another approach is to modify the virtual machine so that it marks
> > methods as they are run, and modify the garbage collector to reclaim
> > methods that haven't been run. Then you can create systems that
> > consist of only what is necessary to run unit tests, effectively
> > imprinting the unit tests. You can interact with the target system
> > from completely independent one over a remote messaging network
> > connection, so your unit tests need not include graphics support,
> > etc.[1] This seems much simpler to me than making a virtual machine
> > that can run multiple object memories, and distributed object
> > memories have several other important uses too.
>
> Guillermo also implemented this kind of approach with Tornado.

 Right, I read that in his PhD thesis. That's why I mentioned my
earlier work, when others claimed there was a precedent being set.

> But is not so easy...

 Sure, I learned that first-hand when I did it. One important thing
I learned is that it's easier and more accurate to install code as a
side-effect of actually running it live, and not through analysis. It's
also useful to have the option of faulting code in when it's missing
from a running target, or pushing it in from a running source.


-C

[1] http://netjam.org/context

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo bootstrap

2016-01-21 Thread Craig Latta

Hi Guille--

> The point is that “cleaning the image” is not reproducible. A cleanup
> script may work with today’s image but may not work with tomorrow’s.

 I consider this sort of cleaning something that gets done once per
preexisting Smalltalk implementation (Pharo, VisualWorks, etc.). After
it's done, I would build every release artifact up from the identified
essentials (minimal object memory). You need a good module system for
that, and I think one based on live remote messaging instead of source
code stored in files would be best (easiest to build and use, and most
accurate). With the knowledge of those essentials, I would create new
Smalltalk implementations from a system tracer informed by them.

 Cleaning isn't something I would expect to do routinely as an app
developer. It's primarily a research activity.

> [Cleaning] does not scale when it starts to become circular. For
> example, you want to refactor a part of morphic => but you are use
> morphic while the refactor is performed. We do that all the time, but
> at the cost of splitting and staging changes that require to be
> atomic, which adds more complexity to the process.

 Of course, this is another argument for using remote tools.

> ...I wrote a prototype of Espell that manipulated an image loaded in
> the simulator. The result is that you had a high-level API provided
> by mirrors to manipulate an image without requiring a VM change.

 I think that's definitely something you want to be able to do,
since there are some changes that can only be made when time is stopped
for the target image. And the simulator is simply the most pleasant tool
for it. The implementation of this that I did was especially useful for
making complimentary documentation, like the directed-graph movies at
[1]. True, the simulator is slow, and making movie frames with it is
glacial. :)

 We should never be afraid to change the virtual machine, though, in
the absence of any other constraint. :)

> A distributed object memory forces you to include in every peer that
> may receive code a distribution layer (at least sockets, class
> builder, compiler or serializer + dependencies). And we wanted to go
> further. We wanted to be able to easily manipulate an image that does
> not have those features.

 Right, I use the simulator stuff when I care about leaving those
things out (e.g. [2]). But all of the systems I actually want to deploy
do have those things, to the point that I do consider them to be as
fundamental as anything else. And they don't include the class builder
or compiler; the remote messaging protocol I wrote gets by with just
sockets, a few collection classes, and the reflection primitives that
the virtual machine needs anyway. There is never a need to compile
source code.

> The main point was to use the same infrastructure to build an image
> in an explicit manner (the bootstrap) as well as in an implicit
> on-demand manner (tornado). And I believe that the bootstrap is a
> more transparent process where we can control what happens.

 It seems to me that push imprinting, where methods are transferred
from one system to another as a side-effect of running them, is just as
transparent and controllable, and gives you tools that you want anyway
for other purposes.


 thanks,

-C

[1] http://netjam.org/context/viz
[2] http://netjam.org/context/smallest

--
Craig Latta
netjam.org
+31 6 2757 7177 (SMS ok)
+ 1 415 287 3547 (no SMS)





Re: [Pharo-dev] Pharo bootstrap

2016-01-21 Thread Craig Latta

Hi Phil--

> ...prior art is not running on my environment. So, it is irrelevant
> for my current activities.

 You weren't talking about your current activities before, you were
talking about some allegedly innovative capability.

 At any rate, I do have versions of Context for Pharo and other
Smalltalks, which I intend to release this year. I wanted to deal with
SqueakJS after Squeak, then Pharo, then VisualWorks, etc.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo bootstrap

2016-01-21 Thread Craig Latta

> > I am pretty sure that the people behind the Pharo Bootstrap project
> > are aware of the existing literature.
>
> oh yes and even of things that were not written in papers. :)

 Papers are no longer the only way to publish, and paper-writers are
still obligated to cite prior work however they become acquainted with it.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] [squeak-dev] Smalltalk website tricks

2016-01-21 Thread Craig Latta

> Please guys use the Pharo-user mailing-list.

 I chose pharo-devel for the original post because I think it's
relevant here. Pharo object memories could, should, and will be running
on that virtual machine, too.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo bootstrap

2016-01-20 Thread Craig Latta

Hi all--

 Phil writes:

> The point is not to clean but to start with an empty object engine and
> fill it in with the minimum required core. Currently, the image is
> the result of an evolutionary process and rebuilding it from zero was
> not possible.

 Another approach is to modify the virtual machine so that it marks
methods as they are run, and modify the garbage collector to reclaim
methods that haven't been run. Then you can create systems that consist
of only what is necessary to run unit tests, effectively imprinting the
unit tests. You can interact with the target system from completely
independent one over a remote messaging network connection, so your unit
tests need not include graphics support, etc.[1] This seems much simpler
to me than making a virtual machine that can run multiple object
memories, and distributed object memories have several other important
uses too.

> This makes it possible to audit the whole build process, create
> different base image for various purposes (very small, headless with
> no UI objects at all, using the object engine in a completely
> different way that is used today).
>
> That makes the image the result of a fully reproducible process, from
> a file of zero bytes, to a file with a working image.

 You can do all of these things with imprinted unit tests as well.

> Also, this allows to experiment with new low level mechanisms. This is
> currently not possible since it makes us like performing surgery on
> our own brain.

 With remote messaging, which has been around for many years, you
can perform this surgery from afar.

> Also, the Oz-inspired system will help in exploring other image
> memories (small or large) and manipulate them as entities. At this
> point, this is also not common pratice.

 This has been common practice since the introduction of the virtual
machine simulator in 1996. The remote facilities I mentioned all work
under simulation, too.

 There's a lot of prior art here.


-C

[1] http://netjam.org/context

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] What is the current status of flow (flow-stack)?

2016-01-08 Thread Craig Latta

Hoi Erik--

> SqueakJS seems a 'heavy' solution since I probably would like to keep
> the front-end relatively thin (and not use the Morphic UI).

 You can also use the MVC UI, or use no Smalltalk graphics at all
and just manipulate the DOM etc. via the JavaScript bridge.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] About being a real Pharo Jedi developer

2015-11-20 Thread Craig Latta

 Stef writes:

> When I was getting to be a Jedi, my Yoda master (Joseph Pelrine) told
> me the following (yes back in 96)
>
> translated from Yoda language:
>
> you will be a real Jedi when your code will load in one click!
> you will be a real Jedi when your code will unload in one click
> and do not let shit behind it!
>
> Simple no. So when do we get real Jedi knights?

 We get them when we have modules that exist as live objects all the
time, to which we can delegate the task of unloading. Those modules have
access to all versions of methods and class definitions, and every
method and class definition is covered by the module system at all times.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] About being a real Pharo Jedi developer

2015-11-20 Thread Craig Latta

> IMO, unloading is for the viewpoint of having an "ultimate image"
> which is never replaced.

 Or, at least, not replaced from scratch while you're in the middle
of day-to-day work and don't want to have to recreate a bunch of useful
state somewhere else. Unloading has practical value.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Preparing for the (already here) future world of multi-core PCs

2015-11-19 Thread Craig Latta

> Maybe a 'pack' of Seasides is the wrong collective.
> A 'shoreline' of Seasides?  A 'coast'?

 An archipelago.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Get a symbolic link's reference.

2015-11-03 Thread Craig Latta

Hoi Skip--

> Does anyone know of a way to get the path a symbolic link points to?
> For example, I have a file /foo/x, and a symbolic link /foo/bar/link,
> which points to /foo/x. I would like to get the path /foo/x (or ../x)
> somehow from /foo/bar/link

 You could parse the output from a CommandShell command (from the
OSProcess package).


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Alien and FFI in Pharo

2015-10-13 Thread Craig Latta

> I want to get NIO sockets working using FFI, which I understand means
> Alien. I can't seem to load Alien from the Catalog.
>
> What do you suggest I do?

 If NIO sockets involve callbacks from threads forked by the
library, don't bother. Cog's scheduler deadlocks.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Slack?

2015-10-06 Thread Craig Latta

 Slack works very well for large groups. I'm already using it with a
group that is larger than this one.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] TextAttributes in source code or class comment?

2015-09-21 Thread Craig Latta

 (autocorrect-unmangled version... ;)

 Eliot writes:

> ...I was pragmatic and made sure Cog supported the existing
> requirements, not some platonic ideal.  I wish you would adopt as a
> principle that functionality be retained as you are cleaning up
> Pharo.  Instead I see useful functionality is discarded because of
> scruples and I find it "unpleasant".


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] [Reflectivity] Progress with Reifications

2015-09-11 Thread Craig Latta

 "Reificated" is not a word. The word that means what you want is
"reified".


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo on iPad Pro

2015-09-10 Thread Craig Latta

 They still won't approve apps that install new code at runtime,
though. So any IDE that used Monticello, for example, would have to be
distributed ad-hoc rather than through the Apple Store.

 Please let me know if that's changed; I would be a lot more
interested in iOS if it did.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Image and bootstrap dependencies

2015-09-10 Thread Craig Latta

> I updated the graph. There is now:
>
>   * dependencies to remove in red
>   * if you double-click on a node, you only see links where the node
> is involved.

 Very nice!


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Image and bootstrap dependencies

2015-09-09 Thread Craig Latta

Hoi Christophe--

> We now have a best overview of bootstrap dependencies.

 That's a pretty grim picture. :)  Can you post a movie of you
picking through that ball of connections? (E.g., with the search feature
as you described, or any with any other UI affordance that you have with
this system.)


 thanks!

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Image-specific "cache"

2015-09-03 Thread Craig Latta

Hoi Uko--

> I want to persist some value (in a singleton), but when a user
> creates a copy of the image, I want to regenerate that data, so there
> will be no two images with the same persisted data. Is there some way
> to act on an image launch?

 Sure, you can tie into the StartUpList and ShutDownList in
SmalltalkImage. This is how the delay scheduler is restarted on system
startup, for example.

> Or maybe you have better suggestions...

 This seems like the conventional way of doing things like that, as
long the system doesn't need the assistance of another running system to
compute the data.


 cheers,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




[Pharo-dev] translucent windows

2015-08-27 Thread Craig Latta

Hi all--

 I'd like to have windows that use translucent colors, so I can see
other windows and the app background beneath. I've been doing this in
various versions of Squeak and like it a lot. In Pharo, when I use the
titlebar menu of window to change the window's color, the window color
doesn't change. What must I do? I'm using the tODE memory from Dale
Henrich's GSDevKit project for Gemstone, built from Pharo 3.0.30864.


 thanks!

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Unified property API for code.

2015-08-15 Thread Craig Latta

Hoi Tudor--

 I also vote for the xyzAt:put: pattern, even though propertyAt: sounds
 less English than propertyNamed:.

 (Obligatory native-English-speaker comment...)

 I think it maintains continuity with English just as much as at:
does, which is very much.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Event handling insanity

2015-07-27 Thread Craig Latta

 I've had good results debugging GUI subsystems by using the GUI of
a remote system for interacting with exceptions. Something goes wrong in
system A, but the exception notifier is displayed on system B, etc. It's
also helpful to be able to revert methods and classes from afar, as
well. For simple use cases, I've used the simulator, too.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] ICLC (was Edge bundles)

2015-07-22 Thread Craig Latta

Hi Ben--

  I was at the first International Conference on Live Coding[1]
  instead this year, which happened at the same time. A great
  gathering! I hope there's more overlap between that, ESUG, and the
  International Workshop on Live Programming[2] in the future.

 I would be interested to know your impressions and potential for
 Smalltalk here. What is that community's current exposure to
 Smalltalk and what are their competing technologies?

 It's not a competition. Everyone uses what they like, respects each
other's choices, and collaboration is high, through messaging
technologies like OSC[3]. People are educated about and interested in
prior work. It's very inspiring.

 Regarding Smalltalk in particular, there's a lot of potential. I
met many people who are interested in systems that are more dynamic,
portable, reflective, persistent, etc. I think recent developments
toward running in web browsers are what they find most interesting.

 You can observe and join the Live Coding Research Network
discussions at [4].


 thanks,

-C

[1] http://iclc.livecodenetwork.org
[2] https://liveprogramming.github.io/2013
[3] http://opensoundcontrol.org
[4] http://lurk.org/groups/lcrn

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Edge bundles

2015-07-18 Thread Craig Latta

Hi Alexandre--

  Very nice! I would love to use this for my object memory
  visualizations[1], so that they can be recomputed live. Have you
  done any work toward hyperbolic display, as with Walrus[2]? The
  datasets I work with are sufficiently large that such a technique
  is indispensable.

 We can discuss about this at esug. You are coming right?

 I was at the first International Conference on Live Coding[3]
instead this year, which happened at the same time. A great gathering! I
hope there's more overlap between that, ESUG, and the International
Workshop on Live Programming[4] in the future (although without
requiring one to be in multiple places at the same time :).

 Please contact me privately; perhaps we can meet up somewhere in
Europe before the next ESUG.


 cheers,

-C

[1] http://netjam.org/context/viz
[2] http://www.caida.org/tools/visualization/walrus
[3] http://iclc.livecodenetwork.org
[4] https://liveprogramming.github.io/2013

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Edge bundles

2015-07-18 Thread Craig Latta

Hoi Stef--

 Do not expect that people will not look at you strangely when you
 mention smalltalk.

 Actually, the people at ICLC have immense respect for Smalltalk and
its current developers. It was refreshing to skip right past any sort of
apologetics and get right to the doing.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Edge bundles

2015-06-26 Thread Craig Latta

Hi Alexandre--

 Very nice! I would love to use this for my object memory
visualizations[1], so that they can be recomputed live. Have you done
any work toward hyperbolic display, as with Walrus[2]? The datasets I
work with are sufficiently large that such a technique is indispensable.


 thanks,

-C

[1] http://netjam.org/context/viz
[2] http://www.caida.org/tools/visualization/walrus

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] [Pharo-users] Pharo 4 Image Freeze

2015-06-05 Thread Craig Latta

Hi Martin--

 ...the problem might be in the Windows VM. Is there a way to get
 trace output from the VM so I can see the sequence leading up to the
 hang, or a way to get a Smalltalk stack trace from a C debugger?

 You can evaluate, for example, printCallStack() from the Microsoft
Visual C++ debugger console. Or make a snapshot at that point with
primitiveSnapshot(), and poke around with the virtual machine simulator
on your preferred host platform.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] [FIX]: Issue 4795: Horizontal wheel

2015-02-20 Thread Craig Latta

 Bueller?

 I think the devs here are perhaps *slightly* more busy than the
drooling teenagers in that scene... :)


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Matrix API question for a native english

2015-02-12 Thread Craig Latta

Hoi Stef--

 So should we use rowCount for method argument?
 because we got rows: rows meaning rows: rowCount and I rewrote them as
 rows: rowNumber but it could be better to have
 rows: rowCount.

 numberOfRows is unambiguous, in both a selector and a variable
name. Therefore (in my opinion as a native English speaker :), it is
better than the alternatives mentioned.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Context status 2015-01-16

2015-01-19 Thread Craig Latta

Hi Guille--

   For your information guille produced pharo images of 11k for
   simple addition...

  Why so large? The simple addition image I made is 1k.

 Haha, this already looks like a competition. I don't want to compete
 ^^.

 Oh, that wasn't my intention. :)  I really wanted to know what
objects are in there.

 Of course, for a simple addition you just need
 - a special objects array
 - a processor
 - a process
 - a context
 - the method for the context doing the addition
 - some SmallInteger class for the VM to check

 And voilá. That should be even smaller than 1K.

 By my count, you need fifteen objects. I wrote a summary of them
(including a visualization) at [1].

 In any case, the image just doing an addition is just the example that
 pushes the limits of *my* particular tailoring framework... But
 afterwards it has no other real usage :).

 Indeed so. The value of making it is showing that you can account
for each and every bit in the result, and that's just easiest to do if
you go for the least amount of code.

 As Chris says, what the minimal kernel should ensure is that you can
 grow it.

 Exactly, the definition of minimal depends on your intended use.


 thanks,

-C

[1] http://netjam.org/context/smallest

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] OpenStreetMap integration

2015-01-19 Thread Craig Latta

 Lovely!


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Context status 2015-01-16

2015-01-18 Thread Craig Latta

Hi Stef--

 For your information guille produced pharo images of 11k for simple
 addition, 18k for large numbers. Also Seaside counter application of
 about 500k.

 Why so large? The simple addition image I made is 1k.

 Of course this is done in Pharo so it will not really be exciting for
 you.

 The minimal kernel isn't the exciting part, it's just a
prerequisite. The exciting part is the distributed module system
(Naiad). You need a minimal kernel for that to be practical. There is
nothing like Naiad for Pharo yet.

 As always, I'm very interested in collaborating with you.


 thanks!

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] InfoWorld on Redline Smalltalk

2015-01-17 Thread Craig Latta

Hoi Stef--

 I do not want to lose time reading it

 I find I can get through the mailing list in a couple of minutes a
day by reading via NNTP from Gmane, and killing threads I no longer find
interesting.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] InfoWorld on Redline Smalltalk

2015-01-14 Thread Craig Latta

 Shaking the hive can certainly have a positive outcome, but you can
 also get you bitten. :)

 Sure, and shaking the hive too rarely will get you starved.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] InfoWorld on Redline Smalltalk

2015-01-14 Thread Craig Latta

Hi Sven--

 Nothing happened to this project in more than a year... It is mostly 
vapourware and has no users. People following the links on the
 article will soon find out.

 Well, perhaps this reminder will stimulate some interest.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Hosting the Pharo VM on MirageOS

2015-01-14 Thread Craig Latta

Hoi Joerg--

 The Mirage group envisions thousands of kernels running on a single
 Hypervisor with his speed inter-kernel communications. See
 http://openmirage.org/blog/update-on-vchan. The facilitates Smalltalk
 systems consisting of a swarm of communicating images where each
 image is single threaded and concurrency is via message passing.

 Cool! This would be a good place to use Context[1,2].


-C

[1] https://github.com/ccrraaiigg/context
[2] http://thiscontext.com

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] The Smalltalk Renaissance Program

2014-12-27 Thread Craig Latta

Hoi--

 Who are you? Who is your audience?


 thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Engage on Where Smalltalk Went Wrong (2004)

2014-12-26 Thread Craig Latta

 2004? Spontaneously rehashing 2004 is interesting now? Must be the
end of the year. :)


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo Days 2015

2014-10-30 Thread Craig Latta

Hoi Francois--

 I can host one or two people at my place in Mons, Belgium (~1h drive
 from INRIA Lille) for free. I can drive to the conference both days.

 In the best case, I might have some friends to host me (us?) in Lille.
 So we can have some beers without having to drive.

 Oh, cool, I'd love to stay there. (Sorry for the broadcast, I
didn't see your email address anywhere.)


 thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Should literals be immutable ?

2014-10-27 Thread Craig Latta

Hoi Clément--

 In keeping with the principle of least surprise (and least time
spent chasing strange bugs at 4am :), I would prefer that literals be
immutable.


 thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Should literals be immutable ?

2014-10-27 Thread Craig Latta

Craig In keeping with the principle of least surprise (and least time
Craig spent chasing strange bugs at 4am :), I would prefer that
Craig literals be immutable.

Eliot Sleep no sleep no sleep no sleep and no mad
Eliot Video machine to eat time, a city scene
Eliot I can't explain, strange bugs alone at 4am
Eliot The Seine alone at 4a.m, ...

 Cool, King Crimson agrees with us. :)

Tudor Talking about 4 am, you should also watch the coolest talk about
Tudor it: [1]. And a beautiful follow up: [2]

 Thanks! I'll save these for 4am, not long now...


-C


[1] http://www.ted.com/talks/rives_on_4_a_m
[2] http://www.ted.com/talk/rives_a_museum_of_4_o_clock_in_the_morning

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Data Analysis in Pharo

2014-09-28 Thread Craig Latta

 The teams of Serge, Thierry and Noury have been doing wonderful
 things.

 [links to wonderful things]

 Nice!


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




[Pharo-dev] showing decompiled code in the browser (was Nautilus roadmap / icons)

2014-09-26 Thread Craig Latta

Hi Marcus--

 Honestly, I do not get why [showing decompiled code in the browser]
 was useful, ever.

 Some of my debugging sessions require using the virtual machine
simulator. I find browser-presented decompilation useful for finding my
place in a method I'm running that way. It's also useful for learning
about how the compiler and virtual machine work.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Objective-C (was deployment components)

2014-09-24 Thread Craig Latta

   Actually, I am fine with the prefixes. Objective-C also works like
   that and well, it hasn't exactly hampered its community to scale.
 
  I think Objective-C might have had one or two other forces behind
  it to compensate. :)

 Sure. But not when it was at NeXT.

 Eh? Sure it did: Steve Jobs and his team, the same force behind
NeXT's reverse takeover of Apple.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Live Visual Coding environment inspired from Smalltalk and iPython

2014-09-21 Thread Craig Latta

 it's called Larch...

 Excellent name!

 https://www.youtube.com/watch?v=ug8nHaelWtc


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] The Dilemma: Building a Futuristic GUI for Ephestos

2014-09-15 Thread Craig Latta

 ...one real problem with the Squeak/Pharo UI is the lack of native
 windows.  There is an old project Graphics-External-Ffenestri but
 AFAICT it isn't being used.

 I'm using it, on Mac OS so far (Windows and Ubuntu Linux are the
other host platforms I care about at the moment).

 But there /is/ a really good prototype of a native window system
 above Squeak done by Vassili Bykov in Newspeak.

 Hld on there... :)  Does this mean that Vassili tried Ffenestri
and found it unusable? If so, why? Details, please.


 thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] fosdem 2015

2014-09-13 Thread Craig Latta

Hoi Stephan--

 I will put out a proposal for a devroom, yes. That is no guarantee
 that we will get one, the amount of space is limited.

 Looking forward to it!


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Thanks :)

2014-09-13 Thread Craig Latta

 Hooray! :)


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Pharo Success Stories on homepage

2014-09-10 Thread Craig Latta

 ...we should always deal with decision makers who are concerned with
 business benefits and not technological conformity with the herd.

 I quite agree, and I'm most interested in success stories which
highlight such people. I want to show those stories to those who
hesitate because they think they'll have a hard time expanding a team.


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Looking for PhD students

2014-08-28 Thread Craig Latta

Hi Michele--

 I'm very interested in pursuing a PhD. I started developing with
Smalltalk while studying music and computer science at the University of
California at Berkeley. I went on to develop interactive audio tools at
Atari Games, consumer electronics applications at Interval Research, and
AI research at the IBM T.J. Watson Research Center, all with Smalltalk.
I've participated in the Squeak and Pharo communities since they began,
and have served on the Squeak board for several years.

 I wrote the Flow, Naiad, and Spoon frameworks, for Smalltalk
streaming (including remote messaging), change management (including
team collaboration), and minimal system deployment (including
distributed operation). I would love to pursue them in the context of a
PhD. There's more information about them on my blog[1] and website[2]. I
use them in my own work with remote music collaboration, improvisation,
and livecoding[3].

 I look forward to speaking with you!


 thanks,

-C

[1] http://thiscontext.com
[2] http://netjam.org/cv
[3] http://toplap.org

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Roadmap on tools?

2014-08-28 Thread Craig Latta

 As far as I know no one has built anything more complex than a class
 browser. I would say Spec was incapable of building a complex
 interface of any kind. It's clumsy, developer-hostile, and counter-
 intuitive.

 The whole Spec process of writing code in three different places is
 the very definition of a /super pain in the asset/s. it is far less
 intuitive to my mind than creating composite morphs.

 Progress on Spec is glacially slow - but that's not the problem. Spec
 is profoundly misconceived and fundamentally flawed and offers
 nothing over raw Morphic. The Spec model is simply not how anyone
 would want to build an interface in 2014. I certainly would never use
 it.

 Okay, but how do you really feel? :)

 I'm intrigued by the 2014 comment, though (which of course will
look hilarious in 2015). How do people want to build interfaces in 2014?


-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Stack size for compiled methods (issue 13854 Crash/hang on array access)

2014-08-19 Thread Craig Latta

Hoi Eliot--

 [great explanation of method/block stack depth]

 Cool, is this viewable from an in-system tool somewhere (even if
only a documentation method in a class browser)?


 thanks,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] New Woden Video

2014-08-16 Thread Craig Latta

 ...it looks like 2 powerful game engines/graphic engines [Woden,
 Ephestos/Blender] are coming to Pharo which should open a big door to
 graphical 3d visualisation for Pharo.

 Cool, I look forward to using them!

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] Busy week :)

2014-07-15 Thread Craig Latta

 http://pharoweekly.wordpress.com/2014/07/15/another-busy-week-
 in-pharoland

 Cool! Typos: “without being forced” (not “without been forced”) and
“thank you for your contributions” (not “thanks you”).


-C

--
Craig Latta
http://netjam.org/cv
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] a Pharo talk from a ruby conference

2014-05-14 Thread Craig Latta

 [recent Pharo accomplishments]

 No such thing in Squeak these days.

 That was an unnecessary dig, and totally uninteresting to newcomers
(not to mention false). Also, Pharo progress doesn't come at the expense
of progress anywhere else, so such comments are a complete waste of your
time and energy.

 If you feel the need to slag another project to make yourself feel
better about Pharo, you have deeper problems. You were better off with
tunnel vision. :)


-C

--
Craig Latta
www.netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)




Re: [Pharo-dev] a Pharo talk from a ruby conference

2014-05-13 Thread Craig Latta

Hoi!

 Eliot wrote:

 Pharo isn't inspired by Smalltalk; it /is/ a Smalltalk. Trying to
 be mealy-mouthed about it and claiming inspiration, rather than
 proudly declaring its a Smalltalk is IMO as bad as apologizing for it
 being dead... We don't need to avoid the S word...

 Sean later wrote:

 ...it's a question of who you're marketing to. Since we're marketing
 to non-Smalltalkers (quite wise since 16% market penetration is the
 tipping point, and we're not there yet), clearly Pharo is Smalltalk-
 inspired is the thing to say. It's not any more or less true than
 the latter, just more useful in its context.

 And of course, with apologies to Alan, some of us think the name
Smalltalk was a poor choice from day one (in 1971). Surely there are
names which are suitably innocuous[1] but also convey some of the
magic in providing computer support for the creative spirit in
everyone[2]. Smalltalk is a vague and anemic name. From that weak
starting point, the other baggage is even heavier (perhaps it's helpful
to think of a balloon here? :).

 I would use a new name and not mention Smalltalk at all unless
asked about it. At that point, I would proudly recount accomplishments.
Whenever someone just blurts out that Smalltalk is dead, I always
correct them, and it's not difficult. Smalltalk-inspired is a
non-starter, because it implies (in all contexts) that there isn't a
direct line of descent (there clearly is). I agree that it sounds
mealy-mouthed, disingenuous. Smalltalk-derived would be the honest
phrasing, and also sounds bad. Yeesh, if you have a problem with the
Smalltalk name, don't be the first to mention it. :)

 Let's put more energy into a concise and intriguing description. I
think the primary concepts are programming, dynamism and messaging. The
word livecoding seems to resonate these days. If we're going to repeat
a word twenty times, I would choose that one. :)  It has a nice ring
that draws people in. When they ask what livecoding is, you can describe
dynamism, and then describe how the coding is structured (messaging,
objects, etc.).


 thanks,

-C

[1] http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html
[2] http://tinyurl.com/25s52qd (archive.org, Ingalls)

--
Craig Latta
www.netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)







Re: [Pharo-dev] Spotlight Demo

2013-12-30 Thread Craig Latta

 Nice!


-C

--
Craig Latta
www.netjam.org/resume
+1 510 984 8117
(Skype rings this until 31 January 2014)




Re: [Pharo-dev] Great Sprint Yesterday!

2013-12-21 Thread Craig Latta

 Here are some Photos:

 Nice, looks like a lot of fun!


-C

--
Craig Latta
www.netjam.org/resume
+1 510 984 8117
(Skype rings this until 31 January 2014)




Re: [Pharo-dev] Another thought about globals

2013-12-14 Thread Craig Latta

Hi Norbert--

 Class names are globals. A class is registered in a global namespace
 by its name. Names need to be looked up. How should it work in
 another way?

 Get rid of globals. Make the root classes elements of the special
objects array (Object already is), and look up classes through that.
Make everything else that used to be a global (like Transcript) the
responsibility of some class, and use them by sending messages. This
also makes the modularization straightforward.

 There's no need for a system dictionary. It was a profound and
long-lived mistake.


-C

--
Craig Latta
www.netjam.org/resume
+1 510 984 8117
(Skype rings this until 31 January 2014)




Re: [Pharo-dev] Smalltalks 2013 video now available

2013-11-21 Thread Craig Latta

 Thanks Andres! This is so important to share the conferences
 beyond the slice of our community attending :)

 Hear hear! Thanks, Andres!


-C

--
Craig Latta
www.netjam.org/resume
+1 510 984 8117
(Skype rings this until 31 January 2014)