Squeak に関する情報源の調査
Squeak とは smalltalk というプログラミング言語の開発・実行環境の実装の一つです.最近,Etoys とか Scratch 等の子供でも使いやすいビジュアルプログラミング環境が教育のために様々なところで利用されていますがそれらは Squeak がベースになっています.どういうことかというと具体的には Scratch は Squeak を用いて作られていたり,Etoys は Squeak のビジュアルプログラミングツール(なので対応する smalltalk プログラムに変換できる)であったりと,そういう関係があるということのようです.
まえがきはここまでにして,ここでは主に Squeak (Etoys や Scratch 関連も含む)に関する情報源をいろいろ調べてみましたので忘備録として列挙してみます.
[Squeak] 開発者が使う Smalltalk 処理系
- Squeak Smalltalk
- Squeak本家のサイト
- Squeak-ja (日本語化版 Squeak)
- 日本語化版Squeakのサイト
- Squeak開発者版
- バージョン4.1以前の開発者向け日本語版Squeak
- 日本語環境インストーラー
- 英語の Squeak に日本語環境を追加するためのパッケージ
[Squeak Etoys] 子供向けビジュアルプログラミング環境
- squeakland : home of squeak etoys
- 本家英語版の Etoys
- Squeak2005J と Etoys の関係について
- 一言でいえば,OLPC対応開発前のものと対応後のものという違い.
- The OLPC Wiki/lang-ja
- OLPCプロジェクト及びそれに関係するコミュニティの作業サイト
- 開発スタッフ用 Etoys のサイト
- iPad版も公開されているらしい?
- Debian系の場合は以下のパッケージがあるらしい(まだ未確認)
(etoys) $ sudo apt-get install etoys etoys-doc (squeak)$ sudo apt-get install squeak-vm squeak-sources3.9 squeak-imge3.9
書籍や資料など
- すくすくスクイーク
- 初めて使う人はこの教材を利用すると良い.ただしSqueak2005J向け.
- 自由自在Squeakプログラミング
- 絶版になっているらしい
- 自由自在 Squeakプログラミング PDF版
- https://www.box.com/s/bbc7kz53el13ktbxeed4
- Squeak 4.2以降のためのサンプルコードはSampleCodes42.zip,SampleCodes42.sar
- 「自由自在 Squeakプログラミング」のサポートサイト
- 演習用のイメージなどがダウンロードできる.
- Squeak Wiki
- Squeak, eToys, Tweak に関する議論の場としてのWiki.
ソフトウェアリポジトリ,サンプル
- Squeak Source
- ソースリポジトリ.最近は以下の SqueakSource3 か SmalltalkHub への移行をお勧めしているようです.
- SqueakSource3
- SmalltalkHub
- 土曜日はスクイークで
- 子供にもわかりやすく記述された各種教材が公開されている.
- 道に沿って
- じゃんけんぽん
- ボールをはねかえせ
- まとあてあそび
- だんだん遅くなり止まる車輪
- うみのなかを泳ぐさかな
- いっしょにつれってって
- 子供にもわかりやすく記述された各種教材が公開されている.
- サンプル集(様々なバージョン向けのが混在しているが,Squeakland 2005J で開くことができる)
- 電気通信大(2002-2004)
- 「スクイークであそぼう」付属バージョン版(SqueakNihongo4a)
- SqueakNihongo6用
コミュニティ
Tips
- MTSの Squeak EToys版でイメージを保存するためのワールドメニューの出し方
- 設定変更による方法
- ワールドのハロを出して、上側の白いハロボタンをクリックしてメニューを出す.
- 「プリファレンス」メニューを選択し,プリファレンスの画面を出す.
- 青い領域に並んでるカテゴリの中から「menus」を選択
- escapeKeyProducesMenu という項目をオンにする
- そうするとエスケープキーを押すとメニューが出て来るのでそこでイメージ保存できる
- 既定のショートカットを使う方法
- Alt+Shift+w を押す.
- 設定変更による方法
- 自分の絵に対するhaloを表示する方法
- 他の部品の場合と同じく Alt+左クリックで出る.色の付いた部分をAlt+左クリックすることに注意する.細かったり透明な部分のあったりする場合は注意が必要.
- Etoysのインストーラー作成と配布について
その他応用いろいろ
Network
- UDPを用いた動作確認について
- receiveUDPDataInto: と receiveDataInto: の関係
- receiveUDPDataInto: は Unix版と Windows版とでソースが違う
- RemoteBroadcastingToolkit (RBT)
- UDPを使った送受信プログラムが簡単に作れるライブラリ
- Scratch から Twitter につぶやく
- Twiiterにつぶやく機能をつけたScratchのイメージを公開
Database
- Squeakの場合は、Glorp+PostgreSQLがポピュラーらしい
- PostgreSQL Client (V2)
- PostgreSQL frontend/backend protocol version 2 の smalltalk 実装
- SqueakDBX
- OpenDBXを経由して動作
Webアプリ
- SeasideJOne
- 継続ベースのWebアプリケーションサーバSeasideを、展開のみですぐに試せるというall-in-oneのパッケージ
- SeasideJOnePlusDB
- SeasideJOne に自習で役に立つSeasideの解説資料やサンプルコードを同梱したもの
- GlorpとPostgreSQLを用いたサンプルコードも入っている
- Seaside Dynamic SVG
- 継続を使った状態管理をしないのであれば、単にWAEntryPointを継承して handleRequest:をオーバーライドするのも楽
- RRRssHandlerあたりの実装や使われかたを見ると良い
コラボレーションツールSDK
- Croquet
- OpenCroquet
- croquet SDK がダウンロードできる.
- OpenCroquet(wikipedia)
- OpenCroquet
- Teleplace
- 3D環境内での telework, オンラインメッセージ,グループコラボレーション,e-learning のための3Dアプリ
- Open Cobalt Alpha
Physical Computing
- 機器制御との親和性について
- EtoysやScratchのスクリプト(これらはSmalltalkとも異なる)は機器制御との親和性が必ずしも高くない
- どちらも複数のオブジェクトによる並列動作が前提でリアルタイム性も保証されていない
- Squeak/Scratch+ロボットに関する情報
- とても詳しいまとめ.
- SqueakNXT
- Squeak で LEGO Mindstorms NXT を制御する
- Enchanting
- Scratch で LEGO Mindstorms NXT を制御する
- 世界聴診器
- 熱や光をコンピュータに取り込むためのボード
- 専用のSqueakが付属し,世界聴診器用モーフがデータを取り込んで数値化する
- 世界聴診器をめぐる冒険
- Physical Etoys and Kinect
- Kinect を Etoys で利用するためのステップ.動画の紹介もある
- Pharo という smalltalk 処理系でも確認できるらしい(すごく遅いとのことだが)
- 作者による報告および一連の議論
- 他の実装もあるようで,それらとの比較も行なっている
- SqueakからRobovie-MSを動かす例
- Robovie-MSのリンクが切れている
- 岐阜高専の出口研究室
- CロボとEtoysを使って自律動作を可能にしたもの
- 1.3.1 でMYUロボを制御できるようにした例(リンク先 zipファイル)
- ジョイスティックも使えるようになるとのこと
- Scratch.imageの代わりにScratchMyuRobo.imageを使う
- Remote Sensors Protocol
- デバイスを制御するサーバーとScratchがソケット通信する際のプロトコル
- サーバー側の開発言語に制約はない,Scratch側の変更も不要となる
- 実装例として Catenary がある
Squeak の機器への組込み
- NXtalk
- Lego Mindstorms NXT への実装
- PIC/Smalltalk
- IDEとしてSqueak2.8を用い,アセンブラへ変換している模様
Raspberry Pi
- Squeak: A Free Smalltalk system
MIDI
- Squeak で MIDI
- Squeakには標準でSimpleMIDIPortとMIDIPluginを持っている
- PortMidi を使ってMIDI系のいわゆるソフトウェア音源/バーチャル音源(SoftwareSynthesizer)に繋ぐためのプラグインもある
- そもそも PortMidi とは
- http://portmedia.sourceforge.net/portmidi/
- プラットフォーム独立なMIDI入出力ライブラリ
ISOイメージ作成
- KNOPPIX に Scratch と Etoys を入れた ISOイメージを作る
- http://www.smalltalk.jp/pipermail/squeak-ja/2009-December/004419.html
- http://4oc.blogspot.jp/2009/11/knoppix601scratch14etoys30iso.html
- KNOPPIX 6.0.1, Scratch 1.4, Etoys 3.0 を対象にしている