website | twitter

Saturday, June 18, 2005

Squeak and stdin/stdout

I had a discussion with a couple of squeakers today. The main theme of the meeting was about our new web site for Japanese squeak develpers, but there was another interesting topic in the discussion. Standard input and output support in Squeak should be one of key aspect to make Squeak more populer. Sometimes, I've heard that the difficulty to combine another program is a reason that ordinary programmer feels Squeak unfamilier. Although, most of end users don't use stdio/stdin to connect applications these days. But programing fan including me still like to use such traditional way as its simplisity. For example, I am writing this topic with an emacs derivative in WindowsXP. Frequency, I strike a key Control Alt $ to invoke spell checker, or Control C + w to invoke English Japanese dictionary. These function are not in emacs, but external commands with a pipe stream. That was originaly a common operation style in Unix, and we can share bounty of the philosophy even if we use Windows. So non-support of stdio in Squeak seems a defect for hackers daily use. Fortunately, I found a work about this area named OSProcess. That was a impressive work! but a bad news is OSProcess does not support stdio in Windows. I don't know about how OSProcess works, but I start to think to make Windows support of it. Abe-san said he had used a proprietary Smalltalk as a batch language like /bin/sh. I imagine Squeak also should be good language as such glue.

Tuesday, June 14, 2005

Planning a demonstration of TVML + Croquet

I have a plan to show my work of TVML + Croquet at NICT public exhibition day the end of July. I have made a PowerPoint slide (I prefer Sqeueak! but they demanded it) and show at last NICT meeting. In the exhibition, main audience are neighborhood children. A lot of kids who are science fun would come. So we have a plan to show 10 PCs connected with Croquet for one whole day. 10 PCs ?! I have never seen such number of hosts connected with Croquet. I know current Croquet network implementation is a bit fragile. Actually, a friend of mine have tried to know how many number computers which can connected in Croquet same time, in that time (2 years ago), the result was only 4 hosts for a few minutes. Besides, this is not just a presentation, but a real demo. the users are hackish children who like to type the keyboard randomly. But I think this is exciting challenge.

Monday, June 13, 2005

Kansai Daigaku Workshop

Kansai Daigaku Workshop Posted by Hello Last week, I conducted a Squeak Etoys workshop at Kansai University. There were 60 students from media course, conputer science, and education cource. For the workshop, I used a special version of Squeak with numeric color control tiles, customized viewer, and morph sharing tab (Super Parts Bin). Although we had troubles some bugs of etoys, I think workshop itself was succees. The workshop was 7 hours. First 3 hours are tutorial for basic technique as "Drive A Car" curriculum. Rest 4 hours are for discussion and practice for theme. The theme of the workshop was "Introduce yourself". Some students could make really impressive work even if such short time. But again, I always think that programming etoys is not easy if you want to complicated project especially for conputer science students. They have complained me Squeak is harder than C++! ;)

Tuesday, May 10, 2005

Palo Alto a week and tweak

Today is a day that I have spent at Palo Alto for a week. It is good weather and good temperature. I became fond of bay area as soon as I came here. Now I am sitting front of a desk in HP lab. The laboratory has huge place and a number of numerous scientists from many countries, the accents of discussion through the wall have a exotic taste. I am starting Tweak in here, this is a brand new programming environment that I am puzzled at first. But I begin to like Tweak especially the structure of visual component. The model for solving dependency and constraint is not complete, but neat. Besides, Tweak's small process model is interesting. I don't understand much for Tweak yet, so I still finding my goal of Tweak. During contributing some code for bug fix, I am amusing new world new. My first favorite object is CFieldReference. This behaves as a kind of watcher or proxy object. In Tweak etoys, this object plays interesting role. Making CFieldReference is easy, you would just say; CObject fieldNamed: #fiedName And then, this object watches the value of the field described as #fieldName. If you set the CFieldReference as a player of any player like a drop down list, the list points the value continually. The point what I'm interested in is all fields of any object could be etoy's slot with CFieldReference. In former Squeak etoys world, etoys is in a slight special position. Smalltalk world and etoys world are completely different logic. But in Tweak, all object could have etoys-sh interface. I know having all slot for all variable is not good idea. The system would becomes too complicated withoug proper information hiding manner. But the possibility of integration between etoys world and source code world excites me.

Wednesday, March 30, 2005

Rendering 3-D objects through dll


Rendering 3-D objects through dll Posted by Hello For a few weeks, I was trying to connect original TVML viewer (written in C) and Croquet through FFI. Once I have written a code for rendering TVML object and playing simple animation in pure Smalltalk, but I took a strategy to make a hybrid system using C and Smalltak because writing all code in Smalltalk would need much time. Connecting original TVML viwer was not so easy, TVML viwer has a bunch of I/O codes, windows thread codes, and infinity loops. I trimed those issue and finally made a DLL wrapper around TVML. It could render TVML animation in Croquet space. Although using the DLL has a couple of problems. I can't see the animation through croquet network, an avator can't touch 3-D objects in TVML. These objects are like ghosts in Croquet world, we can see the objects, but these are not in a memory in Croquet. But it was still fun at least as a demonstration.

Tuesday, March 08, 2005

OBJ importer

OBJ importer Posted by Hello Finally, I have finished an OBJ importer with PIC image texture. In the fact, the importer lacks some important features like smoothing and normals handling. But I can get a brief snap shot to find out next goal of TVML. Kidawara-san required me special functions on TVML, kinds of network support and interactive user interface, which is not in original TVML. So I have to pursuit how to implement such feature. Anyway, today's result is on Squeakmap; http://map1.squeakfoundation.org/sm/package/0d9b7a69-b789-4490-8c59-24fa32a67af7 (I post the announce to Croquet-list but it didn't delivered yet).

Thursday, March 03, 2005

Showing TVML Object and OBJ in Croquet


TVML Stage Posted by Hello In TVML, OBJ file format is used for importing 3-D model. It was terrible that there are a lot of incompatible 3-D format in the world. But anyway, for playback TVML contents in Croquet, I have to make OBJ model exporter. Actually, OBJ format was not complicated. I would say it is relatively straightforward and easier than ASE format (ASE in 3dsmax was ugly), thus parsing the format and building objects were not hard job. But what I remain is texture. In OBJ, PIC file format is used to represent image file. OBJ??? I didn't know such format. In the fact, my picture viewer in windowsXP could not show the PIC image. So today's my task is learning what is PIC and building PIC file importer for Squeak.

Wednesday, March 02, 2005

Hakodate Workshop

Hakodate Workshop I and Abe-san conducted Squeak workshop last week in Hakodate Future University. The main part of the workshop was using World-Stethoscope; it is a small device to get external input like luminance, temperature, and voltage. Students made some devices with World-Stethoscope and simple materials like paper cups or balloons. One student developped a kind of toy that is a computer interface for babies. When a user shaked the device, the luminance sensor reacted its movement, and mon's face became glad in a computer screen. The goal of the workshop was discussing possibility of user interface. To invent original user interface, each student exchanged deep ideas of different possibilities of computer devices. That is to say, our workshop was to imagine the feeling of former computer scientists. Although I regret I couldn't tell how the works by students were exciting, that was good experience for me and Abe-san (this was the first World-Stethoscope workshop for university students). After the workshop, we have a plan to publish a booklet with the result of the workshop. It is not only for the record of the workshop, it will includes a text for advanced etoy's user. Posted by Hello

Tuesday, February 08, 2005

TVML

Finally, I started to make interface between Croquet and TVML. I had a meeting to make sure the role of its implementation with Hayashi-san and Aikawa-san, and they agreed to share current source code written in C. Although I think I should rewrite all aspect of animation in Smalltalk for good compatibility with Croquet, but now I strongly curious how to realize the animation of TVML style. So at first, I am going to make bridge for TVML library. Actually, the bridge of Croquet-to-TVML was quite easy. TVML player already has its API for other windows application, and I could implement a plugin to send TVML text in Croquet to TVML. But I guess getting animation informations form TVML would be harder because TVML animation engine did not suppose to use without TVML native render (I have to use a render in Croquet not TVML Player).

Friday, January 14, 2005

Two Teapot in One Squeak

I posted a change set at mantis http://bugs.impara.de/view.php?id=831 for running two Teapot in one image. Sometimes I am asked why ODE doesn't work well through network, but I didn't investigate deeply because it is a pain to set up two PC for debugging network. Also, I tried to run two images in one PC, but it doesn't work well. If one image is running, another would be stop. So I decided to run two croquet in one image.

Wednesday, January 05, 2005

Super Parts Bin

I made a special parts bin named "Super Parts bin". You can get morphs made by other guys from network. It is named after "Super Swiki", which is a mechanism to share project through network. The reason I made it is because I feel a project is too large to share individual's idea each other. If you could share a morph freely, You can make a collaborative project more easily. In this image, http://metatoys.org/tmp/2005-01-05.zip "LanguageGame" flap tab in right hand is connected my home server. So you can share any morph to drag-n-drop. The image is based on Japanese, but you can change language to push a button of earth in an orange flap.

Thursday, December 23, 2004

Japanese Font

I have almost fixed problems related with Japanese font in Squeak 3.8. These are very complicated, but what is good for me is I could be familiar with font mechanism. The main issue around showing font is how characters should be shown in any rectangle beautifully. Before I fixed, Japanese characters were shown roughly and sometimes tearing. This is because Japanese font is shown implicitly when Japanese character is appeared even if a user select Latin font like accuny. I am interested in Font system because Font in Smalltalk has long history. Abe-san said Smalltalk-80 had StrikeFont class same as Squeak. Also, font is very important as one of the design elements. Personally, I think Squeak should handle commercial fonts more easily. Some squeakers says it is enough to use free fonts. But friends of mime who are artists prefer sophisticated commercial fonts, and I want Squeak attracts such art guys. Especially, Japanese free fonts are much few as there has huge amount of characters. Other aspect why I tried around font is I want to reduce my work. Now Japanese version of Squeak is a bit different with latest English distribution. So I have to port my application for Japanese Squeak when I develop some tools in English. That was much boring thing (actually, sometimes I show English version Squeak demos even for Japanese people, but my mother couldn't understand it and complain me...). When my work finished, and basic parts of both Japanese and English Squeak become same, what I need is just prepare a translation data.

Tuesday, December 07, 2004

Textual representation of tile scripting

I couldn't this blog these days because this site was toooo slowly... I am working a lot about etoys these days. Actually, I did not know about etoys well before I had my own etoys workshop because I felt it's ability was too restricted. But I have found that a number of interesting things are remained in the tile scripting system yet. Surely, etoys lacks fancy features as programming language. But I don't think rich system is better system. So I have tried to small improvement etoys without big change. One of my challenges is textual representation of tile scripting. As you know, you can see tile script both as tile and text code (Smalltalk expression). But when you modify the text code, the script would be never seen as tile as the script loses the modified information. I think this is a reason why serious Squeak programmer is not interested in etoys. If tile script is made from textual representation. A programmer could write applications with etoys tile script by Smalltalk code (change set, Monticello, or so). So I have write converter between text and tiles. At first, Smalltalk expression is hard to convert to tiles. And I use S-expression like notation. It works almost well. I am going to make some examples of etoys animation without any drag-n-drop!

Wednesday, November 24, 2004

ODE Again

Now I am updating ODE bridge for Croquet. Bernd send me great ODE demo few month ago for impara Croquet. But I have let it alone up to now. There were much interesting gadgets in Bernd's demo, so I was trying to adapt it for Jasmine. Actually this was not difficult and I am going to upload it soon.

Tuesday, November 16, 2004

LanguageEditor

I am hacking LangageEditor for few days. LanguageEditor and Babel system is one of major feature of new Squeakland image. You can use multiple language in same Squeak. We have to change words of vocabulary for user interface depend on language, the dictionary of Babel is used for it. My goal is to make it easier editing dictionary. Sometimes, a good engineer is not a good writer. So we need a way of collaborating for making dictionary by both user and programmer. Actually current LanguageEditor is not useful because its output file is internal binary format. I think we should able to exchange, make diff, and be under version control. So I decided to make the file as text. Today I could almost finish the task. I use basic file out (chunk) format for dictionary. I'm going to post the fix when I finish the test in Japanese.

Tuesday, November 09, 2004

English first / Japanese first

Now I am writing a paper for C5 conference at next year. My theme is about last workshop and its concept, prospect, and impact of development. At first, I was thinking that I wrote about Croquet, but I couldn't do because the part of what I know about Croquet was too practical. Probably if I am going to use Croquet for actual workshop next year, I can write some article of it. Anyway, I am writing in Japanese. At first I was trying write in English, but I couldn't as my brain was confused. So I decided writing in Japanese first, then translating in English. I don't know sure the way of the writing is better, but the fact is I have not much time.

Sunday, November 07, 2004

ALAN-K

Yesterday, we have a conference named "ALAN-K Project Workshop" for discussing Squeak's curriculum with teachers and developers in Kyoto. Actually, we didn't have enough time to discuss, but it was good opportunity to see how to teach in primary school to high school. What I was most interested in were works by a couple of high school students. In instance, they were making about human powered air plain simulation, and ecosystem simulation; in the simulations, a user could alter each parameter to see what was happen. Other surprised thing was the authors of these works were pretty girls, not nerds wearing glasses. I felt envy the teachers!

Saturday, October 30, 2004

Meta-Toys Workshop Finished

Eventually, my workshop in Hakodate was finished. It was much valuable experience for me as it is my first time to have a workshop directed myself. The workshop will be a start point for making decision of which goal I should do with Squeak and Croquet. The aim of the workshop is to make a tool just for fun. The major of the students is design; almost students in there had experienced to make digital contents with Photoshop, Illustrator, or Flash. I told them to make not only contents, but also a tool for making dynamic contents, which includes paint tool, music composer, game constructor. Students can regard personal computer as meta-media through this workshop. This is different experience than just use softare. At last, almost 70% students could make some tool in 7 hours, and understood this concept despite of that no students know about Squeak before. By the way, I have uploaded the results of the workshop. Althogh all projects was in Japanese, but probably you can understand aim of the project. http://yuri.sakura.ne.jp/~propella/hakodate/hakodateProjects.zip

Tuesday, October 26, 2004

Hakodate Workshop

Hakodate is a northern city in Japan. In this week, I am going to have a Squeak workshop at Future University Hakodate. In the fact, this is the first experience to have my own workshop. For the workshop I have planned curriculum and to prepared materials. I am just a programmer, not a teacher, but I believe this workshop should be very helpful to find out my next goal in Sqeuak an Croquet. I know students are not satisfied in just Drive A Car project. They are smart enought and need more interesting subject, but they are not computer science students, so I had to develop different kinds of subject. Also I will use World Stethoscope Morph by Abe-san, and my ODECo morph. At first I considered we use Skeleton or Croquet, but in this time, I abandoned such daring material to be simple enough.

Tuesday, October 19, 2004

Considering Next Goal

Considering Next Goal We discussed about 'meta-toys' which is an idea of curriculum in Squeak workshop. Although I have met much technical issue in Squeak, I have not faced conceptual goal including developers, teachers, and students seriously. Now I have my own workshop in school, so it was good opportunity to think in comprehensive ways. 'meta-toys' is a keyword to show what we have to do. I don't want to make Squeak as PowerPoint or Flash. Squeak would be more meta tools. I had analyzed a lot of interesting projects in Squeak, took some aspects to abstract its nature, and discussed about where is a important point of etoys project.
 
Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.