News for hackers. Stuff that matters.

ben-coman

Re:Practical Deep Learning for Coders 2022 on Thursday July 21, 2022 @09:42PM (#32187471)
Watching from afar the great advances in machine learning over the past few years with AlphaZero, GPT3, DALLE2 I felt it important for me to start understanding what is going on under the hood. Having just completed the private pre-release of the course run through USQ, as my first foray into machine learning this was a great introduction that had me quickly produce a working image classification system. The videos are packed really with insightful rid-bits about practical approaches to iterating quickly to understand the data better to produce better results. Very much recommend the course.
Re:Pharo 7.0 released on Wednesday January 23, 2019 @11:32AM (#18979689)
correct. that is the entire syntax.
Re:Pharo 7.0 released on Wednesday January 23, 2019 @11:27AM (#18979638)
The traditional problem embedding is that the VM did a lot of window configuration before the image started. This has all been stripped out of the "minheadless" builds, which have defined a "virtual machine interface" used like... https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/p...

and... https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/p...

Re:Pharo 7.0 released on Tuesday January 22, 2019 @12:17PM (#18969996)
https://pharo.org was down. Its now back.
Re:Pharo 7.0 released on Tuesday January 22, 2019 @12:10PM (#18969909)
Squeak is directly descended from ST-80. Ten years ago Pharo forked from Squeak due to conflict around adding features outside the ANSI standard. Pharo wanted to distinguish itself from Smalltalk to avoid constraint by the standard so minimises mention of it. But Essentially Pharo is Smalltalk plus...
Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:51AM (#18969650)
> are these standalone binaries or can I create libraries or code which play well with other languages and systems?

Traditionally Pharo could only create standalone applications, but the minheadless builds are making good progress on stripping the windowing code to facilitate it being embeddable.

A platform specific VM runs on Windows, Linux, OSX. All those VMs run a single application binary.

Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:45AM (#18969594)
Pharo does have commandline functionality, but that won't demonstrate its value as a first experience. For an interactive tutorial... open Pharo, then left-click background, Tools > Playground, type & highlight 'ProStef go', right-click & 'do it'.

Then try these one-liners in the Playground... https://medium.com/concerning-pharo/elegant-pharo-code-bb590....

Then (and I know its a video) but maybe serverless PharoLambda would interest you... https://www.youtube.com/watch?v=YUbd0-FX6pI

Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:28AM (#18969439)
Thanks for your feedback. Maybe it would be better to show the three tools in separate screen shots rather than overlapping.

One aspect of simplicity is its minimal syntax... https://en.wikipedia.org/wiki/File:Pharo_syntax_postcard.svg

Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:20AM (#18969358)
There is steadily growing industry backing for Pharo formalised in the Pharo Consortium - companies putting hard cash on the line to support its open source development. http://consortium.pharo.org/web
Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:13AM (#18969307)
I haven't yet. Plan to soon. Here is a demo... https://www.youtube.com/watch?v=ezfjditHjq4&t=344s
Re:Pharo 7.0 released on Tuesday January 22, 2019 @11:06AM (#18969248)
Mostly consider it a programming language and deeply integrated development environment. However its a flavor of Smalltalk which ran as the operating system on mini-computers circa 1980s. Pharo retains some of that influence. For example the whole runtime state of your application can be saved to disk and moved around like you would move a VMWare image.
Re:Pharo 7.0 released on Tuesday January 22, 2019 @10:57AM (#18969157)
Here is an example of Pharo style TDD.. https://www.youtube.com/watch?v=HOuZyOKa91o
Re:Pharo 7.0 released on Tuesday January 22, 2019 @10:50AM (#18969103)
There is... https://github.com/unchartedworks/SmalltalkVimMode I haven't used it, so YMMV.
Re:Pharo 7.0 released on Tuesday January 22, 2019 @10:44AM (#18969054)
Pharo is making some moves in this direction with: * the CI first bootstrapping a non-GUI image as a separate artifact prior to loading the GUI and IDE into the release product. * good progress on stripping graphical elements out of the VM so it could be embedded in other systems (e.g. as a game scripting engine). * using git to manage sources. * some community `vi` keyboard bindings (I haven't tried) But still there is not yet an easy access to use separate tools. The benefit of using Pharo IDE is being able to mold your tools... http://www.humane-assessment.com/blog/the-moldable-gtinspect...
Re:Pharo MOOC on Saturday April 07, 2018 @10:45PM (#16784326)
I guess he is referring to the criticisms by martin-t.
Re:Pharo MOOC on Saturday April 07, 2018 @10:43PM (#16784314)
I'm double posting since I think its important to rebut with some background around this criticism. I can understand being bitter from bleeding edge subsystems being used for a class, but the content seems to have been decided by the faculty. From our mail list...

Stephane Ducasse wrote:

> I told them NOT to use github.

> I told them that Bloc was alpha. They got a large list of topics and could have picked another one.

> Now of course we should improve and they too.

This is not saying that everything in Pharo is perfect, but in future could you please frame your criticism to indicate your pain with Pharo was with alpha features.

Re:Pharo MOOC on Saturday April 07, 2018 @10:33PM (#16784283)
I think non-programmers probably learn Smalltalk easier, assuming its natural. Long time programmers maybe have the frustration of unlearning habits.

"The only languages worth learning are those that change the way you think about programming."

Re:Pharo MOOC on Saturday April 07, 2018 @10:24PM (#16784253)
Many people find that about the depths of Morphic. It has high technical which Pharo is addressing by creating a new system Bloc (its getting close, but not there yet). Then Morphic will be deprecated.
Re:Pharo MOOC on Saturday April 07, 2018 @10:20PM (#16784239)
Gilad Bracha (co-author of the Java Language Specification) on "#become:" in Smalltalk (https://gbracha.blogspot.com.au/2009/07/miracle-of-become.ht...)

btw, see the section here on "Blub Paradox" (http://www.paulgraham.com/avg.html ) which means I'm not really competent to comment of C#'s dynamic objects.

Re:Pharo MOOC on Saturday April 07, 2018 @10:14PM (#16784211)
I'm not familiar with these. Are the properties and methods that dynamically add visible in the code editor?

It seems C# work by subclassing the DynamicObject class. What about dynamically extending all the other existing C# classes?

What if I subclassed a C# Queue as MyQueue and then while my days long simulation was running I wanted add an instance variable 'trackCount' to all existing MyQueue instances? In Pharo all you do is this...

Queue subclass: #MyQueue instanceVariableNames: ’trackCount’ classVariableNames: ’’ poolDictionaries: ’’ category: ’Example’

and program keeps running, this definition is updated in the editor.

Re:Pharo MOOC on Saturday April 07, 2018 @06:55PM (#16783515)
They only have on app because Smalltalk if agile enough they build everything they need into it as the need arises - and this has been maintained over many years.
Re:Pharo MOOC on Saturday April 07, 2018 @06:43PM (#16783463)
I guess it depends on the taste of the developer. I really enjoy seeing newcomers posting in the mail list saying that Pharo makes "programming fun again".

But Pharo is all about the deep integration of the tooling. Its what facilitates such a tight Code->Compile->Run->Debug cycle. It can take a while for the penny to drop. If you do a drive-by taste of Pharo you probably didn't get chance to really get into the flow.

Some say... "The only programming languages worth learning are those that change the way you think about programming." And Pharo/Smalltalk tooling does that.

Re:Pharo MOOC on Saturday April 07, 2018 @06:39PM (#16783444)
Yes, Juan and community have done a good job with Cuis. Cuis is a fork of Squeak same as Pharo, and all three use the same OpenSmalltalk-VM. Both forks arose to deal with a large technical debt in different ways. Cuis has been paring back class sizes while Pharo has been focused on a full source-code only bootstrap from a null-Image (i.e. no carried over state in an Image, that is one of Smalltalk's typical criticisms), replacing old subsystems, as well as adding new features. I'd say Pharo is more ambitious and we are starting to see the payoffs for this.

btw, which was the CUIS prototype framework you used? There should be little reason it couldn't be made to run on Pharo.

Re:Pharo MOOC on Saturday April 07, 2018 @06:21PM (#16783349)
Martin, IIUC you are a student that suffered a class using bleeding edge features. I can understand why you are bitter, but you should not be so quick to disparage Mr Ducasse. Your faculty was his client, and it seems that circumstance was outside his control. From our mail list...

Stephane Ducasse wrote:

> I told them NOT to use github.

> I told them that Bloc was alpha. They got a large list of topics and could have picked another one.

> Now of course we should improve and they too.

Re:Pharo MOOC on Saturday April 07, 2018 @06:05PM (#16783270)
Its a recurring fee. Of course, its dependent on members feeling they are getting value for money and continuing each year. The platinum level was only recently created.

I don't know what it means that there is not later reports. The consortium is definitely active. It arose because open source software is about people scratching an itch, and often the focus is on the fun stuff and not on the boring, difficult, dirty engineering required to make a product reliable and successful (e.g. operating a CI infrastructure). Pharo arose out of INRIA[1], one of France's publicly funded national research institutes. But their mission and governance structure is not suited to managing non-research engineers dedicated to working on Pharo. So InriaSoft[2] was created to fork off its successful software into consortiums funding pure engineering work on the software as an ongoing concern. At the moment the consortium has one full-time engineer, but hope to get another in the next couple of years if the consortium continues the current growth rate.

AFAIK (I am not directly involved), the main efforts decided by consortium members were:

* Stabilizing 32-bit to 64-bit conversion for Pharo, utilizing and contributing to the OpenSmalltalk-VM project.

* Stablizing Iceberg as our Git/GUI interface

* Maintaining CI infrastructure

btw, There is also the Pharo Association with 82 individual members. [3]

[1] https://www.inria.fr/en/institute/inria-in-brief/inria-in-a-... [2] https://www.inria.fr/en/news/news-from-inria/launch-of-inria... [3] https://association.pharo.org/

Re:Pharo MOOC on Thursday April 05, 2018 @11:51PM (#16770751)
Gemstone is not "using" Smalltalk. Gemstone "is-a" Smalltalk.

Here are commercial companies that believe in Pharo (in the money on the table way of measuring belief)

http://consortium.pharo.org/

Re:Pharo MOOC on Thursday April 05, 2018 @11:41PM (#16770725)
Rubyists might know of Ruby books written by Avdi Grimm, who recorded his early experience with Pharo... https://www.youtube.com/watch?v=HOuZyOKa91o
Re:Pharo MOOC on Thursday April 05, 2018 @10:58PM (#16770578)
From your "learning experience report"(Dec 2017) linked further down I see that two of your main gripes relate to Bloc and Iceberg(Git).

* Bloc is not a "Released" subsystem. While its development group report Bloc is stabilizing and encourage more people to start exercising it, Bloc is not on the Pharo 7 Release roadmap. Pharo 6 is current stable release.

* For a long long time, Monticello was Pharo's main source code control system. Responding to general criticism that Smalltalk sometimes lives in its own shoebox and doesn't interface well to "standard" systems, Pharo is spending significant effort on Iceberg to adopt Git as its main version control system (I don't know of any other Smalltalk that has a GUI Git tool). But Iceberg is quite a new subsystem with a Technical Preview release in Pharo 6.0. It was initially slow to draw new users from Monticello as many users were not familiar with git, so bugs remained that were only exposed with broader use. Last December I was trying Iceberg and also experienced crashes with it.

One thing to keep in mind is that Pharo's usually great stability is due to everything being implemented in itself on a garbage collected virtual machine, i.e. memory-violation errors eliminated. Iceberg makes use of the "libgit" external C library via FFI. While this aligns with Pharo's policy of not reinventing the wheel (another oft criticism of Smalltalk) but does allow memory errors that normally could never occur. So the Iceberg subsystem is not a good benchmark to judge the stability of the rest of Pharo.

btw, Lately I've found Iceberg stability quite improved and I started using it daily. Also, based on constructive feedback an improved GUI is planned.

* Around December there was also bug in the new Garbage Compactor related to the conversion of the VM from 32-bit to 64-bit. This is a complex system that took a while to identify, diagnose and correct.

Unfortunately I think you landed in a perfect storm. If the presenter was trying to show off the latest features I guess you got caught up on the bleeding edge of development. Part of the problem here is Pharo bleeding edge is usually quite stable (I use it daily), but we of the Pharo choir better placed to work around any hiccups in order to push Pharo forward. But these should not be exposed to newcomers and you don't have time to deal with them in a classroom setting. I'm sorry this damaged your impression of Pharo, but please understand how your broad statements damage Pharo in turn.

Coincidentally I just bumped into this... "The Value of Smalltalk: valuing and risk management in VisualWorks and GemStone" http://www.esug.org/data/ESUG2004/ValueOfSmalltalk.pdf
Actually I was surprised to see JP Morgan there. I don't watch it closely but they seem a recent addition. Their "Kapital" system is based on Cincom Smalltalk. I wouldn't speculate they are porting it. Facilitating a viable open source Smalltalk alternative may just for negotiating power with their incumbent Smalltalk. http://www.cincom.com/pdf/CS040819-1.pdf

Older »