Category: Smalltalk

  • Pretty Cool NYTimes OLPC Review

    OLPC Interface

    David Pogue at NYTimes reviews the One Laptop Per Child computer.  Don’t miss the video clip, it’s very cool.

  • Don’t Miss Cincom’s Seaside Podcasts Next Week

    Seaside Sign Small

    From Michael Lucas-Smith:

    Hi Everyone,

    Just a heads up that Industry Misinterpretations, our Smalltalk podcast, has three podcasts specifically about Seaside coming out over the next week.

    Podcast #1: Myself, James Robertson, Tamara Kogan, Martin Kobetic, Arden Thomas

    Podcast #2: Myself, James Robertson, Michel Bany, Alan Knight, Arden Thomas

    Podcast #3: Myself, James Robertson, The entire Gemstone GLASS team

    The podcasts will be appearing here:
    http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=podcasts
    You can subscribe to the podcast in iTunes (just search for smalltalk) or with: http://www.cincomsmalltalk.com/rssBlog/blog_podcast.xml
    They’ll also be announced on James’s blog:
    http://www.cincomsmalltalk.com/blog/blogView

    Cheers,
    Michael

  • Qwaq, Intel Collaborate on Enhanced Virtual Workspace Product

    Qwaq - Intel

    For those of you who want to see Croquet in action, check out the keynote by Justin Rattner from Intel’s developer forum in San Francisco this morning:

    http://www.intel.com/pressroom/kits/events/idffall_2007/webcasts.htm

    The topic is “The rise of the 3D Internet” and Croquet is featured both in the talk in general (as an example of P2P collaboration environment) and live via a Qwaq Forums demonstration (about 15mins into the talk).

    Also, a link to the press release of the Qwaq/Intel collaboration:

    http://www.intel.com/pressroom/archive/releases/20070920corp_a.htm
    http://www.qwaq.com/press/release_2007-09-20.html

  • Squeak at ESUG

    ESUG 2007

    The European Smalltalk User Group (ESUG) has organised the International Smalltalk Conference for the last 14 years, and this year, at Lugano in Switzerland, the program included a number of presentations interesting to Squeakers. These included:

    There’s lots more material, and links to photographs taken during the events, at the ESUG 2007 media page.

  • To Pipe Or Not To Pipe

    The squeak-dev mailing list is currently fired up with a debate that will be of great interest for students of the theory of language design – and for students of the politics of language design!

    It started with a question by Fabio Filasieno wondering why Squeak doesn’t have a “pipe” construct to the language to allow the result of a message-send to be the recipient of the next message, thus removing the need for parentheses, so

    ((1 to: 100) select: [ :each | each odd ] ) sum.

    becomes

    1 to: 100 | select: [ :each | each odd ] | sum.

    The debate has continued for days, including topics such as:

    Is piping the right term?
    What characters could be used without confusion?
    Should a proliferation of parentheses should be seen as a ‘code smell’, so the algorithm is the thing to fix, rather than the syntax?
    Why not just use an “asPipe” message which would alter the operation of the cascades to give this without changing the language?
    Is the benefit of this change enough to make it worth changing the syntax of Smalltalk?
    Do languages that don’t change stagnate?
    Was the brace syntax a step too far?
    What’s the EBNF for Smalltalk? (This got a definitive answer [for 2.7])
    What are the differences between Smalltalk, Lisp and Perl approaches (with Randal Schwartz revealing himself to be a long-time Smalltalker)?

    Alan Kay has also contributed some remarks on the early development of Smalltalk, and possible future directions.

    Follow the discussion:
    Fabio’s original email
    The harvesting thread
    or look for any of the myriad threads with “pipe” in the title.

  • OLPC on TV

    OLPC Size

    From: Michael Haupt,

    The German/Swiss/Austrian TV station 3sat has a weekly 30-minute show called “neues” (roughly translated “new things”) which deals with IT-related information. Yesterday’s show was focusing on bringing IT to isolated regions and emerging nations as well as developing countries. The show featured an article on mesh networks in Ecuador and the Linux4Africa project.

    Linux4Africa is a German project collecting old but functional hardware. The components are cleaned, repaired (if necessary), bestowed with an Edubuntu Linux installation, and sent to Tanzania and Moçambique.

    12 of the show’s 30 minutes were dedicated to an extensive coverage of the OLPC project. Etoys and Squeak were mentioned several times during the feature. The project itself was introduced, and Bert Freudenberg was interviewed about the technical features of the XO laptop, which was presented in detail.

    There were also two interviews in the studio. Two members of GTZ (Deutsche Gesellschaft für Technische Zusammenarbeit; German Society for Technical Cooperation) responsible for XO distribution in Ethiopia talked about the project in general and about the impressive progress children made when working with the XO.

    The other interview – which filled the first slot in the OLPC coverage – featured two students from Hasso Plattner Institute, Potsdam, who have developed strategic and skill-improving games for the XO in the Software Architecture Group‘s course on software architectures.

    All in all, the editorial staff at 3sat did a tremendous job in preparing this show. To the writer’s knowledge, this was the first time the OLPC project was presented at such a level of detail in German television. Germany being a country where the the project has no actual lobby, it is important to have such media coverage – it would be nice to see much, much more of it.

    The entire show can be watched online (in German).

  • Thinking Objects

    I Object

    When I was much younger then I am now, before I knew much about computers, except that I didn’t like them, I was given a copy of Symphony. The original owner didn’t really have much use for the spread sheet / database programming language. It was the first program that I’d ever seen.

    At the time I owned a business and was doing data processing by hand. The program was a miracle. I started by writing a full reporting engine. It calculated the size of the header and footer, the size of the begin and end groups and then it figured out how much data and padding would fit in between so I could print pages. Ok I know, this was overkill for a spread sheet, but at the time I had no idea other languages existed.

    I moved from reporting into invoicing. I had to bill my customers for number of different workers unions. Most of the basic rules were the same, but each union had their own payment rules. What I needed was to specialize pieces of the program but leave most of the code alone. I programmed my spread sheet to reference a cell that said what union it was, then read the union from the data and off I went programming my specialized components.

    Once I had a major bug in the program I just couldn’t figure out. So I printed my spread sheet code. I taped them all together, cleared room and spread the whole thing out on my office floor. I found the code after hours of walking on my spread sheet from place to place until it clicked.

    Later as I discovered other languages, I had another problem. I was building an application that was very dynamic. We had a group of nurses that were building a risk assessment program for pregnant women. I wanted to build a program that would allow the users to define not only what the program did but how it flowed. They entered the specs in data and the system read that data to produce the code. I was using a database program that really didn’t support what I needed to do. What I wanted to do was create a system that could flow down from higher components to more specialized components. A change in the base component would effect everything below it.

    I was talking with one of my programmers and he said, “I know how you can do that”. He knew of a pre-compiler. We could identify and replace code with symbols. Then when we were generating the code we just ran the code through the pre-compiler to replace the pieces we needed. It was wonderful!

    I was hired for a Smalltalk Job by my old boss after an ugly merger. I had never seen smalltalk before. The language was VisualWorks and all I had was a book that had the checkbook example. In 2 days I had learned smalltalk and was writing production code. Within a week I was designing and delivering huge modules.

    I know this is not normal for learning Smalltalk. My reaction to Smalltalk was like someone removing handcuffs. I could accomplish anything. I thought wow I can do that without having to jump through all these hoops first! I don’t need a pre-compiler to do inheritance. I can program a concept and use it somewhere else. I really don’t need a reference cell and an if-statement to control flow I can just subclass and specialize my objects instead. The best part was I didn’t need a bigger and bigger floor because browsers could bring the components to me! It was a terrific experience.

    Now I look at everything through the eyes of Smalltalk. It’s really hard not too. When I learned Java the first thing I did was write the collection methods I knew so well and depended on. “What you can’t do that, your kidding!”, I thought and so I wrote it.

    There is nothing that Smalltalk can do that other languages can not copy. You can accomplish everything that Smalltalk does in a SPREAD SHEET! (believe it or not) But Smalltalk does it in a natural way. The concepts you need are built right into the language and into Objects!! As the world changes, computing changes, what we can accomplish electronically changes, it is becoming more and more clear, that the concepts of Smalltalk were right all along. If you want to understand other languages, and be extremly productive in todays computing environment, consider studying Smalltalk. Everything you need to know is right there.

    Anyone that believes that Smalltalk is dead or dying really doesn’t understand Smalltalk. You can see its influence everywhere. The requirements for todays systems, dynamic computing, distributed processing, are all in there. Smalltalk clears away all the clutter so that you can build tomorrows systems today. Actually you could have built tomorrows system yesterday!!

    I’m sorry to hear about Dolphin, but Smalltalk and Squeak are alive and well. If anyone says anything to the contrary, I object!

    Ron Teitelbaum * President / Principal Software Engineer * US Medical Record Specialists * www.USMedRec.com

  • Dynamic Language Symposium

    Dynamic Languages 2

    Call For Papers!

    Are you ready to OOPSLA!!

    The Dynamic Language Symposium is looking for participants.

    D L S 2 0 0 7

    Dynamic Languages Symposium

    October 22, 2007
    Palais des congres de Montreal
    Montreal, Canada

    co-located with OOPSLA 2007
    sponsored by ACM SIGPLAN

    http://www.swa.hpi.uni-potsdam.de/dls07/

    The Dynamic Languages Symposium (DLS) is a forum for discussion of dynamic languages, their implementation and application. While mature dynamic languages including Smalltalk, Lisp, Scheme, Self, and Prolog continue to grow and inspire new converts, a new generation of dynamic scripting languages such as Python, Ruby, PHP, and JavaScript are successful in a wide range of applications. DLS provides a place for researchers and practitioners to come together and share their knowledge, experience, and ideas for future research and development.

    This year 30 papers were submitted to the Dynamic Languages Symposium of which 9 papers were accepted. The program committee reviewed each paper and met electronically to select papers for the final program.

    We are pleased host invited talks by Mark Miller and Jim Hugunin.

    The program of the Dynamic Languages Symposium is available from http://www.swa.hpi.uni-potsdam.de/dls07/

    Please note that participation in DLS requires registration with OOPSLA at http://www.regmaster.com/conf/oopsla2007.html or http://www.oopsla.org/oopsla2007/

    Contact:
    Pascal Costanza (pascal.costanza @ vub.ac.be)

    Robert Hirschfeld (hirschfeld @ hpi.uni-potsdam.de)

  • Squeak Tale

    Squeak Tale

    A history of Squeak that is still being written, the following is a Squeak Tale by Göran Krampe.

    Let me tell you a story…

    I was around… when King Dan ruled the Land of the Mice, his court the “SqC” was strong and the stream was flowing smoothly. It was a glorious and joyous time and I were there to see sir PWS, sir Comanche and princess Swiki being born as children of Socket. The wizard Morphic was still young and agile at that time…

    Things were well, but not everyone were happy in the Land of the Mice – the population grew quickly and only the fortunate ones to enter the castle Image could have their fields fully prosper and not wither and die in the harsh outbacks of the Internet. (more…)

  • Supporting Seaside, OR Mapping vs. OODBMS

    Seaside

    Cincom recently reiterated their support for Seaside. Not long ago Gemstone announced something similar. What will these two commercial companies lend to Seaside?

    It is certainly true that Seaside will benefit from additional resources. Resources devoted to documentation, compatibility, and testing will help the community. Working on new solutions for persistence is a great idea, and having different options to solve your persistence requirements can only help developers. (more…)