Archive for the ‘Morphic’ Category

Squeak Help rant

I am currently writing some Help for the PostgresV3 package and I am reminded why I dislike the Squeak Help infrastructure.

In no particular order, my beefs:

  1. I am coding Help instead of Writing Help. I.e.
  2. I am thinking about Coding instead of thinking about the Subject Matter
  3. (Why did I start using 1700 Writing conventions of capitalizing Odd Words? Nevermind, it is late)
  4. The Help is limited to the Squeak environment.
  5. I cannot use the linux tools: ‘man’ , ‘info’, ’emacs org-mode’ .
  6. The “documents” are small. That is, I am forced into navigating many small pages of text instead of one big page of text.
  7. The Search bar works, and is appreciated.
  8. Navigation depends on the left side tree.
  9. When I click on a sub-topic (with the book icon) there is no content displayed in the content pane.

Rant off.


Read Full Post »

debugger after update on left. before update on right

debugger after update on left. before update on right

Read Full Post »

I want this for some Help documentation in CMakeVMMakerSqueak so I can show the end user all the methods in a specific method category.


Here is a quick example showing all the methods in the Class CompiledMethod under method category ‘accessing-pragmas & properties’:


Browser openBrowserView:((Browser new)
selectSystemCategory: #’Kernel-Methods’;
selectClass: CompiledMethod;
metaClassIndicated: false;
selectMessageCategoryNamed: #’accessing-pragmas & properties’;
selectMessageNamed: nil;
label: ‘Message Category Browser (‘, #’Kernel-Classes’ asString, ‘)’.

You can get that view by right-clicking on the method category name and selecting ‘browse’.

I think a wrapper class for this would be useful.





Read Full Post »

I got Steve Wessel’s IRCe Client working on Squeak 4.5 on CogVM.

I emailed Mr. Wessel’s the changeset.

Here is a pic:


Read Full Post »

Hello World!

http://tecnodacta.com.ar/gira/projects/physical-etoys/ is an all in one squeak image.

Bear in mind, I already have the Arduino tool-chain installed on my Slackware Linux install and can talk to my board via the Java tool provided by Arduiono.

I am not going to re-cap that here.

The one thing that perplexed me was what port to put into the etoys configuration.

The java application helped out here under ‘tools->serial port’.

It is /dev/ttyACM0

Without the Java program installed to tell me that, I would not known how to figure it out.

Anyway, I made another led blink using Smalltalk!

totally cool

Read Full Post »

On page 78 of Wessel’s Tutorial is this interesting block of code, that to me looked like a mis-print:

on: #mouseUp send: #mouseUp:forMorph: to: self;
on: #mouseDown send: #mouseDown:forMorph: to: self;
on: #mouseEnter send: #mouseEnter:forMorph: to: self;
on: #mouseLeave send: #mouseLeave:forMorph: to: self;
on: #mouseMove send: #mouseMoveWhileButtonDown:forMorph: to: self.

I had not clue what I was looking at.

Taking the first line after the class, I was sure it should have read something like:

on: #mouseDown send: #mouseDown:FOO forMorph:BAR to: self;

Well, I learned something.

The actual message being sent to boardMorph is on: send: to:

The code is in Morphic-Events>>EventHandler and the actual selector looks like this:

on: eventName send: selector to: recipient

the actual argument being sent to the send: part is #mouseDown:forMorph: as a whole i.e. as a Symbol.
i.e. on:#foo send:#bar to:self..

So, the lesson I learned is that I can pass selectors (i.e. message names) to a recipient. In effect, I am sending a message ’round robin’ .

Totally cool.

Read Full Post »