Friday, April 27, 2012


Currently I'm working on Faish, a Prolog variant. Eventually I'll need a reasonable user interface, and to package the result for people to install. Therefore, I'm planning to move from Squeak to VisualWorks, as I would be pretty ashamed to expect "end-users" to use Morphic. I could use GtkSqueak (having some experience with that), but that's plan B for now as I'd need to spend time repairing and updating GtkSqueak.

Cincom: you're doing it wrong!
  1. You guys make it really hard to get to the software.
  2. My first attempt did not work; the email never arrived.
  3. WTF - a .iso file!? I just want the Linux VM and whatever image your Smalltalk uses. Plus I'm seriously not going to write it to a CD.
So now I wait for the eventual completion of a flippen 514MiB download, which probably includes a heap of stuff I don't even want.

I also tried moving to Pharo 1.4. Pharo: you're still not good.
  1. I wanted to use ToolBuilder. It's not in the image. That's okay; I'll install it from a version I was working on before.
  2. Monticello had a fit. Some classes in the .mcz file declare instance variables that already exist in superclasses. Instead of a recoverable error message, I get some exception and a debugger.
  3. I try it again. This time, the image seizes up when loading the package. I press alt-.. The VM quits to the shell (!?).
  4. Eventually I manage to get it loaded by various magical incantations. I then open some other window and I get an emergency evaluator (obviously something I did broke Morphic, which is standard behaviour).
Obviously, ToolBuilder needs fixing, but how does one fix a package if you can't even load it?

THIS is the reason I was working on SecureSqueak, and my latest work (unfortunately stagnant now) was working on remedying this:
  1. You should always be able to load a package, even if it is broken.
  2. Loading a package should not affect the usability of the rest of your image.
  3. The UI should never freeze up. Never, unless the hardware has failed.


Friedrich said...

Yes, some things are bad. Anayway on Linux at least mounting an Iso file is easy so not reason to burn it.

I'm not very "fond" of Monticello. The Confg. ofs and MetaTools are stuff only a Genius can use. I know it's lame but svn, mercurial, git do make it "easier" to just "get" some repository. I do not even know how I'd be able to build a Repository out on my server.

And know you do not RTFM. There's not "manual". Currently there is a another problem I'm facing. Magritte 3 and a simple question. What am I supposed to do to render an object so that I can use it in a comboboy. Oh year I overwrote printOn. and that does it, but what if I do not want this printOn.

And the examples in the boosk simply do not run any more. So great.

I will not start to discuss the "quality" of simple writing tools. If Smalltalk is that great why don't they have at least a useful Editor?

gulik said...

I'd agree with all that. As a programmer, you eventually build resistance to badly written tools and a lack of documentation, and you eventually develop a knack for working around stuff that doesn't work right. The result of this is that you don't spend much effort on the tools (and documentation) you yourself write because you forget what it's like to have easy to use, stable software.

Friedrich said...

Well my problem is I like Smalltalk and it's very to my taste (maybe coming from Eiffel just makes me kind to OO Languages. but don't get me started on C++) And I do have "badly" written software which I overtook and have to maintain now. I wanted to use Smalltalk for migrating it to the web. I know have looked through Aida and am now "trying" to learn Seaside. But I'm also open to stick to the RDB world maybe in form of WinDev. At least this has a lot of "workable" code and fits nicely into the Windows eco-system...

But for now my preference would be to use Smalltalk.. Just because it fits my inner programming model better. I don't know why I got this preference to OO anyway. Maybe looking into something which makes table handling "intrinsic" would be a "better" idea.....

But well that's another story. There is but one problem with VisualWorks the licensing for commmercial use. That was the bigger problem for me (because I had to pay for Gemstone and VisualWorks) and the base for the prices was/is the sales one did with it. That sorry sucks really bad. I've used VisualWorks and I've to admit it makes the best impression of them all.

Anyway Gemstone/VisualWorks would be a hefty "price" for deployment. And well VisualAge does not have an GemBuilder as Visualworks has that are "other" quite real problems....

jarober said...

I suspect that the email from Cincom arrived in your junk folder. When I left Cincom, I did a screencast on getting the fee download, and sure enough - the registration email got sorted into my junk folder. It's probably the images they toss into the mail. To be fair, the same thing happened to me with my VA Smalltalk registration....

basicforge said...

One handy feature of Squeak is the dual GUI. If you break something in Morphic, just use an MVC browser to fix it. Of course it is possible to break Squeak in a way where this doesn't help, but I've found it really handy for when I've experimented with Morphic and broke it.

gulik said...

basicforge: When I accidently destroy Morphic, I recover it using my REPLServer tool. It's a telnet server that gives you a basic command line to, for example, reset Morphic to a working state.

MVC is a relic of the past, useful only for very slow machines.