New Website!

We have a new website and a new logo for our community. Go Smalltalk!

Smalltalk was designed for Kids!

Yes! Alan Kay was trying to develop an environment to be used in the education of our kids.

Did you Know that Smalltalk was created in 70's at Xerox?

The use of the mouse, the "copy and paste", the bitblt and others technologies was firstly created in Smalltalk. Steve Jobs saw those ideas at Xerox and he developed a new language, Objective-C.

Mailing List in Spanish!

Please, go to http://groups.google.com/group/clubsmalltalk and join us!

Showing posts with label Squeak. Show all posts
Showing posts with label Squeak. Show all posts

January 16, 2013

Goodbye Andreas Raab

It's sad to communicate that yesterday, Jan 15th 2013, has passed away a great contributor for the Smalltalk community, Goodbye Andreas Raab.

January 16, 2011

Cuis 3.0 available

Juan Vuletich has announced the new version of Cuis. Download it from here.

New in Cuis 3.0

New Look!
  • Themes. Several themes included, plus, you can add your own.
  • A nice default theme, using gradientes, rounded corners, anti-aliasing, nicer buttons, embossed labels, desktop background.
  • Anti-aliased halos
  • Window icons (taken from Squeak)
  • New, friendlier Shout color specs
New TextMorphs
  • Real view - model separation
  • Removed StringHolder
  • Text model holds current text + optional text provider (for accept / cancel)
  • Simpler code, easier to extend.
Enhancements to
  • Color
  • Layouts
  • Misc minor tweaks and fixes
  • Many fixes and enhancements from Squeak

Here are some opinions about Cuis:

"Yay, Juan. You GO, guy! ...a great example of malleable software (and a clever mind) at work." -- Dan Ingalls

"I like it... It's nice and clean and simple and pretty. Nice stuff!" -- Alan Kay


"I think you have a very elegant design aesthetic." -- John Maloney

September 17, 2010

Aida/Web 6.1 released

Janko Mivsek has annouced that a new version of Aida/web Application server and Web framework is released for Squeak/Pharo and Visualworks.

What's new in 6.1?
  • Inline translation to multiple languages: to translate your web applications to other languages inline by just clicking the text on the page. Translation is immediately stored in class methods on your web app classes.
  • Standalone web apps, no link to the domain model needed
  • Ajaxified input validation
  • Action blocks (aka callbacks)
  • Routing of web requests
  • Static serving moved to a special StaticServer class
  • IE8 support in IE7 emulation mode to avoid manual checking of IE8 Compatibility view
  • AdvancedSearch widget introduced, for easier implementation of advanced search in web apps
  • Email messenger introduced for easier sending emails with notifications and similar from your web apps
  • RegistrationApp, a standalone web app to guide the user registration process
  • Pluggable authentication, with default authenticator from local security settings included, LDAP authenticator as add-on.
See the release notes for detailed list of all new features and bugs resolved, with most important ones emphasized at http://www.aidaweb.si/release-notes-6.1.
For Squeak/Pharo there is now a Metacello configuration available. To install for instance Pharo just evaluate this script:

Gofer new
        squeaksource: 'MetacelloRepository';
        package: 'ConfigurationOfAida';
        load.

((Smalltalk at: #ConfigurationOfAida) project version: '6.1') load.
SwazooAida demoStart.

August 16, 2010

NAMCO demands takedown of Pacman game created by kid using Scratch

Namco, the owner of the Pacman game, has sent a letter complaining that a kid has recreated the game using Scratch. Scratch it's a programming language based on Squeak for kids. Namco is complaining to the kid, that everyone can play Pacman for free. It's evident that if a kid could reproduce their patents or the playability using Scratch then they're commercially useless. We need to review our copyrights laws, this is absurd.
Here is the letter.

References

July 30, 2010

Juan Vuletich, working for a simplier and clean Smalltalk

Juan Vuletich is an Argentinian Smalltalk programmer who has been collaborating with Squeak for many years. In 2010, ESUG is going to sponsor one his projects, Morphic 3. Here, we have a rich talk about Smalltalk :-)

CS: Juan, you have been involved for many years with Squeak and Morphic, what can you tell us about Morphic 3 and this announced support from ESUG?
JV: Well, I discovered Squeak in 1997. I had been using OS/2 as my main OS, because it had been for several years the only one to allow for multithreading programming. Then Squeak came. An open source Smalltalk at last! And straight from Alan Kay and Dan Ingalls, and from Smalltalk-80! I immediately decided to port it to OS/2. That was my first Squeak related project.
Later, Morphic was ported to Squeak from Self. Morphic was an incredible discovery. I realized a new era was starting, and the books I'd bought to learn about MVC were obsolete. However, several things happened that made it hard to understand it. The biggest hurdle for me was the introduction of Etoys. Etoys was added to Squeak without a clear separation of what was part of the base Morphic framework, and what was part of the Etoys application. Besides, Etoys supports a programming style based on instances (a la Self) and the code was not easy to understand. This only got worse as time passed. People kept adding stuff, and nobody did any cleaning. You can see, for example here: http://wiki.squeak.org/squeak/920 that Dan Ingalls always felt that serious cleaning was needed. Also John Maloney (one of the creators of Morphic, and the guy who ported it to Squeak) speaks about the history of Morphic and the issues he thinks that should be fixed in the SqueakNews interview. Get it at http://forum.world.st/squeak-dev-Squeak-News-td83662.html.
For some time, I hoped Squeak Central would finally focus on cleaning Morphic and Squeak. I started thinking about doing it myself around 2003. Then Tweak was announced, but it was not what I wanted. So, around 2005, I started to clean Squeak and Morphic myself. I'd been interested in scalable user interfaces for over a decade, so that was the main feature I wanted. I worked on this in my free time and showed it in Smalltalks 2007 and Smalltalks 2009. People liked it, and Esug offered some support.

CS: You have announced that in Morphic 3 you have developed some algorithm using the sampling theorem, which is the basis of the digital audio and photography. How did you start studying this and when did you realize that could be applied to 2D rendering?
JV: I studied CS at the University of Buenos Aires. I took several courses on Image and Signal Processing, starting in 1999. The PhotoSqueak project was part of this. At the same time, I did my thesis on a technique I developed to do "smoother audio". This gave me the mind set and tools to attack the problems in 2D graphics with a new perspective. As Alan Kay says, "point of view is worth 80 I.Q. points"!

CS: In your website (www.jvuletich.org) we can read that Morphic 3 is looking for a highest-quality 2d rendering, even more that Cairo or other libraries and it's 100% done in Smalltalk, what can you tell us about the architecture, the speed and the compatibility of this new version of Morphic?
JV: At the current state, there are 2 parts to this. One is the Morphic 3 classes that would replace the Morph hierarchy. The other one is the rendering engine that would replace Canvas, BitBlt and Balloon. Morphic 3 is not meant to be compatible with Morphic 2. Back compatibility is the single major force against progress in software. On the other hand, the rendering engine is pretty general, and it would not be too hard to integrate it with Morphic 2, giving better quality to most morphs.
With respect to speed, the code is right now in Smalltalk, so it is not very fast. When turned into a VM plugin, performance will be similar to the other rendering alternatives.

CS: What are the major problems do we have with Morphic today?
JV: In Cuis, there are no real big problems, but just that the features are a bit outdated: It doesn't do high quality anti-aliasing, and the UI is not scalable (well, no widely available UI is scalable yet!). Those are the issues I want to fix in Morphic 3. Besides I also believe that a normalized programming style on widget composition and model dependency is needed. I have already developed one, and I use it for my projects. It would be good to rewrite the programming tools using it.
In Squeak / Pharo, the biggest problem (that I have already solved in Cuis) is massive unneeded complexity. You can see it in the Squeak and Pharo mail lists, on the problems people have with Morphic, the kind of questions they ask, and the answers they give. Nobody can understand Morphic. It is slow and bloated, and nobody knows why. And all they do is to keep adding layers on top of the previous ones, making it bigger.

CS: You have developed a new spin off from Squeak called Cuis, what are the objectives of Cuis?
JV: Some of the main ideas and objectives for Cuis are: (from http://www.jvuletich.org/Cuis/Index.html)
  • Close to the ideas in Smalltalk-80 and "Design Principles Behind Smalltalk".
  • Include only kernel functionality.
  • Included stuff should be in very good shape.
  • Include a greatly simplified version of Morphic as the main UI.
  • Easy to fix and extend.
  • Cuis is yours to extend it to suit your needs.
  • Stable. Smalltalk kernel should not change much.
  • Compatible to a reasonable degree with packages intended for other Squeak distributions.
  • Lead by Juan Vuletich (jmv) after these principles.
I believe that Squeak and Pharo don't follow Dan Ingalls's ideas expressed in the Design Principles paper. The idea of avoiding unneeded complexity has been central to Smalltalk since the beginning, but it seems to have forgotten in the last decade. To me there is no real advance if the system is still a mess. And working in a Smalltalk where all the time you are faced with old, silly and buggy code that nobody dares to try to understand is a constant pain for me. That's why I do Cuis.

CS: Do you think that Smalltalk should move from raster-based to vector-based graphics to be a step ahead again in graphics?
JV: I don't think that being a step ahead is an objective for Smalltalk. The objectives for Smalltalk have always been "do the best we can with the knowledge we have today" and "be a good tool to experiment, create new knowledge and express knowledge in a runnable form". I believe that software to drive computer displays will move away from the individual pixels exactly in the same way that printers have done it many years ago. No desktop publishing application lets you deal with the individual dots drawn on paper by a laser or ink-jet printer. As all software follows this trend, Smalltalk will also do it. I'm doing in Smalltalk because, to me, it is the best tool for any programming.

CS: What benefits could the scalable user interface give us?
JV: Independence of pixel resolution. Applications that look almost the same on a 72 dpi screen or a 300 dpi screen. (Printers have done this for over 20 years!) The ability to make a gui look bigger or smaller to fit our individual taste, while maintaining very high visual quality.

CS: You said that it couldn't be hard to integrate Morphic 2 with Morphic 3, you could use them at the same time or you will have to change a configuration?
JV: I said that the Morphic 3 rendering engine could be adapted for Morphic 2 rather easily. That would give better visual quality to Morphic 2, but it won't make it a ZUI. May be Morphic 3 morphs could also be used in a Morphic 2 world. Not sure about that.

CS: If new primitives must be added to the VM then the portability will be affected?
JV: This has no relation to Cuis or Morphic 3, right? I'm not adding new primitives to the VM! In general, the answer to your question is that it depends on the primitives. If they are properly written, that should not affect portability.

CS: You said that Squeak and Pharo don't follow Dan Ingalls's ideas expressed in the Design Principles paper, in that line, what do you think about SqueakNOS for example? Do you think that we should go back to the roots?
JV: I think that SqueakNOS doesn't follow "Design Principles". Especially when Dan says "Operating System: something that should not exist"! WRT "go back to the roots", I think it is a bit silly to declare Dan one of our biggest heroes and maintain a system that is bloated and convoluted for no good reason.

CS: You said that MVC is obsolete and Morphic represents a new era but what do you think of HTML and that the whole IT world is looking for web-based applications?
JV: MVC was obsoleted by Morphic over 20 years ago, when Morphic was written in Self. WRT my opinion about HTML and web-apps, listen to any talk by Alan Kay (for example http://softwareengineering.vazexqi.com/2009/10/22/how-complex-is-personal-computing---by-the-fine-folks-from-vpri), or check the Lively Kernel by Dan Ingalls.

CS: So, if we sum Cuis and Morphic 3, we can say that you're looking for a clean Smalltalk that could be simpler to understand for everyone? 
JV: Yes, indeed.

If I said ... Would you answer
Sports?
Soccer. Motorcycle racing.
Food?
Food, as a cultural artifact, from all over the world is interesting.
Computer brand?
Anyone, as long as it can run Squeak (better if small and silent).
Operative system?
Anyone, as long as it can run Squeak (and it doesn't crash too often).
Mobile Phone?
None is best.
City?
Paris
Book?
Ficciones (Fictions) by Jorge Luis Borges.
Film?
American Beauty
A Music Album?
"Kill Gil" by Charly García and "Genesis for 2 grand pianos".
TV Series ?
Two and a half men.
Magazine?
Scientific American.
Car?
Mercedes Unimog (not exactly a car!)
Open Source?
Yes, please.

July 5, 2010

Gaucho, a direct manipulation environment for programmers in Pharo

Fernando Olivero has announced the first release of Gaucho, a direct manipulation software for Pharo Smalltalk for programmers who firmly believe that programming is modelling. This version provides:
  • Direct manipulation of Classes, methods and packages
  • Easily perform rename refactorings of classes and methods
  • Draggable arrows for manipulating the inheritance relationships between classes
  • Creating and runing tests for all the classes in the system
  • Creating workspaces for taking snapshots of the current pampas
  • Smart searching for any object in the system
  • Keyboard shortcuts associated to the most important operations
  • Logging all the changes to the system
  • Saving/Loading developers and workspaces to the default local directory
You can get more information at the Gaucho's website: http://gaucho.inf.usi.ch/
You can see a screencast here, that shows most of the features of Gaucho.


July 1, 2010

XMLRPC Support for Pharo/Squeak will be supported by ESUG

Germán Arduino has announced in his blog that his project XMLRPC Support for Pharo/Squeak will be supported by ESUG. Congratulations Germán!
More information of the scope of the project and details of the implementation at his blog post here.

What is XML-RPC?
It's a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet.
It's remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.


April 28, 2010

Pharo Sprint in Argentina

Alexandre Bergel is organizing a Pharo Sprint during May 17 and May 23 in Argentina. An entry has been added to the page http://code.google.com/p/pharo/wiki/PharoSprints. Please, add your name if you wish to participate. The date and the location hasn't been defined yet. Some people proposed to do it in Rosario instead of Buenos Aires. There are two doodle to define the day and the location:

June 20, 2009

Gerardo Richarte, Hacking & No Operative Systems


Gerardo Richarte is a well know smalltalker in the community. He has contributed with a lot of interesting works, one of the most interesting and famous is SqueakNOS project and he has been working in computer security for many years.

CS: You work for a company that has a history between hackers, security and other very interesting stuff. Where does Squeak fits in that puzzle?

Not much... sadly. A few years ago, when we were starting developing what is now our main product, we had to decide what VM based language we were going to use and Luciano [Notarfrancesco] and I preached for Smalltalk. Actually, the first prototype of what now is part of the product, was implemented in Squeak (and assembly), and it did work quite well, but we later decided to reimplement it in C++ and chose python as VM based language. I think that if ruby had had been big at the time we would have chosen it. We dropped Smalltalk early, pretty much because we wanted to create a framework and development environment, and we feared how well it could be accepted by the security community if they had to learn Smalltalk to use it.
At some other time we started actually developing a full product in Squeak (CORE WISDOM) but although it was sold at least once and we love it and consider it was ground breaking in the security visualization area, it pretty much fell into oblivion. You can still download it and cry with us for a big loss...
In any case, I still think and hope there's a space for Smalltalk at Core, because I truly believe Smalltalk helps you understand things from a very rich and interesting point of view.

CS: How was your first approach to the Smalltalk culture?

Leandro [Caniglia] was the one who definitively introduced me to Smalltalk and the joy of it. It was back in 1997, when I was a mathematician wannabe at the Universidad de Buenos Aires, and he was a professor there. He'd put together a wonderful course entitled "Mathematical Objects in Smalltalk", that's where the MathMorphs team was born, and where lots of great ideas originally came from (http://mate.dm.uba.ar/~caniglia/mathMorphs.html). Squeak was very new at the time, and we started using some version of Digitalk Smalltalk, but we very quickly switched to the younger and incredibly active Squeak, after Luciano [Notarfrancesco] came one day with the news that the Original Team was giving birth to a new son (or daughter maybe).
My first approach to Smalltalk was fun and happy, inspiring and creative. Smalltalk made me feel again what I had felt with a few other programming styles, it slowly settled in, it absolutely changed my way of approaching computing, and the world. Relationships between things, how they are defined by the way they interface with the world, how they talk to each other, that's how everything goes, the language may vary, Messages, in any level of communication, are of the at most importance.

CS: Richie, You have been working behind the SqueakNOS project for several years now. Could you tell us a little about the history behind the project?

Sure, I like to remember the first day, when four of us (Luciano, Leandro, Valeria [Murgia], Andrés [Valloud] and me) where in Mar del Plata, in a Smalltalk conference. All of us had a history doing Assembly and low level stuff, and we started playing with the idea of doing an OS in Smalltalk.
I think it was when we were experimenting with Celeste (http://wiki.squeak.org/squeak/1467) as mail reader, and we really just wanted to bring everything into the Image, and make everything else disappear. We started approaching the idea, until one of us actually said "it's possible, I think we can do it!"... and we went back home.
At the time we used to do the SqueakNicks, and in the next weekend we got together after the conference, a couple of us just brought a working
first booting version of SqueakNOS... it was just amazing! We actually did it!
On the technical side, this first version was a big hack, a stripped down interpreter, based on a headless version of Squeak, using a mini.image, we probably had no keyboard and no graphics, but it was starting to interpret, and #startUp actually worked and printed "Hello from Squeak!" on the text screen... it was all a feat! :)

CS: How could the Smalltalk community help you to leverage this project to the next phase?

It already did, our work is absolutely standing on the shoulders of giants, we just wrapped it in a different package, and gave it a twist and a nice bow. Also all the happy faces we saw last year at the ESUG, and all the encouraging words I've got before, the random encounter with two squeakers at a security conference who actually were waiting for SqueakNOS to be usable, everything helped a lot, and each time gave us a kind push forward.
And then, of course, there's a huge lot to do and experiment. From simple things to big things... it's kind of weird, but we truly feel alone, although lots of people would like to see SqueakNOS working. Maybe everybody thinks it's complicated to help, but it truly is not.
Support for more hardware is of course needed, and the harder part of doing it is getting the right documentation, because after that, it's just a matter of translating it into Smalltalk... no assembly or C is required for anything, at least not until you want to go deeper.
Then, the networking part is very important too. Luciano has made and incredibly legible TCP/IP implementation, and although we think it's complete, we can't call victory until it's tested further: it needs testing, and it can be in a regular Squeak, if it really makes any difference.
Then we also need to plug this TCP/IP implementation to Squeak's sockets, but then, it already has some sort of streams, so it's just a matter of making the interfaces correctly tessellate.
What else? oh, of course we could try to port it to other platforms (PowerPC? ARM? bare FPGAs? XO/OLPC?) And of course there are lots of ideas and plenty of room for experimentation!

CS: What are the plans for the future?

Plans? oh, of course, rule the world! What else? heh, no seriously: change the world :-)
This is just an experiment, we dream of producing something actually useful, but during the last ESUG (2008), when we were back into it, we started dreaming awake and plotting for making SqueakNOS the main OS in the XO/OLPC, we just couldn't stop repeating to everybody who bumped into us "Can you imagine what could happen if you put this in the OLPC and kids, at least some, started discovering they could completely understand and change ALL the software in their computers? What could happen if they started seeing, for example, the ProcessScheduler as a little bit more complex eToys activity? How would anything built by this kids look like?! it would truly be amazing, it could truly change the world!!!" wow, sorry, I just got exited again...
So yes, we actually do still plan to change the world, it's only we are preparing to jump :-)
Oh, you meant more real plans? Personally I would like to see, and work, on trying to put SqueakNOS on bare hardware. Quite a significant number of people from the hardware world approached me saying they'd like to try SqueakNOS on their own hardware systems, and I'd love to give it a try. And truly, no kidding, I would also like to see it working on the OLPC, with a complete OLPC system on top of it... just to see if we could convince "someone" to actually give it a real try with kids.
But well... you know, we've only get one life at a time, all this could only be possible if a good bunch of us seriously get together and contribute... even the smallest contribution is more than no contribution, right? :-)

April 26, 2009

The SqueakDBX team has announced the first stable version of the OpenDBX Wrapper

The SqueakDBX team has announced the first stable version of the OpenDBX Wrapper, here is the announcement in the Squeak List: 
After a continuous work since January 08, we are very glad to announce our first stable version of SqueakDBX.
For those who don't know what this is about, the aim of this project is to build an OpenDBX (http://www.linuxnetworks.de/doc/index.php/OpenDBX/) wrapper which will allow users to perform relational database operations (DDL, DML and SQL) through a truly open source library. Through this feature, the squeak community will hopefully be able to interact with major database engines, such as Oracle and SQL Server, besides those which are open source, like PostgreSQL, MySQL or Sqlite. Moreover, by integrating this with GLORP (http://www.glorp.org/), will allow us to generate a complete and open source solution to relational data base access.

Why did we do squeakDBX?

There are several approaches to persistence in Squeak, some very interesting: OODB like Gemstone and magma, image, CouchDB or TokyoT/C, and so on. All of this options get sense if you can actually decide the way you will persist your objects.
However, this is not something that happens very frequently. FREQUENTLY, the client (the one who pays you for making the software) requires you to use a particular persistence strategy (RDBMS). Not only that, but also a database in particular (like Oracle, MS SQL, and so on). They have lots of reasons: they already have license for it, they have support and companies for it, they know SQL, they want to do selects, legacy systems, and so on. But Squeak only provides drivers for MySQL and PostgreSQL natively, so... what would you do in the rest of the cases? move to another language? OK, we don't. We want to program systems in Squeak.
If you know about SqueakDBX you can just see changelog here: http://wiki.squeak.org/squeak/6109; If you don't, you should continue reading ;)
SqueakDBX features:

  • Runs on Squeak and Pharo.
  • Own SqueakDBX plugin (experimental). Ability to easily change the external call strategy (FFI or our own plugin).
  • Support for: Oracle, PostgreSQL, MySQL, MS SQL Server, ODBC and SQLite3
  • Automated database connection ralease (although manual disconnection is recommended ;-)
  • Automated results retrieving in order to do another query, after doing a query and not iterating ALL results 
  • Error handling: Not only errors, but levels associated with an error in order to avoid FFI calls (if you get a fatal error, it has no sense to do another query and the resources must be free). See http://wiki.squeak.org/squeak/6076
  • Very completed documentation in wiki and getting started.
  • Code critics and SwaLint were run several times.
  • Good design (at least all the major refactors demonstrated that).
Full documentation, installation and getting started instructions can be found at wiki page: http://wiki.squeak.org/squeak/6052. We spent a lot of time in it. It has all the information you may need and is in continuos development.
Benchmarks: We have a lot of SqueakDBX benchmarks and also some for native squeak drivers (PostgreSQL and MySQL) and SqueakDBX seems to be faster than both of them. You can read more here: http://wiki.squeak.org/squeak/6063
Packages can be installed from Universe (3.10) or SqueakMap. Current version is 1.0. Sources can be download from SqueakSource http://www.squeaksource.com/SqueakDBX (it requires FFI installed).

OpenDBX version: 1.4.
Remember that you can compile OpenDBX by yourself or use precompiled binaries. For more information please read: http://wiki.squeak.org/squeak/6129.

GLORP integration: Actually, this may include two parts: The integration of GLORP with squeak is completely hardcoded with PostgreSQL native driver. Because of this, first we will do a refactor in GLORP in order to enable it to support different drivers. We will create a PostgreSQL driver with the things that GLORP already has. We invited Alan Night to have dinner with us when he came to Argentina. We told him our ideas and discuss for a while till we got a first design of this refactor. We have already started this part.
Create a SqueakDBX driver for GLORP just like the one we are planning to do for PostgreSQL.

The last squeak port of GLORP is very old and there is nobody to do it. A friend of us, Diogenes Moreira, has accepted this job, so, thanks to him, we hope to have latest GLORP releases in Squeak.
You can see our Glorp progress here: http://wiki.squeak.org/squeak/6132

Help is always wanted. We would really appreciate if you:

Give us opinions, comments, ideas, new features, complaints and so on.
Tell us if you find a bug. Tell us if you test SqueakDBX with other RDMBS or OS different from the ones we tested. Just to know if it works or not :)

If you try SqueakDBX and you write something somewhere like a blog, let us know. We have this link: http://wiki.squeak.org/squeak/6131 where we put useful links for all the people.
Special thanks to:

  • ESUG, for supporting us through Summer of Talk 08; 
  • To Norbert (author of openDBX) for his help and to all the people who tested it and help us.
Cheers,
SqueakDBX team

October 20, 2008

Magma OODBMS Release 4.1

Oct. 13th, Chris Muller has announced the realease 41 of Magma object-oriented database management system.
Here is the reproduction of the announcement to the squeak list by Chris:

I am pleased to announce release 41 of the "Magma" object-oriented database management system has been posted to SqueakMap. Release 41 brings significant improvements in performance, scalability and robustness, particularly on slow networks, as well as improved transparency and operation.

Improved Performance and Scalability

At the core of the better performance and scalability are architectural improvements to the networking module, "Ma Client Server", which now maintains up to 50 simultaneous socket connections instead of just one, and now also compresses request/response ByteArray's when appropriate. The compression, alone, showed more than 100% performance improvement on ADSL-speed network connections. Thanks to ofset.org for funding this development.

Improved Operational Monitoring

An all-new performance and system-health monitoring package called "Ma Statistics" was developed and integrated into all layers of the Magma architecture. Performance statistics for the last half-hour (hour, day, week, your choice) are captured in five-minute (also adjustable) intervals. Is the server taxed or loafing? What was the average response time for clients? What was the longest response-time for any single request for any client? What was the average size of each response? These and dozens of other statistics are now captured while the server runs, with no performance penalty.

Improved Distribution

A MagmaForwardingProxy is a "bookmark" to an object in another repository, further improving performance, scale, distribution and database administration. These have been present for some time, but have been heavily tested and improved in this release.

Improved Transparency

Transactions may now be as long as desired. In fact, transactions may even span image saves! You may start an image, connect to a Magma repository, begin a transaction, make some changes, save and exit the image (not yet having committed), reboot the image later (objects in the image are brought up to date with changes by other sessions), continue any further changes, and finally commit successfully.

Improved Operation

With remote administration, release 41 better supports headless-operation mode. The server now also keeps track of its memory consumption relative to capacity and will take action to reduce memory utilization, as necessary, before it becomes a problem (although Magma servers have always operated with a relatively low and fixed memory footprint, albeit dependent on number of clients and activity).

September 16, 2008

SqueakSVN

The Software Architecture Group from the HPI in Potsdam announced a Subversion integration project called SqueakSVN for Squeak.

September 9, 2008

Baby IDE, based on new development paradigm

Trygve Reenskaug wrote to the Squeak dev mailing list to announce the release of BabyIDE, an IDE which which runs on Squeak Smalltalk, and is based on his exploration of a new development paradigm, called DCI. The aim of the DCI (Data-Context-Interaction) paradigm is to minimise any gaps between the programmer's mental model of the program and the program that is actually stored and executed in the computer, by presenting system operations as networks of communicating objects.
Here is a detailed overview: http://heim.ifi.uio.no/%7Etrygver/2008/commonsense.pdf

August 17, 2008

Squeak in Extremadura

This short film shows the work in Extremadura, a rural region in the southwest of Spain, using the computer in the classroom. They use GNU Linex as the OS and Squeak as the platform to develop the educational content. The students can have the opportunity of been responsible of construction their own knowledge. This educational program has been developed by IT researchers and educators. If you want to learn more about this concept of learning, please read the work of Seymour Papert.

August 9, 2008

Google Talks: Lively Kernel

Lively Kernel is a web environment based on Javascript but the philosophy of Squeak. Here we present the presentation of Dan Ingalls at Google talks. For more information and even to test the environment please go here: http://research.sun.com/projects/lively/