|
|
|
Oct 30th 2003.
|
(OOPSLA 2003) Tuesday Squeak BOF
|
Past OOPSLA trip reports can be found at Trip Reports I've Written in the past
Back to Tuesday
Note on Nov 5th 2003 this paged was moved to a Wiki so you can edit it there. Please read it over there, this copy is here for historical reasons. http://wiki.cs.uiuc.edu/CampSmalltalk/OOPSLA+2003+Trip+report+Tuesday.
Squeak BOF
About 70 people in attendance.
Missed start of Dan's talk about his weather station hardware/software. Certainly if you are looking for a high end visual local weather display for your house, ski resort, golf club, TV station, yacht club then look no further.
Cost about $220 with power supply cost for one board is about $120 can add lead acid battery and get 4-5 hours UPS support. People using mini-ATX boards are hobbyists, lots of activity in this area
A year or more back, very few choices, now it changes weekly.
Ned's Talk
{Sorry had to prepare my talk well Ned was talking, but people who use tablet PCs and want way better pen interaction should see Ned's work}
Takashi Yamamiya Talk
Language Game & Skeleton
{Well this is hard to talk about. As an artist he makes machines that make music and a lot more. Like a large wooden machine/bicycle that generates fibonacci numbers! Really quite amazing}
From his slides.
"I love machines and I made a computer as the greatest computer in our day
But I noticed something missing, the essence of computer is not in hardware, it's in software"
So he has been inventing games in Squeak
But using BNF grammer to build music scores and games, then animation and bouncing
Morphs and parse trees. {When was the last time you saw a BNF parse tree dance?}
Ah, it's too hard to explain, really words fail me.
Skeleton
A constraint system
paper scissors rock. game
One game has dancing man and woman stick figures using skeleton constraint rules and
Interaction with space and music volume. Feedback loop isn't perfect so animation is well cartoonish which fits just fine into the animation. Did he interact with all this I think he did we were just boggled by the presentation.
Someone have a link to his work?
http://csdl.computer.org/comp/proceedings/c5/2003/1975/00/19750110abs.htm
http://www.dnp.co.jp/museum/nmp/nmp_i/articles/kirin.html
Croquet
Covered before.
Tweak II
Looks like Morphic, and mostly taken from there. The important change is in the scripting part.
It looks more like a Smalltalk browser, but that is outdated now, but just gives you an impression.
How we take the etoy scripts out and show them using a smalltalk syntax, this will change. The target is older children, young adults and novice programmers, versus the professionals.
{Ack Hardware problems}
Ok, back
Now let's talk about Monticello
Old tools, envy ginsu,
Also cvs needed to have these tools to do collaborative development.
Example
got a class, change a method. Do the save.
off another image and visit the repository, open it, we can see the new version
Now we can load it from the tool.
Issue it conflicts with my version.
Tool allow merging, then saving yet another version v4.
This version knows it was merged from v2 and v3
repository can be to SMTP, directory, HTTP or FTP
Also I'm sure he mentioned Omnibase
By allowing SMTP you can load into a repository and manipulate and re-distribute.
We are running quite a few repositories usually read only.
Simple then to collaborate.
Thus you can do offline work, then later publish to the server.
Since you can move repository trees you move that historical data around.
We would like to use Ned's connectors to plot the tree.
Question can you do preambles/postambles
No not yet.
Ned:
Packaging and distributing issues, been using the SAR format so I can stick in any format of Squeak artifacts, projects changesets, etc etc Then a simple load script to load and fiddle with things.
? want to make Monticello to be a versioning system, not a packaging system.
{Details}
Yoshiki Ohshima
Squeak in Japan, m17n and more
Showed some hardware, 600x800 VGA display size of paperback folded over keyboard.
Bigger proportion of Mac users since its origin
Early m17n work in 1999 and Camp Smalltalk workshop in mar 2002
TV program features Alan in April 2002
A lot of tryout after the TV show
Kyoto project 2003 books, lectures, IPA projects etc
Squeak-ja mailing list has > 250 members
Advanced LeArning Network in Kyoto (ALAN-K Project)
started in 2002 a three year project
Squeak book in Japan hit #1 two weeks in a row, sold 4-5 thousand copies.
Does m17n work?
Used by hundreds of or thousands of people.
works with 3.6
works with croquet 3.6, Seaside, Postres, etc
Various Translation work and idea's (Diego's Andreas' Ned's
Applications->natural language translation->m17n infrastructure
Gave an example of getting the <- in unicode.
The changes gets convert to UTF-8
additional info for CJKV.
X-CTEXT (ISO-2022), EUC (-JP,-KR-CN) shift JIS
Platform specific keyboard interpreters cliepInterpreters are used.
SqueakLand e-toys
Last months 8 thousand hits.
2000 download a month.
e-toys most important tool in Squeak in the School industry
Really*** big in Japan now.
Notes about Squeakers DVD
Traits
You seen this before but I'll continue writing.
Create a class circle
Now I've a trait called TCircle, like area, bounds, etc. etc
requires center and radius
Back to circle class and setup to say it uses TCircle
Now in blue it notes I'm missing two required methods center and radius.
show I've no class methods, but I can see the TCircle methods.
So to the required category and we specify the center and radius methods (getters and setters)
Note that I could specify shouldNotImplement as a method here, like we do for the center setter and the center getter is a constant point.
So circle new and ask for the area. See how the Trait has given me the code
Now lets add TDrawing trait
One requirment
bounds is there already and supported
drawOn:
isn't there so we add code to draw on the world canvas.
Then create the circle and do the draw.
back to the circle class, lets create an initalize-release category and do the initialization, then on the class class side
setup the new method to do the initialize. In looking back we've only implemented initialize, all the rest comes from
Traits.
Now add TColor
Need the rgb value, setup the accessors/mutators.
fix up the initialize
do the draw, we get a red circle
Now add a TBorder trait
add it to the class
Ah now there the overridden methods, like drawon, which is overridden by Circle
Ok let's add an alias, that makes the TBorder drawon called borderDrawon. need to add that to the drawon
Now for requires borderBounds we decide the border should be bigger.
so the bound should be the border width added to the circle.
back to the class definition and you'll see the grammer specifics the traits plus the deleted methods.
Ted
Trait seem to be protocols? Small a few in a trait, lots of traits in a class (say 22)
Yes that is more complicated, need to fiddle with the browser.
Lots of positive comments.
Onward to Wednesday |