Tuesday, December 30, 2014

VeriMeta

VeriMeta is a Pharo based tool that checks every or some packages in a metacello version. It reports unittest result, number of undefined classes, number of unimplemented messages sends, loaded mcz file is newset or not. With this tool, you can quickly know where to fix to make a flawless code supply. Load the code from the project page at SmalltalkHub or watch this tutorial video.

Monday, December 29, 2014

VirtualGPU quick demo

The VirtualGPU is a simple DSL/framework for parallel algorithms. It is implemented in Pharo and available on SmalltalkHub.



In this quick video Ronie Salgado will show the performance and the simplicity of this framework, by using as an example simple vectorial and image processing operations. The structure of this DSL is inspired by the VirtualCPU made by Igor Stasenko et al, and numerical programming such as Matlab and GNU Octave. This DSL works by composing simple OpenCL kernels.

Saturday, December 27, 2014

AWS SDK for Smalltalk

The AWS SDK for Pharo Smalltalk enables Smalltalk developers to easily work with Amazon Web Services with Amazon DynamoDB. Read more.

Friday, December 19, 2014

WKHTML2PDF for Pharo

Want to use http://wkhtmltopdf.org from Pharo to convert HTML pages or URLs to PDF?

Then read more here and checkout the project on STHub. You can also load it from the config browser in Pharo 4 beta.

Wednesday, December 10, 2014

HoneyGinger

HoneyGinger is an interactive simulation environment based on Smoothed Particle Hydrodynamics. Implemented in Pharo.

Dynamic Code Evolution VM

Found that on the web:

The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. The current hotswapping mechanism of the HotSpot(TM) VM allows only changing method bodies. Our enhanced VM allows adding and removing fields and methods as well as changes to the super types of a class.

Nice - should move Java a little bit closer to Smalltalk.

Tuesday, December 09, 2014

Chalten - working with times in Pharo

Chalten: an interesting library to work with dates, you can load it from the config browser in Pharo.

Monday, December 08, 2014

LampSort

Another nice article written by Sven.

GTSpotter - another new tool

A new tool in the GT (Glamorous Toolkit) to easily  spot objects. Read more here and here.
It is now part of upcoming Pharo 4.0.

   

Pharo binding to R

R is a free software environment for statistical computing and graphics. Now there is a Pharo binding to R released as an initial version. Read more.

Tuesday, December 02, 2014

Squeak on Plan9 OS

Looks like Alex Franchuk got Squeak VM working on Plan 9 operating system. Read more.

GetOpt for Pharo 3.0

When working with Pharo Smalltalk on the commandline there is already some support in class CommandLineHandlers to retrieve arguments and options. Now Phillipe Back has improved this even further by making Ian Piumarta's GST GetOpt work in Pharo 3.0.

You can load the code from SmalltalkHub. Getopt should be known to you if you ever work(ed) in C/C++ world. It automates some of the chore involved in parsing typical unix command line options. Java has something similar with CLI.

With Phil's project for Pharo it is now fast to use command line options and it allows also easy to debug them in the most lively environment you can work with.

Web development with Smalltalk

Web development presentation using Smalltalk by Mariano.

Scale command line handling for Pharo 3.0

Guillermo Polito once blogged about replacing bash with Pharo by using a custom command line handler. Now Philippe Back has packaged this up in a project called Scale for Pharo 3.0. Read more.

Onion Pharo

... or a way to continue modularizing Pharo is described by Guillermo Polito on his blog.

Smalltalk and business

within the context of Pharo was presented by Mariano Martinez Peck during "Summer School on Languages and Applications" 2014 in Cochabamba, Bolivia. Here is the presentation.

Monday, December 01, 2014

Thursday, November 27, 2014

Visual Design Inspector for Pharo

Vidi is a visual Design Inspector for Pharo. Read more details at:

 http://vidi.inf.usi.ch

To try out you can grab a premade image from CI or check
the project on GitHub.

Dont know about the status - I guess work is currently still in progress.
But I was already able to check some own projects with it. Nice!

Wednesday, November 12, 2014

Smalltalk with Robots

A presentation can be found here.

Kendrick

Kendrick is a platform for epidemiological modeling and analysis. It helps epidemiologists craft custom analyses cheaply. It's based on Pharo and MOOSE. It's open source under BSD/MIT.

Kendrick project participates to the Ebola Computing Challenge organized by Hacker League in October 2014

Sunday, November 09, 2014

ARM Stack VMs available

Pre-built Squeak stack and stack/spur VMs for ARMv6 (i.e. Raspberry Pi) and ARMv7 (i.e. BeagleBone Black, Parallella, numerous Chromebooks, etc) are now available at the same location as the other Cog and Spur VMs. Read more.

Thursday, October 30, 2014

Swiki in Squeak 4.5

Swiki was and still is one of the best (and most easy to use/maintain) implementations of a wiki. It is written in Squeak Smalltalk and I usually use the Winterlong release back from 2005. With it a Swiki server is easy to setup (just unzip and run) and as it stores the files in XML they are easy to backup, repair or query.

Now Chris got Swiki working in a recent Squeak 4.5. image also. Nice!



Smalltalks 2014 conference schedule

Smalltalks 2014's preliminary conference schedule is now available, check it here.

Smalltalk cheat sheet

Need a litte Smalltalk cheat sheet - then look here.

PharoDays 2015

Read all the details about the upcoming Pharo conference and check the doodle.

Chat on AmberSmalltalk

see here https://gitter.im/amber-smalltalk/amber

Wednesday, October 29, 2014

Thursday, October 16, 2014

PharoNOS - Pharo No Operating System

Booting Pharo as OS with only 55MB ISO image. Read more and take care where you use it (best on a virtual platform to not to erase disks)

Pharo 4 progressing

Pharo 4.0 is not yet released but progressing. Beside many many other stuff some of the interesting things include:


Tuesday, September 30, 2014

ESUG 2014 Photos

Photos from European Smalltalk User Group (ESUG) 2014 conference can be found here.

Smalltalk news on all sides

While I often blog about news in the open source Smalltalk scene one additionally has to note that the commercial Smalltalk vendors are also playing well. Interesting news from Instantiations about upcoming VASmalltalk and similar news from Cincom about CincomSmalltalk appear regulary on the web. Nice!

VISSOFT 2014

2nd IEEE Working Conference on Software Visualization is currently held in Victoria, CA. From the twitter posts it looks like the Pharo based agile visualization tools are interesting for the participants.

Friday, September 19, 2014

Visualize network latency using Pharo

Visualize network latency using Pharo. Read more here.

 


More infos here.

Bootstrap (V0.12.2) for Seaside

An updates version of Bootstrap (V0.12.2) for Seaside is available. You can easily load it from the Configuration Browser in Pharo 3.0 or the project site.

Beside more tests it features vertical tabs which is a simple wrapper of a component found on the web. 

Look at the online demo for Bootstrap to see how easy one can use them: http://pharo.pharocloud.com/bootstrap/browser/Vertical%20Tabs

Thursday, September 18, 2014

DataTables jQuery plugin for Seaside

If you build a web application using Seaside and Pharo, maybe using my Bootstrap wrapper project you might be interested in a good data table plugin to display tabular data.

There is a nice (commercial) jQuery plugin called DataTables. Esteban made it available as a plugin for Seaside now and describes this here.

Tuesday, September 09, 2014

Monday, September 08, 2014

New Release of Essence Sharp: Nīsān-2 (Alpha Build 23)

A new Release of Essence Sharp: Nīsān-2 (Alpha Build 23) is available. Read more.

Invitation to Smalltalks 2014

The Fundación Argentina de Smalltalk (FAST) invites you to the 8th International Conference on Smalltalk Technologies. Read more.

Kontolino demo vide

Kontolino.de - a Seaside Smalltalk application from germany company Objektfabrik is now also demonstrated in a first video:


Friday, September 05, 2014

Wednesday, September 03, 2014

Pharo Seaside : Looking at HTTP Traffic

If you want to easily look at the HTTP traffic in your Pharo based Seaside application then just evaluate:

       ZnLogEvent open

This will open an spy on the Zinc announcements. Then start your server using:

     ZnZinServerAdaptor startOn: 8080.

and use the webbrowser to browse your Seaside application. You will now see any HTTP exchange between the client and the server.

The video demonstrates this:

IDE4PLC based on Pharo

A free IDE for Programming PLC's (Programmable Logic Controller) based on Pharo Smalltalk written by Eric Nicolás Pernia from the Universidad Nacional de Quilmes.

Read more on the page site or browse the code on GitHub.




Monday, August 25, 2014

Teapot - another way for Pharo to serve the web

There are various options to write web applications in Pharo. You can use Seaside or Aida web framework or play with the new Tide framework connecting Amber with Pharo.

If you want to quickly write something you can use the plain Zn framework as this nice tutorial from Sven describes.

And now there is something inbetween that allow you to quickly write an application that serves static or dynamic content from Pharo. It is called Teapot and with a few lines of code you can provide JSON to the outside world or other REST based functionality. It also includes support for the Pharo port of Mustache (the templating engine).

The basic concept of Teapot is to define one or many URL Route(s) - either direct or as pattern (for instance with a Regexpression) and return an appropriate response from the Smalltalk side. Simple, lightweight and easy to use.

Woden - 3D graphics engine for Pharo

Woden is a multi-media graphics engine written in Pharo. This graphic engine is being designed for video-game development and data visualization.


Read more here.

TaskIt Version 1

The first version of TaskIT - a Task management library for the Pharo Language - is released. Read the announcement.

Also read the chapter for the upcoming Pharo for the Enterprise book.

Thursday, August 21, 2014

Tuesday, August 19, 2014

2048 Competition

Details on the 2048 Competition that was run by Cincom for ESUG2014:

 

QCMagritte

QCMagritte is a framework on top of Seaside to develop applications. Here are the videos from ESUG 2014:



Fencing with Smalltalk

Anick Fron is talking about Fencing Software at ESUG 2014 (first written in Java, then rewritten in Smalltalk).

The webpage is http://fencingfox.com




SqueakJS and Smalltalk 78

Bert is progressing with his SqueakJS project. A current version can be found here:

http://bertfreudenberg.github.io/SqueakJS/

He can also run Smalltalk 78 on the Lively Kernel. The nice thing is all the VM code is fully accessible - you can also check the virtual machine while it is running.

If you want to try it yourself just open this page in your webbrowser: http://lively-web.org/users/bert/Smalltalk-78.html

Really interesting are also the details (for instance on GarbageCollection and on how to run one high level language on another high language.

Here are the videos from ESUG 2014 on that:




Friday, July 25, 2014

Friday, July 18, 2014

Fun with Pharo (when writing books)

Beside the Pharo by Example, Deep into Pharo and the Pharo Enterprise book (available on CI, GitHub and as PDF) there is now also the idea of a book about "funny" things like implementing games in Pharo.

Therefore a new clone of the Pharo by Example book was created with the name "Fun with Pharo". The book is built on CI, the books source is hosted on GitHub and currently it includes already infos on how to build a digital Tamagotchi with Smalltalk or how the PhlappyBird game works.

The PDF for "Fun with Pharo" is already available.

If you want to contribute you should have a look and learn about Pillar and I would recommend to use either Online PillarHub or the new one-click image for PillarHub that you can run locally to write an own chapter.


Tuesday, July 15, 2014

Ephestos

A small demonstration of Ephestos , a communication bridge between Pharo and Blender.
Code is on SmalltalkHub - but actually it is only a simple methodn on the Pharo side:

sendMessage: aString
   |stream|
   stream := SocketStream openConnectionToHostNamed: '127.0.0.1'  port: 4000 .
   stream sendCommand: aString.
   stream close.



PillarHub

A one click image for PillarHub is available now on CI. You can now run it locally very easy.

Just download (for instance using PharoLauncher), run and check http://localhost:8080

If you still do not know what PillarHub is all about then read this.

PhlappyBird

A Morphic based Flappy Bird clone written in Pharo.

Code is on SmalltalkHub: http://smalltalkhub.com/#!/~zeroflag/PhlappyBird


Tuesday, July 08, 2014

Systemd socket activation

Max and Nik provide a Pharo VM patch for socket activation. If you run many (Seaside) images - each on an own port - this patch allows you to lower the server load and free up resources for images with a high request rate.

Read all the details here and watch the video:


Friday, July 04, 2014

Working with Smalltalk

New open jobs at Yesplan and Cincom. If you want to work with Smalltalk just contact them.

Thursday, July 03, 2014

Circle layout

now in Roassal. See here.

PillarHub

The people behind Pharocloud have implemented an online editor (and storage) for Pillar documents. So you can easily write documents in Swiki syntax that can be translated to different formats (HTML, Latex, PDF)

You can check it out here: http://pillarhub.pharocloud.com/hub/pillarhub/about

You can create an account and add own documentation articles. Source code is on SmalltalkHub.

Cyclades for Pharo 3.0

Cyclades is a pitch set explorer for adn developed in Pharo v3.0

The software has been involved in MIE (music images emotions), a GEM project which explores the emotional link between music and images and focuses on the different types of emotional synchronization and on possible invariants involved in associations. See some screenshots or download from http://cyclades.seasidehosting.st

Tuesday, June 24, 2014

Pharo and GoogleMaps

By accident I found http://smalltalkhub.com/#!/~smaass/GMaps a small project to access google maps from Pharo. Allows you to easily work with Google maps by querying for an address:

|g|
g := GoogleMaps geocode: 'Rue du Bel air, Paris'.
^ g address inspect

or visiting a location in the browser:

|g url|
g := GoogleMaps geocode: 'Rue du Bel air, Paris'.
url := String streamContents: [:s |
 s nextPutAll: 'https://www.google.de/maps/@';
    nextPutAll: g location x asString;
    nextPut: $,;
    nextPutAll: g location y asString;
    nextPutAll: ',16z' 
].
NBWin32Shell shellBrowse: url

Requires NeoJSON, so load this first from configuration browser.

Saturday, June 21, 2014

Geopolitical territory in Pharo

Territory is an application made in Pharo to build geopolitical territory, written by Hernan Morales Durand.

Code is here and a screenshot here.

Tuesday, June 17, 2014

ZnLogEvents

ZnLogEvents is the new logging mechanism of Zinc HTTP Components, the HTTP framework of Pharo. See how easy it is to build a live updating requests per seconds counter for a server.

Read more here or watch the video.

Beacon - logging engine based on Announcements

Tudor provides "Beacon" - a slim logging engine based on announcements following Svens idea about "logging with objects". Read all the details here

Thursday, June 12, 2014

Woden for Pharo

Ronie Salgado is working on OSWindow (support for native Windows) and Woden - a new 3D graphics engine for Pharo. Look at the first results:

Spur progresses

Eliot is moving Spur forward. Read more here and here.

Base62/Base36

Want to encode numbers in short strings in Pharo? Then use these utilities from Norbert. Read more.

Monday, June 09, 2014

Chain for Pharo

Chain is another nice example for the extensibility of the Smalltalk language. It is a simple extension that lets you chain keyword messages without using lots of parentheses.

Thursday, June 05, 2014

Monday, June 02, 2014

Refactoring in Pharo

will soon improve. If you have something to contribute (ideas/code) contact Mark Rizun.

2048 game in Pharo too

Looks like the 2048 game now has a Pharo implementation too. Video is here and pictures here and here.

Thursday, May 29, 2014

A Seaside shopping app

Signos Software Solutions developed an application called "Cloud Shoppie".

You can try it here and read about it here. The backend is developed using the Seaside Smalltalk web framework.

Wednesday, May 28, 2014

Smalltalk 2048 contest

There is a contest at ESUG sponsored by Cincom to program or enhance the game 2048 using Smalltalk.

Monday, May 26, 2014

Beta Test Scratch on the Pi

The Pi version of Scratch (based on Squeak Smalltalk) is available for beta testing. Feel free to help moving it forward.

It is not the only implementation: Phratch (based on Pharo Smaltalk) is basically running on the Pi too.

You may ask what are the differences between Scratch and Phratch: if I understood correctly from the discussion on the lists I think the Squeak version now has a paid maintainer (Tim Rowledge) and follows the original Scratch for kids. Phratch from Jannik Laval is more oriented towards a "Scratch for grown ups" and tries to profit from the cleaned up Pharo system and infrastructure.

Refactoring in Pharo project

is initially described here.

Friday, May 23, 2014

TM1 binding for Pharo

Looks like Markus Fritsche is writing a wrapper in Pharo Smalltalk with NativeBoost to use the TM1 C API. The code is available on github. Cognos is a Business Analytics Solution from IBM.

Accessing Twitter from Pharo Smalltalk

opens many new possibilities for information retrieval, processing or visualizations.

Here is a tutorial how you can try it out yourself.

Tuesday, May 20, 2014

Pillar book skeleton

Pillar is a markup syntax and associated tools to write and generate documentation and books. Essentially it is the Wiki syntax part known from Pier which allows for generation of PDF, Latex, HTML, ...

There is now also a Pillar Book Skeleton providing a predefined structure for source files, as well as usefull scripts to write books with Pillar markup. It is already used for the upcoming "Pharo for the Enterprise" and an updated version of "Pharo by Example" book.

Nice if you like to write books or documentation. The project also includes mods/bundles/packages for text editors, that provide improvements for pillar files editing.

TDD in Pharo

An example of test driven development (TDD) in Pharo:

Process Mining and Visualization with MOOSE&ROASSAL

Serge is playing with processes from event logs and visualization of resulting Petri nets with Roassal and Moose.

Ludus progresses

Ludus is an HTML5 game framework for Amber Smalltalk. Bernat continues to work on it.

 You can also try out a new fully functional game example.

Spectrograph in Roassal

as the name says.

Heise on Pharo 3 release

Heise (a german IT publisher and news source) is also reporting about the Pharo 3 release.

Darktheme for Pharo 3

I already reported about the dark theme for Pharo 3. Here is an info how to load it. There is also a video on it available:

How to use fading colors in GraphET

ObjectProfile posts some tricks on using Roassal visualizations on their Facebook page. One trick is how to to fade colors in GraphET.

Wednesday, April 30, 2014

Pharo 3.0 is out!

Finally Pharo 3.0 release is pushed out of the door.

The new shiny Pharo 3.0:
 - includes many new enhancements
 - includes many contributions and fixes as this visualization proves
 - together with a new website http://www.pharo.org 

Also the config browser is filled with many projects to load, many more are available on SmalltalkHub, GitHub and SqueakSource

Try it out!

...and some cool Smalltalk history

on message names like select, reject and collect: explained by Göran.

MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk

This demo only scratched the surface of Smalltalk ... but may be Ruby developers get a glimpse of it:


VNA Format Exporter for Pharo (for visualizations)

Read more about this.

Running Squeak smalltalk on the BeagleBone

A quick introduction to running Squeak Smalltalk on the BeagleBone

 

BookOfTrees with CodeCity

The "The Book of Trees: Visualizing Branches of Knowledge" also includes also the CodeCity tool. Nice!

FFI for ARM

If you follow the Squeak and Pharo development yoou may know that there is a package called "FFI". This package provides a foreign function interface so you can call external modules on your operating system like Windows, Linux and Mac. So you were able to call external shared libraries, for instance a DLL written in C. FFI was originally written by Andreas Raab.

After FFI there was another package called "Alien", designed and implemented by Eliot Miranda which had additional support for callback.

After all that there was a new external interface implemented by Igor Stasenko for Pharo called NativeBoost, that not only allows to call external functions but if you like directly generate native assembler code using the AsmJIT port for Pharo.

While FFI was and still is a loadable and usable package in Squeak and Pharo, the newer NativeBoost (NB) package is now also part of the standard Pharo image. There will also be a chapter on NB in the upcoming Pharo Enterprise Book.

Most of this work is bound to x86 CPU architecture (I know was/is work going on to provide ARM support in AsmJit as well).

But this is just a summary of the history and current state. What is new is:

As you know new devices like the famous RaspberryPi run ARM processors. Now Douglas McPherson provided/announced initial FFI support for ARM architecture this week and the VM maintainers currently integrate.

All existing FFI tests now already pass for ARM (at least on Raspberry Pi). Really cool!



Amber Smalltalk and Enchant.js

Develop Browser games with Amber Smalltalk and the Enchant.js wrapper. You can develop/debug browser game super interactively in Amber Smalltalk.

https://github.com/mumez/enchant-from-amber

Thursday, April 24, 2014

Inti in Pharo

Inti is a cool visualization to compare and handle instances of MessageTally.
Read more here or try the code which is on STHub.

TweetReport

Analysing tweets during a TV program with the help of  MapBuilder and GraphET:

   http://www.tweetreport.com.ar

Done by Arturo Zambrano via ObjectProfile.

Ansible playbook for Pharo 3.0

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.

There is now also an Ansible playbook to download and deploy Pharo 3 available. As Xavier Messner wrote: "Now you have no excuse to not test Pharo 3 ..."

Tuesday, April 22, 2014

Spur performance report...

Eliot progresses with Spur. Read more.

Marina

Marina - a CMS built on top of Pillar and Tide using Amber and Pharo. Not yet ready but I should look a little bit deeper.

Monday, April 21, 2014

James Robertson

This blog post is devoted to James Robertson - I was deeply saddened by the news of his passing last week.
My deepest condolences to his family and friends.

We both shared a common interest in spreading technical news on Smalltalk, dynamic languages and OOP technologies as we both devoted our technology blogs to it - often pointing to each others news items.

We first met personally in March 2000 in San Diego - as part of a group of crazy people coming together for hacking on various stuff to unify and harmonize the ST industry world with the first CampSmalltalk.

Following his example I started blogging in 2004 and over the years we exchanged a bunch of emails, comments and posts on technical topics.

I enjoyed reading his blog, was listening to every single episode of his "Industry Misinterpretations" podcast series, used his BottomFeeder aggregator, enjoyed his videos from conferences that I missed and I appreciated his short videos on how to use various technologies. James - thanks for all of that!

The amount of work and time you devoted to moving us all forward is just amazing. You will be missed!



Thursday, April 17, 2014

Mapless

Mapless is a small framework for storing objects in a key->data fashion (i.e.: noSQL databases) without requiring any kind of object-data map. So far only MongoDB is supported. Read more here or on GitHub.

Aggregate

Aggregate is a small persistance framework with a clean API and full ACID features that uses OmniBase as backend and supports BTree-based indexing. Find more on GitHub

Versionner for Pharo 3.0

How to use the new Versionner tool in Pharo 3.0:


FontAwesome for Seaside

FontAwesome is (as you may know) an iconic font designed for the user with Twitter Bootstrap.

I now created a "FontAwesome for Seaside" project - which is a small Seaside wrapper for the FontAwesome project (using the latest version 4.0.3).

This is intended as an addition to the already available "Bootstrap for Seaside" project that I wrote and both should allow you to give your Smalltalk based web application a nice stylish look.

The project is located on STHub, there you will also find the documentation. A live demo can be found on http://pharo.pharocloud.com/fontawesome.

To try yourself load it from the Pharo 3.0 configuration browser or read the docu to see what is required.

Tuesday, April 15, 2014

AstroCloud - using Pharo Smalltalk and Roassal engine to visualize Stars and Molecular Clouds

AstroCloud is an application that uses Roassal engine (built on top of Pharo Smalltalk) to visualize astronomy images. Read more or have a look at the pictures here.

Code is on SmalltalkHub.

Thursday, April 10, 2014

Wednesday, March 26, 2014

CFP - IWST 2014

CALL FOR PAPERS for the International Workshop on Smalltalk Technologies 2014 in Cambridge, England; August 19, 2014

Read more.

JNIPort for Pharo 3.0 alpha

Joachim announced JNIPort for Pharo 3.0 alpha (a bridge between Smalltalk and Java). Still slow - but already usable.

Airflowing video

Looks like Airflowing.com created a video channel on youtube. The application is written using Seaside the Smalltalk web framework:


TinyTower Assist

TinyTower Assist is an assistant program for the mobile game TinyTower, the assistant is written in Smalltalk.

Here is a video showing the Pharo based assistant in action and on Twitter there is a picture showing you how to install it from the project repository on SmalltalkHub.

Monday, March 24, 2014

Artefact PDF

Artefact (the PDF framework for Pharo Smalltalk) has a new website:

https://sites.google.com/site/artefactpdf

Any progress?

Found this quote on twitter:

"meanwhile Oracle is making Java slowly, slowly look more like Smalltalk. We'll probably get there by 2080"

I have a similar impression. For example in Java 8 you can now write:

"HelloWorld".chars().forEach(each -> System.out.println((char)each));

compared to Smalltalk:

'HelloWorld' do: [:each | Transcript show: each ]

I think this was possible back in 1972 with Smalltalk-72 already.


Thursday, March 20, 2014

PathObjects

There is a Squeak/Smalltalk implementation of PathObjects, a concept of interactively diagraming object interactions to assist developers in object-oriented program comprehension.

The project is using the Roassal visualization engine and the implementation is done by Leonhard Schweizer as part of a master's thesis at HPI's Software Architecture Group.

The project is on GitHub as well as on HPI's SqueakSource3 instance.

Tuesday, March 18, 2014

Phratch and Ubuntu

Phratch is now installable for recent Ubuntu versions. Here is the PPA (Personal package archive)

Pillar Inspector

Nice: Damien experimented with a specialized inspector for inspecting Pillar Wiki Syntax document:


 

Sunday, March 16, 2014

Smalltalk and Seaside usage in Startups

In 2008 there were some interesting news that a Vancouver-based startup using the Seaside Smalltalk web framework, has been bought by Live Current Media for $5 million. The Smalltalk web application "auctomatic.com" they had built was helping sellers with eBay. I also reported about this in my blog.

According to press the founders of the startup John and Patrick Collision becoming overnight millionaires (as you can also read on the wikipedia page of one of them). Here is a screenshot of the application:



Another nice Smalltalk application that was written in Seaside by a startup was dabbledb.com. It was co-developed by Avy Bryant - original creator of Seaside itself. In 2011 the company was acquired by Twitter and Avy worked for Twitter then. The website of dabbledb.com is meanwhile shut down - but there are some nice videos left on youtube showing the application in action:



Why do I tell you this - as it's nothing new that startups grow up and get successful. A big part of this are always the people behind the scenes - but often key to success is also the technology in use that enables them to meet their goals. And it is not a secret that Seaside and Smalltalk are innovation driving technologies.

Meanwhile the brothers Patrick and John Collison co-founded another company called "stripe.com". The company provides an online payment solution that allow developers to accept credit card payments online using an API. Guess who is working with them: Avy Bryant is also part of the stripe.com team.

What I found interesting is that this week I stumbled upon a Twitter post from John Collision, showing Patrick Collission demoing Pharo Smalltalk (and Seaside) to their stripe engineers.

So it looks like again there is a place for Seaside and Smalltalk (here Pharo) in this new startup. I dont know if it is used for prototyping or directly within their technology stack. But I'm sure both will drive their new business forward as they did in the past...







Thelonious

Thelonious is a Tool for automatic fault localization. Currently for Pharo 2.0, read more on the project page.

 

Thursday, March 13, 2014

Home automation using Smalltalk

Smalltalk is used in many scenarios - so there is no surprise that it is also used for home automation.

There is a product known as VASERControl and it is written in VASmalltalk. Joachim knows more - read in his blog post here.

If you need some visual impressions look a these videos.


Merchant - credit card processing library

Merchant - not really new, but might be useful.

Wednesday, March 12, 2014

Smalltalk application in chemoinformatics

Found on twitter: Smalltalk application in chemoinformatics - RMapViewer visualizes reaction paths among isomers. Watch the videos here.

The Hitchhiker's Guide to ...

Cool - "Hitchhiker's Guide to the Galaxy" is being streamed by the BBC, one episode each week!

Tuesday, March 11, 2014

BabyMock 2 for Pharo 3.0

Also the 2.0 version of BabyMock version is out as of today. You can load it from the config browser in Pharo 3.0. Read more about the changes here.


CodeCity

The first version of the brand new CodeCity is out.

CodeCity is a 3D visualization engineased on a city metaphor, which enables us to depict software systems as cities - but it can also be used as a general visualization engine for any other kind of data.

Click on one of the below images to see some samples or try out yourself.


RenoirSt 1.0.0 Release for Pharo 3.0

RenoirSt - a DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk is now ready in version 1.0.0 and can be loaded from the config browser in Pharo 3.0.

Read the announcement, the documentation, visit the project page.

Dynamic exploration of a Postgres database

...  with the GTInspector in Pharo. Read more.

Friday, March 07, 2014

HighchartsSt for Seaside

Want to do charting using Seaside? Then have a look at HighchartsSt - a Highcharts Js API wrapper for Pharo Smalltalk. Although it is still in the early steps of development, it already includes some examples that give an idea on how to use it.

Nice!

Mobile Smalltalk options

Maybe you already know about
All these are options for building Smalltalk apps running on a mobile device (like the nice geometry app called "DrGeo" from Hilaire Fernandes or Phratch for Android). Still these environments do not yet offer a deep integration into the mobile world and even commercial ST vendors do not yet offer an easy possibility to run ST code on mobiles.

Now David Buck is trying to fill this gap and is working on another Smalltalk VM for Android. Very interesting and I hope he makes good progress so that nice Android/iPhone apps built in Smalltalk will appear soon in appstores.

Read more about it here about it or listen to James podcast.

Tuesday, March 04, 2014

Renoir.St

Renois.St - a DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk. Visit the project website and try out in Pharo 3.

Sunday, March 02, 2014

Controlling EV3 robots using Phratch

This is a short video about Lego EV3 Mindstorm robots being controlled by Phratch using the Jetstorm EV3 bridge


Phratch - OneClick available

Phratch is a Scratch (http://scratch.mit.edu) port on Pharo. It is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and more as software programming.

Now there is a one click distribution available to run it on Mac, Linux and Windows.

NativeBoost binding for SQLite3

SQLite3 is a nice small relational database. For the open source Smalltalks like Squeak and Pharo there is a long history in accessing it:

 - if I remember correctly an initial wrapper for SQLite 2 came from Avi Bryant
 - then a first cut on an FFI wrapper for SQLite3 was created by Claes-Fredrik Mannby
 - I cleaned it up a little bit then and moved it to Metacello, it was on Squeaksource
 -later I moved it to STHub and it is still usable in Pharo 3.0

Still all this was based on the usual FFI interface. FFI is still working but Pharo meanwhile has NativeBoost which allows to do external bindings.

Now Pierce Ng took action and created a NativeBoost binding for SQLite3. The project is called NBSQLite3He blogged about it and you could load the code from ss3.

DBPedia: Query Wikipedia from Pharo

You can query the english Wikipedia dataset from Pharo 3 using SPARQL. Read more.

Friday, February 28, 2014

Spec docu page

Announced by accident as it is not yet fully ready - but nonetheless I already share it since it is really a nice docu page for the Spec UI framework.

http://spec.st

Thursday, February 27, 2014

Pillar inspector

Following my last post on Pillar you should also watch this video:


Pharo 3.0 on Ubuntu 13.10

Bored from Ubuntu 13.10 - then spice it up with some Smalltalk.

 

Sparklines in Pharo

Alexandre is experimenting with Sparklines in Pharo. Read more.

Note that the code requires a Moose image built on Pharo as this already have the correct fonts.

If you want to use it in the standard Pharo image without Moose you have to go to World menu, select "System" -> "Settings" to open the settings browser. Now go to Appearance and Freetype, disable and reenable it so platform fonts get loaded. Then for the standard fonts select some "Source Code Pro" or "Source Sans Pro" like font and apply it as the font to use.


Tuesday, February 25, 2014

Saturday, February 22, 2014

The Path Tools Framework

Michael Perscheid from HPI announced the Path Tools Framework which is provided in Squeak.

 "The Path Tools Framework comprises several development tools for supporting typical software maintenance tasks such as debugging, testing, and program comprehension."

You should read the provided descriptions or watch the screencasts. Really interesting

Thursday, February 20, 2014

FileTree and Cypress support in upcoming Pharo 3.0

One of the interesting additions in soon to be released Pharo 3.0 is the out of the box support for FileTree repositories in Monticello. With this you can easily store your source code also in the file system and use external versioning systems if you like.

A short example:

Create a new package "MyPackage" and add a new class:

Object subclass: #Foo
instanceVariableNames: ''
classVariableNames: ''
category: 'MyPackage'

In the Monticello Browser (after adding the package) click on "+Repository" to add a new repository and select "filetree://" to the package. The system will come up with a file dialog to query for a folder to use.

Now save your package and you will see that a subfolder "MyPackage.package" is created. It will also include files with the source code. Now yoou can use any external versioning system if you like.

Regarding the file format: the Cypress project is used here - a cross Smalltalk dialect, disk-based package import/export format. More infos can be found on https://github.com/CampSmalltalk/Cypress

With this right built in it should also be much easier to exchange code between other Smalltalk Systems and Pharo.

Wednesday, February 19, 2014

Amber Smalltalk in use

This game is written in Amber Smalltalk. And this app too.

Nice!

Smalltalk reddit

There is a subreddit dedicated to Smalltalk links http://www.reddit.com/r/smalltalk

Pillar - markup syntax and tools for documentation and books

Pillar is a markup syntax and and a project with associated tools to write and generate documentation and books. It is written in Pharo and covered with many unit tests.

Basically it is the wiki syntax part from Pier extracted into an own project (so it can be used independent from Pier CMS).

But it also adds many new features like exporting into HTML, LaTeX and markdown. You can use the Mustache templating engine, configure numbering of sections, customize the export, syntax highlight code blocks, ...

If you already use the soon to be released Pharo 3.0 you can just load it from the config browser easily and try out.

While it is nice that you can use this from within your Smalltalk environment and access it from your projects code the idea is to not only use it from within the development image.

The package contains command line handlers to run it from a shell and Damien also prepares installable packages to make it run on platforms like Ubuntu. This should increase the end user experience for people who just want to use it for writing documentation or books without ever touching the implementation itself.

If you want to knnow more you should really read the excellent documentation and also check out the new cheatsheet summarizing the easy to learn syntax.




Yesplan - event planning using Pharo and Seaside

Yesplan.be - an interesting web based event planning software which is written in Pharo and Seaside shares some more numbers:

"4012 automated tests, unit- and webui tests, running time 3h. Building every day and counting…"

Nice - especially if you watch one of the videos of the app:

 

Pharo on Raspberry Pi

Pharo VM compiles for Raspbian and now Pharo runs totally on Raspberry Pi.

Tuesday, February 18, 2014

Application menus in Spec

Spec now provides the possibility for application menus (a menu toolbar).

Willow - Web Interaction Library

Willow is a Web Interaction Library that (according to its description) eases the burden of creating responsive web applications. Code is on STHub. Read about it here or watch the following video.