Planet Squeak

July 03, 2009

The Weekly Squeak

SOB lays an egg – what will emerge?


phoenix

Those of you who read the squeak-dev mailing list will know that the list is currently going through the annual frenzy of discussion about the nature and direction of Squeak, including much to-and-fro over such topics as: the original vision of the founders of Squeak; the tangled relationship between Etoys and the rest of the Squeak environment and community; the reasons behind the Pharo project and how much its goals really differ from those of Squeak; whether children should be locked in the nursery or allowed to roam freely into every room of the house; and much more. If you have time (and some light body armour), it’s well worth reading through the hundreds of emails that have been written which explore and interpret much of the history and philosophy of Squeak.

This discussion has motivated the Squeak Oversight Board to look at one topic that caused much debate: how to manage the development of Squeak. Driven by a concern that there are many hurdles that discourage wide-spread participation in the contribution process, the Board have put forward a new community development model that they hope will “enable the community at large to improve Squeak, the core of the system and its supporting libraries”.

Based on processes that have been shown to work in commercial settings, the Board’s model includes the use of Monticello as the primary source code management system, free access for the developers to the main repositories (trunk, tests, and inbox) and an incremental update process for both developers and users of Squeak.

Obviously, such a change has sparked off its own debate, and important questions are being hammered out on the squeak dev mailing list. If you care about the health of the Squeak environment, its future direction, and the future support for your own favourite applications, this is a key moment for you to understand and contribute to the discussion which is continuing on the squeak-dev mailing list (see archives), on irc, and on the Board’s blog.

by Michael Davies at July 03, 2009 10:31 PM

Squeak Oversight Board

A New Community Development Model


In the board meeting today we had a nice discussion about how to move forward with a new community development model for Squeak. Here is an overview of the model and what will happen next:

The goals

The goal of this process is to get rid of as many hurdles as possible in the contribution process. We are trying to enable the community at large to improve Squeak, the core of the system and its supporting libraries.

To do this, we are adopting processes that have been shown to work in commercial settings: The use of Monticello as the primary source code management system, free access for the developers to the main repositories, an incremental update process for both developers and users of Squeak.

Repositories

We will be setting up the following Monticello repositories:

* http://source.squeak.org/trunk

This will be the main repository for ongoing development. New code will be committed here, the repository will be world-readable and writable for the core-dev group.

* http://source.squeak.org/tests

This is the main repository for unit tests. It will be world-readable AND world-writable. We encourage everyone to write more tests and commit them, improve the existing tests and bring in entirely new test suites.

* http://source.squeak.org/inbox

This repository is intended as dropbox. It’s usage will depend on what we make it out to be. The idea is to have it world-readable and world-writable, too.

License

In accordance with our goal of joining the Free Software Conservancy, all code submitted to the repositories must be licensed under the MIT license.

Developer access

The board will manage developer access to the repositories at source.squeak.org. In the next days we’ll send out a few “you are pre-approved” messages to people who have proven to be active developers in the past in order to invite them to become a core developer.

If you can’t wait and absolutely want to be in on the action you can register yourself at http://source.squeak.org/ and send message to the board asking for access but most of the regular contributors (you know who you are) will be invited anyway.

Rules of Engagement

If you have used Monticello in projects with more than two developers in the past you already know the drill. If not, here are some useful guidelines:

* Merge often. In particular when you pick up work and right before you intend to commit.

* Exercise caution. This is a running system and breaking it needlessly is generally frowned upon.

* Restrain yourself. Getting developer access doesn’t mean you are free to put in every pet extension you always wanted to have without discussion.

* If in doubt, ask. This is the corollary to the restrain yourself rule. You’re not under pressure to ship a product, so you have the time to send a note saying “hey, I’m planning to fix this old issue and it may have some side effect here or there. Anyone having a problem with that?”

>>> I’ll add a Squeak-dev exception here: Any response from any non-developer can be entirely ignored in this context.

* You break it, you fix it. If you change something you are generally expected to take care of the consequences, though there are some exceptions. If in doubt, ask ;-)

* Do good and talk about it. When you’re done with whatever it is you’ve been working on let people know about it. It can be as short as a note to Squeak-dev saying “hey, some of you might care that I’ve fixed the long standing bug with xyz. Update and enjoy”

I think that roughly covers it. Basically you will be working with a dozen (hopefully more) other developers on Squeak and we’ll all have to learn how to make this work successfully.

Updating

We are in the process of developing an update process that can work seamlessly with Monticello. An early experiment is described here. We are evaluating alternative approaches, in particular the use of Installer since there are some shortcomings when using Monticello Configurations.

Existing Work

It is important to note that we will be trying very hard not to lose any work that is being done for Squeak 3.11. We will start with the package set that was used in the 3.10 release, then we will issue package updates to cover the missing delta up until 3.10.2. Following which we will reissue any changes done for 3.11 into the repositories.

by andreasraab at July 03, 2009 08:34 AM

July 01, 2009

Squeak Oversight Board

Preliminary Agenda for 7/15/2009


First let me state that we are paying attention to your comments and we do appreciate them but it’s amazing how quickly one hour disappears and there is only so much that can be fit into a single meeting.  Triage is required.

Development Model Progress

Relicensing Release Progress

I’m sure more will be added, feel free to offer your own suggestions.

by Ken Causey at July 01, 2009 10:45 PM

Meeting Report for 7/1/2009


Attendance was complete and timely this time around: Jecel Mattos de Assumpção Jr, Ken Causey, Bert Freudenberg, Craig Latta,  Andreas Raab, Randal Schwartz, and Igor Stasenko.

We discussed the progress of the relicensing release.  Currently Matthew Fulmer is gathering information in preparation to meet with a representative of the Software Freedom Consortium to plan the next steps toward the completion of the 4.0 relicensing release.

Members of the Squeak Oversight Board have been kindly asked again to appear on Industry Misinterpretations.  Details are still being worked out but expect this episode sometime in September.

The primary topic was Andreas Raab’s proposed development model.  Discussion of this can be found here and here.  There was considerable discussion and even a little debate but ultimately the decision was to support Andreas’ proposal.  Expect Andreas to announce this in more detail soon.

Our next meeting is scheduled for Wednesday, July 15th, 2009.

by Ken Causey at July 01, 2009 10:41 PM

Torsten Bergmann

PhidgetLab - connecting Smalltalk with the real world

If you want to access Phidgets from Smalltalk have a look at the PhidgetLab project from HPI. A Phidget is a sensor and actuator that can be connected to a PC via USB and is now easily programmable from within your Smalltalk image.

by Torsten (noreply@blogger.com) at July 01, 2009 07:36 PM

Göran Krampe

01 Jul 09

01 Jul 09

UPDATE: It seems I actually used the 3.9 version. Hmmm, which is borked on SM…

July 01, 2009 06:54 AM

June 30, 2009

Göran Krampe

30 Jun 09

30 Jun 09

"Hacking On DeltaStreams"-Guide For Suicidal Meta Squeakers

This instruction is for getting started HACKING on the DeltaStreams package for Squeak. If you are into meta programming, advanced source code management and Squeak, it might be interesting. Thus it is not an instruction for users (it is not usable anyway) nor for Squeak beginners.

Step 1

Grab an image, I use 3.10.2-7179. It might be nice if you picked some other important target for DS, like say Croquet or Pharo. :)

Step 2

Install base image fixes for DeltaStreams (maintained as a CS for now), pick the one suitable:

        http://map.squeak.org/packagebyname/deltastreamfixes

Step 3

Add repos for DeltaStreams/Tirade/SystemEditor on SqueakSource and open them:

        MCHttpRepository
        location: 'http://www.squeaksource.com/DeltaStreams'
        user: ''
        password: ''

Step 4

Load the latest of ONLY the following packages from those repos:

        SystemEditor-Core
        SystemEditor-Squeak
        SystemEditor-Traits
        SystemEditor-Tests
        SystemEditorBrowser
        Tirade
        InterleavedChangeSet
        DeltaStreams-Model
        DeltaStreams-Logging
        DeltaStreams-Storing
        DeltaStreams-Tirade
        DeltaStreams-Tests
        DeltaStreams-Deprecated
        DeltaStreams-UI

NOTE: The DeltaStreams-Logging package is from Matthew, not sure of its status. DeltaStreams-Storing is meant to contain the parts needed for DS to use InterleavedChangeSet - which is the funky changeset-compatible format Matthew invented. I am not pursuing that format but I see no harm in keeping it. It might be a good idea too - I am not sure. DeltaStreams-Tirade is the reader/writer support for the Tirade format which is the preferred format for Deltas from now on. All tests are in DeltaStreams-Tests, there is a UI too but Matthew wrote it and I am unsure of its operational status. The DeltaStreams-Deprecated is a big pile of stuff that should in the end just be dumped. Consider it to be "candidates for death". :)

Eventually we would typically only really need (no ICS, no tests, no SE browser, no deprecated):

        SystemEditor-Core
        SystemEditor-Squeak
        SystemEditor-Traits
        Tirade
        DeltaStreams-Model
        DeltaStreams-Logging
        DeltaStreams-Tirade
        DeltaStreams-UI

Step 5

Run some tests. Currently there are tons of tests failing. I do not like this "state" so I am in the process of cleaning up, fixing what I can fix and possibly even throwing out red tests I can’t understand. We should always be all green, otherwise we don’t know if we broke something. These are the results in my image:

        SystemChangeNotifications-Tests: 1 error (it is a trivial fix I missed, will go away)
        Tirade-Tests: green
        SystemEditor-Tests: 11 failures of 181  (not sure why...)
        DSDeltaApplyTest: green
        DSDeltaLoggingTest: green
        DSDeltaCreationTest: green
        DSDeltaClassifyTest: green
        DSDeltaAntiTest: green
        DSDeltaCopyTest: green
        DSDeltaFileOutTest: 2 errors (Matthew has commented them, I am not pursuing ICS)
        DSDeltaRevertTest: 19 passes, 6 failures (these we should be able to fix!)
        DSDeltaTiradeTest: green

        DSDeltaChangeSetTest: red, red, red!!! (this is testing the ChangeSet "lookalike" ICS aspect, I am not pursuing ICS so will not fix now)
        DSDeltaTiradeFileOutTest: red, red, red!!! (these I will fix!)

        DSDeltaValidationTest: red, red, red!!! (I need to read up on validation first)
        DSDeltaValidationTestSystemEditor: red, red, red!!! (same here)

NOTE: The Validation tests… I am unsure of, I have not looked at the design and I am unsure if I have broken them or if they were indeed broken. We should take an image and install the DS release from SM and see the test status there.

Step 6

Read some class comments and code. Start with DSDelta and the DSChange hierarchy.

Step 7

Pray. Ask me.

regards, Göran

  • July, 2009
    31

June 30, 2009 10:01 PM

June 29, 2009

The Weekly Squeak

ESUG Innovation Technology Awards – Time is running out!


esug-logo

The Innovation Technology Awards session is one of the real highlights of the annual International Smalltalk Conference organised by ESUG each year.

Noury Bouraqadi has just posted to remind everyone that you only have until 1st July to nominate your work for an award. Put together a brief description of your work, which can be in any Smalltalk dialect, make it available for inspection online, and be prepared to demonstrate it to a constant stream of inquisitive Smalltalkers during the conference, and you could win up to €500 in addition to the recognition and respect of your peers.

Have a look at Noury’s site for an introduction to the ideas that have proved popular in the past, or our own details of last year’s winners.

All the administrative details can be found on the ESUG 2009 website – so get those application forms in now!

And in case you’ve forgotten, this year’s conference is in Brest, France from 31 August—4 September, 2009. It will be preceded by Camp Smalltalk running on the weekend of 29—30 August 2009, and incorporates the International Workshop on Smalltalk Technologies on 31 August.

by Michael Davies at June 29, 2009 08:05 PM

Michael van der Gulik

Keyboard events

Mouse events in Subcanvas now mostly work. A canvas's target now receives mouse movement events, mouse button press and release events and canvas enter and exit events. Now, I've moved my attention to keyboard events.

There are three types of keyboard events in Squeak: Key Press, Character and Key Release. Key Press and Key Release should give only the description of which physical key on the keyboard has been pressed or released, including modifier keys (shift, CTRL, etc). Currently the Squeak VM uses the "Mac-Roman" encoding to encode which key was pressed or released, which is less than ideal and still differs per platform. The Character event contains a Unicode character. A single Unicode character may have required multiple key presses and even some UI interaction to be composed.

There are three types of hardware keyboard in the world; the US one (104 keys), the European one (105 keys) and the East Asian one (109 keys). These are very similar to each other and based on the PS/2 keyboard. Almost every keyboard in the world is based on one of these hardware prototypes with different printed letters on it.

I've also found that the USB specification (made by Microsoft) has reasonably elegant "scan-codes" that specify the actual keys pressed with no regard for which character is printed on that key. I believe these codes would provide for a much more elegant way of specifying which keys were pressed in the "press" and "release" events than the Mac-Roman keys currently provided by the Squeak VM. Unfortunately, any notion of the original USB scan codes have long been forgotten by the OS by the time the character arrives at the Squeak VM, so the VM or the image will need to map OS-specific event IDs to the equivalent USB scan codes. It is a bit of a roundabout way to do it, but the end result is an OS-independent manner of doing raw keyboard events. Perhaps SqueakNOS can strip away the layers of abstraction and pass USB scan-codes through directly? :-)

The end result is that an application using Subcanvas can either use the character events, or it can use the key press and key release events to roll its own "Input Method Editor". This gives a good level of initial functionality for most languages in the world by using the Unicode character input directly from the VM, as well as a future growth path for implementing new "Input Method Editors" (or games) using the raw key press and release events.

On another chain of thought, I'm considering making Pango and Freetype "libraries" available in SecureSqueak / UGP. If they're provided as a resource such that Subcanvas does not have any architectural dependencies on them, they can be implemented as a "deprecated on birth" resource that will provide necessary text rendering functionality until pure Smalltalk-based solutions can be written. At this stage, I'm a bit wary of just how complex the rendering of multilingual text can be.

by gulik (mikevdg@gmail.com) at June 29, 2009 01:00 AM

June 26, 2009

Darius Clarke

Computer Lab Instruction

I've tried to summarize my duties as a Computer Lab Instructor for an elementary school. I'll be developing the curriculum over the summer. Here's what I have so far:____________________Goals for Computer Lab InstructionAs digital computer systems grow more and more essential for daily communication in personal, professional, and academic endeavors, the students benefit tremendously from a

by Darius (noreply@blogger.com) at June 26, 2009 08:23 PM

Göran Krampe

June, 2009

  • June, 2009

June 26, 2009 03:12 AM

June 23, 2009

Torsten Bergmann

Pharo MIT license clean

After months the pharo distribution of Squeak is now license clean. See the official announcement on the pharo mailing list. Great, thanks to all who helped.

by Torsten (noreply@blogger.com) at June 23, 2009 08:00 AM

June 21, 2009

Luca Bruno

The less consuming radio player ever

Hello,
multimedia always killed desktop performance, also audio with all such effect-based players out there. I've been using deezer for a long time, but sometimes I'm tired to see my desktop lagging.
I don't need that, I need random music from internet while I'm either programming or studying, and my computer has only 512mb ram and 2.4ghz amd64 (onLY??? yes nowadays it's a little amount).

Let's see what we can do using gst-launch:


while [ 1 ]; do wget -q -O - http://66.250.45.112:80/hard.ogg|gst-launch fdsrc fd=0 ! decodebin ! audioconvert ! alsasink; done

The URL above is a hard rock station :) The while ensures re-connection. I think performances are great, 6% cpu and 2% ram.

But there's yet a bettere solution (see comments):

mplayer http://66.250.45.112:80/hard.ogg

by Luca Bruno aka Lethalman (lethalman88@gmail.com) at June 21, 2009 07:59 AM

June 20, 2009

Squeakland Blog

Etoys named Editor's Choice

We're very pleased to announce that Squeak Etoys has been named Editor's Choice by Children's Technology Review in their June 2009 issue!...

June 20, 2009 03:03 PM

June 19, 2009

Squeak Oversight Board

Meeting Agenda for 7/1/2009


Subject to updates, please offer suggestions–

3.11 Status

4.0/Relicensing Status

Squeak Swiki update or replacement

Teams

Anything more?

by Ken Causey at June 19, 2009 05:49 PM

Meeting Report for 6/17/2009


Once again we were all present for today’s meeting: Jecel Mattos de Assumpção Jr, Ken Causey, Bert Freudenberg, Craig Latta,  Andreas Raab, Randal Schwartz, and Igor Stasenko.

We spent the bulk of the meeting talking about 3.11 status.  We didn’t come to any significant conclusions but resolved to increase communication with the release team and compile as much information as possible about the current status of this project and where it is going next.

We also discussed the wiki (Have you read Garbage Collecting the Wiki yet?), what can be done about the ‘forking impulse’, the status of the work on a new Smalltalk standard, and the 4.0 relicense release; no concrete results on these ongoing projects yet.

We meeting again on July 1, 2009.  Let us know what you think we should be discussing.

by Ken Causey at June 19, 2009 05:48 PM

Squeakland Blog

etoys sighting: SqueakyPic

Have a look at this really impressive video showing an Etoys interface to a microchip (PIC16F877A MCU) http://www.youtube.com/watch?v=1Qsh9vFIls4...

June 19, 2009 02:28 PM

Registration open for Squeakfest

Registration is now open for both Squeakfest USA 2009 (Los Angeles: August 10,11,12) and Squeakfest Brasil 2009 (Porto Alegre: July 23, 24, 25). Squeakfest USA registration costs $100, or $125 if payment is received after August 1st. Squeakfest Brasil registration is free. Please register as early as possible so that we may better plan the events. To register for Squeakfest USA, click here. To register for Squeakfest Brasil, click here. To find out more about Squeakfest, visit squeakfest.org. We hope to see you!...

June 19, 2009 02:17 PM

June 18, 2009

Randal Schwartz

Dan Ingalls interviewed on FLOSS Weekly

In yet another overlap of my interests, Dan Ingalls (co-inventor of Smalltalk and co-creator of Squeak and the Lively Kernel) agreed to be interviewed for my FLOSS "Weekly" show, and the show is now available.  Check it out... great interview (thanks Dan!).

Read and post comments | Send to a friend

by Randal Schwartz at June 18, 2009 01:36 PM

Sneaking some Squeak Smalltalk into FLOSS Weekly

I keep mentioning Squeak Smalltalk as I'm chatting with Leo Laporte while taping my well received podcast FLOSS Weekly. It's actually quite fun. He keeps bringing it up as something he's learning, and I think it's giving a big visibility to Squeak and to Smalltalk in general. There's even talk of creating a special Learning Squeak series that would be shown on Leo's live webcast network. Check it out!

Read and post comments | Send to a friend

by Randal Schwartz at June 18, 2009 01:36 PM

June 17, 2009

The Weekly Squeak

Back to the Future: Programming in Smalltalk


back-to-the-future

More exciting conference news for Smalltalk aficionados: James Foster has announced on his blog that this year’s OOPSLA conference will include several tutorials with a Smalltalk theme including his “Back to the Future: Programming in Smalltalk” in which he will look at the “new” ideas from Smalltalk that are still influencing newer programming languages. He will examine some of these ideas and present a number of tutorial exercises that explore some of Smalltalk’s  fundamentally different approach to language design and object orientation, including the following aspects:

James works on Gemstone’s high performance product family based on Smalltalk, but intends the exercises to be relevant across different versions.

This year’s OOPSLA will be held in Orlando, Florida from 25 to 29 October, and will also be co-located with the Dynamic Languages Symposium, which will doubtless have lots to interest Smalltalkers.

On the other hand, if you’re looking for a European break this year, don’t forget that the 2009 International Smalltalk Conference, organised by ESUG, will be held in Brest, France, from 31 August to 4 September, and also has a great set of sessions lined up.

by Michael Davies at June 17, 2009 06:55 PM

June 13, 2009

Squeak Oversight Board

garbage collecting the Wiki


The wiki is a fantastic resource for the community. Any search involving “squeak” will certainly have a link to a wiki page among the top results. And when answering questions on IRC, I nearly always end up pointing out some wiki page as the source for additional information.

Unfortunately, a significant portion of the information available there is obsolete. It is very easy for less experienced Squeakers to waste a lot of their time following advice they found on some page without realizing that it no longer applied to any Squeak newer than 2.5! One way to solve this is for a team to scan the wiki looking for stuff like this and then updating the information. In practice this is simply too much work and is unlikely to happen in a larger scale than what has been done so far. An alternative, inspired on garbage collection algorithms like those implemented in the Squeak VM, is to start a new wiki and move only current information there. This might seem like even more work, but it can be done incrementally: any person searching for information and not finding it in the new wiki can copy it from the old one.

If access to the old wiki remains as it is now, nobody would have any incentive to copy information to the new one. The most radical solution would be to simply eliminate normal access to the old wiki – you would have to explicitly log on to it or something like that. This would quickly make it vanish from the search engines. At the other extreme, it would be simple to add a warning to all old wiki pages saying that the content is obsolete. That could be done with the “message of the day” mechanism (lately it has been broken and only showing one quote from me anyway). This is too easy to ignore, however. A slightly more complicated solution would be to patch the swiki code to show a warning that would be far harder to ignore. It might be interesting to include a link to the new wiki for any page which has content that has been moved there. One way to encourage moving content to the new wiki would be to disable editing of the old one (except for adding links to the new).

The goal is to eventually have a new wiki, possibly based on some more modern Squeak technology, that document the system as it is now. The best way to achieve this would be for the board to issue a request for proposals so that people interested could form a team to create the new wiki and patch the old one. This team would not be responsible for the content, except moving a few key pages themselves to get the process started. The details that I have mentioned above are only examples – the candidates would be free to suggest any solution they want as part of their proposals.

Personally, I am very interested in Squeak’s history and would not like to see the old information vanish entirely from the web. But I do agree that as things are now the noise is getting in the way of the signal and we need to cause a better first impression to people interested in Squeak and Squeak based projects.

by Jecel Assumpcao Jr at June 13, 2009 10:37 PM

June 09, 2009

The Weekly Squeak

Squeak Apps help push App Store over 50,000


appsavailable

Phil Schiller led the keynote presentation today at Apple’s Worldwide Developers’ Conference. One of the many causes for celebration he had was the phenomonal success of the iPhone App Store, which now has 50,000 applications available for download.

Although he was careful to be even-handed in giving credit to all iPhone developers for helping Apple achieve this success, he must have secretly been thanking John McIntosh, who is turning into a one-man app wave. Without John’s recent batch of new Squeak-based applications, Phil would have been left announcing the much less satisfactory figure of 49,99749,994 applications.

In case you missed it, John’s latest announcement was that his Fraction app is now available for calculations involving unlimited sized fractions and factorials, as it attempts to preserve numerical accuracy to an unprecedented degree. The new app joins the two apps based on his WikiServer that John already has on the App Store.

We look forward to seeing if the notoriously byzantine App Store approval process will be able to keep up with John’s flood of new applications.

by Michael Davies at June 09, 2009 08:13 AM

June 05, 2009

Squeak Oversight Board

Meeting Report for 6/3/2009


Everyone made it this time and so the meeting was attended by: Jecel Mattos de Assumpção Jr, Ken Causey, Bert Freudenberg, Craig Latta,  Andreas Raab, Randal Schwartz, and Igor Stasenko.

We started out finalizing the mission statement which has finally been published allowing us to move on to other topics.  Please read and comment.

We have received replies to the team survey we sent out some weeks back and we discussed this somewhat but haven’t had the time to properly digest the data or come to any conclusions yet.  In time the teams page will receive a significant update hopefully clarifying how teams are formed and work.

We discussed the Release team and have asked them for an update on progress.  The team leader, Matthew Fulmer, recently moved to a new state, started up at a new university, and started a new job; so I think we can all understand that he has been too busy to make much progress recently.  Matthew is going to be setting aside time soon to work with the Software Freedom Conservancy to work out what further work is needed to produce an MIT/Apache licensed 4.0 release that is acceptable to the SFC as a requirement for our membership.

I think everyone can agree that the community Swiki has aged poorly and can be very confusing, particularly to newcomers to our community looking for clear information.  We are discussing a plan to replace the Swiki with a new system.  Some of the requirements for such a system would be a clear link between the current Swiki and the new system at least during the development of the new system and not losing the Google links to the existing Swiki pages.  We need the community’s assistance with this and welcome suggestions.  Do you have a plan for updating or replacing the Swiki with a better documentation system while not losing it’s existing strengths?  Please let us know.

On a similar note one of our long range goals is to encourage the incorporation of ideas and code from our related communities such as Pharo, Etoys, and Croquet and of course many others.  Also we want to examine the reasons that forks occur and consider what can be done to make it less necessary for developers to do so.  We need your thoughts and ideas.  Please give us your comments on this subject.

Our next meeting will take place on Wednesday, June 17th, 2009.

by Ken Causey at June 05, 2009 02:47 AM

June 04, 2009

Squeak Oversight Board

Mission Statement Published


Well it took a while but we have finally published a ‘Mission Statement’ for ourselves and it can be found listed on the right.  Please let us know what you think.

by Ken Causey at June 04, 2009 05:11 PM

June 02, 2009

The Weekly Squeak

The Revenge of Smalltalk


Despite recent discussions over what killed Smalltalk, there continues to be lots of interest in the language and in Seaside in particular. Anyone based near London will be able to find out more about both topics at a talk dramatically titled “Seaside: The Revenge of Smalltalk“.

This “Geek Night” is going to cover how Smalltalk makes web development different and how Seaside is being put to use in the “Real World”. Participants will learn about real object-orientated programming rather than class-orientated programming.

The two presenters are Lukas Renggli, who will be talking about Squeak and the world of Open Source Smalltalk; and Michel Bany from Cincom who will be discussing how Seaside and Smalltalk has been used in companies like JP Morgan.

The talk is hosted by Thoughtworks‘ London office on Monday 6th July, 2009 from 7:00pm—10:00pm.

by Michael Davies at June 02, 2009 03:49 PM

May 29, 2009

Luca Bruno

Syx changes web and git hosting

Hello,
I'm officializing the change of web hosting and git hosting from googlecode to berlios:

The new website is up!
For several reasons, including reliability, we switched both the website and git hosting to berlios. Also the purpose of this change is to rewrite the website backend using Syx.
The mailing list and the bug tracker are still hosted at googlecode.

Some progress news in the while
We're working on a new memory management, object representation and garbage collector. On the other side the lack of time is making things harder for releasing the new version. Together with the above changes, new Smalltalk standard pieces will implemented as usual. I remind you the new code is in
the object branch.

Website: http://syx.berlios.de
GIT: git://git.berlios.de/syx
Project page: https://developer.berlios.de/projects/syx/

by Luca Bruno aka Lethalman (lethalman88@gmail.com) at May 29, 2009 11:10 PM

May 27, 2009

Luca Bruno

Render tables with pangocairo like reportlab

Hello,
lately I was wondering if there was any alternative to the well known reportlab python software for creating PDF reports. I immediately thought about Cairo. The only two problems are:

I still can't realize how to achieve the first feature, but the second one could be solved using Pango layouts.
The idea is to create the cells of the table using such layouts, so that the text get wrapped etc.

Here's the Pango tables code snippet containing the necessary classes for achieving the job. Notice that the methods in the snippet often make use of Pango units instead of pixels.
Now let's use the Table class as follows: create a table with two rows and two columns, then show it twice with different background colors.

surface = cairo.PDFSurface ("test.pdf", 300, 400)
cr = cairo.Context (surface)
cr = pangocairo.CairoContext (cairo.Context (surface))

sizes = [pango.SCALE*12*10, pango.SCALE*12*10]
data = [["first test with pango tables", "seems to work correctly"],
["though it needs", "support for borders and spans"]]

table = Table (cr, sizes, data, pango.FontDescription ("Sans 12"))
cr.rectangle (0, 0, pango.PIXELS(table.get_width ()), pango.PIXELS(table.get_height()))
cr.set_source_rgb (0.8, 0.8, 0.8)
cr.fill ()
cr.set_source_rgb (0, 0, 0)
table.show_table (cr)

cr.translate (0, 200)
cr.rectangle (0, 0, pango.PIXELS(table.get_width ()), pango.PIXELS(table.get_height()))
cr.set_source_rgb (0.4, 0.5, 0.7)
cr.fill ()
cr.set_source_rgb (0, 0, 0)
table.show_table (cr)

Here's the result test.pdf:


by Luca Bruno aka Lethalman (lethalman88@gmail.com) at May 27, 2009 09:46 PM

May 25, 2009

The Weekly Squeak

Magic Words goes Open Source


ScreenShotMagicWordsSwedish

Mikael Kindborg and colleagues at comikit.se have announced that their Magic Words application is now available as Open Source software.

Magic Words gives children (of all ages!) the ability to create interactive animated worlds. It has been used to allow its users to make their own friendly non-violent computer games and explore the meaning of words as part of learning how to read.

The team have made the source-code available under the MIT licence, and have provided some sample resources including pictures, text, and sounds to get you started.

The application is of course based on Squeak, and the Comikit team give detailed instructions on how to load it into a standard Squeak image.

by Michael Davies at May 25, 2009 04:08 PM

Giuseppe Luigi Punzi

Squeak 3.10.2 + Polymorph + UIThemeXP + NiceFonts

Well, this looks promising to deploy apps for business $user

EDITED:
I forgot to mention, thath, I’m not the creator of UIThemeXP. The creators name is Steve Wirts, and the announcement of this package can be found on Pharo Maillist

by glpunzi at May 25, 2009 04:02 PM