Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-09 Thread tbrunz
I think the "small hardware" market is another area where Pharo can make a
good showing for itself, because it's small & relatively lightweight
compared to others.  So it makes good sense to me to couple Pharo with a
similarly lightweight OS.  

I like the idea of "Pharo as OS + app on dedicated hardware", but doing it
in the way of a "tiny Linux" OS for the VM to run with, rather than "let's
make the VM into its own OS!" as has been suggested before -- because then
you must code nearly everything in Pharo if you do that.  (In the end, you
would essentially end up incorporating the Linux kernel into the VM.)

A compact Linux allows delegation of some tasks by the Pharo app to an
existing Linux app.  (At least until that app can be recoded in Pharo, of
course.   :^)

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-08 Thread tbrunz
d exploring supported,
> like what we have now on Pharo 8.x?
> 
> On 8/09/20 5:33 a. m., Stéphane Ducasse wrote:
>> I love it. 
>> Now imagine with our specialised kernel or shrunk down version…
>> We are preparing to 
>> - remove a lot of code from Pharo 90 (spec1, eye inspector, GT,
>> Glamour….)
>> - but also to give the possibility to load on demand projects that we
>> are integrating and TESTING
>> - Microdown
>> - Roassal 30. 
>>
>> S
>>
>>> On 8 Sep 2020, at 03:22, tbrunz <

> wild.ideas@

> >> <mailto:

> wild.ideas@

> >> wrote:
>>>
>>> This is running 32-bit Pharo 80 on 32-bit TinyCore 11.1 (Linux kernel
>>> 5.4.3).
>>>
>>> There is a 64-bit version of TinyCore, which I plan to test next...
>>> Then test 64-bit Pharo 80 and try Pharo Launcher on top of that.
>>> Then on a Raspberry Pi...
>>>
>>> Here's what's intriguing about this:  
>>>
>>> TinyCore Linux is SUPER tiny -- 11MB for the headless 'Core' version,
>>> and
>>> 16MB for a FLTK/FLWM desktop.  (Many different desktops are
>>> available.)  The
>>> 'CorePlus' version (which I'm booted on) is still only 106MB; it
>>> supports
>>> Wifi & comes with installation tools & a variety of DEs to pick from.
>>>
>>> With TinyCore, you "build it the way you like it", by adding just the
>>> packages you want in your Linux image.  With a stripped-down
>>> implementation,
>>> it's around the same size as the Pharo VM!
>>>
>>> Which makes TinyCore basically "a snap-on HAL module for the Pharo
>>> VM" that
>>> gives you what amounts to bare-metal operation -- and it can run 100%
>>> from
>>> RAM (as well as via mounting packages from persistent storage, on a
>>> package-by-package basis).
>>>
>>> You can persist TinyCore on disk, and keep your installed packages ("tce
>>> extensions") and your settings & user files persisted separately.  That
>>> helps keep the TinyCore OS from being corrupted -- it's much like the
>>> '.image' file for Pharo; your changes are kept in a separate file.
>>>
>>> This opens up the possibility of making tiny/embedded little
>>> "appliances"
>>> that boot into TC, then auto-launch a Pharo image -- headless or with
>>> a UI, all without the burden of launching/maintaining full OS to do so.
>>>
>>>
>>





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-08 Thread tbrunz
Still running on the netbook after 12 hours -- I'm writing this post on the
TinyCore netbook, with Pharo Launcher & Pharo in the background.  Here's
some of the system stats:
tc@box:~/pharo$ df -hT | grep -v tcloopFilesystem   Type   
Size  Used Available Use% Mounted onrootfs   rootfs 
1.7G813.2M978.3M  45% /tmpfstmpfs 995.3M
91.1M904.2M   9% /dev/shm/dev/sdb1vfat   58.4G
55.1G  3.3G  94% /mnt/sdb1/dev/loop0   iso966027.0M
27.0M 0 100% /mnt/cdromtc@box:~/pharo$ uname -aLinux box
5.4.3-tinycore64 #2020 SMP Tue Dec 17 17:38:30 UTC 2019 x86_64
GNU/Linuxtc@box:~/pharo$ free -m  totalusedfree 
shared  buff/cache   availableMem:   1990 705 120   
 
8591165 198Swap:   482  46
436tc@box:~/pharo$ 
Next test will probably be an old Intel-powered Chromebook.  (They can boot
thumbdrives.)  Then my RPi3.  (It's a 3B model -- 64-bit ARMv8, but they're
supposed to be backward-compatible with 32-bit ARMv7; there are TinyCore
builds for ARMv6, ARMv7, and ARMv7l, so I'm not sure what will work
there.)-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-08 Thread tbrunz
And it seems to be quite stable, too.  I couldn't crash it (though I didn't
try hard). 

I've had the 64-bit version of Pharo 8 running on TinyCorePure64-11.1 (out
of RAM) for 8 hours now, and it's still working fine.

Forums on TinyCore contain comments such as, "TC Linux embodies what is best
in Linux. Fast, small, flexible, free and support for old hardware. And
because its simple construction, it's almost indestructible."

This really opens up possibilities for kiosks, embedded controllers,
micro-controllers...  And bootable thumb drives that you can just plug in,
boot, and you have a Pharo running on your hardware.  (When running solely
in RAM, once it loads, you can remove the thumb drive.)

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-07 Thread tbrunz
...and 64-bit Pharo runs in 64-bit TinyCore.

So does Pharo Launcher.

However, I kept getting bit by the "External module not found" error
(libgit2).

.
 
.
 





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-07 Thread tbrunz
BTW, TinyCore Linux was started by Robert Shingledecker.  

He's the guy who led the "Damn Small Linux" project[1]; when it dissolved,
he started TinyCore and kept going...

[1] http://www.damnsmalllinux.org/



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-07 Thread tbrunz
This is running 32-bit Pharo 80 on 32-bit TinyCore 11.1 (Linux kernel 5.4.3).

There is a 64-bit version of TinyCore, which I plan to test next...
Then test 64-bit Pharo 80 and try Pharo Launcher on top of that.
Then on a Raspberry Pi...

Here's what's intriguing about this:  

TinyCore Linux is SUPER tiny -- 11MB for the headless 'Core' version, and
16MB for a FLTK/FLWM desktop.  (Many different desktops are available.)  The
'CorePlus' version (which I'm booted on) is still only 106MB; it supports
Wifi & comes with installation tools & a variety of DEs to pick from.

With TinyCore, you "build it the way you like it", by adding just the
packages you want in your Linux image.  With a stripped-down implementation,
it's around the same size as the Pharo VM!

Which makes TinyCore basically "a snap-on HAL module for the Pharo VM" that
gives you what amounts to bare-metal operation -- and it can run 100% from
RAM (as well as via mounting packages from persistent storage, on a
package-by-package basis).

You can persist TinyCore on disk, and keep your installed packages ("tce
extensions") and your settings & user files persisted separately.  That
helps keep the TinyCore OS from being corrupted -- it's much like the
'.image' file for Pharo; your changes are kept in a separate file.

This opens up the possibility of making tiny/embedded little "appliances"
that boot into TC, then auto-launch a Pharo image -- headless or with a UI,
all without the burden of launching/maintaining full OS to do so.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-07 Thread tbrunz
Just to be sure I'm not booted into Ubuntu:

 



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



[Pharo-users] Pharo on a Netbook running TinyCore Linux

2020-09-07 Thread tbrunz
This is cool...  

After I booted TinyCore Linux[1] on my 10-year-old netbook[2], I decided to
see if it could run Pharo...

It does!

Details:
[1] http://tinycorelinux.net/
- TinyCore Linux "CorePlus", 32-bit, version 11.1.
- Booted from a YUMI multiboot thumbdrive.
- Installed 'curl', 'bash', Firefox (to access 'pharo.org' site for download
info).

[2]
https://www.notebookcheck.net/Review-Acer-Aspire-One-D255-Netbook-N550.40151.0.html
- Acer D255 "AspireONE" netbook (Sept, 2010).
- 2 GB RAM (single DIMM).
- 250 GB SSD (not being used; TinyCore running 100% in RAM).

The Proof:
 



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo at JPL

2020-08-28 Thread tbrunz
JPL has its own Slack server...  Of course I started a channel:

 



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo at JPL

2020-08-28 Thread tbrunz
Thanks!  

And I want to give special thanks to Stef and to Alexandre Bergel for being
generous with their time in helping me with my advocacy.

It's just as you said, Offray: "We live in an attention economy" -- and the
competition is *fierce*!  

(I think it's worse when you're dealing with educated professionals -- they
work hard, they play hard, and there's little left over to "learn something
new" sometimes.  But I am not discouraged... I take the long view on this. 
Computers taught me patience.  I'm using that now...  ;^)

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo at JPL

2020-08-28 Thread tbrunz
Hi Konrad,

I'm the person at JPL who (somehow) got "The Powers That Be" here to agree
to join the Consortium.

I'm also the major champion of Pharo at JPL, and am leading an effort to get
Pharo introduced & infused at JPL.

I see the initial "market" for Pharo here to be:

* Scientific & engineering data analysis & visualization,
* Modeling and simulation, 
* Internal web servers,
* Custom ground support & test systems, 
* Small-to-medium sized scripting to "support applications".

I'm sure more application areas will open up as I get people to start using
Pharo in their particular areas of expertise.

I'm doing what I can be promoting Pharo, providing introductions & training,
and I'm now working on demonstrations that can catch the attention of both
engineers and managers -- to see the potential.

Wish me luck!
-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Move image

2020-08-17 Thread tbrunz
Hi Robert,

The "#selectedLaunchConfiguration was sent to nil" sounds like an error in
Pharo Launcher version 2.0 that several people have seen.

It's corrected by updating Pharo Launcher to version 2.2.  You can get it at
https://pharo.org/ ; it's not necessary to uninstall 2.0 first, just install
2.2.

-Ted




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] [ANN] Smalltalk's Successor

2020-08-13 Thread tbrunz
Hi Richard,

I had the same impression, that "Pharo is Smalltalk's successor".  (Without
any negative feelings toward VAST and VW; they fill a very important role
for commercial use -- businesses depend on the kind of support that a
commercial distribution provides and are very willing to fund that.)

The future of Smalltalk is being created every day with commits to the Pharo
Project.  

Who's to say a company can't be created to provide commercial support for
Pharo in the way that Red Hat does for Linux?  And the Pharo Consortium is,
in many ways, already one such entity.

So please do contribute to making the booklets better, Richard!  I started
last fall (and need to start up again) and found it very fulfilling, as well
as educational.  It's easy to do; for you & others, here are the basic
steps:

1. Fork a booklet repository and then clone it.
2. Set a git 'upstream' to the original (because you'll be trading revisions
as you go).
3. Edit the Pillar markdown, add new material, etc.
4. Push and submit a Pull Request.
5. Continue working (i.e., start a 'pipeline' of edit submissions).
6. Note that you can modify the target of a PR while the PR is still "in
review".
6. Check the WIP 'releases' that the CI system generates to proofread.

I was using Atom and it's markdown rendering, which is imperfect, but it was
sufficient.  Sean DeNigris recently suggest editing in Gtoolkit's live
Pillar editor: "It's beta, but a compelling experience. I did a little
screencast here: https://youtu.be/GZOYF82h9qA";.  I'm looking at it this week
for my own use.

There's also the 'Documentation' channel on the Pharo Discord site.  I'd
like to see the 'doc writers' start to interact there (and here); the last
Discord entry was 6 weeks ago...

-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-11 Thread tbrunz
Hi Offray,

Just wanted to let you know that I enjoyed your several responses, and that
I'm working on following-up to them.

But first I wanted to look at all your links and make as thoughtful a reply
as you have, and that takes a while...

I think what you've been working on could be a good entry point for some
groups where I work, so I do want to learn more.

Cheers!
-Ted





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-05 Thread tbrunz
> >>> I've been thinking lately that it would be nice to expand the number of 
> >>> Pharo tutorials we have available. But rather than (or along with) 
> >>> creating 
> >>> more "beginner" level tutorials, I'd like to see some good
> "intermediate" 
> >>> level Pharo tutorials. 
> >> 
> >> Me too :) 
> > 
> > Let's do it, then. I'll volunteer to do most of the work. :^) 
> 
> I will review anything you write :) 
> > 
> > My hope is that participating in this will make me capable of creating 
> > advanced tutorials all by myself. 
> 
> I usually like to write to learn and dump what I learned. 
> > 
> >>> I think that programmers who already know the Pharo 
> >>> syntax and messaging semantics could benefit from more advanced
> tutorials 
> >>> that demonstrate how to develop "real world" Pharo code for "real
> world" 
> >>> processing needs. 
> >> 
> >> Yes yes I would love that. 
> > 
> > That was part of my motivation for creating a Pharo app to solve the
> Zebra 
> > Puzzle. First, of course, I wanted to solve it. ;^) 
> 
> I will send you some feeedback and PR. 

Okay, I think it's ready to be reviewed...

https://github.com/tbrunz/logic-puzzle

Thanks,
-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-05 Thread tbrunz
Hi Offray,

I think you're addressing many of the same concerns as I am, with more of a
web/browser orientation perhaps...

Which is good.  Pharo can make nice, interactive web sites as well as nice,
interactive documents, can it not?

>  I think that we still can make a compelling case for wider audiences 
> about Pharo and making it more visible.

I agree!  What do the 'wider audiences' need?  What will attract their
attention?  Being visible is necessary, but is it sufficient?  How can we
make them want to learn this new tool?  (Everyone is so strained for time,
and attention is hard to come by these days...)

> agility and resilience are not properties of the
> overcomplicated web of today

So, so true... 

> .. making suggestions and helping us to improve the software 
> engineering parts behind such problems/projects,

I am also interested in contributing to that.  Better tools & methods for
solving the problems, better documentation to further understanding and
engagement, and better ways for users to employ the results.

> I greatly appreciate the experience and teachings of this community.

As do I.  

Cheers!
-Ted





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-05 Thread tbrunz
> > Okay, I'll do that. But this brings up a more general question... 
> > 
> > If I wanted to add a diagram, or maybe a document with equations
> (rendered 
> > in LaTex), then a class comment wouldn't work. 
> > 
> > ...Unless that's intended to be part of the newer format?? 
> 
> 
> Microdown supports latex via external services (I should check that the 
> implementation uses the same cache than the one for pictures). 
> For diagram you can use png but we will have to spot glitches. 

One more thought on this...  I assume you've seen Jupyter Notebooks? 
They're starting to see some use where I work (we now have our own
'enterprise server').  I recently took an intro class to see how it works,
and how to use them.

How much of a "Jupyter-style" notebook capability would the community be
interested in?  By that I mean having the ability to mix 'rich'
documentation with code and data to produce interactive 'notebooks' with
similarities to what Jupyter does -- but simpler!  Jupyter is much too
complicated...

What you describe for enhanced comments sounds like a step in that
direction...  Obviously Pharo is already oriented toward mixing code and
data in one document, and enhancing the comments moves it closer to a
notebook with richer documentation possibilities.  

So it seems to me that generalizing this "enhanced document capability" and
making it more prominent (such as giving it its own type of window, rather
than it being a browser pane tied to the code?) would take it closer yet to
realizing a general, flexible "Pharo Notebooks" concept.

My understanding is that Offray's Grafoscopio is essentially what I'm
describing, but maybe more oriented to data analysis & presentation..??  (He
can say better than I, as I'm not sure how accurate that is.)  I am thinking
of something that would include that, but maybe be more general-purpose.

Part of this idea is to feature a "semi-automated" subset of Spec2 that
makes it easier to get nice graphical UIs in a notebook fashion -- but does
not require as much depth of understanding Spec2.  (All of Spec2 allows
anyone to build anything.. but not everyone needs to build so much..?  This
is the value of frameworks and selectable motifs, yes?)  

Could what I'm describing be a way for everyone to step easily into Spec2
when its full flexibility for making GUIs isn't needed (yet)?  By this I'm
implying code generators that create common/typical Spec2 framework classes
& methods that would make up the front-end of the 'documentation' element of
"Pharo Notebooks".  Pharo being Pharo, one could then customize further...

Because "it's always easier to edit something than to create from a blank
page", yes?

I can see Pharo taking away "market share" from Jupyter Notebooks, by being
simpler and easier to work with.  Data + Code + Document: All three elements
being "live" and interactive.  Pharo has the first two.. What about the
third?

-t

> 
> S. 
> 
> > 
> > -t 
> > 
> > 
> >> I would put it in class comment. 
> >> 
> >> We are about to release a nicer rendering of comments. 
> >> 
> >> S. 
> >> 
> >>> On 4 Aug 2020, at 06:46, tbrunz wrote: 
> >>> 
> >>> I wrote a "theory of operation" document for my app, 
> >>> https://github.com/tbrunz/logic-puzzle 
> >>> 
> >>> But then I realized, "Where do I put it??" 
> >>> 
> >>> I thought of a few possibilities: 
> >>> 
> >>> * Commit it to the git repo, but then it wouldn't be easy to access
> from 
> >>> Pharo, 
> >>> * Add it to a top-level Pharo class comment, 
> >>> * Make it into a string in Pharo, put it in a method in a class. 
> >>> 
> >>> What's the standard practice for "attaching" non-code documents to
> Pharo 
> >>> applications? 
> >>> 
> >>> -t 
> >>> 




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-04 Thread tbrunz
Okay, I'll do that.  But this brings up a more general question...

If I wanted to add a diagram, or maybe a document with equations (rendered
in LaTex), then a class comment wouldn't work.  

...Unless that's intended to be part of the newer format??

-t


> I would put it in class comment. 
> 
> We are about to release a nicer rendering of comments. 
> 
> S. 
> 
> > On 4 Aug 2020, at 06:46, tbrunz <wild.ideas@> wrote: 
> > 
> > I wrote a "theory of operation" document for my app, 
> > https://github.com/tbrunz/logic-puzzle 
> > 
> > But then I realized, "Where do I put it??" 
> > 
> > I thought of a few possibilities: 
> > 
> > * Commit it to the git repo, but then it wouldn't be easy to access from 
> > Pharo, 
> > * Add it to a top-level Pharo class comment, 
> > * Make it into a string in Pharo, put it in a method in a class. 
> > 
> > What's the standard practice for "attaching" non-code documents to Pharo 
> > applications? 
> > 
> > -t 
> > 
> 



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-03 Thread tbrunz
I wrote a "theory of operation" document for my app, 
https://github.com/tbrunz/logic-puzzle

But then I realized, "Where do I put it??"

I thought of a few possibilities:

* Commit it to the git repo, but then it wouldn't be easy to access from
Pharo,
* Add it to a top-level Pharo class comment, 
* Make it into a string in Pharo, put it in a method in a class.

What's the standard practice for "attaching" non-code documents to Pharo
applications?

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Text-Editing UI

2020-08-02 Thread tbrunz
If you do, send me a message about what you're considering, and I can help
you choose.  I'm much more knowledgeable about CBs that the average person
-- especially about programming on them & using Linux on them.

Another nice thing about Chromebooks is that they're inexpensive.  Meaning,
you get a lot for the price.

They used to all be fairly low-performance "budget" devices, but they've
been catching on, and now pretty much all the manufacturers make a variety
of models.

What's really interesting are the "power user" models.  Google started the
trend by selling the "Pixel" model to attendees of their "Google I/O"
conferences, starting in 2013.  They did it again in 2015.  Both have
touchscreens -- they were the only ones at the time with T/S.

The 2015 model was available as an i5/8GB/32GB (cpu/ram/ssd -- they don't
have a lot of disk space because you're encouraged to save things in "the
cloud"; you get a lot of free Google Drive space as part of buying a CB). 
Then there was the "LS" (Ludicrous Speed) model that's an i7/16GB/64GB. 
(The CPU is a dual-core Broadwell mobile with HT enabled -- it's no slouch.)

The hardware, for the time, was second-to-none.  It was Google's way of
showing the world, "Look what you can do!" as well as a perk for power
users.  Now many of the mfgrs have high-end models, many of which are really
nice systems.

And for "content consumption", they're just as much an "appliance" as iPads. 
Turn them on & go...  You can't break them.  Perfect for "the parents" or
anyone who's not tech-savvy.  But unlike iPad devices, you can conveniently
create content, such as emails, etc.

So the 2015 Pixel was too much for me to pass up...  I didn't go to Google
I/O, but you can always count on a percentage of recipients to flip them on
eBay.   Which they did, so I bought one.  It's been a good value, and the
hardware really is top-notch.

Of course I wasted no time in learning how to run Linux apps on them.  First
was "Crouton", a side project of a Google engineer.  That gave way to
"Crostini", an official Google project to add Linux, but in a container --
and a supported feature.  (Like many things Google, it's "in beta", but it
works well, so 'who cares?')

My wife got the 2015 Pixel LS when I got the base model of the Pixelbook
(i7/8GB/128GB) when it came out a couple of years ago -- Google gave them
more SSD so you can add your Linux development environments.  

So I added all my Ubuntu tools, and Pharo Launcher, and my images... 
Everything works, including file & network access.  (Linux containers share
a directory with the ChromeOS file system that's visible from the Chrome
environment.)

The only thing I needed to do was write a bash script that will enlarge the
cursor (because the Pixel/Pixelbook screens are hi-dpi, like my 7710) and
set the font size in my images to "Large".

That script is here:  https://github.com/tbrunz/pharo-support

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Text-Editing UI

2020-08-02 Thread tbrunz
Of course, ask a half-dozen people about this subject and you'll get 6
different responses...

Between myself, my wife, my daughter, family, friends, we've had at least 8
CBs.  None have failed.  My wife is still using (and loving) the 2015 Pixel
LS CB I got 5 years ago.  Not even the battery has degraded.

My daughter used one CB for her entire undergrad program.  (I offered to get
her a "real laptop" before she started as a Freshman, but she insisted she
wanted a CB).  The only thing I needed to do was add Eclipse and the Java
JDK to it for one of her classes.  (The programming nerds in her class were
impressed that she was developing Java on a CB.)

For graduation, I upgraded her to a Pixelbook CB.  I rebuilt her original CB
with GalliumOS -- a Linux distro optimized to run CB hardware.  It's still
running...

Chromebooks run Android, Linux, Chrome apps, Windows apps...  All except Mac
apps.

First-world problems indeed...  And mostly a religious issue.  I'm fine if
you use Apple products.  But I haven't a solution to suggest in that case!

For the record, I have a Pixelbook (the photo), but I also have a DIY tower
and a Dell 7710.  The CB gives me portability + Pharo.

(If you do go back to a CB, just be sure you check the specs: Intel CPU
only, and be sure it can run "Crostini" so you get Linux containers.)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] A warning under PharoLauncher 1.8-2019.03.27

2020-08-02 Thread tbrunz
Hi Rene,

Are you running Pharo Launcher 2.0?

I saw these under 2.0, then upgraded to 2.2 and I haven't seen it since.

-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Text-Editing UI

2020-08-02 Thread tbrunz
Look at the keyboard -- that's a Chromebook, not a WinTel or Linux laptop.

 

That was about a year & a half ago.  



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Text-Editing UI

2020-08-02 Thread tbrunz
Not exactly the answer you're looking for, but...

Take a look at the latest Chromebooks.  They are *awesome*.  Beats iPads &
iOS!

There are "tablet" Chromebooks (the keyboard folds all the way underneath
the touchscreen, and is de-activated), as well as keyboard-detachable
models, as well as "clamshell" ultrabook models.

Otherwise, you have a tablet with a sensible way to type on; many models
have touchscreens anyway.  (Mine does, and I variously use the touchscreen,
the touchpad, and the arrow keys to scroll content.)

Here's the home run:  You can enable "Linux containers" on newer
Chromebooks, and then you can install *any* Linux app in the container. 
Yes, including Pharo Launcher.

So you can run Pharo images on Chromebooks, and of course program on your
Chromebook tablets in Pharo.

Save your iPads for watching YouTube..  (Watch your YouTube Pharo tutorials
while you program Pharo on your Chromebook.  :^)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Working directory and image directory

2020-08-02 Thread tbrunz
You might like these, too (for newbies):

https://gist.github.com/tbrunz/f1d74353bdff7d40031b10d4220daaa9

https://gist.github.com/tbrunz/02d9a2f62053f8dfa4c229e5075d6796



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Class side vs instance side (variables and methods)

2020-08-02 Thread tbrunz
Maybe more to the point: You do not want to *code a dependency on* what the
implementing class may do as far as the returned result.  :^)

"Brittle code" will eventually break.  Murphy's Law says that it will break
at the worst possible time for you to have to deal with it.  :^D



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Working directory and image directory

2020-08-02 Thread tbrunz
Hi Russ,

No, I haven't submitted it.  I figured it would be good practice for you to
do so!

-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-02 Thread tbrunz
>> Let's do it, then.  I'll volunteer to do most of the work.  :^)
>
>I will review anything you write :)

I'll write well and add lots of comments to make that easy for you.  :^D

>> My hope is that participating in this will make me capable of creating
>> advanced tutorials all by myself.
>
>I usually like to write to learn and dump what I learned.

That describes me very well, too.  Teaching others (who want to learn) is
fun.

That often provides just the motivation I need to make something, do it
right, and then publish the results (including my own insights).

And you learn best when you're teaching others.  I see that all the time.

So I don't really understand all these people who don't want to learn
anything -- don't want to learn something new, or don't want to learn better
ways of doing what they're already doing.

Maybe most of them are "too busy".  I'm too busy, but I work at it. (?)

 I think that programmers who already know the Pharo
 syntax and messaging semantics could benefit from more advanced
 tutorials
 that demonstrate how to develop "real world" Pharo code for "real
 world"
 processing needs.
>>>
>>> Yes yes I would love that.
>>
>> That was part of my motivation for creating a Pharo app to solve the
>> Zebra
>> Puzzle.  First, of course, I wanted to solve it.  ;^)
>
>I will send you some feeedback and PR.

Thanks!

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Class side vs instance side (variables and methods)

2020-08-02 Thread tbrunz
Got it.  Seems like an important point for those who are trying to understand
the difference between instances and classes.  

I've gotten strange results myself until I learned that #yourself is an
essential thing...

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-02 Thread tbrunz
>> I've been thinking lately that it would be nice to expand the number of
>> Pharo tutorials we have available.  But rather than (or along with)
>> creating
>> more "beginner" level tutorials, I'd like to see some good "intermediate"
>> level Pharo tutorials.
>
>Me too :)

Let's do it, then.  I'll volunteer to do most of the work.  :^)

My hope is that participating in this will make me capable of creating
advanced tutorials all by myself.

>>  I think that programmers who already know the Pharo
>> syntax and messaging semantics could benefit from more advanced tutorials
>> that demonstrate how to develop "real world" Pharo code for "real world"
>> processing needs.
>
>Yes yes I would love that.

That was part of my motivation for creating a Pharo app to solve the Zebra
Puzzle.  First, of course, I wanted to solve it.  ;^)

>> What I'm talking about is something that assumes you know the language,
>> the
>> basics of the IDE (but not necessarily how to leverage its capabilities
>> to
>> aid development), and the basics of the foundation classes (but not its
>> details).  I'd like a tutorial for intermediate Pharo programmers who
>> want
>> to become experts with Pharo.  Something that can show you how to apply
>> the
>> tools of the IDE and the features of the language and base classes to
>> create
>> solutions that solve complex problems.
>
>do you have ideas?

I do!

As I started building the Logic Puzzle app, it occurred to me that I could
probably find several different, common structures in OOP (specifically,
Pharo) to add to the solution.  And then each would be its own example of
"what real Pharo code looks like".  I.e., be good examples.

But first, I needed to explore "how to do it in Pharo" for myself, which
naturally would have me working the IDE strongly.

Then I thought, the entire application can/should be an example, so it
should be a tutorial.

That means that I need more than just a completed application (that's "just
an example").  To be a *tutorial*, it means starting from scratch, showing
how to approach the solution, how to start a Pharo app, how to use the IDE,
how to write tests, how to refactor code, etc.

Then I thought, this needs a GUI.  Either a Spec2 UI or a web app UI (with
Seaside or Teapot).  But I would need help with that!  So I'll start by
creating a message-based solution, and maybe get help to add a UI later.

I did some prototyping, then got what I think might be a good code structure
(by version 4; it took a while to "think pure OOP"; old habits are hard to
fight against).  It runs, it works.

But.. Is it "good Pharo code"?  I'm not experienced enough to answer that
question.  I need a code review, criticism, guidance.  Point me in the right
direction and I'll keep working on it, and start thinking about how to
express the "meta" elements (how to use the IDE to make/test the code,
etc.).

>> What does the community think of this idea?
>
>I love it. I did Pharo by example so that I can get of rid of the beginner
parts.
>After I did learning OOP and Pharo with style so that I do not have to talk
about it
>again.
>
>So definitively.

Okay, great.  I'll do most of the work.  But I need help...

I don't want to go any further without someone much more experienced than I
am to review what I have and let me know what I'm doing right & what I'm
doing "no quite so right".  Yes, it runs, it works -- but that's *not* good
enough.  The goal here isn't to "hack out a solution and move on", the goal
is to "create an example and tutorial that's high enough quality to use to
teach Pharo to other people".  I don't want to be teaching *my* bad habits!

Also, I know next to nothing about Spec2 or Seaside/Teapot.  I just know
that I need to learn it, and I need to use it to give my tutorial a UI (or
two).  Newcomers will show up wanting to learn Pharo, and they need to be
reassured that they can create nice (enough) UIs without a huge effort. 
(Not everyone is a command line hacker, and end-users certainly don't want
to be.)

The more I learn (from you), the more I can be independent, and the more
tutorials I could produce -- without a lot of help.  I'm willing to do the
work, because that will help make me a Pharo "master programmer".  (I don't
want to be a hack, and I can't really be a trainer if I'm just a hack
myself.)  

I'll pay back the community by helping to attract and advance more
developers' skills.  I just have to have the more advanced knowledge &
skills myself.  So, train the (future) trainer, anyone??
 
-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Class side vs instance side (variables and methods)

2020-08-02 Thread tbrunz
Thanks, Richard.  

So adding #yourself is mostly needed for cases where you send #add: to an
OrderedCollection (because that returns the added element instead of
returning the collection as most expect it would)?

I've been adding it in all cases, which I guess does no harm.

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Text-Editing UI

2020-08-02 Thread tbrunz
It might be best to have this be configurable/customizable for each user
(which is what I think you're getting at).

The question is what should the default "out of the box" behavior be?  There
are conventions, although they're not exactly "standardized" (as they should
be).  

Most of us have "muscle memory" for many of these operations: Go forward one
word, select a paragraph, expectations of where the cursor will be when you
go forward/backward word-by-word, etc. and I don't think anyone enjoys
having to learn a different way for every tool they use.

So the default probably should follow the most common conventions, while
still allowing a fairly easy way to change it to suit each user.  

The best approach might be to have the default adapt itself automatically to
the platform the VM is running on, so that Windows users get Windows
conventions, Mac users get Mac conventions, Linux users get Linux
conventions.

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Class side vs instance side (variables and methods)

2020-08-02 Thread tbrunz
Shouldn't this code

> So if you implement a #newWhite method in the "class side" of Dog, it
> would be something like this. 
> 
> Dog class>>newWhite
>   "Returns a new white instance of receiver."
>   ^self new color: Color white

be this instead?

> Dog class>>newWhite
>   "Returns a new white instance of receiver."
>   ^self new 
> color: Color white;
> yourself

in order to return the new Dog instance?  Otherwise it will return the Dog
class itself (not what you expected?

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Extract-method refactoring erratic behavior in Pharo 8

2020-08-02 Thread tbrunz
> the problem is that right now we can write tests for UI and we try hard to
do it but 
> as soon as we have a pop up we do not have yet a way to capture this
> interaction. 
> We were discussing about it and got it by the covid. 

So many things have been impacted by COVID.  Now we have new ways of
working.

>> Is there a way to emulate a GUI user and the actions of mouse moves &
>> clicks
>> (as well as keypresses)?  
> Yes. 
> You can have a look at Spec20 tests

I guess it's time for me to dive into Spec2...  I want to add a Spec2 UI to
my Zebra Puzzle tutorial.  That certainly will require UI tests, too.

>> And to capture the results of pointing, clicking,
>> right-click menu selections, etc?
>>
>> Is there a UI testing framework for Pharo that includes this?  If not,
>> should we start building one?

> We are missing a way to model pop up and more. 

That sounds like the first step, then...

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Working directory and image directory

2020-08-02 Thread tbrunz
Russ,

Here's a link; I created a GitHub gist in your honor:

https://gist.github.com/tbrunz/4209026fabc44c5baf0a502f677b708c

Please provide comments, improvements, corrections, or anything that will
make it clearer for others who are in the same boat.

Thanks!
-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Working directory and image directory

2020-08-02 Thread tbrunz
Hi Russ,

Here's how to submit a bug report.  Fortunately, GitHub makes it easy and
straightforward.

Surf to https://github.com/pharo-project and find the particular project
that's affected.  I think in your case, you want "pharo": 
https://github.com/pharo-project/pharo

Underneath "pharo-project/pharo" you'll see 7 links in a toolbar.  Click on
"Issues", which brings you here:
https://github.com/pharo-project/pharo/issues

On the right is a big green button, "New issue".  Click that to get a bug
entry form.  You have a bug, so click the "Get started" button for "Bug
report".

Choose a good title, nicely worded, to be nice to the devs so they can get a
good idea from just a glance.  Short & sweet.  (They prefer 50 characters or
less, because your title becomes an email "Subject:" line.)

There's a template bug report that tells you what they need from you.  You
can edit it or replace it with your bug report.  Markdown is supported (and
can help with readability).  A "cheat sheet" is here: 
https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf and a more
detailed explanation is here: 
https://guides.github.com/features/mastering-markdown/

The toolbar above the text area will apply the most-commonly-used markdown
for you, with just a button click.  Select text, click the associated
button.

You can click the "Preview" button to see how your markdown will be rendered
in the submitted report; click on "Write" to return to the editable version
you started with.

Note that you can attached code, files, images, etc. to help explain.  Just
drag files into the text area of your report and they'll automagically be
attached for you.  Similarly, you can click where it says, "Attach files by
dragging & dropping, selecting or pasting them" and it will open a file
browser for you to point-and-click.

When you're done, click "Submit new issue".  That it!

-t






--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Extract-method refactoring erratic behavior in Pharo 8

2020-08-02 Thread tbrunz
I found the same problem only yesterday when I tried "Extract method" in
Pharo 8 (for the first time).

Comprehensive UI tests would be a great thing.  But complicated to create. 
Like writing tutorials for GUI-based applications.  ;^)

Is there a way to emulate a GUI user and the actions of mouse moves & clicks
(as well as keypresses)?  And to capture the results of pointing, clicking,
right-click menu selections, etc?

Is there a UI testing framework for Pharo that includes this?  If not,
should we start building one?

How much of the above is tied directly to Spec2 and how much is part of the
core elements of Pharo?

-t





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-08-01 Thread tbrunz
Hi Russ,

I added an "Examples" package tag, with several methods that lead through
the Zebra Puzzle solution, step by step.  

It still doesn't do the entire solution by itself, but each example method
displays the solution state up to that point, allowing you to examine the
results and infer additional rules to add.

The last example method combines the puzzle rules + the additional rules you
infer, and displays the complete solution.

I plan to make the code "smarter" over time, so that it can eventually solve
the whole thing by itself.

Let me know what you think...

-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Editing in Pharo Debugger

2020-07-30 Thread tbrunz
If you're using Pharo Launcher, you can update your VM from the "VMs" dialog.

And from PL you can download new images; I think it fetches the latest,
updated image version when you do.

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Editing in Pharo Debugger

2020-07-29 Thread tbrunz
For which version, Richard?

I get the "orange triangle" in Pharo 8.

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-07-29 Thread tbrunz
I also would love to see intermediate tutorials on Spec2 and Seaside.  (And
Zinc and Teapot, too, for that matter.)

And the example/tutorial I'm working on really *should* have a Spec2 _and_ a
Seaside/Teapot interface.  But that's a bit over my head...  Which is
frustrating; I want to know how to do it.  (I want to know it well enough to
*teach* it.)  I would need help for that, but I know everyone is so busy,
and this particular app won't necessarily appeal to many.

I'm working towards doing just what you're describing, Russ -- *specific*
examples, that use "typical" constructs in Pharo for "typical" processing
situations.  Because I know also that these are really helpful for learning.

Eventually I'd like to have/help create a series of "intermediate-level"
tutorials, with not just example code, but with instructions/examples of how
to work with the tools in the IDE to implement, test, debug, etc.

Let me know what you think of the code so far -- feedback is needed &
appreciated!

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-07-27 Thread tbrunz
So I decided to write an application to solve the Zebra Puzzle, by solving
this type of problem in general.  In Pharo, of course.  

I worked out a few basic algorithms for making deductions and inferences,
and coded them, along with tests, in Pharo 8.  Now I've reached the point of
having a working "proof of concept" or prototype.  It can't (yet) solve the
Zebra Puzzle without some "human assistance", but it does keep track of the
solution state as it progresses, it handles the bookkeeping, makes the basic
deductions/inferences, and produces reports.

And I've used it to quickly solve the Zebra Puzzle.  I coded the solution as
a separate class/method, with extra rules inserted that I was able to infer
by iterating to partial solutions, so that it solves the entire thing.  It
will interesting to develop the remaining algorithms, and it would be nice
to eventually create a nice, interactive user interface for it as well.

Since I want to fashion this into an intermediate-level tutorial, I need
feedback on what I have so far.  I don't want my inexperience to lead to me
teaching the wrong techniques, etc. to other developers who are learning
Pharo.  What I have can no doubt be improved, but I need to hear from the
master craftsman in this community what parts are compromised and how (and
why) it can be made a better example of "how to program in Pharo" properly.

If anyone has the time and is willing to help, the code (complete with class
& method comments, test classes/methods, and the Zebra Puzzle example) is
here:
https://github.com/tbrunz/logic-puzzle and I'm available to answer questions
about it, of course.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-07-27 Thread tbrunz
Having solved a number of these problems in my youth, I tried to solve this
one "by hand".  But with 6 attributes of 5 properties each, the
"bookkeeping" task was too difficult to deal with while trying to find a
consistent solution.

It turns out that it's very easy to make an inconsistent conclusion, and
it's also difficult to 'unwind' a mistake (if you can figure out where you
made your mistake.)  After I failed and restarted the puzzle several times
in a row, I thought about one of my mantras: "Let humans do the things that
humans are good at, and computers do the things that computers are good at."

After all, computers are designed to good at processing large amounts of
data without confusion or mistakes (assuming the software developers are
competent -- and use good tools).  So why not a computer program that can
solve this puzzle?



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Intermediate-Level Tutorials for Pharo

2020-07-27 Thread tbrunz
Recently, I came up with one such project that might work here, and I spent
some time prototyping it.  The project is to create an application in Pharo
that can solve the "Zebra Puzzle".

What's the Zebra Puzzle?  It's an example of a "constraint satisfaction
problem", which are also known as "logic puzzles".  This particular puzzle
was published in Life International Magazine in 1962 and consists of a set
of constraints for allocating a set of values (properties) of attributes in
a mutually-exclusive way:

 1. There are five houses.
 2. The Englishman lives in the red house.
 3. The Spaniard owns the dog.
 4. Coffee is drunk in the green house.
 5. The Ukrainian drinks tea.
 6. The green house is immediately to the right of the ivory house.
 7. The Old Gold smoker owns snails.
 8. Kools are smoked in the yellow house.
 9. Milk is drunk in the middle house.
10. The Norwegian lives in the first house.
11. The man who smokes Chesterfields lives in the house next to the man with
the fox.
12. Kools are smoked in the house next to the house where the horse is kept.
13. The Lucky Strike smoker drinks orange juice.
14. The Japanese smokes Parliaments.
15. The Norwegian lives next to the blue house.

Now, who drinks the water? Who owns the zebra?



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



[Pharo-users] Intermediate-Level Tutorials for Pharo

2020-07-27 Thread tbrunz
tl;dr:  I have some ideas about more advanced Pharo tutorials, and I have an
example that I would like to have reviewed/critiqued before I develop it any
further.

I've been thinking lately that it would be nice to expand the number of
Pharo tutorials we have available.  But rather than (or along with) creating
more "beginner" level tutorials, I'd like to see some good "intermediate"
level Pharo tutorials.  I think that programmers who already know the Pharo
syntax and messaging semantics could benefit from more advanced tutorials
that demonstrate how to develop "real world" Pharo code for "real world"
processing needs.

What I'm talking about is something that assumes you know the language, the
basics of the IDE (but not necessarily how to leverage its capabilities to
aid development), and the basics of the foundation classes (but not its
details).  I'd like a tutorial for intermediate Pharo programmers who want
to become experts with Pharo.  Something that can show you how to apply the
tools of the IDE and the features of the language and base classes to create
solutions that solve complex problems.

What does the community think of this idea?

-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Want to contribute.... it is easy

2020-06-24 Thread tbrunz
Thanks for the acknowledgement!  I think contributing to the documentation is
as important as contributing to the codebase.

I'm encouraged to see the increased activity with the booklets (new
publications as well as new edits) over the last 6 months.  A strong library
covering many topics will help with promoting Pharo to those who do not know
it (yet).

I plan to resume copy-editing soon (as my workload is starting to drop off
after a very busy period lately).

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on Chromebook

2020-06-08 Thread tbrunz
It's important to get a Chromebook with an Intel CPU.  The ARM-based
Chromebooks cannot run Crostini, so they do not have the option of running
Linux containers -- so, no Pharo on ARM Chromebooks!

Also, it's important to get a later model, in order to get a Linux kernel
that supports containers on Chromebooks.  Google does NOT update the Linux
kernel in ChromeOS; it updates everything else, but not the kernel version. 
Be sure to get a model that is known to support Linux containers.

(The reason is that Google heavily modifies the Linux kernel to support
Chromebook hardware, and they don't have a good, automated system for
applying & testing their modifications to later kernel versions.  So.. no
kernel updates -- only packages & applications get updates.)

Newer Chromebook models have newer kernels; only newer kernels include
container support, enabling them to run Pharo.  But of course, since you
will, in effect, be running two OSes on the system, you will want a more
powerful CPU, more memory, and more SSD storage.

As Olivier correctly points out, you should get a middle-level or
upper-level Chromebook for this.  I have a Google Pixelbook (the lowest of 3
versions) and it runs everything smoothly.  His HP x360 14 is a very good
model as well.  Today there are many powerful Chromebooks to choose from. 
Just be aware of the considerations above.

One more thing:  Chromebooks not only run ChromeOS and "web apps", and now
run Android apps, and with Crostini run Linux apps, you can install Wine (or
Crossover) in Crostini and run Windows apps as well.  (Everything except Mac
apps.)

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on Chromebook

2020-06-08 Thread tbrunz
No, it's not quite the same...  I've installed CloudReady on old
(non-Chromebook) systems myself, so I'm a little bit familiar with it and
what it can do.

However, I've never tried to run 'Crostini' in CloudReady, so I don't know
if that works, or (if it does), how well it parallels the implementation of
Crostini on Google Chromebooks.  I have read up some on how Google
implements a GUI interface to applications running in its Linux containers,
and it's not trivial.  (But it does work very well on Chromebooks -- you can
install a Linux app and have a clickable icon that appears just like any
other ChromeOS or Android app icon.)

And, yes, Crostini Linux containers give you a way to develop software on
Chromebooks!  Not only does Pharo work, but also other languages can be
installed.  (I'm running Pharo, Lua, and Lisp on my Pixelbook model.)

For those who are not familiar with CloudReady:  The company 'Neverware',
with Google's approval (and investment), took ChromeOS's open-source
foundation, Chromium OS, and built its own "Chromebook-like" version on top
of it called 'CloudReady'. 

It was designed for schools, to give their old PCs new life -- they can run
Google's 'G Suite for Education' while managing CloudReady PCs & laptops
with the 'Google Admin Console'.  Businesses, other organizations, and
individuals can use it too.  It's also free for individual users who don't
require Google Admin tools.

Like ChromeOS, CloudReady is updated every six weeks or so with security
fixes and new features.  And as with ChromeOS, to use CloudReady you must
have a Google account.  It not only runs on old WinTel systems, it runs on
Mac hardware as well.  

You can 'test drive' CloudReady on your system without installing it (or
wiping out your existing OS) by booting it from a USB thumb drive.  If you
decide you like it, you can later overwrite your system's OS by installing
it to disk.  Be aware that it will "take over" your entire drive and
restrict the ways you can access it.  (Crostini significantly opens up how
you can use your disk space, since it basically implements a full Linux file
system inside its container.)

Here's a recent, detailed article on CloudReady, which includes procedures
on how to make a bootable USB thumb drive, test drive it, and install it: 
https://www.zdnet.com/article/how-to-switch-from-windows-7-to-chrome-os-cloudready/

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on Chromebook

2020-06-07 Thread tbrunz
Hi Pablo,

I'm seeing the same thing on a Chromebook "Pixelbook" Crostini (Linux)
container: 

Debian v9 ("stretch"), Linux kernel 4.9.0-12, recently updated.  The system
has 8GB RAM & 128GB SSD.

The ChromeOS version in 81.0.4044.141.

I'm running the latest Pharo Launcher, 2.0-2020.04.07, VM 5.0-202002121043.

Just opening Pharo Launcher, and without even launching an image, I'm seeing
the same tearing and rendering problems as Jan.  If I open the Settings
dialog, it partially renders, and when I try to move the window, I get the
tearing behavior.

And I was also able to run PL & images on this platform without problems in
the past.  (It's been at least a month since I tried running Pharo on a
Chromebook.)

-Ted




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Need help putting my Pharo package under source control

2020-05-13 Thread tbrunz
Well, you can capture the stack to the clipboard, and you can save it as a
'Fuel' file.  That allows examination (including by others, within a
different image).

If you look at the image you posted, of the debugger window, on the far
right of "Proceed Restart Into Over Through" there's a small drop-down menu
(with an icon of horizontal bars).  Click on that and you should see options
for 'Fuel out Stack' and 'Copy Stack to Clipboard'.

As far as how to make the best use of this... That's over my head!  (But
others on this forum know.)

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Need help putting my Pharo package under source control

2020-05-12 Thread tbrunz
This is the way to get the latest version of any of the booklets, their "work
in progress" (WIP) versions.

https://books.pharo.org/ lists most of the books on a splashy page that
shows cover art, etc., but their versions can be behind the WIP versions.

My experience has been that the WIP versions are preferable.  (Note that not
all booklets that are "in progress" have been submitted to the build process
and resulted in a WIP document  In these cases, you have the option of
cloning the repository and examining each chapter file.)

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Need help putting my Pharo package under source control

2020-05-12 Thread tbrunz
Sorry about that... You should end up on a GitHub "Releases" page for each
document.

In the section for the top-most release, you should see an "> Assets (3)"
control.  Click the arrow to open it. 

It should then list a PDF, a ZIP, and a '.tar.gz' document.  You probably
want the PDF, which you can read on the screen and/or print out.

Download the document to your system by clicking on its link.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Need help putting my Pharo package under source control

2020-05-11 Thread tbrunz
Also, regarding keeping your images under control, if you haven't downloaded
and started using Pharo Launcher, you should!  It's a fabulous tool...

http://pharo.org/download



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Need help putting my Pharo package under source control

2020-05-11 Thread tbrunz
Hi, 

Your document is definitely out of date!  The current version of PBE for
version 5, 6, and 7 can be found here:
https://github.com/SquareBracketAssociates/UpdatedPharoByExample/releases

If you're using Pharo 8 or 9, you'll want the updated version, PBE8, which
can be found here:
https://github.com/SquareBracketAssociates/PharoByExample80/releases

Yes, you can FileOut and FileIn.  If you right-click on an item in the
System Browser (which was 'Nautilus' until version 7, when it was replaced
with 'Calypso'), the last fly-out menu has 'FileOut' listed.  (I think you
need to send a message in the Playground to use 'FileIn'; I'm not sure, as,
like most, I don't use it.)

Note that you can no longer (or "shouldn't") use SmalltalkHub; it's
deprecated, and if it's not already locked for modifications, it will be
shortly.  (Then it becomes read-only until late in the year, when the site
will be shut down.)

So you *should* use GitHub.  Since version 7, it's the default repository
for Pharo code.  There is now a native Git client in Pharo called "Iceberg". 
It works with GitHub, GitLab, BitBucket, local git repos, and remote git
repos.  You can create git repos, commit/push/pull, submit PRs, etc. from
Iceberg while remaining in the Pharo IDE.

You can read more about Iceberg and managing code here:
https://github.com/SquareBracketAssociates/Booklet-ManagingCode/releases

Have fun!
-Ted






--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo 8 - OSProcess or OSSubProcess or ?

2020-05-04 Thread tbrunz
Hi Paul,

This blog post from Christopher Fuhrman may answer your question:

https://fuhrmanator.github.io/2019/03/16/LibC-Pharo-experiments.html

-Ted




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] mentor question 1

2020-04-25 Thread tbrunz
Richard, 

I don't think it was silly.  I'm sitting here thinking to myself, "Wow,
that's creative...  Pharo being Pharo, you can write applications that can
send *blocks* between nodes, not just *data*..."  

The concept of sending behaviors as well as data opens up some interesting
and powerful possibilities for applications!  (Yet another way ST is
superior to other languages.)

-Ted




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] mentor question 1

2020-04-25 Thread tbrunz
Roelof,

The core concept (as I see it) is that each node in your simulated network
will receive packets as the simulation progresses, and the nodes must do
something with each packet they receive.

In OOP, it often helps to think about the objects in terms of "their
responsibilities".  And by that we mean: "when such-and-such event occurs,
or whenever one-or-another situation is active, this object has the
responsibility of doing this-or-that".

So what about the node objects?  The responsibility of a node object is to
react appropriately to the event of receiving a packet.

There are at least 3 behaviors that each node must employ to meet its
responsibilities.  Those three are: 1) Forward the packet to one or more
other nodes in the network that it's connected to, 2) Accept the packet (if
addressed to itself) and "process it", and 3) Drop the packet (because it's
been received previously, which means it's already either been forwarded or
accepted and processed, so this is a duplicate packet and should no longer
be handled).

In addition, each node must make the decision which behavior to follow when
it receives a packet.  It will do this based on information in the packet
(its destination address) and the node's own address (so that it can
recognize packets that are addressed to itself), and the address of the node
that sent the packet (perhaps; for efficiency, you don't want to forward a
packet back to the node that just sent it to you -- it already handled the
packet and decided it should forward it).

For behavior #1, there is more than one way to decide "how" to forward a
packet.  The "Flood" algorithm is one of many, and is the simplest one.  But
there are others.  Each of these possible forwarding schemes is "a
behavior".  Blocks in Pharo are behaviors.

So I think the "block" that confuses you is "a packet forwarding behavior". 
When your node decides that the proper way to handle a packet it has
received is to forward it (option #1), it must supply two things: The packet
to be forwarded, and the forwarding behavior, which will be a block.

In this way, your code is more flexible: By changing the block that you
provide to the forwarding method, you can change the algorithm that the node
uses to decide which link(s) to forward the packet on.

And once you have your application finished, and you have more than one
forwarding scheme defined, you will be able to run you application, once for
each different forwarding scheme, and see how the packets flow through the
network -- which will show you (visually) which forwarding schemes are
efficient (i.e., minimizing the number of node-to-node transfers) and which
are inefficient (i.e., resulting in many node-to-node transfers, most of
which are unproductive).

You will find that (in general) the easiest forwarding schemes to write code
for are also the least efficient schemes.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] mentor question 1

2020-04-25 Thread tbrunz
Hi Richard,

I looked the repo; he's defined 3 classes: one for packets, one for nodes,
and one for links.  So yes, he instantiates links.  Likely each node has a
collection of links (each of which leads to another node in the network). 
The application is to simulate a network by modeling it in ST, so that means
generating packets, each with a destination node (where nodes have
addresses), and simulating how the packets flow through the network to get
from their source nodes to their destination nodes.

I hadn't though about sending the blocks to the nodes via the packets, but
that *is* a cool concept... And entirely do-able in Pharo.  However, if the
exercise is to make a simple network model that runs to simulate network
operation, I doubt that's what they're looking for, though (since it's not
what you typically do in a packet network).  I think they just want you to
model the packet-handling behavior, and that's what the block is for.  (I
may be wrong.)

-Ted








--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] mentor question 1

2020-04-25 Thread tbrunz
1. 'loopback' is a node, just like 'source' and 'destination'.  A network is
a mesh of 'nodes' joined by 'links'.  Your Pharo program represents one of
those nodes: It is the 'loopback' node.

2. The block in the #linksTowards:do: method is the action to take on a
packet, depending on whether its destination is "you" (loopback), or
something else.  

The flood algorithm is the simplest algorithm: "If the destination is not
me, send the packet to everyone else (except the one who sent it to me)."

However, there is the possibility of loops in the network, so a slightly
better algorithm is to check "have I seen this packet before?" and if the
answer is "yes", then drop it; otherwise send it via my links.  This will
prevent endless packet sending loops in your network.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Rosetta Code

2020-04-20 Thread tbrunz
I am also very interested in your zip file!  Thank you for offering.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Non-blocking IO

2020-04-19 Thread tbrunz
I think you can do what you describe if you use #fork to create separate
processes for each of your concurrent HTTP calls.

Here's an example -- Try the following (from
http://forum.world.st/Teaching-fork-td4786444.html)

10 timesRepeat: [ (Delay forSeconds: 1) wait. Transcript show: 'hello'; cr
].

Then the following :
[ 10 timesRepeat: [ (Delay forSeconds: 1) wait. Transcript show: 'hello'; cr
]] fork.

You can also spawn OS sub-processes: 
https://github.com/pharo-contributions/OSSubprocess

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Problem downloading images

2020-04-10 Thread tbrunz
Probably your ISP.  I was able to download this morning (in Los Angeles), and
just downloaded a new image now, late afternoon.  Everything running quick &
smooth...



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a chromebook?

2020-04-10 Thread tbrunz
I just verified that my 'pharo-adjust-cursor' script does work for Pharo
Launcher as well as Pharo images that are installed in a Linux Container on
Chromebooks that have 4K displays (e.g., the "Pixelbook" models).

If you download the bash script from 
https://github.com/tbrunz/pharo-support/blob/master/src/pharo-adjust-cursor.sh
to the directory that contains 'pharolauncher' and run it, it will update
the 'pharo-launcher' script inside.

Thereafter, when you run Pharo Launcher, or launch an image from Pharo
Launcher, the cursor on 4K Chromebook displays will look normal size.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Hi-DPI Support

2020-04-07 Thread tbrunz
By the way, I moved the location of my script into a new repository:

https://github.com/tbrunz/pharo-support

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] UFFI code problem

2020-03-31 Thread tbrunz
Try using this expression:

^ self ffiCall: #( int abs ( int TheAnswer ) ) module: LibC

i.e., add 'int' to tell Pharo that 'TheAnswer' is to be interpreted as a C
integer.




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] UFFI code problem

2020-03-31 Thread tbrunz
Where did you get this example?

The straightforward answer is that "TheAnswer" appears to be undefined.  In
this context, 'ffiCall:' is expecting a valid C expression that indicates
the type of a formal argument, followed by the formal argument.

Based on the examples in the UFFI booklet, I would expect that to be
something like 'int -42' rather than "TheAnswer".

But knowing more of the context of where you got your code would help...

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo on a chromebook?

2020-03-31 Thread tbrunz
Hi Paul,

It *is* possible!  I've got it running on one of my Chromebooks, a Pixelbook
model.  (I gave my 2015 Pixel LS to my wife; I've yet to try it on that
one.)  See the attached image.

You'll likely need to install a Linux container, which is how I got it to
work.  (I didn't try to get it running in the native Linux OS, which I
believe is a modified Gentoo.)

You can have an icon associated with it; if you do, you can pin it to your
icon tray and launch Pharo that way -- which is what I do.  (You should be
able to see the icon in my image.)  I have a script that generates a
'.desktop' file with an icon, which is how I think I got this to work.  (I'm
about to rewrite the script; the first attempt was a hack extracted from a
script suite I wrote, and Pharo deserves better.)

One thing you'll want to do is correct for the 4K display.  I have a script
that automates enlarging the pointer arrow at
https://github.com/tbrunz/pharo-support (which also has the above-mentioned
script), but I just finished it and haven't yet tested it on a Chromebook
install.

-Ted

<http://forum.world.st/file/t372161/Pharo-in-Chromebook_2019-0127a.jpg> 






--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Hi-DPI Support

2020-03-07 Thread tbrunz
I've finished the script I mentioned and put it on GitHub; it's called
'pharo-adjust-cursor'.
https://github.com/tbrunz/installer_scripts

It will edit the bash scripts that launch Pharo applications (i.e.,
pharolauncher, pharoiot, etc.) to either enable or disable enlarging the GUI
pointer.  This is useful on Linux systems with a 4K hi-DPI screen, since
currently Pharo can enlarge its fonts and other GUI features, but not the
cursor.  (I don't have a Mac, so this is maybe not applicable to hi-dpi
Macs.)

The script can edit the Pharo application scripts "in both directions", to
either enlarge the cursor or return it to normal size, depending on the
option switch included on the command line. There are no side-effects caused
by running the script multiple times in a row. Edits will create a backup
file, with a name extension appended that reflects the script version backed
up. Restoring a backup must be done manually.

If run in a Pharo application directory (such as 'pharolauncher'), it will
edit the scripts in just that directory.  If run in a directory that
contains one or more Pharo app directories, it will edit the scripts in each
of them that it finds.  (If neither situation is met, it will complain, and
will complain if the expected Pharo bash scripts aren't found.)

Comments & suggestions for improvements are welcome...



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo 8 stability and large images

2020-03-06 Thread tbrunz
I like it when a nail-biter has unexpected plot twists and resolves to a
happy ending...

This will help me sell Pharo 8 where I work.  Thanks!




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] [ANN] Round 4 Results Are In

2020-03-01 Thread tbrunz
Hi Richard,

I think this revelation points to another important impact that your
competition can have on spreading the use of Pharo in the community --
beyond the obvious one of raising awareness.

You now have a golden opportunity to collect valuable inputs from a large
group who are getting starting with Pharo.  They have a unique perspective
regarding the language & IDE learning process.  What helped them learn? 
What hindered them?  What resources were useful, and why?  How did their
impressions of Pharo change from when they were first introduced to the
language/IDE?  What suggestions do they have for other newcomers?

Your one group found the class library intractable...  That's probably not
surprising; I tell those I'm introducing to Smalltalk that the hardest part
of learning any OOP language is learning the foundation class library (as
this is what you will build your code on top of).  And of course it's
intimidating.  I try to reassure them by pointing out that the developers of
Smalltalk realized this and have been contributing and improving tools
specifically designed to help programmers find the classes & methods they
need.  Which then leads to demonstrations of those tools.

Written documentation should help, of course, but what kind?  The class
comment type of documentation (much like Linux man pages) works well as a
reference and clarification for those already somewhat familiar with the
classes and their uses.  Does it work well for those unfamiliar with the
language?  Are they sufficiently easy to find?  The GNU Smalltalk reference
addresses this by grouping them together into one document.  Perhaps some
automation to extract these from Pharo and group/title them would be a way
to start?  (Better: Have an application that can "go both directions" so
that edits to either set of docs can be used to update the other.  Think how
important a tool that would be!)

How to improve on class comments as a means of learning (besides just
writing more class comments)?  The Pharo booklet series are a *big* help, as
are tutorials such as the MOOC.  Personally, I like to study examples of
well-written code to learn techniques, style, and structure.  Pharo
complicates this, however, due to the fact that the language and IDE are
intertwined.  It's also complicated because you don't have the typical
"synoptic view" that most text-based languages provide.  And there's more to
learn than just language syntax (which is "the easy part"); my point about
how to find resources is an example of this.  In a way, we need Pharo
booklets on subjects such as "How to use the Pharo toolset to find classes
you need", "Techniques for structuring & expressing common operations in
Pharo", etc.

I'm thinking that your groups could help with identifying where the
cognitive stumbling blocks are and inspire thinking about how best to
address them.  After all, your contestants currently are experts on the
subject of learning Pharo and applying it to solve a real-world problem for
the first time.  They're acutely aware of what helped & what hindered.  We
need to target the problem areas to make things easier for those coming
after.  I don't think it's as simple as "write more documentation"; the
question is "which kind of documentation" and "what types of learning tools"
will help most?

I'm very curious to see the "robot mind" code, so I hope some of them get
published.  (That will serve another purpose, by indicating how those who
are new to Smalltalk reason with its syntax and semantics for the first
time.)  It will be helpful to see the code for the "Organizer", too.  Not so
that we can duplicate it, but to help us with learning how to architect
applications like these.  The game itself can be a learning tool for more
than just the students in the competition!

Thanks,
-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] [ANN] Round 4 Results Are In

2020-02-29 Thread tbrunz
The competition is certainly getting more interesting and challenging.

I found that if I started from your website to reach the videos, they're a
lot more understandable, as the background info needed to comprehend what
we're seeing is spelled out more completely there.

On the whole, it's great to see a competition like this being supported and
implemented!  Hopefully it will bring in more developers.  And inspire more
competitions, too.

Any chance that the source code for one or more of the competitors will
become available after the competition has concluded?





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Hi-DPI Support

2020-02-18 Thread tbrunz
I'm also looking forward to Hi-DPI support being fully implemented in Pharo.

Until then, there is the "Display scale factor" slider and the ability to
change the font size.  However, most have probably already noticed that
these controls don't affect the size of the mouse pointer, which can be
annoying as it's much harder to find on big screens.

I recently found this posting, which is helpful:

Scaling for HiDPI in Pharo:
1.) Evaluating "MenubarMorph reset" will fix the menu bar scaling factor.  
2.) There's a SQUEAK_FAKEBIGCURSOR env var which you can set to 1 to have
the VM 
display the cursor twice as big as normal. I've no idea why the word 'FAKE'
is 
part of this; from the source it looks like it just creates a normal X11
cursor 
that's twice as big as normal. This should work with Cuis, Squeak, and
Pharo, 
as it's part of the VM.

I found that entering "export SQUEAK_FAKEBIGCURSOR=1" will cause standalone
Pharo to have a normal-looking pointer on 4K displays, but this does not
seem to work as expected with Pharo Launcher, or images launched with Pharo
Launcher.

After some investigation, I determined that the 'pharo-launcher', 'pharo'
and 'pharo-ui' bash scripts (for Pharo Launcher and Pharo IOT) can be
modified to make this work.  

The trick is to add "env SQUEAK_FAKEBIGCURSOR=1" to the front of the command
that launches the VM/image within the above scripts.

I've fashioned a set of 'sed' one-liners to automate editing these scripts
accordingly, and am in the process of making a bash script that will use
them to add/remove/verify these edits in a user-friendly fashion.  (I also
have scripts that install Pharo Launcher and Pharo IOT in Linux, that create
& add clickable launcher icons; my plan was to modify these scripts to write
the cursor size correction scripts into their respective folders when
they're installed.)

I'll make this available when it's complete, likely in the next couple of
days.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Spec2 and Nuklear?

2020-02-11 Thread tbrunz
Whoops, wrong thread, Steve!  You want
http://forum.world.st/ANN-Pharo-TechTalk-Feb-20-The-Colony-td5111482.html

(The Tech Talks are virtual: Marcus streams them on YouTube; you can access
them via Discord on the #techtalk channel.)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Round 1 test

2020-02-03 Thread tbrunz
Excellent!  I've bookmarked it to show others.

That answered my questions (and those that others will inevitably ask, too).  

-t

(Well, maybe one more: What's the criterion for when the robot stops?  Is it
after a set number of moves?)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Round 1 test

2020-02-02 Thread tbrunz
Great demo of graphics animation...

But I'm left wondering, "What's the goal of this round?" and "What are the
rules that the applications have to follow while achieving the goal?"



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] smalltalk conferences

2020-01-31 Thread tbrunz
Hi Steve,

Check out https://www.meetup.com/SGVTech/ -- click on "Events" for a list of
upcoming meetups.

I'm planning to attend next Tuesday's AI & Machine Learning meetup, and the
Linux Users Group monthly meetup on the 13th.

Stop by and let's get introduced...

I've already made a Pharo presentation to the Software Engineering SIG, and
now the AI/ML group is interested in a talk.  There's at least one guy (who
is likely to be at both the above meetups) who I've inspired to learn Pharo
to use on a project.

So there's definitely interest -- it's only a matter of people here finding
out about Pharo.  It definitely can be turned into a SIG itself with its own
monthly meetup.

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] smalltalk conferences

2020-01-31 Thread tbrunz
Thanks, Mariano.  Wish I had known about the Portland event; I might have
made arrangements to take time off & attend it.  How often do they have
west-coast events?

I'm currently generating interest in the L.A. area for Pharo/Smalltalk, with
the idea of eventually coordinating regular meetups.  There's a fairly
active technical community in my area, with many users groups using
meetup.com for SIGs.  I think a Pharo SIG would fit right in.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Resources Page

2020-01-29 Thread tbrunz
horrido wrote
>> Another thing to consider is a section (or page) for Smalltalk demos
>> (postings that demonstrate Smalltalk strengths and attractive aspects);
>> you
>> already have one, "Seven minutes of Pharo for Rubyists".  There are many
>> more...
> 
> Perhaps you can provide a few more examples? Thanks.

Here's a few:

https://pavel-krivanek.github.io/pharo8/pharo.html

https://pharojs.github.io/Demos/MatterJsDemo/
  I like to group this one with a view of its source code: 
https://github.com/bouraqadi/PharoJS/blob/master/Pharo/PharoJsExamples/PhysicsSim.class.st

https://youtu.be/R2rLr7Z1b8Y

https://youtu.be/baxtyeFVn3w

https://youtu.be/S2ovj-mW30A



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Another Smalltalk Poll

2020-01-29 Thread tbrunz
* Smalltalk applications are self-sufficient & platform-independent.

* Smalltalk can create IoT applications to read sensors & control devices.

* Smalltalk supports building browser-based, native GUI, and CLI
applications.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Smalltalk Poll

2020-01-29 Thread tbrunz
* I get my code written & debugged so fast, I have too much time on my hands.

* "Object-oriented" scares my managers, so they won't let me program that
way.

* Anything that's had 40 years of development couldn't possibly be useful
today.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Resources Page

2020-01-28 Thread tbrunz
Very good, Richard -- this is helpful, and is a great page to refer people
to.

The image(?) under "Miscellaneous" is broken (at least in my browser; the
other links all work.)

You might consider adding a link to "A Terse Guide to Pharo", 
https://gist.github.com/jdevoo/8e8866cd6087e05790841d0f20b2e377

Another thing to consider is a section (or page) for Smalltalk demos
(postings that demonstrate Smalltalk strengths and attractive aspects); you
already have one, "Seven minutes of Pharo for Rubyists".  There are many
more...

-t



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Latest PharoJS Success Story

2020-01-28 Thread tbrunz
Indeed.  I've already reposted it, on my firm's inside chat tool (Slack), and
just got someone new interested in Pharo, from the middle of a discussion on
the confusion JavaScript is famous for:  

"This is my first time hearing of Pharo."

followed by (after reading my links to PharoJS and your post):

"Joined.  I'd say I'm Smalltalk curious."

So, another one has joined my Pharo Slack channel, and is looking forward to
some demos and tutoring to get started...

Thanks, Nouri!





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Is Pharo is a good frontend system for a game console?

2020-01-28 Thread tbrunz
What makes Lua a cool programming language?

It shares a lot of great characteristics with Pharo...

- Can do OOP, functional programming, imperative -- it's your choice.
- There are only 8 data types, and all are first-class values.
- Multiple return values!  Constructs such as x,y = y,x.
- All functions are unnamed full lexical closures.
- Tables! Can be associative, arrays, or both -- simultaneously.
- Dynamic typing & dynamic structures; easily polymorphic.
- Loops can be controlled via user-defined iterator functions.
- Automatic memory management, 'weak' typing, finalizers.
- Can execute as a file, interactively in a REPL, or be embedded.
- Block comments can encapsulate code that includes comments.
- Highly portable, extensible, and has an excellent C API.
- Reflective global environment which can be replaced at run-time.
- Proper tail call elimination; allows deep recursion.
- Coroutines (for co-operative multi-tasking made simple).
- Strings are 8-bit clean & support unicode.
- You can have apps in other languages call out to Lua code.
- You can have Lua apps call out to code in other languages.




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] smalltalk conferences

2020-01-27 Thread tbrunz
I'm in Los Angeles.  Plenty of places to hold conferences here!  (San Diego &
San Francisco, too.)




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] What is the idiomatic way to store data in pharo?

2020-01-27 Thread tbrunz
How about Voyage? 

https://github.com/pharo-nosql/voyage




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] smalltalk conferences

2020-01-27 Thread tbrunz
We need to start one.  Along with a North American version of ESUG.




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] New Smalltalk Blog

2020-01-23 Thread tbrunz
Ah, but doesn't that make you fully qualified to be an internet blogger?  :^D

Keep leading the charge, Richard!  Your new blog is a good read...

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo display bug

2020-01-18 Thread tbrunz
Richard,

It's pretty easy.  Surf to the 'issues' page of the Pharo repo, which is in
the 'pharo-project' organization in GitHub:

https://github.com/pharo-project/pharo/issues

Click the bright green "New issue" button, then describe away...

-Ted




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-16 Thread tbrunz
Hi Hilaire,

I would put it this way:  

Smalltalk is to other programming languages as electric cars are to other
vehicles.  I.e., superior in countless ways, and becoming the favored
technology as adoption increases.

Within the realm of Smalltalk varieties, Pharo is the sexy, popular leader,
just as within the realm of electric cars, Tesla is the sexy, popular
leader.

Or, "Smalltalk : Electric Cars :: Pharo : Tesla" to put it succinctly.

And to continue the metaphor (why not?), this makes Stef "our Elon Musk":
Creative, fearless, tireless, and dedicated to a vision that benefits
humanity.

The only question is, what will Stef send to Mars on a rocket?  (How about a
rover control system written in Pharo???)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] As promised, the sequel!

2020-01-16 Thread tbrunz
Exactly.  I gave you a suggestion for an article.  That's hardly plagiarism
by any definition.

Keep up the good work, Richard!  You're selflessly filling a real need, and
it's appreciated.

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] As promised, the sequel!

2020-01-15 Thread tbrunz
Thanks, xap...  This is citation enough for me.  (It's also documented in the
comment section of his articles, which is where it actually originated
before being echoed here.)

Richard has my full support, and my implicit (now explicit) permission to
freely borrow my ideas for his nicely-crafted essays.  He has the time to
write what I would, were I retired myself.  And since I fully support his
purpose, this is my contribution to "the cause".

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] As promised, the sequel!

2020-01-13 Thread tbrunz
Thanks, xap!  Great sequel, Richard.  I really like the lead image, too. 
(Red was a good choice.)

This makes me wonder what other technology turn-arounds and revivals exist
in history...  ;^)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] is this better regarding naming thigs

2020-01-08 Thread tbrunz
Richard O'Keefe wrote
> Seriously, sometimes it's worth it to write good code and then write
> glue code to the required interface.

Maybe "most of the time".  Or "It's almost always worth it".  Why practice
bad habits?  We should reinforce writing good code -- there's not enough of
it out there.

There's another advantage to this advice: It would be good practice with the
techniques needed to extend or interface to existing codebases.  We aren't
going to rewrite such existing code, and we generally can't rewrite its
interfaces either.  So, write good code and then write glue code to the
required interface.

Seems to me this should be standard practice.  And the exercism.io mentors
might take this into account...



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Prof Stef questions

2020-01-06 Thread tbrunz
I should have recommended the MOOC as well...  I did ProfStef, then PBE5 (in
Pharo 6.1), then the MOOC.  (I did the MOOC in 6.1 also, downloading and
installing the components that come "pre-assembled" in the MOOC image
template you can clone in Pharo-Launcher.)

Oh, and for your comment about Sven: He's a excellent writer, too!  An
interesting challenge is to recreate his HP-35 calculator "example" --
mainly because he didn't intend it to be a tutorial, so there's a bit of
"fill in the blanks" you'll be challenged with.

But it will do a lot to show you how to create native GUI apps and a web app
-- of the same thing, allowing you to compare, which is nice.
https://medium.com/concerning-pharo/rediscovering-the-ux-of-the-legendary-hp-35-scientific-pocket-calculator-d1d497ece999

And it's yet another example of how good a writer Sven is, for the technical
& not-tech sides of things.




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Prof Stef questions

2020-01-06 Thread tbrunz
Smalltalk is that times 10,000...  (I wrote an entire SMB accounting system,
including tracking "perpetual inventory" in Excel/VBA.  I was between tech
jobs at the time..)  So, yeah, it will be an excellent vehicle to recast
your "toy app".

Yes, Alan Kay did get his Bachelor's in molecular biology, and that informed
a lot of his ideas of how software systems should be designed & constructed.

For the Gedankenexperiments, they're not in ProfStef.  ProfStef is just the
"dipping the toes into the water" introduction to Pharo.  At the end, it
prods you to download & go through "Pharo By Example", which is booklet #1
in a 3-booklet series.  (The other two being "Deep into Pharo" and
"Enterprise Pharo".)

That's very good advice...  You'll find it here: http://books.pharo.org/

Note that PBE5 (written as v5 came out) is *not* obsolete at all, but PBE8
is out now in draft form.  Look in Section 10.5 in PBE5 for the particular
G/E I referred to.  You'll also find it in the Pharo MOOC in Week 2, Lession
11, "The Essence of Dispatch".



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-06 Thread tbrunz
Thanks.  This is the "human factors" engineering aspect, the "sales strategy"
part of the technology -- which has its own set of interesting challenges... 
And is also very important to achieving success "in the marketplace" -- a
marketplace of the mind, which is adoption and use (as opposed to actual
retail sales).

I find these challenges interesting, and I can tell you're absorbed by it as
well.  It doesn't have the relatively 'clean' deductive solution in the way
that engineering challenges like development of the Pharo language and
environment have; it's not like "writing a program to solve the problem"
(regardless of how hard that may be), because the problem is persuasion &
motivation of other people.  That's messy, imperfect, unpredictable, and
subject to a variety of strategies -- some of which will fail one day and
somehow inexplicably succeed the next.

My strategy on this is simple: Associate Smalltalk with something already
successful (or it the process of succeeding) in the marketplace.  Better if
it's something that is emerging unexpectedly, or "beating the odds" and the
proving the "expert" commentators wrong.  Even better if it's something that
was a big deal in the past, but has been largely forgotten, but now coming
"back in fashion".

The parallels between the two technologies (and their timing) is almost
uncanny...

Looking forward to that sequel, Richard!!  ;^)



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-06 Thread tbrunz
Understood...  It is, of course, your essay, and my comments are just my own
view.

And I think I've made my point, which is what I wanted to get across.

I like your writing style, Richard.  You're making a huge contribution to
Smalltalk/Pharo and it's much appreciated.  Please continue!

-t




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-06 Thread tbrunz
I don't think so...  In the early 1900's some of the finest and most
sought-after automobiles were battery-powered electrics:
https://www.curbed.com/2017/9/22/16346892/electric-car-history-fritchle

You want to associate with the prestige of being a manly, winning, race car? 
Okay:
Sept 7, 1896: The very first automobile race held on a track in the U.S. was
won by... an electric car.
https://insideevs.com/news/339638/on-this-day-in-ev-history-electric-car-wins-us-first-auto-race/

It does fit your premise:  One third of our grandparents (for those of us
>50 at least) drove electric cars [opcit].  Then their popularity waned as
ICE vehicles grabbed everyone's attention.  Now, e-cars are all the rage
again.  

Tesla is *the* aspirational vehicle: Last year GM sales declined 2.3%.  Last
year Ford sales declined 3%.  Tesla sales?  Tesla sales not only increased
last year, but have grown 47 *times* in 7 years!  Holy smokes!!! Talk about
explosive success and popularity!
https://cleantechnica.com/2020/01/03/tesla-sales-grew-47x-in-7-years/

Everyone dreams of owning a Tesla.  (I'm buying mine next year, when my Bolt
goes off lease...)  Those other cars are "unobtainium".  Flights of fancy. 
Dream about them?  Maybe, but no one is every serious about actually buying
one and driving it for themselves.

Electric cars are a "disruptive" technology in the process of remaking the
auto industry world-wide -- and all for the better.

And so it is with Smalltalk, yes?  I suggest associating Smalltalk with a
real-world, world-changing, growing-in-popularity technology that's taking
people from skeptical nay-sayers to enthusiastic true believers -- not a
pie-in-the-sky, would-be-nice-but-can't-happen-to-me bit of
testosterone-infused wimsy.  Smalltalk is The Real Deal.  Something you can
obtain and DRIVE!



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] R: Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-06 Thread tbrunz
I would probably use "grandparents'" as in "not your grandparents'
programming language".



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



  1   2   >