Hacker Newsnew | past | comments | ask | show | jobs | submit | fizfaz's commentslogin

Does anyone remember Servant by Andy Hertzfeld? Which kind of blended the Finder with ResEdit, showing the resources just like it shows folders and files. Allowing to manipulate them the same way, for example copying via drag'n'drop etc.

http://bitsavers.org/pdf/apple/mac/Servant_A_New_Shell_for_t...


> The sheer oddity + lack of real world example code floating around made it feel impenetrable

not sure if I understand you, but you have the code of the whole system at your fingertips. Which is certainly "real world" because you are running it :)


real world example means end user applications, not developer tools. i want to see how an application looks like that my mother could use, or that i could sell to my customer. websites. desktop applications that hide the IDE...


Your applications would look however you wanted them look.

https://pharo.org/success/


that's not the question. we are looking for examples that come with source that can be studied.

the success page lists 53 projects. only one of them came with a direct link to the source. one included an un-clickable link. one linked to a non-english website where i could figure out that it was licensed under the LGPL, but i could not find the link to the source.

a surprise was that DrGeo which is known to be Free Software links to a dead website. grafoscopio which i also believe to be FOSS as well has a dead download link on its website.

several other projects had dead links too.

the only source i found was for

HoneyGinger: https://github.com/tomooda/HoneyGinger

OpenPonk https://github.com/OpenPonk

and record: https://github.com/estebanlm/record (7 years old)

btw, DrGeo is here: https://github.com/hilaire/drgeo

that is three source examples under active development

for a project as old and as large as pharo is that is surprisingly little.

more accessible source examples are needed to attract developers. especially given the difficulty to get used to the pharo developer tools.

i have actively explored working with pharo. i just could not find any useful apps that i could use and contribute to. and i had no ideas for an app that i'd be interested enough to create from scratch.

for a while i even tried to use it as a desktop and used an app that provides a commandline inside pharo.

the primary problem was that upgrading to a new version of pharo each year was difficult. given the image based development you tend to start with a current version of pharo and then keep to that version until you are done.


> i have actively explored working with pharo.

Then you must already know more than me, about what's available now.

Too much? https://github.com/feenkcom/gtoolkit

> … given the image based development you tend to start with a current version of pharo and then keep to that version until you are done.

I think of it as image based development: not image based version control.


what do you mean by image based version control?

i mean the lack of version control inside the image can be considered a problem, as you have to connect to external tools go get it, lest you save a copy of the image as a version (which is what i would call image based version control), which that is not practical at all.

but that is not what i meant. i was talking about the problem that when i develop an application in pharo 11, but then i want to move the development to pharo 12, that amounts to a lot of work, so i don't do it but i'll stick to pharo 11 until my app is done.


> that amounts to a lot of work

Why? Are you making a lot of changes that conflict with the distro?

"Guideline 120 Avoid modifying the existing behavior of base system classes." :-)

1996 Smalltalk with Style page 95

https://rmod-files.lille.inria.fr/FreeBooks/WithStyle/Smallt...


it's not the code conflicts, but all the modifications i made to the environment. addons i installed, configurations i changed, windows i opened, code snippets i have in a workspace/playground. pharo is to much like a desktop, and switching to a new version of pharo is like reinstalling my computer and setting up my desktop from scratch.

there is no tool that would just take every change i made to the original pharo image and apply it to the new one.

you know like docker where your base image is immutable and changes to that image are saved in a separate image that is layered on top. so that you can replace the base image while keeping your changes.


> there is no tool that would just take every change i made to the original pharo image and apply it to the new one.

What about Smalltalk?

All your interaction with the IDE is implemented in Smalltalk. For each of the changes you want to preserve, figure out which UI class is used and browse the code to figure out how the UI class makes those changes. Then copy what the UI class does into a workspace script, save the script, and file-in to a clean distro image to check that it works.

Here's an example of a little script being filed-in to load a program, do clean-up and save the image:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...


i would want to preserve everything. this is not solvable with a simple script. in docker this feature comes built in. everywhere else all i need to do is copy my homedirectory, and every upgraded application works with the data i have. smalltalks design makes this a magnitude more difficult, and in the end not worth the effort until i get an opportunity to work on a paid project.


> not worth the effort

That's your decision to make and I have no reason to quarrel.


https://archive.org/details/dr_dobbs_journal_vol_05_201803/p... to read it in context. It appeared in the "All-CP/M Issue!" of Dr. Dobbs


Leo Brodie attended a https://www.forth2020.org Meeting and talked about Thinking Forth: https://www.youtube.com/watch?v=Wr0uxJTvmsE&t=2998s


He sometimes joins meetings of the Forth 2020-Group. The last one was meeting #40 on Nov. 11. 2023: https://www.youtube.com/watch?v=M14tCZiEPkg&t=11670s


IIRC It was "web first": See the presentation from Erich Gamma: https://learn.microsoft.com/en-us/events/visual-studio-code-... approx. minute 6.


Interesting historical document describing Pink which later evolved into Taligent. They even planned a toolkit for collaboration (page 345ff) :O


Yup. This is an interesting time for the project. It's after the '88 meeting where they separated features onto blue (easier), pink (harder) and red (hardest) cards and before '91 when they were actively talking to IBM about what would eventually become Talingent in '92.

They've had enough time to think about things and get some early coding experiments under their collective belts, but not so long that the impact of infighting (and mild panic) is so apparent.

I contributed a small bit to a serial port manager in this time frame. In retrospect, it's clear they wanted something that could work on different hardware (like the 16550 popular in PCs and Z8530s already used by the macs) - but I'm a little sad to see it isn't mentioned here.


you can play several versions at archive.org: https://archive.org/details/software?query=glider&and[]=subj...



the linked source-archive (at the bottom of the page) compiles without problems on a modern OS, or do you mean an application using it?


Looking for any software projects that have successfully adopted this approach for extensibility.


Anything embedding Lua, TCL or Rexx should be nearly identical in structure.

https://en.wikipedia.org/wiki/Rexx


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: