Smalltalk Inspect interviews tim Rowledge about Squeak and the Raspberry Pi (and lots more)

Smalltalk Inspect is alive and kicking, we just took a creative break for the new year…

But to finally kick off 2013, we want to start a little firework: a 2 hour interview with tim Rowledge about lots of interesting things around Smalltalk in the past, present and future. The highlight and climax here sure is tim’s work on the Squeak VM on RISC OS for the Raspberry Pi. If you wonder what this little machine might be good for, stop  and listen!

You can download this episode from here, or even better, subscribe to our podcast on iTunes. If you like what you hear and would like to learn more, you can always download more great stuff from our Smalltalk Inspect site.

Die European Smalltalk User’s Group ist Mentoring Organization für Googles Summer Of Code 2013

Auch dieses Jahr hat Google die ESUG (European Smalltalk User’s Group) als Mentoring Organization für die Teilnahme am Summer Of Code ausgewählt. Das sind für die Smalltalk-Welt sehr gute Nachrichten.

Was ist der Google Summer Of Code?

Die Kurzform: Google bezahlt einen oder mehrere Studenten dafür, dass sie diesen Sommer an einem open source – Projekt zusammen mit einer Mentoring Organization arbeitet. Mitmachen können alle Studenten einer Bildungseinrichtung wie z.B. Universitäten, Fachhochschulen, duale Hochschulen etc. Jeder (zugelassene) Student, der zum Abschluss des Summer Of Code seine Ziele erreicht, erhält von Google ein Stipendium in Höhe von 4500 US Dollar. Ja, richtig gelesen: eine schöne Summe fürs Programmieren an einem open source – Projekt.

Die Mentoring Organization, also in diesem Fall die ESUG bekommt von Google für jeden betreuten Studenten eine Aufwandsentschädigung in Höhe von 500 USD. Auch das ein sehr willkommener Beitrag für eine Organisation, die open source – Projekte durchführt.

Die Langform und wirklich alle wichtigen Informationen finden sich auf der Homepage des Google Summer Of Code 2013. Dort findet sich auch eine sehr umfangreiche Sammlung von FAQs.

Wie kann man mitmachen?

Es gibt die Möglichkeit, als Mentor für ein Projekt mitzuhelfen. Für Studenten heisst es nun, sich bis 22. April schlau zu machen, was für Projektideen die ESUG vorgeschlagen hat, und woran man Spass hätte, mit zu arbeiten. Die Projektideen der ESUG finden sich hier. Als Teilnehmer wendet man sich zunächst an die Mentoring Organization, die dann anhand der (noch nicht festgelegten) Anzahl gesponserter Projekte die Studenten auswählt. Die Bewerbungsfrist für Studenten endet am 3. Mai.

Warum sollte man sich ausgerechnet für ein Smalltalk-Projekt im Google Summer Of Code interessieren?

Es gibt einige gute Gründe:

  1. Smalltalk ist die Mutter der OO-Sprachen. So ziemlich alle Konzepte rund um die objektorientierte Programmierung haben ihren Ursprung in Smalltalk. Selbst wenn man nicht vorhat, später in Smalltalk zu arbeiten, lernt man hier eine ganze Menge über gutes Design. Smalltalk ist wie Latein: Spanisch, Französisch und andere Sprachen lassen sich mit fundiertem Latein leichter erlernen.
  2. Im Smalltalk-Umfeld passiert sehr viel mehr, als man vielleicht denkt. Gerade in Europa: Pharo Smalltalk zum Beispiel ist ein Projekt, das hauptsächlich in Frankreich, der Schweiz und Deutschland von zahlreichen Leuten unterstützt wird. Daneben ist Smalltalk auch stark in Südamerika vertreten (wie wäre es mit einem Job in Buenos Aires???).
  3. Smalltalk macht enormen Spass. Die sehr dynamische Umgebung ist sehr motivierend, weil man nicht toten Quelltext pflegt, sondern sich stets direkt im lauffähigen Objektsystem aufhält. Man muss es ausprobiert haben, um das zu verstehen…
  4. Die Smalltalk-Gemeinde, vor allem im open-source-Umfeld, ist seit Jahren am Wachsen. Auch, wenn es auf den ersten Blick so aussieht, als wenn Smalltalk seine beste Zeit gehabt hätte, macht Smalltalk sich seinen Weg langsam aber sicher zurück in den Markt. Ähnlich wie es Ruby, PHP und andere Technologien vorgemacht haben, bewegt sich Smalltalk nicht mehr, wie das in den neunziger Jahren noch üblich war, durch große Strategie-Entscheidungen in Organisationen hinein, sondern durch Projekte einzelner, die einfach eine Lösung für existierende Probleme implementieren. So setzen aktuell Unternehmen Smalltalk ein, in denen “das Management” gar nichts davon weiss, und leistet gute Dienste.
  5. Die ESUG hat einige Erfahrung mit der Betreuung von Studenten im Rahmen des GSoC. 2013 wird das sechste Jahr sein, in dem die ESUG teilnimmt. Einige der Mentoren, die bisher Projekte vorgeschlagen haben, sind schon mehrfach dabei gewesen und haben mit ihren Studenten wertvolle Tools und Frameworks in die Smalltalk-Welt eingebracht. Manche Mentoren für 2013 waren selbst in vorangegangenen GSoC’s als Student dabei. Einen Überblick dazu kann man sich hier verschaffen.
  6. Die Smalltalk-Welt ist überschaubar: Wir sind eine relativ kleine Familie (verglichen mit Communities wie JavaScript oder PHP), in der man mit einem einzelnen Projekt durchaus etwas bewegen kann, und nicht eines von vielen Projekten ist, das vielleicht niemals Beachtung finden wird. Es kann also durchaus sehr befriedigend sein, hier mit zu arbeiten. Und vielleicht gibt es dann auch noch ein kleines Stückchen Ruhm zu erlangen ;-)

Also: Gründe gibt es genug, und wir freuen uns über jeden, der Mitmachen möchte. Es gibt viel zu tun und hohe Ziele zu erreichen, aber vor allem viel zu lernen und dabei eine Menge Spass zu haben!

Informier Dich hier! 

 

Pharo 2.0 ist offiziell verfügbar

Das Pharo-Projekt, das einst mit dem simplen Anspruch startete, die beste Smalltalk-Umgebung zu entwickeln und als open-source kostenfrei zur Verfügung zu stellen, hat auf diesem Weg einen neuen Pflock eingeschlagen. Die Version 2.0 wurde gestern freigegeben. Es wurde viel aufgeräumt, vereinheitlicht und verbessert, aber vor allem wurden weit über 1000 Bugs gefixt:

We are proud to announce the release of Pharo 2.0!

You can find information about Pharo at:
http://www.pharo-project.org

About this release
——————
All in all, there were over 1600 issues treated in the issue tracker
and 1350 improvements integrated into 2.0.

Pharo ist die Heimat diverser Projekte, die in der Smalltalk-Welt und darüber hinaus für Aufsehen gesorgt haben. Als erstes fallen mir da natürlich Seaside und einige darauf aufbauende Tools (Pier, Magritte etc.) ein, sowie Moose mit seinen Teilprojekten. Nicht zu vergessen DBXTalk, das eine komplette Infrastruktur rund um GLORP und openDBX für Pharo aufbaut. Viele davon sind auf anderen Umgebungen ebenfalls verfügbar, aber werden in Pharo gepflegt.

Ein Ansatz der Pharo-Gemeinde, der von Anfang an im Mittelpunkt stand, war, dass man sich von anderen Plattformen abspaltet, und seinen eigenen Weg geht. Das hat eine ganze Menge Vorteile, etwa eine sehr hohe Schlagzahl an Innovationen, aber eben auch Schattenseiten. Es gab und gibt immer wieder Maintainer von Projekten, die sich entschieden haben, Pharo als Plattform nicht mehr primär zu bedienen, sondern dazu aufriefen, es möge sich jemand als Portierer bzw. Maintainer eines Ports nach Pharo bereit erklären. Letztes prominentes Beispiel ist Chris Muller mit seiner OO-Datenbank Magma. Das kann aber im Endeffekt natürlich bedeuten, dass, wenn sich ein Porter findet, mehr Zeit für das eigene Projekt bleibt, und somit kann auch dies eine gute Nachricht sein. Und wer weiss, vielleicht wird aus dem Porter eines Tages ein Hauptentwickler, und so wächst das Projekt noch schneller…

Pharo Smalltalk ist  bei weitem die Smalltalk-Umgebung mit der aktivsten open source – Gemeinde und legt ein enormes Tempo bei der Integration von Neuerungen hin. Es lohnt sich also ganz sicher, sich mit Pharo Smalltalk zu beschäftigen, wenn man sich für Smalltalk interessiert.

Pharo Smalltalk läuft auf Windows, Linux, Mac OS X, Android und iOS und deckt damit neben Squeak die meisten Plattformen ab. Der Code ist auf allen Plattformen unverändert lauffähig (man kann einfach das Image auf einen anderen Rechner transportieren und dort starten, ohne jegliche Anpassungen), sodass ein Portierungsaufwand nicht anfällt, solange man keine Plattformspezifischen APIs nutzt (was vor allem auf iOS und Android natürlich schwierig sein kann, vor allem wegen des nativen Look&Feels).

Wer also von Smalltalk schon gehört hat, und sich das irgendwie mal gerne anschauen würde, sollte sich unbedingt Pharo 2.0 herunterladen und loslegen. Auf den Projektseiten von Pharo sind viele Links zu Einsteiger- und weiterführendem Material.

Wir haben übrigens erst vor ein paar Wochen ein Interview mit Stéphane Ducasse auf unserem Podcast “Smalltalk Inspect” geführt, in dem wir über die Entwicklung und Beweggründe hinter Pharo gesprochen haben. Ausserdem haben wir viel über die Bemühungen des Projekts in Richtung Finanzierung und Weiterentwicklung von Pharo gelernt. Es lohnt sich also, auch da mal reinzuhören.

Are we Smalltalkers missing the mobile trend?

This might be an interesting detail for all people involved in Smalltalk environments that run on Android and/or iOS. Among the top 10 search terms used in 2012 to find  my blog there were “smalltalk android” and “smalltalk ipad”. And in fact, almost every day I check my blog statistics, and these terms or variations thereof are on the list.

To me, this is a clear indication that people are looking for documentation and possibly ready-made installation packages for either Smalltalk IDEs or deployed applications that are written in Smalltalk. I must admit I have been playing with the idea of writing an application for Android in either Gnu ST or Pharo repeatedly, but never took the time because I couldn’t find much documentation for it. People do deploy Smalltalk appliations on iPhones and Android devices but I haven’t found much material on how they do it. It’s either blindingly obvious for people who are used to writing Android / iOS apps, or the people who managed to do it regard their knowledge as a trade secret. Both are okay with me. I like to have a certain advantage on things I know as well. So I am not going to bash this.  Continue reading

STON for VAST on VASTGoodies

I’ve just uploaded a port of STON, the Smalltalk Object Notation for VA Smalltalk to the VASTGoodies.com repository.

STON is a project that was implemented by Sven van Caekenberghe on Pharo Smalltalk and it is a slightly extended version of JSON (Javascript Object Notation) to persist Smalltalk objects in a human and machine readable form. JSON is a bit of a successor for XML in many areas, because it holds some of the promises that XML never could. In fact, the format itself is language independent, so you could also export and import objects from most other object oriented language. STON can also read and write pure JSON data.

The code is quite compact and well-done. I had to change a few things, mostly in the tests, due to language constructs that are supported in Pharo Smalltalk but not in VAST.

What can STON be used for? The options are numerous, but there are a few highlights I’d like to mention and that I found it promising for:

  • Use it as as simple persistence mechanism to save objects (like XML, but easier to edit)
  • Exchange data between two Smalltalk dialects or Smalltalk and any other language that speaks JSON/STON
  • Send JSON data to a JavaScript application that runs in a web browser
  • Exchange Smalltalk objects with a web application implemented in Amber.js
  • you can surely think of others…

STON is extremely simple to use and performance is not too bad for reasonable amounts of objects. More details about STON can be found on its github page.

So I’d be interested in hearing if STON is being used in the VA ST world and of course also about bugs and possible extensions.

STON also is the basis of Cypress, which is intended to make version control of Smalltalk code in “normal” source control systems like git or mercurial simpler. Who knows, maybe cypress one day even allows for exchange of smalltalk source code between smalltalk platforms with at least some level of automatic code conversion.

Web sockets are coming to Smalltalk

The web is more and more becoming the fat client of tomorrow. Not that it offers much more than what we’ve had fifteen years agod, but at least it is finally promising to become the one-platform-for-everything that Java never proved to be.

Nevertheless, web sockets promise to offer a new level of interactivity between browser-side applications and some server backend, because teh technology offers a steady, low-latency communication channel between server and frontend. Think Ajax as it should always have been: whenever the server needs to share information with a client, it simply sends it there, without the need for the client to poll or anything.

So web sockets are a really great opportunity for server-side frameworks like Seaside or AIDA. So if  you, like me, thought “Wow, if only I could use wb sockets in my web application!”, I have good news for you: We’ve seen the first announcements for web socket implementations in Smalltalk:

So once again the Smalltalk world is in the middle of the hottest and most exciting web technologies and people can implement cool advanced, highly interactive web applications in Smallzalk, using the most advanced interactive technology to develop and debug code on the server side.

I guess it won’t be long until someone comes up with an implementation of web sockets for GemStone/S or VA Smalltalk…

Pharo, Squeak and GNU: Smalltalk runs on Android devices

I’ve mentioned Stefan Krecher’s work on GNU Smalltalk integration for Android a few weeks ago and somehow forgot to mention that it’s not the only Smalltalk environment that runs on this nice mobile operating system.

Just yesterday, I read on The Weekly Squeak that a new version of the Cog VM for Android has been announced together with a corresponding Pharo Image. The VM, however, can run Squeak Images as well. There’s quite some information on how to install and run the VM, the corresponding Pharo Image and known limitations and stuff available.

So it seems at least for Smalltalk, the openness of Android is excellent news. Even though there is some sort of VM and image support for iOS for Squeak and Pharo, it’s somewhat hard to find and even harder to get installed on users’ devices. I hope to find the time to get my fingers at either Pharo or Gnu ST on Android soon.

Smalltalk Inspect 18: Smalltalking hardware

We’ve just released episode 18 of Smalltalk Inspect. It is once again an english-spoken episode and this time we interviewed Jecel Assumpcao Jr. about the SiliconSqueak Project. SiliconSqueak is a project aimed at building a mini-computer (think Raspberry Pi) that natively runs Smalltalk Bytecodes on multiple cores in parallel.

I am not a hardware guy, but this interview was very interesting and inspiring for me, and I guess it’s going to be for you as well. If you’d like to listen to it, please follow this link to the Smalltalk Inspect web site, where you can also download and listen to all the other 17 great episodes of our podcast.

Feel free to send us comments and ideas for new episodes, either here on this blog or on the Smalltalk Inspect web site. And, of course, feel free to tell all your friends and colleagues about Smalltalk Inspect ;-)

Smalltalk Inspect 17: Igor Stasenko on FFI, Alien and NativeBoost

We’ve just released Episode 17 of our Smalltalk Inspect Podcast. It’s an interview with Igor Stasenko about calling code outside the Smalltalk VM. We cover Primitives, the Foreign Function Interface, Alien and NativeBoost, Igor’s latest pet project (or one of them).

So if you ever wondered how the FFI, Alien and the Gog VM relate to each other or are looking for some hints for downloading, installing and working with FFI or NativeBoost, this Podcast episode is probably your favorite starting point.

Don’t shy away if the intro is spoken in german, beginning with the second sentence the podcast is completely spoken in english (well, you know, the kind of english you can expect from Germans and an Ukrainian ;-) ).