Live data from Hacker News

Pharo 11

pharo.org

161–170 of 189 posts

Re: Pharo 11

#161

Earlier quoted context omitted.

Ah, yes. "Entitlement"... I'd say: to show that its authors have a sense of decency , at least. But let's not assassinate the lads any more than this.

So, to be clear, you are saying that it is indecent that there isn't a notice on their page saying "this project is not for lazy people. Please go away if you are too lazy to find the tutorial"? I really don't think that is more decent

[flagged]

Re: Pharo 11

#162
post #160

Earlier quoted context omitted.

Quoting from your link: COMMAND LINE: /opt/src/pharo-vm-Linux-x86_64-stable/pharo --headless [...] Yeah. It indeed works. With --headless. It's "just" incapable of displaying GUI. I use Fedora. I ran every other available Smalltalk implementation on it, including Visual Age. GToolkit distribution, too, worked without problems. Pharo didn't, and still doesn't. I know that wanting this to be fixed is lazy of me and sho…

Do those script files work with your Fedora Pharo install?

I'm not sure, I'd need to try. I'm also curious how this:

    (SystemWindow windowsIn: World
          satisfying: [:w | w model canDiscardEdits])
       do: [:w | w delete].
works in headless mode. I guess #windowsIn:satisfying: simply returns an empty array?

But, why do you ask?

Re: Pharo 11

#164
post #160

Earlier quoted context omitted.

Do those script files work with your Fedora Pharo install?

I'm not sure, I'd need to try. I'm also curious how this: (SystemWindow windowsIn: World satisfying: [:w | w model canDiscardEdits]) do: [:w | w delete]. works in headless mode. I guess #windowsIn:satisfying: simply returns an empty array? But, why do you ask?

Curious as to whether Pharo does work with --headless on your Fedora install. (I don't currently have an Ubuntu install to poke.)

Re: Pharo 11

#165

Earlier quoted context omitted.

Pharo source management is based on Git, so the workflow is not special. We build the development images on the CI so every developer can download the already prepared image with the latest commits, but that is just for convenience.

Though there is the issue of: the changes in your image are not necessarily the changes in your local repository and the syncing of both can sometimes cause annoying issues. In most cases I've learned to work around it, but it wasn't plug and play straighforward.

Note the Cuis-Smalltalk Daily Workflow:

https://cuis-smalltalk.github.io/TheCuisBook/Daily-Workflow....

Re: Pharo 11

#166
post #164

Earlier quoted context omitted.

I'm not sure, I'd need to try. I'm also curious how this: (SystemWindow windowsIn: World satisfying: [:w | w model canDiscardEdits]) do: [:w | w delete]. works in headless mode. I guess #windowsIn:satisfying: simply returns an empty array? But, why do you ask?

Curious as to whether Pharo does work with --headless on your Fedora install. (I don't currently have an Ubuntu install to poke.)

It seems to work. I found Pharo 10 on disk, running it like this:

    -▶ ~/portless/pharolauncher/pharo-vm/pharo --headless Pharo10-SNAPSHOT-64bit-0618067.image a.st
with a.st:

    Object subclass: #BenchmarksGame
       instanceVariableNames: ''
       classVariableNames: ''
       poolDictionaries: ''
       category: ''!

    Transcript show: BenchmarksGame!

First signals an error:

    primitive #primLoadSymbol:module: in TFFIBackend failed
this seems to be related to libgit, as the stacktrace ends with:

    LGitLibrary(FFILibrary)>>ffiCall:
    LGitLibrary>>libgit2_init
but it continues running and displays:

    BenchmarksGame
and then hangs. I suspect I should tell it to quit, but since I don't have the GUI, I can't easily check what method I should call to do that. Ctrl+C works though.

So, yes, without loading the GUI the VM and image seem to work.

BTW, Smalltalk/X has a fully functional REPL, including console based Inspector and debugger. Imagine what would happen if you suggested providing such functionality in Pharo... ("only masochists can bear working with terminal", the "incredible" community says)

Re: Pharo 11

#167
post #164

Earlier quoted context omitted.

Curious as to whether Pharo does work with --headless on your Fedora install. (I don't currently have an Ubuntu install to poke.)

It seems to work. I found Pharo 10 on disk, running it like this: -▶ ~/portless/pharolauncher/pharo-vm/pharo --headless Pharo10-SNAPSHOT-64bit-0618067.image a.st with a.st: Object subclass: #BenchmarksGame instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: ''! Transcript show: BenchmarksGame! First signals an error: primitive #primLoadSymbol:module: in TFFIBackend failed this seems to be…

I wouldn't describe that as "seem to work".

What if a.st is

    Stdio stdout
        nextPutAll: 'Hello, world';
        nextPut: Character lf

Re: Pharo 11

#168
post #167

Earlier quoted context omitted.

It seems to work. I found Pharo 10 on disk, running it like this: -▶ ~/portless/pharolauncher/pharo-vm/pharo --headless Pharo10-SNAPSHOT-64bit-0618067.image a.st with a.st: Object subclass: #BenchmarksGame instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: ''! Transcript show: BenchmarksGame! First signals an error: primitive #primLoadSymbol:module: in TFFIBackend failed this seems to be…

I wouldn't describe that as "seem to work". What if a.st is Stdio stdout nextPutAll: 'Hello, world'; nextPut: Character lf

Here: https://gist.github.com/piotrklibert/e953b7bf85821f88f02a3c2...

If you have an image with Seaside project (they should work in headless mode) or something similar laying around I can try running it, I suspect it'd work.

Re: Pharo 11

#169
post #164

Earlier quoted context omitted.

Curious as to whether Pharo does work with --headless on your Fedora install. (I don't currently have an Ubuntu install to poke.)

It seems to work. I found Pharo 10 on disk, running it like this: -▶ ~/portless/pharolauncher/pharo-vm/pharo --headless Pharo10-SNAPSHOT-64bit-0618067.image a.st with a.st: Object subclass: #BenchmarksGame instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: ''! Transcript show: BenchmarksGame! First signals an error: primitive #primLoadSymbol:module: in TFFIBackend failed this seems to be…

From the gist that install doesn't work headless.

Seems like this:

https://github.com/pharo-project/pharo/issues/9729#issuecomm...

Re: Pharo 11

#170

Earlier quoted context omitted.

Yeah I did the same the other night - same experience. It’s like releasing a modern game and expecting players to read the manual to learn how to play. We know how to effectively teach users to use - there’s an entire field of study devoted to usability and accessibility. I don’t have time to waste on something that ignores the last 40 years of progress in that realm.

What's to say they have "something" to waste on making a foolproof way of getting started for people who aren't even curious? They're not selling a product here, they're releasing software they've written in their own spare time. If you can't spare 30 minutes for running through the tutorial, why should they spend more time catering to you rather than spending it on more interesting problems?

Sure - but it's also being touted as something special that's worth paying attention to for programmers.

Like - when I first learned about Smalltalk, and looked at the syntax, I wanted to try it out right away! Playing with that realm of object oriented programming looks like fun!

But jumping through hoops to make it work is not fun - the process of just setting things up and trying to pick through the whole alien interface completely evaporated my enthusiasm. It quickly became clear to me that you can't 'just sit down and write code' the way you can with basically any other modern language I've worked with. You have to do a bunch of other stuff first. And I don't want to do that.

You can open a web browser, hit F12, and immediately start writing javascript and running it. You can use notepad to make an .htm file, drag it into the browser, and boom it's a web page. If you're on a device that makes task switching awkward, you can navigate straight to codepen.io, no sweat. You know what I mean? Immediacy is an essential quality, for me - obscurity, esotericism, inaccessibility and poor usability are all banes of my existence.

It's like sure, I can do anything I put my mind to - I can spend the next hour, the next day, the next week, month, year, decade, learning to do this thing... but that's time I'll never get back, and that's time I could be spending more efficiently stepping into something else, equally exciting and different and new and interesting, with significantly less barrier to entry.

If you care about your work, and your goal is to expose others to it, then you need to put the work into making it accessible. That's been my experience.

Post reply on HN