Thursday, January 27, 2011

Seaside AJP Adaptor updated

Phillipe updated the AJP adaptor for Seaside. So if you already run Apache in front of your Seaside image feel free to update.

Tuesday, January 25, 2011

Monday, January 24, 2011

Saturday, January 22, 2011

Friday, January 21, 2011

Smalltalk and table-based hand gesture tracker

Nikolay plays with objects in Croquet island by using a table-based hand gesture tracker. Done in Smalltalk (what else). Time to buy a Multi-touch table and throw the PC keyboard away ;)

Some more automated Seaside testing

Tony has posted some more infos on how he tests his Seaside app using
Soup and ZinkHTTPComponents.


"I found that if I write the tests at the same time as I code the forms, this all goes pretty fast. The advantage is that instead of using the browser for minutes to manually test the few things that I think I might have affected, I can run a whole regression suite in a few seconds."


Yes, Smalltalk makes this possible and the interesting part is that you can even do this in an XPStyle (write the test first and then create the #renderXX: methods for the seaside components).

CampSmalltalk wiki

Instantiantions has set up a new CampSmalltalk wiki. Joachim knows more.

The old wiki is not available anymore (since around 2007), but fortunately there is a way back machine archive.

So one can even find the first CampSmalltalk pictures from 2000 in San Diego (my first US visit)

Thursday, January 20, 2011

JUnit removed from NetBeans?

Looks like Oracles lawyers check the license of NetBeans code. It may be possible that JUnit is removed from the standard Netbeans installation if it doesnt change its license.

Another crazy story of lawyers and software.

Kent Beck already responded and a former Sun employee suggested to keep the current license model to "keep Oracle's aggressiveness in check". Interesting times ...

Wednesday, January 19, 2011

Kinect and EToys

Beside Scratch there is now also an interface to Kinect for Etoys in Squeak:

http://tecnodacta.com.ar/gira

Cool!

Pharo 1.3 started

Pharo 1.2 (on top of the already read 1.2 core) is nearly finished. Time to already start a 1.3 core.

Wednesday, January 12, 2011

Xtreams up to date

Martin provides an up to date port of Xtreams for Pharo/Squeak. It now matches the docs and VW version better.

Tuesday, January 11, 2011

Virtual environment creation for Gemstone/Seaside

Vagrant is a tool for building and distributing virtualized development environments. It helps you automate virtual machine creation using Oracle’s VirtualBox (which I use to manage my virtual computers)

There is now a new tutorial from John Thornton available that will setup a Vagrant VM and install GemStone and SeaSide 3.0 on it. Read more.

Nice!

Monday, January 10, 2011

Connecting Scratch with Kinect

Kinect is a great add-on for the XBox 360. New hardware to connect to your Smalltalk system ...

Stephen Howell shows how he connects Kinect to the Scratch application (which is written in Squeak Smalltalk):

- video
- blog

Wednesday, January 05, 2011

Pharo and Amazon S3

Sven announced an Amazon AWS S3 Client written in Pharo Smalltalk. Read more here.

Custom Windows styles in CLFramework for Pharo

Gerard (aka nullPointer) now finally I implemented the posibility of create a custom windows in CLFramework (a UI builder framework for Pharo)


Cool!

Monday, January 03, 2011

Hotswap

Year 2011 B.C. and Java is still fighting with hotswap. Why not choose Smalltalk ;)

GetItMade.com - Seaside and JQuery widget boxes getting live

Nick Ager is one of the contributors to the JQueryWidgetBox project for Seaside. I created the widget box project back in October 2009 to bring more interactive web applications by wrapping jquery widgets in Smalltalk code and using them in seaside applications.

Looks like in 2010 Nick also developed a new site using Seaside and the widget box:

http://www.getitmade.com

getitmade was founded by Rob Dobson and Nick Ager to satiate their frustration at the difficulty of getting stuff made.

Nice to see the stuff actually in production use! Really cool.

Seaside in the cloud - a free EC2 micro instance

Amazon has a new offer of a free micro instance for a year. Nice.

Nick provides a video on how to deploy your Seaside application for free with an EC2 micro instance and Gemstone. Here are the detailed instructions.

Sunday, January 02, 2011

Smalltalk and Music

The Cyclades project, a project led by a team of researchers and composers from the Geneva University of Music (Hes-So) in partnership with Pharo's developers.

The purpose of their research is to conceive and create ways of representing several different elements of the structure or texture of music by using any kind of rendering computers can provide. Code and programs will be implemented in Pharo. Nice!

They also provide a one click image.

Thursday, December 30, 2010

New Cog VMs

Eliot provides the next round of Cog virtual machines.

Tropo - Calling Smalltalk

You look for a way that users can interact with your smalltalk application using their telephones or SMS messages. Then check out the Tropo project (written by Paul DeBruicker) from which is a Pharo interface to Tropo.com

Tuesday, December 28, 2010

Bootstrapping Squeak

In Smalltalk you typically work in an image where all the objects live and can be changed. So an image is an object memory snapshot that is maintained over time and that includes new and old objects (some of them may date back to ST-80 times).

Yoshiki Ohshima was playing with John's MicroSqueak and created a bootstrap Compiler - a first step to (re)create a Squeak image from simple "text files".

More about it here and in the README.

Wednesday, December 22, 2010

Seaside remote Server

Dmitri Zagidulin will describe a remote server setup based on Ubuntu, Pharo and Seaside. Lets see how this compares to my own server setups using the same technologies. Will follow his blog and this post is a reminder.

Saturday, December 18, 2010

Thursday, December 16, 2010

Seaside - Why Should You Care?

Julians talk from OSDC.fr 2010 on "Seaside - Why Should You Care?" is online. It starts in french but then he switches to english.

Tuesday, December 14, 2010

Tuesday, December 07, 2010

Monday, December 06, 2010

Pharo and ODBC

You often have to access existing databases when you develop an application. One way is to use ODBC. I created a small small screencast to show you how:

http://www.pharocasts.com/2010/12/access-database-through-odbc.html

It uses SQLite3 (a tiny database implemented in a shared library) as example - but you can access any ODBC compatible database (Oracle, DB2, MySQL, MSSQL, ...) if you use the appropriate database driver.

Its my first contribution to Pharocasts and I hope to do more if time permits. Thanks to Laurent for all the support and postprocessing of the recorded video.

Sunday, November 28, 2010

JQuery widget box project

You ask why I started the jQuery widget box project for Seaside. Just read this mail conversation ;)

Feel free to help wrapping more interesting widgets to enhance your seaside app.

Shrinking tool for app deployment in Pharo

Gerard (known as "nullPointer" and author of the Pharo UI Buidler) made a video available on a shrink tool for Pharo. Nice!

It's part of his CLFramwork (which is available in an open source version as UIBuilder).

Friday, November 26, 2010

Microsoft Kinect sensor and Smalltalk

Nikolay Suslov has the Microsoft Kinect sensor connected to his Krestianstvo SDK (which is based on Squeak/Croquet. Read more.

This opens a whole new space of applications ... and it is interesting to see whats already possible these days.

Thursday, November 25, 2010

Reading EXIF from pictures

Alexander Lazarević announced a new project to read Exchangeable image file format informations. This allows you to read EXIF information like the image description, camera model, ... from TIFF or JPEG images.

Code with MIT license is on SqueakSource.

VW UI

Found a screenshot of an app that is built using VisualWorks Smalltalk. Why? Look at the icon and the tabs ...

FSUG Meeting

... about "GLASS ~ GemStone - Linux - Apache - Seaside - Smalltalk" with Norbert Hartl today.

Wednesday, November 24, 2010

Scripting with Pharo Smalltalk

The "Coral" project (formerly known as "Saphir") is a way to use Pharo Smalltalk for scripting on the shell.

The packages got updated with more support for displaying in a Unix console. Nice!

Tuesday, November 23, 2010

Seaside master scripts

Just a short reminder for myself: the master scripts for the Seaside 3.0 image and others can be found here.

Wednesday, November 17, 2010

WebTester ported to Gemstone

The Seaside WebTester (a project that is able to test web applications using Selenium) is now also available for Gemstone. Read more here.

Tuesday, November 16, 2010

Monday, November 15, 2010

ThinkCode TV also provides videos on Smalltalk

Beside Laurents Pharocasts and the "Smalltalk 4 You" series from James (both free) there is now another site (ThinkCode TV) providing introduction videos on Smalltalk.

Davide Varvello (creator of the site) provides this as a commercial offer, but as he notes you can get them for free if you follow his twitter account.

Tuesday, November 09, 2010

Measure memory consumption

There is a project called Spy on Squeaksource including a profiler
to keep track of memory consumption for Pharo/Squeak.

Alexandre has more infos on this including a paper explaining the idea.

Sunday, November 07, 2010

The next milestone reached!

Pavel was able to load the the rest of PharoCore packages into the PharoKernel image. Yet another step regarding the modularization of Pharo. In the end the goal is to be able to build the current Pharo image on top of the (headless) Pharo kernel image.

Simple morphic

There is a redesign of Morphic called "SimpleMorphic" available. More details here.

Wednesday, November 03, 2010

More RUT-K infos

Interesting ... I've found a paper on RUT-K, a train scheduling system written in Smalltalk which I helped to develop as a Smalltalk consultant (I already wrote about it here). It is used by german railway for schedule planning.

The paper is in german and contains two screenshots of the application (page 6 and 7).

The web contains even more info like

RoarVM - Pharo and Squeak on multicore

How cool is that, IBM made the RoarVM available as OpenSource on Github:

"RoarVM, formerly known as the Renaissance Virtual Machine (RVM) is developed as part of a IBM Research project to investigate programming paradigms and languages for manycore systems of the future. Specifically, this VM is meant to support manycore systems with more than 1000 cores in the future.

The RVM was open sourced by IBM Research under the Eclipse Public License. Please see the open source announcement for further information.

Today, the RoarVM supports the parallel execution of Smalltalk programs on x86 compatible multicore systems and Tilera TILE64-based manycore systems. It is tested with standard Squeak 4.1 closure-enabled images, and with a stripped down version of a MVC-based Squeak 3.9 image."


It is compatible with Squeak 4.1 and Pharo 1.2, has full closure support and was
tested with 8 cores, 16 hyperthreads on Intel systems/tested with 56 cores on Tilera TILE64/TILEPro64 processors.

Tuesday, November 02, 2010

Accessing Twitter from Pharo

It's easy to access and display Twitter messages using the Pharo Smalltalk system with the JSON package and my help system implementation.

Still I dont know how to get the correct channel hash for the Pharo project...

Comments appreciated!

Long bug fixing

Funny ... it took five years to fix this issue in hibernate.

Using ODBC in Pharo

Want to use ODBC to access a database in Pharo or Squeak? Thats easy since there is a package originally developed by Diego Gomez Deck and meanwhile updated in Squeaksource.

Use my metacello config script to load ODBC support and start with ODBCConnection class.

For further help you can consult the (outdated) documentation.

Maybe Laurent could do a pharocast on it.

OB-Web - JavaScript/AJAX/Smalltalk server example

Anything goes web ... even IDE's like Eclipse (see Eclipse e4).

"Smalltalk labs" has implemented an enhanced web based code browser for the Seaside web framework for Smalltalk. Compared to the standard web based browser tool that comes with the Seaside web framework the one from Smalltalk labs uses AJAX to navigate through the browser which means it feels more like an application than a website.

Coding directly in the webbrowser is still cumbersome - so I prefer the Smalltalk based browser installed in the image and only use the web tools when I have to check an image remotely.

However ... since browsing Smalltalk directly in the webbrowser is easy to do Lukas today updated the packages for "OB-Web" to use OmniBrowser (the Smalltalk browser used in Pharo) to be accessible from a webbrowser too.

Just download Pharo 1.1. and follow the simple instructions to run it and see yourself.

Browsing the code you will find out that it is a nice example how to use the Comanche webserver (KomHttpServer) to write own web based services. It's also a nice example for AJAX communication between client side JavaScript and server side Smalltalk code using JSON.

Some hints for checking out the code:

  • "OBKomHttpService startOn: 9090" starts the app on the given port so you can navigate to http://localhost:9090
  • OBKomHttpService also adds logic for startup/shutdown at image startup/shutdown
  • in the superclass OBHttpService there is (depending on the web path) a launcher created (see OBWebLauncher>>contents for the generated HTML page)
  • the page uses http://localhost:9090/library/link.js and http://localhost:9090//library/launcher.js where the first one is responsible for the XMLHttpRequest (AJAX)
  • both scripts are served by Smalltalk as well (see OBLinkFile and OBLauncherFile)
  • the AJAX requests are handled in OBHttpService>>processAjax:for:
  • subclasses of OBInteractionRequest handle requests like menues, etc.

Really cool example for JavaScript/Smalltalk combination.

Pharo Kernel and Small(talk) webserver

Pavel continues with his work on a small Pharo Kernel.

The latest release not only contains a headless 2.2 MB image but also a small 3MB image with KomHttpServer. See yourself.

Download the image, start "PharoKernel-KomHttpServer-1.2-12226.image" with your Pharo virtual machine and point your browser to

     http://localhost:8000/

to get a simple HelloWorld response.

3MB for a tiny Pharo Smalltalk based web server - not bad!

Work on Opal continues

The work on Opal (a new compiler for Pharo) continues.
If you want to get more details on Opal read this summary from Jorge. You can also grab an image here.

Thursday, October 28, 2010

Wednesday, October 20, 2010

Smalltalk Solutions Call for Proposals

The STIC (Smalltalk Industrial Counsil) has opened a "Call for Proposals" for Smalltalk Solutions Las Vegas 2011. Read more here.

Redline Smalltalk ping

Some more activities around Redline Smalltalk. There is a new webpage including code, a new blog and twitter mentions an Eclipse plugin.

Monday, October 18, 2010

Independent Misinterpretations

James Robertson is not working for Cincom anymore. First I was shocked when I heard about it since I know that he was working there evangelizing Smalltalk for around 17 years. And it was around 1994 when I started with Smalltalk at university using the VisualWorks product...

James has a unique style of bringing a product closer to the customers using all the new medias (blogs, podcasts, ...) and he has done a very good job for Cincom and the overall Smalltalk community by providing news and informations. It's good to see that he will continue to be with Smalltalk since he now launched a new podcast - "Independent Misinterpretations". Read more.

Wednesday, October 06, 2010

Image sizes and MicroSqueak

Reduce the size of the image by shrinking or write out a new (reduced) image file. Either way - if size matters and you feel like you have to dig into bootstrapping an own Smalltalk system based on Squeak you should have a look at this post from Eliot.
There you will find code that will produces a headless 57k image with a few basic classes as a proof of concept. Interesting!

Reminds me on the minimal image experiment from the past that was able to compute 3+4 which was only a few kilobytes in size. Nobody was able to see the result since it was instantly garbage collected ;)

Tuesday, October 05, 2010

Scratch for Arduino - an interview

An interview with the developers of Scratch for the Arduino open source hardware platform. Scratch is implemented in Smalltalk.

To quote:

Then was when I discovered Scratch, once the hard part of learning Smalltalk. A hard but interesting part because I've made my career in programming but not as much as Marina, and still I realized that is something different, unlike any other object oriented languages and completely dynamic. It's almost like learning to program again because it has a different syntax, a different philosophy and is something new.

ESUG 2010 Videos available

The videos from ESUG 2010 (Barcelona, Spain) are now available:

Sunday, October 03, 2010

Morphle and Siliconsqueak

There is a new startup company providing Seaside hosting and SiliconSqueak - a processor chip that will run almost all existing Squeak images without modification. It is a hardware "virtual machine".

Thursday, September 30, 2010

Thursday, September 23, 2010

PDF Generation using Smalltalk

Marten Feldtmann is working on pdf creation using libHaru, he published a first, not ready code for a wrapper around libHaru.

But I already wrapped this small library for Pharo/Squeak two years ago with a more natural Smalltalk interface. So one can write:


| document page image |
document := PDFDocument new.
page := document addPage.
image := document loadPNGImage: 'Image.png'.
page drawImage: image rectangle: (Rectangle origin: 72@72 extent: 144@144).
document saveToFile: 'documentWithImage.pdf'


My library is also mentioned as one of the options for generating PDF on the seaside PDF page.

I made the code available at http://www.squeaksource.com/HPDF.html and licensed it with MIT. Would be good if Marten will have a look and maybe port my code to VAST before doing any unnecessary work on his side...

Independent from that I would still like to write/see a PDF framework written in plain Smalltalk (similar to Java's iText).

The more I think about it the more I like the idea:

  • Solutions like using external libraries or frameworks (LibHaru, ApacheFOP, ...) always have limits
  • If any work would be done in Smalltalk one would have full control
  • PDF is a nice document format that is usable on nearly any platform
  • PDF is now more than just text and images - you can have interactive PDF forms, annotations, ...
  • There is no unify way for reporting and printing in current Smalltalks
  • Yes, there is a rough plain Smalltalk PDF Generator from Bruce Badger but the license is AFAIK restricted (I would prefer MIT)
  • it would make up a nice GSOC/CampSmalltalk/Community project
  • Smalltalk streams are much easier to use than Java streams
  • the code would be nicely testable using unit tests


However - time is limited. But if anyone is interested feel free to contact me...

BTW: did you know that Bruno Lowagie (author of iText) changed the license of his Java PDF library to block his government.

JQueryWidgetBox 1.5 for Seaside 3.0

The JQueryWidgetBox project is growing and we now have 32 interesting JQuery widgets wrapped for Seaside. Feel free to use them in your seaside app to enhance the user experience.

After some fixes and updates to align with the new Seaside 3.0 I just made version 1.5. of JQueryWidgetBox available as a Metacello configuration. Read the announcement.

InfoVis for Seaside

Holger announced some wrapper packages for the InfoVis Toolkit to make it usable in Seaside.

Next Cologne Smalltalk Meetup

Cologne Smalltalk Meetup will be happening next Thursday at the usual time and location. Read more.

Tuesday, September 21, 2010

Sunday, September 19, 2010

Help System for Pharo/Squeak

Some months ago I wrote a help system for Pharo and Squeak
to provide an easy way to browse available documentation
for the open source Smalltalk systems.

You can use it to display available API documentation
(extracted from class/method comments) and to provide custom
documentation in form of simple written text books.
These informations are extracted from the image by two
predefined help builder classes that convert the help contents
to instances of "HelpTopic".
These HelpTopics can be nested (book structure) and displayed
in a HelpBrowser. Since help text is extracted/stored in
classes and methods you can use the usual tools to maintain
and package help contents together with your code.

The design is simple but nonetheless powerfull since by
allowing you to integrate own custom help builder classes
you can easily integrate documentation extracted from any
source available to you.

It was accepted by the community and integrated in both
standard images (Pharo 1.1/Squeak 4.1). Thanks guys!

Laurent now created a new screencast to show you how to use
it:

http://pharocasts.blogspot.com/2010/09/document-with-helpsystem.html

Starting from now, no excuses not to write documentation ;)

It is still ASCII based but I have plans to integrate other media
types (especially HTML) in the near future...

Wednesday, September 15, 2010

Frankfurt Smalltalk User Group Meeting

The next Smalltalk User Group Meeting for developers around Frankfurt area will take place on 21th of September 2010, 6:30pm at the following addresss:
ITS-People GmbH, Lyoner Strasse 44-48 in Fankfurt-Niederrad

Alan Knight will talk about GLORP.

Tuesday, September 14, 2010

Pharo CI Server

Pharo now has an official continuous integration server (using Hudson) ready to build images. It is currently empty but will soon test the official pharo core and pharo (pharo-dev) releases.

Sunday, September 12, 2010

Thursday, September 09, 2010

Aida/Web 6.1 released

Janko announced the new version of Aida/Web Application server and
Web framework (http://www.aidaweb.si), currently prepared for Squeak/Pharo and VisualWorks. Read more.

Seaside runtime image with Pharo

Jan van de Sandt gives some tips on how to create a Seaside runtime image based on Pharo.

Tuesday, September 07, 2010

Iliad 0.9

The next release of Iliad 0.9 is out. Currently for GNU Smalltalk, a Pharo is in preparation. Read more.

Friday, September 03, 2010

Thursday, September 02, 2010

S4A - Scratch for Arduino

Jordi Delgado announced Scratch For Arduino (S4A) - a modification of the well known Scratch software (which is written in Squeak Smalltalk) that supports simple programming of the Arduino open source hardware platform.

Nice.

Sunday, August 29, 2010

Pharo in the Cloud

Jan van de Sandt created a new public Amazon Machine Image (AMI) setup as a Smalltalk web server with a Linux SqueakVM, a Pharo 1.1 Smalltalk image and the Apache2 web server. Anyone can use this AMI as a robust and scalable runtime platform for Seaside applications. Read more.

OmniBrowser chapter for PBE 2

A new draft chapter on OmniBrowser is available for the Pharo by Example book.

Sunday, August 08, 2010

Interactive Web site testing

Laurent created a new screencast on using Selenium (a java web application test system) and Pharo to interactively test web applications. See more.

Thursday, August 05, 2010

Smalltalk and wine

A fine glass of wine is something you may find enjoyable while developing software.
The interesting part is that there is a german IT expert now selling wine called "Smalltalk", "Pearl", "DreamWeaver", ...

Read more (german article)

Enjoy a "SmallTalk 2008 Rheingau Riesling QbA trocken"

Wednesday, August 04, 2010

Instantiations bought by Google

Instantiations was acquired by Google - mainly to get the Eclipse, Java expertise. Interesting enough the company now continues with its VA Smalltalk business:

"The new Instantiations will focus entirely on Smalltalk and remains fully committed to supporting and evolving the products we all know and love!"

The Wave is closed

Google Wave is closed. I think there was too much of a hype than usable technology. Read the announcement.

BTW: The announcement was written by Urs Hölzle who formerly worked at Animorphic systems (yes, the company that had one of the fastest Smalltalk JIT's and that was later acquired by Sun).

Tuesday, August 03, 2010

TextLint

You may know the lint tools for Smalltalk or Java helping you to common errors in code.

There is now also a nice app called "TextLint" which is written in Pharo Smalltalk. It is a lint tool for common style errors in natural language. You can use it to process your text/latex/... files.

Here are videos (1 and 2)showing the tool in action.

Sunday, August 01, 2010

Seafox.xpi - HTML to Seaside plugin

Nick released Seafox.xpi - a small plugin for Firefox that translates a websites HTML into the appopropriate seaside methods.
Nice and helpfull! Read more.