Wednesday, December 13, 2006

Too many arguments

I was not able to find a method with a higher number of arguments
than Travis found
. But I once saw an image with long methods
for Collection(class)>>with: keyword's. They extended the class side
messes of Collection like this:


Collection(class)>>with:with:with:
Collection(class)>>with:with:with:with:
Collection(class)>>with:with:with:with:with:
...


So you could write

OrderedCollection with: $H with: $E with: $L with: $L with: $O

I guess they didnt know about Collection(class)>>withAll: which allows
you to write:


OrderedCollection withAll: #($H $E $L $L $O)

Tuesday, December 12, 2006

I agree

Cees is talking about his Java vs. Smalltalk experience. I completely agree: Eclipse makes Java less painful and Java has moved forward in the last years - but Smalltalk is still better in developer productivity and maintenance costs.

Monday, December 11, 2006

Web Cache performance

Ever read the "Oracle Application Server 10g - Administration Handbook" from Oracle Press ?

Nice book describing how to set up, administrate and manage Oracles application server. There are chapters describing how to add a web cache to enhance performance. Amusing.

Page 8 states:


"Internal Oracle tests reveal that adding the application Server 10g Web
Cache to a three-tiered application (client, application server, and database
tiers) can reduce the load on the database back end by 95 percent."


while page 156 states:


"One Oracle test showed that adding the Oracle Web cache in front of the
Oracle Application Server reduced database load by over 85 percent"


Either it was a different test or they sell two products: one for a
performance boost of 95 and one for 85 percent ;)

Monday, November 27, 2006

XML Notepad 2007

Microsoft has released XML Notepad 2007.
It's really a nice tool to view and edit xml.
There is a nice article on MSDN about it. Note that it requires .NET

Wednesday, November 15, 2006

Seaside Parasol - another seaside hosting page

Beside the well known http://www.seasidehosting.st there is now an additional offering for hosting seaside applications called "Seaside Parasol".

Chris Cunnington provides a commercial web host for Smalltalk there. Just click on http://www.seasideparasol.com.



There is also the so called "Beach Club" a monthly pub night to talk about all things Smalltalk.

Exupery 0.10 for Windows and Linux

Exupery 0.10 is released, now on Windows and Linux

Exupery is a compiler written in Squeak Smalltalk that compiles bytecodes to machine code.

Scratch Progress

I already reported about Scratch project back in May 2005.

Meanwhile the project made some progress and a beta version is available for download. You can also have a look at some movies introducing the system.

Scratch is written in Squeak. It's interesting that the image is only 6MB in size. The virtual machine is a 3.4.3/Tea 1.9 VM. The system is very responsive even when loading large images and sounds.



I also like the Scratch user interface - it looks much better than Squeaks default one. Would be interesting to know if it is a custom one or a modified Morphic system. Remembers me a little bit on the nice UI from the Exobox project (which was also implemented in Squeak Smalltalk).

Looks like the Squeak and Croquet community should hire a designer to take over the world ...

Magma OODB

There is an interview available with Chris Muller on the Magma object oriented database: download the MP3. Magma is a multi-user object database for Smalltalk.

If you want to know more about the project try the Magma page on the Squeak swiki or join the magma mailinglist.

Thursday, November 02, 2006

Toothpick for Squeak

Toothpick - a simple configurable Logging mechanism for Smalltalk
is now also available as Monticello package on SqueakSource
and SqueakMap. I just converted the source zip into a monticello
package with kindly permission from Joseph Pelrine. His code is
released under BSD license.

More infos can be found on:

http://www.metaprog.com/Toothpick
http://minnow.cc.gatech.edu/squeak/5890
(includes an example script)

The Monticello repository on http://www.squeaksource.com/Toothpick
has read/write access for future contributions. Since Toothpick
is available for various Smalltalk dialects contributions should
not be limited to Squeak.

Wednesday, November 01, 2006

Mondrian for Squeak

Mondrian is getting ported from VisualWorks to Squeak. With Mondrian it is easy to create a certain view on a software system by a few smalltalk lines. I used it back in a VisualWorks project I once worked as a consultant and found it really helpfull. It shows relations in object oriented systems and helps you to find where to start with refactorings.

Just load the latest version of the port from http://mc.lukas-renggli.ch. The current state of the port looks promising:



This is what I got after evaluating:


MOPaintings classInheritanceOf: ParseNode.
MOPaintings systemComplexityOf: ParseNode


The graph shows the inheritance hierarchy for the class ParseNode. The width of the rectangles represents the number of instance variables, the height the number of methods. Take care of large rectangles on top of the graph - superclasses may define behavior not needed in every subclass. Specialization should be at the bottom of the inheritance tree ...

Toothpick - Logging mechanism for Smalltalk

Found a link to Toothpick - a simple configurable Logging mechanism for Smalltalk. Looks like Joseph found the time to make it available for various Smalltalk dialects (Dolphin, Squeak, VisualAgeST and VisualWorks). Great!

Unfortunately the Squeak version is still deployed as a simple zip file with changesets - thats now a little bit old fashioned.

With Monticello and SqueakSource Squeak now has a better way of making source code available and a Squeak map registration will provide a comfortable way to download the package from within Squeak...

Tuesday, October 31, 2006

DabbleDB News

There is a new demonstration of the DabbleDB features available. Avi Bryant is interviewed by Jon Udell on the latest "Screening Room".

Thursday, October 26, 2006

SSpec ported to Squeak

Keith Hodges has ported SSpec v0.13 to Squeak. SSpec is a framework for writing executable specifications for Smalltalk programs.

It is available from SqueakSource at http://www.squeaksource.com/SSpec. Note that there is a QuickReference and a Manual available.

Monday, October 23, 2006

Win an ipod with Smalltalk and Gjallar

Göran announced a Gjallar competition where you could win an ipod.
Write a nice useful enhancement for the Squeak and Seaside based web issue tracker.

Tuesday, October 17, 2006

Croquet 3D Puzzle

You like puzzles and 3D. Then have a look at CalmoSofts Croquet contribution.

Wednesday, October 11, 2006

ST Code Search on Google

Looking for some Smalltalk code? Try the new codesearch on google.
Here is a simple example to search for "continuation":

http://www.google.com/codesearch?q=lang:smalltalk+continuation

Monday, October 09, 2006

Jobtrends for Apples and Oranges

Read a posting by Donald Smith about continuous Eclipse demand. He used Indeed.com job trends as indicator.

Curious as I am I started to play with it:

Looks like .NET is more required than J2EE. But if they are right it is better to know about C than Java, C++, C# or Assembler.

Or maybe it is better to learn E since it is more required than C or Java. Yes there is an E programming language. But maybe it just counts the character or counts e's like in e-business.

There is also an interesting race between Rails and Seaside.

In the end we should also not forget to compare apples with oranges... ;)

Wednesday, October 04, 2006

Keep on talking small

Do you want to know why the Eclipse Foundation is full of Smalltalk discussions? Then start reading here. Especially I like this part:

"Every lunch conversation will hit upon Smalltalk within 10 minutes, no matter what topic the conversation starts from."

The story tells us two things:

  1. The Eclipse foundation has lunch together with their webmaster (harmless)
  2. Take care - they are infected by the Smalltalk virus

I'm infected by the Smalltalk virus too (since 1995) and many of my technical conversation will also end up in talking how easy and fascinating a developers
life is in Smalltalk.

I remember the "old days" were (in a first intoxination of Smalltalk) I started to write some online books about it (information were sparse). Now much better documentation is available to learn from.

Through these activities I got in contact and started to learn from "old dudes who know Smalltalk". I assembled a Smalltalk CD, organized Smalltalk events, helped to reassemble the German user group, and contributed code and help to VW, Squeak, ST/MT and Smallscript. I showed Smalltalk at every opportunity. So it is true - I'm guilty of infecting others.

We were all once warned by Andy Bower from ObjectArts (creator of Dolphin Smalltalk):

"Smalltalk is dangerous. It is a drug. My advice to you would be don't try it; it could ruin your life."

Be warned to learn Smalltalk just to understand Ralphs Blog postings about "Design Patterns and language design".

Smalltalks simplicity, beauty and the power of pure objects may affect you. All the way down - everything is an Object. Once learned it may be frustrating to work with newer technologies that will never catch up with such a dynamic object system.

For me it is too late, I'm infected. I have to keep on talking small...

Thursday, September 28, 2006

Seaside for the .Net Developer

Ramón León compares web development with Smalltalk/Seaside and web development with .NET.

Wednesday, September 27, 2006

Small Cruise

There is a sneak preview of SmallCruise available showing the integration between Dolphin Smalltalk and CruiseControl.net (providing Continuous Integration of your Smalltalk projects).

Tuesday, September 26, 2006

Sandcastle

When working with Smalltalk I usually dont care about reference documentation since I'm more used to browsing the code directly. On the other hand it is very easy to use reflection in Smalltalk and write out some static html files if required (see this Squeak class documentation for an example).

In Java and .NET you typically use documentation annotations in the code and tools like JavaDoc and NDoc. As you may have heard NDoc is now discontinued since Microsoft provides an own documentation tool called "Sandcastle".

So I just downloaded the Community Technology Preview for "Sandcastle" to document the assemblies of one of my .NET projects. Sandcastle allows you to build accurate, informative documentation with a common look and feel similar to the MSDN documentation.

There are several GUI tools available helping you to control the compilers input and output (the CTP for Sandcastle comes only comes with a command line compiler).

After trying the SandCastleBuilder tool I was more happy using the SandcastleGUI tool. Much better than using MRefBuilder.exe, BuildAssembler.exe and XslTransform.exe manually.

Since I already had the MS HTML Help Compiler installed it was very easy to build a CHM file with the docu. One of the nice features is that the documentation includes live links to the MSDN documentation.

All in all nothing worldshaking but sometimes helpful if work on the .NET side of life.

News from Exupery

A port of the Exupery virtual machine is now available for Windows and Solaris.

The Exupery project (by Bryce Kampjes) compiles bytecodes to machine code. The source code is available at SqueakMap.

Dont forget to have a look at the Exupery talk from Brussels2006 Smalltalk party (see video).

Wednesday, September 20, 2006

IsDate and Agent Zed

While reviewing code I found an interesting bug in a VB component today.
There is a piece of software that should validate if a given input value
represents a correct date.

Unfortunately it just used the IsDate() function to check the value.
If I reduce the code to its minimum it does something similar to:

Private Sub Command1_Click()
   Dim inputValue As String
   inputValue = "28.02.06"
   MsgBox IsDate(inputValue)
   MsgBox CDate(inputValue)
End Sub


This works as expected: the inputValue represents a date (so we get "True")
and after the date conversion we get the correct date: 28.02.2006.

But have you tried with "31.02.06" - an input value which is not a
correct date (at least if you think of the format dd.mm.yy)

It is silently accepted by the code and VB is converting it into
the "06.02.1931"! Beside the fact that this is the day where actor
Rip Torn was born (who played Agent Zed in Men in Black) we found the
reason for accepting the bad input value.

So if VB cant find a matching date in the right order it just parses
the string reverse and checks for a reasonable date value.

Let's do a quick check in .NET using C#:

DateTime date = DateTime.Parse("31.02.06");

Fortunately this is not an issue since a FormatException is thrown.

Conclusion: never stop testing your code and when it comes to
dates remember the birth of Agent Zed...

Monday, September 18, 2006

More VM news

Looks like Ian Piumarta's new Pepsi and Coke Meta-VM might lift off with the OLPC project. A quote from the OLPC news:

"2. Alan Kay, Kim Rose, and the eToys team spent the week in Cambridge at the OLPC offices. They continue to make rapid progress towards the integration of eToys into the laptop software environment (they also provided useful feedback) and have eToys running on the laptop. IanPiumarta gave the OLPC team an update on his dynamically reconfigurable virtual machine, which may be in the longer term the basis of programming environment for the Laptop, in that it is simple, fast, extremely flexibleand quite eloquent."

Wednesday, September 13, 2006

Comet Screencasts - new web possibilities

Diego shows some examples for Comet use as screencasts:

- a Cooperative shopping cart
- a colaborative spreadsheet

Full info is available here and here - spanish only.

So there are more and more arguments for using Seaside as THE web development framework. If you dont know about Comet you should have a look at one of my ealier posts about it.

News from Squeak and OLPC

Another step for the "One Laptop per Child" (OLPC) project: Squeak Etoys is running on a first prototype display. See the pictures on Ians homepage:

    http://piumarta.com/photos/olpc/

Monday, September 11, 2006

Sun release Strongtalk VM into OpenSource

Sun has released the Strongtalk VM as Open Source in September 2006. The Strongtalk VM executes Smalltalk much faster than any other Smalltalk implementation (at the time of its release), using an advanced inlining compiler based on type-feedback technology. See

http://www.strongtalk.org/

for more info.

The current system was developed in secret at a small startup company, Animorphic Systems (officially LongView Technologies, Inc.), that was started in 1994. Unfortunately for Strongtalk, the rapid and unexpected rise of Sun Microsystem's Java forced Animorphic to halt work on the Strongtalk system before it was ever released. Animorphic was acquired by Sun Microsystems in 1997, and parts of the Animorphic virtual machine technology became the core of what is currently Sun's production Java virtual machine implementation (it made it into the Hotspot Java Jitter/dynamic optimizer).

The VM is a mixed-mode system, with a fast interpreter as well as dynamic
compiler that was invoked based on dynamic profiling info. The only previous application of similar technology was Self, which was entirely compiled and had a huge footprint.

The Strongtalk VM did not make use of the type system at all; typing was strictly optional. Method dispatch was based on inline caches, including PICs. All code was represented internally as mixins, and any class could be used as a mixin as well.

Benchmarks showed that we were 2.5-4 times faster than commercial Smalltalks at that time (Digitalk, ParcPlace (now Cincom) and IBM).

Wednesday, September 06, 2006

Squeak Developer Workspace (including Seaside)

A new release of DeveloperWorkspace for Squeak 3.9 is available. It creates a predefined image and may help developers as well as beginners. It now also includes all packages for Seaside development.

Some of its features:


  • assembles usefull packages and developer tools (AST, FFI, RefactoringBrowser, RoelTyper, TestBrowser, Techo, ScriptManager, MemoryUsage, ...)
  • syntax highlighting using Shout
  • autocompletion using eCompletion package
  • includes seaside and a seaside workspace to easily start web development (no external webserver required)
  • window switching using ALT+W (thanks to keybinder)
  • provides an beginners workspace (uncomplete, help appreciated)

Unfortunately I was not able to register a new package version on SqueakMap today, so here is a short howto:

Download the latest 3.9 release of Squeak (actually Squeak3.9g-7055.zip) from http://ftp.squeak.org/3.9

Open a new workspace and evaluate the following code:


| repository version |
repository := MCHttpRepository location: 'http://www.squeaksource.com/DeveloperWorkspace' user: '' password: ''.
version := repository versionFromFileNamed: 'DEVImageInstaller-tbn.4.mcz'.
version load.


A workspace will appear with

DEVImageInstaller install

Just select this text and evaluate it.

Answer all following questions with "yes" or "ok". Note that you have to provide a username and password during the install. They are used to secure the seaside webserver configuration console.

When the installation finishes just save the image. You can now use the tools or follow the instructions in one of the workspaces.

Have fun

Monday, September 04, 2006

Pictures from ESUG 2006

Here are the first pictures from the 14th European Smalltalk User Group (ESUG) conference in Prague.

You can also have a look at the presentations from Monday.

and some first impressions from James:
- Meta Driven Browsers (about the OmniBrowser framework)
- Modularizing the ObjectLens

Wednesday, August 30, 2006

Some news from DabbleDB

Andrew created a new screencast on DabbleDB showing how to create an application from imported digg.com data. If you want you can help digging.

DabbleDB is also mentioned on the Dan & David Show as being used by Ismael Ghalimi, the co-founder and CEO of Intalio.

For those who dont know: DabbleDB is a new web application written Smalltalk using Squeak and the seaside web framework (both open source). It's focus is on easy application development based on structured data.

Rethinking the typing

There were some thoughts from an outsider about Smalltalk on the Squeak-dev mailinglist, I can only agree to his point of view about typing:

"Before I was an effienciency/static typing junky, but smalltalk has made me
rethink the typing at least. :) After all, how many errors *has* that
really caught for me compared to all the times code didn't compile because
the compiler was confused about something that should work."


In dynamic languages you can focus on solving the problem - in static languages you always get distracted by annoying compiler messages...

Wednesday, August 23, 2006

Rubics Cube

There are a couple videos of a Rubik's Cube in croquet space on YouTube. Looks like this is work done by one of Robert Hirschfeld's students.

- Video 1
- Video 2
- Video 3



Robert is the author of various Squeak packages like AspectS or MethodAnnotationBrowser.

Unfortunately he now moved to Potsdam to work for the Hasso Plattner Institute. We are both native-born in Thuringia (which is one of the most beautiful landscapes in germany by the way) and I miss the endless Smalltalk discussions with him after work in Munich's beer gardens...

Thursday, August 17, 2006

Crashing toad

TOAD is a really usefull tool when working with databases. While working with Oracle today it suddenly crashed and displayed an interesting call stack. Did'nt know that the UI was written using Pascal:

Wednesday, August 16, 2006

The power of two

If you work in IT business then some numbers are very meaningful
if you see them in a memory dump or a code listing. If you know
about bits and bytes and the mathematics behind them then at least
the following series should be well known:

1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 ...

The series for 16 bits is something you could easily remember.
But whats next. Let's write a small(talk) expression to see how the
series continues up to 1000 bits:

(0 to: 1000) collect: [ :each | 2 raisedTo: each ]

Ooops - I didnt know that (2 raisedTo: 1000) is:

10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

Really? Unbelievable! Next step would be to learn all of them ;)

Tuesday, August 15, 2006

StarUML

Found a nice and free Win32 UML Tool on the web. It is called StarUML.

StarUML supports Java, C++, C#, Pattern, RationalRose and XMI. Last one is especially important - so I can transform the model to anything I like. Diagrams can also be exported to JPG, EMF, WMF and BMP. It comes with full Delphi source code - so it is easily adaptable.

I like it but even with all these features I think it will not replace my hottest design tool.

Monday, August 14, 2006

Christo Code Coverage

Stefan Reichhart has announced "Christo" - a tool to dynamically and safely retrieve coverage of code-elements (e.g. packages, classes, methods, ...).

It adapts many different technologies to collect data. So you might apply this tool using ByteSurgeon, MethodWrappers, ObjectAsMethodWrappers, JCompiledMethods/AST (short: JAST), or ...

It's part of his Master Thesis about "Testing".

Tuesday, August 08, 2006

Identity parade

From a friends website:

No comment ...

Wednesday, August 02, 2006

Injection Rejection

Software developers should always take care for security and prevent SQL injection as explained in this funny story. :)

Seaside at OSCON

Some more notes about Avi's OSCON presentation about the Seaside web framework. I'm using the framework from it's early days and really enjoy it (especially after hard times with other "mainstream" frameworks) ...

Thursday, July 27, 2006

SqueakSource servers

Here is an update on the current list of public squeak source servers:



It's fun to browse the last one - it's japanese (from the SqSquare project) but I'm able to navigate and explore it. I like the FileMan package from it. It makes file handling in Squeak much easier.

If you want to set up an own squeak source server: some months ago I prepared an image for easily setting up SqueakSource.

Seaside at OSCON 2006

Avi is talking about Seaside at OSCON 2006

Obie Fernandez is lamenting about the vodoo magic of the seaside framework. It's not vodoo - just plain objects at work. ;)

Thursday, July 20, 2006

SqueakCMI

A new website called SqueakCMI is available at:

     http://squeakcmi.org

The SqueakCMI Group is working to bring Squeak to more teachers and children to develop mathematics and science activities using Squeak as a platform.

Wednesday, July 19, 2006

Stupid Metrics

Found yet another article on language popularity:

A new TIOBE Software study has found that Java is the most popular programming language among developers
...
This popularity measurement uses a simple metric: the number of relevant search engine queries.


I would guess the reason is that you always need to look up Java stuff in reference manuals or tutorials which is easier to do using a search engine. Programming in Java without online access to the internet is a pain. When I do Java work the web browser is one of the most used tools ...

When doing Smalltalk work I just use the Smalltalk IDE's code browser since everything is there and fully accessible/changable. I can care about solving a problem instead of constantly looking up Java API and framework descriptions, bug reports, ...

Wednesday, June 21, 2006

Squeak on university

Markus Gaelli has published a short report (german only) from the "Day of informatics 2006" on the university Erlangen-Nürnberg where he presented Squeak to students. He also published some pictures.

Tuesday, June 20, 2006

SqueakGtk

SqueakGtk is an attempt to port the Gtk+ GUI to Squeak - and it looks like the project makes some progress.

Click on the image to enlarge:

Monday, June 19, 2006

VistaSmalltalk

Peter Fisk announced a demonstration of using Smalltalk classes instead of XAML to implement animations in the Windows Presentation Foundation (WPF). He expects Vista Smalltalk will shortly be capable of building online animated games and replacing Javascript for "Ajax" style applications.

Vista Smalltalk is built upon the Windows Presentation Foundation (WPF) classes and a bytecode runtime which depends only upon core WinFx classes.

SqueakNOS Mailinglist

There is a new mailinglist available for the Squeak NOS project.

SqueakNOS is trying to get rid of the OS under Squeak, and to implement all the operating system functionality in Smalltalk.

Wednesday, June 14, 2006

SqSquare collaboration software

Masashi Umezawa announced the SqSquare BETA release.

SqSquare is a new collaboration software built on Tweak. On a virtual broad desktop, you can freely add/edit objects, or even write eToys scripts. There is also a project swiki available.


Monday, June 12, 2006

SqueakNOS: A simple guide to writing HardwareDevices

The "Simple guide to writing HardwareDevices" for SqueakNOS
explains how to use Squeak Smalltalk to implement new
Hardware Devices.

Monday, May 29, 2006

Swazoo Smalltalk web server

The Swazoo Smalltalk web server now has its own website:

http://www.swazoo.org/

Friday, May 19, 2006

Squeak NOS is back

The SqueakNOS (Squeak No Operating System) project is back.

SqueakNOS was an attempt to get Squeak running on x86 pcs without an underlying OS. The aim was to push as much of the hardware interface into the Smalltalk image as possible. There has been no progress since 2001 but now the original team is back and SqueakNOS is quite live and quite kicking!

You can either throw away your installed OS (not yet recommended ;) or use PC emulators like VMWare for a first test.

Squeak NOS is back

The SqueakNOS (Squeak No Operating System) project is back.

SqueakNOS was an attempt to get Squeak running on x86 pcs without an underlying OS. The aim was to push as much of the hardware interface into the Smalltalk image as possible. There has been no progress since 2001 but now the original team is back and SqueakNOS is quite live and quite kicking!

You can either throw away your installed OS (not yet recommended) or use PC emulators like VMWare for a first test.

Thursday, May 18, 2006

SqueakNOS is back

The SqueakNOS (Squeak No Operating System) project is back.

SqueakNOS was an attempt to get Squeak running on x86 pcs without an underlying OS. The aim was to push as much of the hardware interface into the Smalltalk image as possible. There has been no progress since 2001 but now the original team is back and SqueakNOS is quite live and quite kicking!

You can either throw away your installed OS (not yet recommended) or use PC emulators like VMWare for a first test.

SqueakNOS is back

The SqueakNOS (Squeak No Operating System) project is back.

SqueakNOS was an attempt to get Squeak running on x86 pcs without an underlying OS. The aim was to push as much of the hardware interface into the Smalltalk image as possible. There has been no progress since 2001 but now the original team is back and SqueakNOS is quite live and quite kicking!

You can either throw away your installed OS (not yet recommended) or use PC emulators like VMWare for a first test.

Wednesday, May 17, 2006

Just 5 seconds ...

Just read about Sun finishing Java Enterprise Edition 5 on the heise newsticker (german only). One of the added user comments was:

"The Sun App server (Glassfish) really rocks. The thing is coming up in only 5 seconds together with derby and admin console. Compared to this most application servers should hide themselves ..."

That's really a huge step forward for J2EE - it should now be less painfull to always reboot the webserver after doing refactorings and program changes. ;)

I'm working with both: Java/J2EE and Smalltalk/Seaside and the situation is always the same:

I constantly see the Java world beeing happy about small things making this painfull style of development easier. Nobody asks the question if this change-compile-restart process makes sense in general!!!

On the other hand things like that have never been an issue in dynamic environments like Smalltalk. You dont have to restart the web server after large changes - even if you restructure large parts of your application framework or the web server code itself.

This is one factor why Smalltalk development makes you more productive - you can focus on solving the problem...

Tuesday, May 09, 2006

Comet implementation for Seaside web framework

Comet - the next web technology after AJAX allows the server to push updates to all clients (for instance web browsers) when they happen.

Diego Gomez Deck published a first implementation on SqueakMap (called Asteroid). It runs with KomHttpServer (Comanche), JSON and Seaside.

I had to patch the class FastSocketStream with a copy of SocketStream>>sendImmediatelly: to make it work in Squeak 3.8. (3.8 uses a different socket implementation and this method was unfortunately missing).

What it does:
=============
After running "ACometWidgets start" in the Squeak server image you can open more than one web browser on http://localhost:9999

You see some text fields - if you change their values the changes are sent to the server and from there dynamically pushed to the other client web browsers without having to use their "refresh" button.

By evaluating "ACometWidgets instance pushAlertHelloWorld." you get an example how to push data (in this case a java script with an alert) from the server to any connected web browser client. If you leave the Transcript open and close the browsers you will also get a notice that they disconnected.

Update:
I created a short Shockwave demo of Asteroids.

Tuesday, May 02, 2006

Forward to the past

For those of you who want to play with a simple Smalltalk image running on a Java VM (within a browser) try the following link:

ForwardToThePast.jnlp

Note that Java Webstart is required for your browser. Read the original announcement by Dan Ingalls. The running image is based on the mini.image from Squeak and runs slower than the C based VM but actually it works.

Free Image Hosting at www.ImageShack.us

Friday, April 28, 2006

Seaside, ROR and retiring Java from the spotlight of web applications

Seaside got mentioned again in an interview with Ruby on Rails creator David Heinemeier Hansson to retire Java from the spotlight of web applications. To quote:

"Rails is much more traditional and familiar to most programmers. Java programmers with years of experience in J2EE can switch to Rails quickly and all they have to learn is what drudgery not to do any more.

Seaside, on the other hand, is an entirely different paradigm. It's new, fresh thinking. And for certain narrow domains it can definitely offer significant improvements over the traditional request/response model.

But I don't see it as something that's going to catch a ton of mainstream traction the way Rails has. It's simply too different for too many people. And for the "most applications most of the time" sphere, it doesn't offer enough benefits over something like Rails to be worth the mental rewrite for most people.

I certainly encourage you to take a look regardless. It'll broaden your mind."


I would not encourage you to take a look since it is true what Andy Bower once said:


"Smalltalk is dangerous. It is a drug. My advice to you would be don't try it; it could ruin your life. Once you take the time to learn it (to REALLY learn it) you will see that there is nothing out there (yet) to touch it. Of course, like all drugs, how dangerous it is depends on your character. It may be that once you've got to this stage you'll find it difficult (if not impossible) to "go back" to other languages and, if you are forced to, you might become an embittered character constantly muttering ascerbic comments under your breath. Who knows, you may even have to quit the software industry altogether because nothing else lives up to your new expectations."

Thursday, April 27, 2006

Seaside at Dr. Dobbs

A first article on Avi's talk about Seaside can be found at Dr. Dobbs.

Wednesday, April 26, 2006

Smalltalk free lectures repository

As announced by Stêphane:

The European Smalltalk User Group ESUG (www.esug.org) hosts a new server to collect all your free Smalltalk lectures and videos:

If you want to share with others your lectures, please visit http://smalltalkteaching.esug.org/

Tuesday, April 25, 2006

Seaside and Exupery Videos

There are two new videos available:
If you want to learn about the progress of the Exupery project for Squeak
you should definitely download this video.

A short introduction into the Seaside web framework.

Thursday, April 20, 2006

Wednesday, April 19, 2006

Seachart

A new live demo of SeaChart is available at seachart.seasidehosting.st.

SeaChart components are standard Seaside web components that you can easily embed into your Smalltalk web application. Demos include PlotKit
CSS Bar Graph, Numberd List, Star Rater, Fade In and Cross Fade.

You can also download the code from SqueakSource.

Also have a look at scriptaculous.seasidehosting.st for more free Seaside components.

Back from New Zealand

After 3 and a half week in New Zealand my wife and I arrived back in germany. It was our second trip to NZ and it was really amazing. I really like the country. This time we concentrated on the North Island and made a trip to White Island. We also saw some Wallabies and a wide range of birdlife.

Our tour in short:
- Auckland (City of Sails)
- Northland with Cape Reinga
- Coromandel
- Bay of Plenty
- Rotorua and Lake Taupo
- Tongariro National Park with its active volcanoes
- New Plymouth with Mt. Taranaki

Tuesday, March 21, 2006

7 Minute Apps

There is a new demo video online about DabbleDB (which is written in Seaside using Squeak Smalltalk).

Just click here to view or download the movie directly (14MB, Quicktime required).

Wednesday, March 15, 2006

About GemStone

Michael Roberts describes some nice features of the GemStone Smalltalk object database. Again we have a nice example for the power of dynamic systems ...

Monday, March 13, 2006

DabbleDB article on techcrunch.com

Smalltalk is getting more and more attention with DabbleDB
(which is written in Squeak using the Seaside web framework).

Read the next article about it.

Tuesday, March 07, 2006

Beyond Java Buzz

javazoid.com is mentioning Seaside in "Beyond Java Buzz". What I dont understand is that people complain about Java and start with Ruby right after it.

What if they would take the next step and directly start using Smalltalk. I'm sure they will enjoy the wonderfull world full of objects.

Wednesday, February 22, 2006

Seaside Hosting

netstyle.ch and ESUG announced a new website:

http://www.seasidehosting.st

where you can host your seaside image(s). It's free - anything you need is Squeak and Seaside.

Tuesday, February 14, 2006

Monday, February 13, 2006

Thursday, February 09, 2006

New Smalltalk Book in Spanish

Diego Gomez Deck announced a new book about Squeak. It is written in spanish.



You can download the PDF here.

Thursday, January 26, 2006

Squeak and Robots

Jon Hylands (from www.huv.com) posted some new informations about his autonomous controller. The software is written in Squeak Smalltalk.

Click on the images to enlarge and read more on his website.

 

Thursday, January 19, 2006

3+4 visualized

Craig has visualized his smallest image snapshot so far (1,337 bytes).