Friday, July 06, 2012

Pharo 2.0 progress

If you grab the latest Pharo 2.0 version from the CI server you will see that it has some countless new features:

 - one is Spotlight search which can by accessed by hitting SHIFT + ENTER
 - another one is grouping of windows: just select "Create Windows Group" from the window menu
    (you can drag and drop for instance two browsers together to have them tab-styled in one single
     window)- this is an idea from TWM docking windows.
 - Nautilus the new code browser
 - code completion in all tools
 - some initial metacello configurations using Tools -> ConfigurationBrowser
 - Fuel is now part of Pharo
 - if you load ScriptManager from the config browser you will notice that it is
    using Fuel (since Fuel is now part of Pharo) and also allows for code completion
 - the new filesystem code is integrated
 - you can now also set the Monticello package cache directory in the settings browser to easily share
    the *.mcz package cache folder between images
 - the new Spec UI is integrated allow you to easily build tools

More things to come in the near future:
 - Zodiac (SSL support) is integrated and soon the SSL plugins will be part of the distribution
 - Freetype, Cairo Libs bundled
 - ....

There is also a new way how fixes got reviews:
 - you open a bug in the Pharo issue tracker
 - then submit a fix as a slice to the inbox
 - set the state to ReviewNeeded
 - now "Ulysse" the code monkey script checks your fix by running all tests automatically - so
   it is easy to see in advance if the fix is working or breaking the latest builds

This speeds up the integration process.

Expect more things to come ...

Join Smalltalk

Thats why I like the language: it easy, extendable and expressive:

';' join: #(1 2 3 4) returns '1;2;3;4'

and

 String lf join: #('First line' 'Second line')  returns

 'First line
Second line'

Amber news

Some Amber news from Göran. I'm very curious ...

Thursday, July 05, 2012

Monday, July 02, 2012

Wednesday, June 27, 2012

Wednesday, June 20, 2012

Alan Kay: Extracting energy from the Turing Tarpit

Webcasts from the ACM Turing event. One is a presentation from Alan Kay named "Extracting energy from the Turing Tarpet". Alan uses the Frank system (remember Frankenstein monster) which is based on Squeak Smalltalk. As ever a very interesting presentation. Hope to find the time to watch also the others.

If you want to find it on the page click into the playlist in the video and scroll down to Alans talk.

Thursday, June 14, 2012

Softwarenaut

Softwarenaut is an interactive visualization tool for understanding software systems. It was originally written in VisualWorks. Looks like it is also ported to Pharo.

Wednesday, June 13, 2012

GNU Smalltalk on Android

I already reported that Pharo/Squeak Smalltalk is able to run on Android using CogDroid project.
Hilaire used this to implement his DrGeo for Android which is available in the Google Market.

Now Stefan crosscompiled GNU Smalltalk to Android. A binding to Android APIs is still missing - but it basically runs. The source is on GitHub if you want to help.




Fuel Smalltalk Serializer

Want to know more internal details about Fuel - the new Smalltalk object serializer written in Pharo? Then read this PDF.

TDD using BabyMock

Nice video on TDD (Test Driven Development) using BabyMock with Smalltalk.

Friday, June 08, 2012

Waterpool

Take care with the water on your desk. Otherwise this can happen to your Smalltalk browser. Code is here.

Wednesday, June 06, 2012

Deep into Smalltalk

The "deep into Smalltalk" school from ESUG is available online:

 - the page
 - the videos (youtube)
 - the videos (for download)
 - the slides

Tuesday, June 05, 2012

Aida Online Workshop

Smalltalk offers nice technologies for web development ranging from Seaside, Iliad up to Aida and other frameworks.

Between 18th and 22nd there will be an online workshop on how to create a website using Smalltalk with the Aida framework.  Janko Mivsek (creator of the framework) will answer questions.



Smalltalk-80 on the iPhone

Here is a video on running the old ST-80 on the iPhone.

Magritte 3

Nice video on Magritte 3.

Voyage - persisting objects

Voyage is another approach in the Smalltalk/Pharo world to persist object models. It was written by Esteban Lorenzano, I think mainly with the goal to persist data from Pier (the CMS system) images.

You will find his slides from the Pharo 2012 conference here. Francois Stephany is a beta tester and is already blogging how to use Voyage in conjunction with MongoDB.

The code can be found in the Voyage project at smalltalkhub.

Thursday, May 31, 2012

Amber in use at SmalltalkHub

http://smalltalkhub.com is not only a new website for Smalltalk. If you look at the bottom of the page you will notice that is based on Pharo, Seaside, MongoDB and also the client side Amber Smalltalk that helps running the nice looking pages.

If you have have Google Chrome just hit F12, go to the JavaScript console and evaluate:

"smalltalk.Browser._open()"

to open the Amber class browser. It is very nice to see the classes in Hub-Amber-... categories and I like how easy one can understand and encapsulate client side rendering.

Hope to find some time to dig deeper into Amber especially after Nicolas has some nice ideas to push Amber.

CogVM Object format

Guillermo explains the details of the CogVM object format in a blog post. I already mentioned Marianos blog that should also help you digging deeper in virtual machine building and related technology. Currently there is also a discussion about a new object format that Eliot want to introduce. If interested check out the vm-dev list.

Destroy all software (fun)

After watching this video I opened a Smalltalk image and tried things like "#() + #()" and the like.

Friday, May 25, 2012

Squeak on top of JavaScript Linux in the web browser


Exotic but possible: Squeak virtual machine now also runs on JSLinux using the mini.image. 
JSLinux is a x86 PC emulator written in JavaScript and running in a web browser.

Here is the video and announcement from Pavel.

I expect more and more emulators running on top of JavaScript. Maybe one day it is fast enough to load and run Windows or Ubuntu on top of the JS engine right within your pc/tablet/phones web browser. Interesting times...


Thursday, May 24, 2012

CodeMirror - Styling Seasides WABrowser

I wrote a simple seaside wrapper today for the CodeMirror JavaScript Editor, the code lives in

    http://ss3.gemstone.com/ss/Seaside-CodeMirror

It was actually very easy to wrap due to the new WAFileMetadataLibrary facility allowing for nested folders in latest Seaside versions.

Since this editor includes also a "Smalltalk mode" you can also use the project in combination with a simple patch changeset for WABrowser to style your web served Seaside code browser/editor:
 

Wednesday, May 23, 2012

Monday, May 21, 2012

Sunday, May 20, 2012

Roassal visualization engine


Roassal is a new agile visualization engine. With the project you can graphically render objects using short and expressive Smalltalk expressions. It is MIT licensed and free.

Tuesday, May 08, 2012

Timeouts in Smalltalk

Thats why I like Smalltalk (and Blocks) - powerfull and easy to understand:


[ self doSomething ]
valueWithin: 1 day
onTimeout: [ self doSomethingElse ].

Monday, May 07, 2012

STON - Smalltalk Object Notation

You may know JSON format from JavaScript - now Smalltalk has something similar. It is called STON - Smalltalk Object Notation and infos about it can be found here.

Wednesday, April 25, 2012

Artefact - PDF framework for Pharo

Oliver created a PDF Framework for Pharo called "Artefact". Nice to have a new alternative.

In the past I used my LibHaru wrapper for Pharo - but that one requires a native library. Christians work generating PDF directly in Smalltalk is only available for VW and not yet ported to Pharo.

Monday, April 23, 2012

Squeak on a BeagleBone

Squeak running on BeagleBone (an embedded ARM V7 platform). Read more!

2nd favorite language

Just stumbled over this presentation from Eric Clayberg with an introduction to Dart for Smalltalkers. You can also watch the video here. As you may know Dart is an attempt from Google to provide a better language than JavaScript for structured web apps. Its interesting and in my spare time I follow new Dart development by looking at dartlang.org or Dart news on Google+.

One interesting thing I noticed is that Eric's presentation is dated March 2012. Nothing special for you. But at least something that made me personally think. Exactly 12 years ago in March 2000 we both attended the first CampSmalltalk in San Diego where a bunch of Smalltalkers gathered to make the world a better place and have a great time. It was my first visit to the states and yes - we all had a great time.

At the Camp Eric had a few copies of the original Smalltalk issue of the BYTE magazine and I got the last one he had left. I was so happy about this historical trophy - it still has a special place in my library!
Eric is meanwhile working for Google as Engineering Manager for the new Dart Editor at Google. One of his slides in the Dart presentation is:

"Let us know if Dart is your new 2nd favorite language :)"

I have to admin I'm not sure what my 2nd favorite language is. There are many nice languages out there:
  • Is it JavaScript since it is widely present and IMHO the dynamic languages with the best adoption
  • Is it Dart since its new and better structured than JavaScript?
  • Is it Groovy which is a nice scripting language for the JVM with Java, Lisp and Smalltalk roots and Smalltalk syntax on the wish list.
  • Is it Amber since it allows me to run Smalltalk on JavaScript
  • Is it Java since I (have to) use it in daily work and is the most wide spread
  • Is it SQL since (relational) data often survives code/programs?
  • Is it C since stupid TIOBE ranking says it has now overtaken Java.
When I look back these 12 years many new languages have evolved and I like that now more and more people turn to dynamic languages since they now see the benefits to build dynamic systems. Unfortunately only a few walk in to metaprogramming. So it's not really clear to me what my 2nd favorite language is.

But I know what my first favorite language is and the programming future still has to be invented.

SVG importer for Pharo Athens

Igor is working on an SVG importer for the Pharo Athens framework. He made some progress as this screenshot proves:

Pharo Launcher for Mac

Working with Pharo Smalltalk on Mac? Then have a look here for a nice launcher.

Pharo 2.0 development started

Pharo 1.4 is released - so the community starts Pharo 2.0 development. The webpage has the details.

Cuis 4.0 released

Juan released Cuis 4.0

Thursday, April 19, 2012

Nautilus - the reborn System Browser

When working with the new Pharo 1.4. Release please do not forget to try Nautilus - a new browser. Mariano has written a nice blog post about it.

Collabri - a new Web-App, written in Amber Smalltalk

This is a video on a new Web-App, written in Amber Smalltalk (which is running on top of JavaScript). The server uses node.js and socket.io with Amber.

Video on Athens for Pharo Smalltalk

There is a new video about Athens available - the new vector graphics framework for Pharo.

Monday, April 16, 2012

Pharo.org

The Pharo community now owns http://pharo.org domain.

Amber Smalltalk on PhoneGap

Apache Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript.

The project now has become PhoneGap and if you like you can already use Amber (the Smalltalk on top of JavaScript) with it.

Read more.

Inside OOVM

Kasper V. Lund (who is now working on Google Dart Language) provides a link to his Master thesis which he wrote with Jakob R. Andersen called "Revolutionizing Embedded Software".

Both worked together with Lars Bak in the OOVM team. Lars should be known to you from his V8 JavaScript Engine implementation in Google Chrome, the Strongtalk project and others.

OOVM is a Smalltalk based virtual machine that allows programmers to hook in remotely and modify code on the fly without needing to reboot the environment.

This VM allowed you to connect to running embedded devices and directly manipulate every object, class, or method. Which is a very known concept for us Smalltalkers since the beginning it allowed interactive programming environments for embedded system developers as well.

However - interesting paper.

Thursday, April 12, 2012

GSoC Update

13 stipendiums got accepted by Google for Smalltalk! Great work and a good investment into the future.

Tuesday, April 10, 2012

Pharo: from Kernel to Core

As I already posted Pavel is working on a small Pharo Kernel. The idea is to have the Pharo core image, throw out packages to find a minimalistic kernel image and by loading the packages back prove that it is able to boostrap Core from Kernel again.

Pavel is now using Fuel to load the core packages back into the kernel image to recreate a Pharo Core image. As you can see and read here this really speeds up the process.

Monday, April 02, 2012

Smallsource

Smallsource is a project from Dale to allow you to store Monticello packages
within the file tree. This allows you to use traditional versioning
systems like Subversion or Git from Pharo Smalltalk.

Check out the README of the project.

Dale gave a presentation on this called "Practical Git for Smalltalk"

Vancouver Smalltalk Developer Meetup

And a new Vancouver Smalltalk Developer Meetup group. More infos here.

Ha Noi Smalltalk Developers Meetup

Regular meetings for developers interested in Smalltalk in Ha Noi with focus on Pharo.

Saturday, March 31, 2012

Made with Amber

Amber - the smalltalk on JavaScript is already used in customer products.
Laurent knows more - you can watch the video too.

Snap!

In the tradition of Squeaks Morphic and the Scratch platform there
is a nice library for JavaScript with a morphic implementation to BYOB
(build you own blocks)
. Version 4.0 is still in pre-alpha status, but here's a preview available.

The current result looks really good. Details can be found on Jens Mönig's blog.

Monday, March 26, 2012

Pharo Build Pipeline

The Pharo image is used a base image for various software builds - details can be
found on the Jenkins Continuous Integration tool

http://ci.pharo-project.org

Also check out the visualization of the Pharo build pipeline.

Thursday, March 22, 2012

Smalltalk 71

Smalltalk 71 one pager.

Old Hardware

Dont know what to do with old hardware? Use Pharo Smalltalk to play with it again.

TicTacToe

You start learning Smalltalk - then look at the simple TicTacToe example game you can implement in Pharo.

STIC in Arizona for 2013

Smalltalk Industry Council Heads to Arizona in June 2013

Testing Webapps with Pharo

Selenium is a nice web app testing system. And there is Selenium Remote Control which can be used with Pharo web tester to test your web interfaces. There is also a video showing how to do that.

IWST 2011 papers

The International Workshop on Smalltalk Technologies (IWST) 2011 proceedings are currently on-line.

Pharo and (Oracle) databases

Want to work with Pharo and Oracle using DBXTalk. Here is some help.

Looks like the DBXTalk project makes good progress - there is Neptuno the database browser and Phoseydon Beta2 allowing you to define entities using a simple DSL.

Pharo Conference in May

Want to visit the Pharo conference in May?

Then check out this page: http://pharoconference.eventbrite.com/

Wednesday, March 21, 2012

Extended File Library for Seaside and Twitter Bootstrap

Subclasses of "WAFileLibrary" allow you to serve static files directly from Seaside without the need for a stand-alone server like Apache.

This is nice - but unfortunately they were all served in the same resource folder/url. If you look at most JavaScript components then often separate folders for CSS or images are used which can be very tricky if you want to wrap them in Seaside.

But there is help: Nick Ager works on an improved WAFileLibrary.

He also used this to wrap the Twitter Bootstrap library, check it out at:

http://twitterbootstrap.seasidehosting.st/

Object profiling

Looks like there is now a new small company founded to help profiling software. They use VisualWorks and Pharo and they use their own MIT licensed "Kai" and "Hapao" projects. I already reported on "Hapao" earlier.

VAST Videos

Nice - a new page for videos from Instantiations about VAST (Visual Age Smalltalk) and Smalltalk in general.

Thursday, March 15, 2012

CSS Frameworks for Seaside

Paul made some code available that should easily allow you
to use some of the new CSS Frameworks within your Seaside
application. Nice!

BioSmalltalk

BioSmalltalk is an open source library for doing bioinformatics with Smalltalk. You can read a little bit about it on the following blog: http://biosmalltalk.blogspot.com/

‎3 Smalltalkers presenting at DYNCON 2012

Gäran Krampe, Jason Ayers and Nicolas Petton - 3 Smalltalkers presenting at the dynamic languages conference.

Wednesday, March 14, 2012

Optimizing Seaside: Cacheable

Sebastian Sastre shares a project usefull for optimizing Seaside apps.
It is called Cacheable.

"Cacheable will make you able to use the same code in the app but making your web applications able to cache resources forever but preserving your ability of updating them whenever you need to."

Spelling Services for Pharo and Squeak

In the past John M. McIntosh created a spellchecker plugin for the
MacVM for Squeak. Now Tim announced that there are also bindings
for Linux and Windows available.

You will find it as "ConfigurationOfSpellingServices" in the MetacelloRepository on
Squeaksource.

The development repo is at the Squeaksource 3 instance at HPI Institute.
Its open for read write - so if you want to contribute...

EToys 5.0 Beta 2 is ready

... for you to try out.

Smalltalk and CI

Pharo already provides a CI server for daily builds:

http://ci.pharo-project.org

I personally use it to get the latest versions and you should do as
well if you are interested in up to date images.

Now some work is going on in the Squeak community to reuse the build
scripts from Lukas
as well and I think we can soon expect

http://www.squeakci.org

to fill up with Squeak CI built images. Cool and a big thanks to the people providing that!

Tuesday, March 13, 2012

Wednesday, March 07, 2012

SmallCharts website

Hey, Christian announced that his company website has a new design. The company is offering a tool (built in VW Smalltalk) to easily build financial charts for newspapers. Nice!

Pharo Launcher

There is a new video available about Pharo Launcher.

Friday, March 02, 2012

S8/U8 Social Smalltalk development

There is a new social platform for Smalltalk development called "U8".

It is based on development with S8 - a Smalltalk running over javascript execution engines on all major browser flavors.

You can find some details here or visit the NYC Smalltalk user group on 6th of March (details on the meeting here).

Wednesday, February 29, 2012

Styling your (VisualWorks) Smalltalk app

There are Smalltalks with native UIs (native widgets painted by the underlying OS) and other Smalltalks who paint the windows and widgets themselves.

With the last ones you can even built an own "Cross-Platform UI Look" like this UI example from a VisualWorks based product from http://www.cognitone.com shows.

Wednesday, February 22, 2012

Play with Arduino and Pharo

In case you want to play with Arduino and Pharo Smalltalk then check out this blog post.

Also note that since the VM packaged with the 1.3 one click image from the pharo-project.org download has a bug when using FFI package you should use the latest Cog VM as it is also described here.

Tuesday, February 07, 2012