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

Monday, January 30, 2012

Friday, January 27, 2012

Tuesday, January 10, 2012

Sunday, January 08, 2012

Who needs the JVM - Tomcat on Smalltalk/X

The software engineering group from the czech university in Prague is running Tomcat on Smalltalk/X. So who needs the JVM? ;)

Wednesday, January 04, 2012

Impress.js

Somehow I like small JavaScripts for effects like these. code is here.

Thursday, December 29, 2011

A Mentoring Course on Smalltalk

The book "A Mentoring Course on Smalltalk" is available on Lulu.

Scripy

Scripy - a way to share Workspace scripts with others right from within you Smalltalk image. Read more at http://www.scripy.org

Tuesday, December 27, 2011

Monday, December 26, 2011

Phoseydon Beta released

Phoseydon - a tool aimed to model and create applications easily in Smalltalk, as Ruby does with Rails or python with Django. You describe a model, and from that model a relational database plus an object model plus an ORM mapping are fed from that model.

Squeak 4.3.

Squeak 4.3. is available.

Teleplace gone

The company Teleplace is gone, the software (written in Squeak Smalltalk) is still available and continues to live.

Wednesday, December 21, 2011

Smalltalk-80

Nice video on ST-80.

Renaming Projects: DBXTalk

Looks like it is not good to rename a project while it already got some attention on the web. The former SqueakDBX is now DBXTalk and you should follow this discussion if you are interested.

Sunday, December 11, 2011

Friday, December 09, 2011

Monday, December 05, 2011

BDD Extensions for Pharo

GUI testing in Pharo made easy - if you are interested then read this and this or checkout the project on Squeaksource. It is an experiment from Sean P. DeNigris for Behavior Driven Development (BDD) in Pharo.

Wednesday, November 30, 2011

Monday, November 28, 2011

Thursday, November 17, 2011

Seaside and SqueakSSL on Windows

Want to use Seaside SSL on Windows. Andreas shows you how to do it!

Cool - and thanks a lot (since I was the one asking about the state of this)

Tuesday, November 15, 2011

Monday, November 14, 2011

RTalk - Smalltalk on the JVM

Found the presentation video from the JVM Language Summit about RTalk to run Smalltalk on the JVM.

Sunday, November 13, 2011

Seaside Form Validation with Mold

There is a nice framework from Ken Treis for form validation in Seaside. The project is called "Mold" and available on Squeaksource and the Cincom Public Repo. Read this blog post with a detailed description.