Monday, December 19, 2005

Will the future start to happen ...

There is a new webcast presentation available on Croquet technology build in Squeak Smalltalk. I'm not sure which impact this technology will have on computing in the next years but I think it would be wise for many companies to have a look at it before their competitors do...

Monday, December 12, 2005

Today's (Smalltalk) IDE's Part II

The discussion about the power of Smalltalk IDE's continues. Some comments again:

Looks like Talios only accepts an IDE as powerfull if it supports auto completion. Dolphin Smalltalk may have some problems here. But why generalize then?

The eCompletion (Eclipse style completion) package from Squeak works quite nicely and only shows the appropriate selectors:



But there are cases where auto completion is not able to quess the type of an object (for instance when you play with reflection).

I dont claim Smalltalk IDE's to be the holy grail, but compared to other IDE's they are flexible and open. If it doesnt work in Dolphin you can change the auto completion very easily. Ever tried to change the auto completion of VisualStudio? ;)

Squeak is on fire

Cees has set up a build bot for Squeak 3.9alpha on his website. Read his blog why Squeak is on fire or have a look at his posting to the Squeak mailing list to get more infos.

Thursday, December 08, 2005

Today's (Smalltalk) IDE's

I'm not sure why Cedric Beust (whoever this guy is) should be one of the forward thinkers in the Java community when he says something like this in an interview:

"A lot of veteran developers point out that Smalltalk showed that it was possible to have such an IDE in a dynamic language, but they are only partially right. Today's IDE's are doing much more than anything Smalltalk's environment ever did, so the problem is still wide open (and maybe impossible to solve)."

I used/use both: Smalltalk IDE's and Eclipse/VisualStudio like IDE's - also wrote plugins/goodies/tools for both (including an own standalone IDE). So I know what I'm talking about and have to disagree:

Today's IDE's are doing nothing more than Smalltalk IDE's in the past and present and will never be able to do more than a Smalltalk IDE in the future!

You ask why? Here is my answer:

One can easily build tools in a Smalltalk IDE without spending much time or relying on a predefined plugin architecture. That's why so many features in 'modern' IDE's have their history in Smalltalk. You can also modify the predefined Smalltalk tools to suit your needs since they come with full source code and are easily changeable.
(Ever tried to fix a bug in an Eclipse core package or plugin and you know what I'm talking about)

If there is no predefined Smalltalk tool for your task you can also write a simple script and run it. An example? Let's delete all (S)Unit test cases currently implemented using a single line of code:

TestCase allInstances do: [:each | each removeFromSystem]

Or maybe you need some statistics for your boss: let's count the number of SUnit test case classes in the system:

TestCase allSubclasses size

You can easily access the compiler:

Compiler evaluate: '3 + 4'

or directly evalute your code in a workspace.

Another example: you want to know how long a particular action or piece of code will take, so just write a profiler script or add the profiler into the particular method:

TimeProfiler profile: [self myLongRunningAction]

Next example: we want to watch an object. So just send

anObject inspect

to open an inspector showing the object and it's structure. We can also open a browser on the object's class by sending

anObject class browse

browsing the behavior and send new messages after that.

Try to do all this in VisualStudio or Eclipse. Even with additional script support added by the vendor/community you will never get the flexibilty of a Smalltalk IDE where you can access anything, including your projects, packages, classes, methods, files and not to forget the language itself. Other scriptable IDE's are mostly limited to predefined objects exposed by the IDE.

And you dont need to know a different scripting language with a different syntax. In a Smalltalk IDE you can use one simple and powerfull language to develop your program, enhance the IDE with tools, build your program and packages and deploy it, ...

So additional stuff like plugin architectures, build systems based on XML (Ant), setup managers, ... are not necessary in Smalltalk. Just use Smalltalk.

In a Smalltalk system there is also no difference between the IDE and the developed application. Typically you throw the IDE out of the image (where any object lives in) before delivering the application. Sometimes an IDE tool is also usefull for the end user of your application so you just leave it there. If you want you can leave the debugger or the whole IDE tools in the deployed application. So you can track problems happening only on the customer side, directly fix them in the debugger and continue running the application...

To transform this example into the java world: try to build and deliver an Eclipse RCP application with the java debugger included, fixing a bug and continue without restarting ...

This is mostly the problem developers from traditionall IDE's face when working with a Smalltalk IDE for the first time. They are too much bound to code in files, IDE tools like a compiler or a debugger as separate application, ...

Maybe some of the Smalltalk IDE's have to catch up with a better look or provide some newbee wizards and templates found in other commercial IDE's. Maybe then people like Cedric Beust will accept to work with them and learn about the power of Smalltalk.

Cees also wonders why anyone is wasting time interviewing this Cedric Beust.

Wednesday, December 07, 2005

SqueakSource Server image

I managed to build a working SqueakSource server image using the instructions from http://source.squeakfoundation.org.

With this predefined image you are able to run an own local SqueakSource repository server very easily.

Cees De Groot will host the image and put a download link onto the project page tomorrow. Here is a short preview of the image and the server running on localhost:





Many thanks to Doug Way for the instructions, the SqueakSource authors for this nice piece of Software, Cees for hosting and others who helped to make it available.

ComSwiki 1.5

Jochen "Jeff" Rick (J77) has announced a new version of ComSwiki (codename "One Of These Days").

The new release includes AniAniWeb - a personal home page system.

Tuesday, November 15, 2005

Techo with Shout

Found a nice tool on SqueakMap today. It is called "Techo" - something like
a multi notepad. Many thanks to Takashi Yamamiya for implementing this little tool.

Since I want to use it as a workspace script manager I created a "Shout" and "eCompletion"
aware version of it to support Smalltalk syntax highlighting.

To install in Squeak 3.8#6665 using the SM Package loader:

- install "Shout" version 4 (may already be installed)
- install "ShoutWorkspace" version 2
- install "eCompletion" version 2.0b2
- install "TechoShout" version 1

Open Techo using 'open' in the world menu or evaluate "Techo open".

Now you can create workspace scripts. Note that Techo used the first line
as the name for the script - so I typically write the scripts using a first line comment:

"001 - Open a new Techo"
Techo open.


Tuesday, November 08, 2005

Exupery

Exupery is a compiler written in Squeak Smalltalk that compiles bytecodes to machine code. You can read more about it on the Squeak swiki.

There is also a new gmane interface to the Exupery mailinglist.

Monday, November 07, 2005

NaDa

... just installed "NaDa" - what a beautifull piece of software. Runs on every platform!

Wednesday, October 26, 2005

Squeakware

Squeakware is a compact, customizable Squeak-built-in Linux. It's based on "Slax Linux". Click on the images to enlarge:

 

Monday, October 24, 2005

Reimplementing Eclipse?

If they really want to bring more Smalltalk experience into Eclipse I would vote for reimplementing it using a pure and dynamic OO language. ;)

Maybe they should have a look at Squeak - it's open source, not controlled by vendors and it's community is growing fast.

Thursday, October 20, 2005

Seaside in O'Reilly article

Seaside (the Smalltalk web framework based on Squeak) is mentioned in an O'Reilly article:

"Web programming is an absolute disaster. After ten years of Java programming, we still haven't built a framework to get the Back button right. Web applications are stateless, so web applications scale better. But stateless applications are hard to build, and our frameworks do not give us much help. With most Java web frameworks, you basically build many unrelated pieces of the application using servlets or JSP, and then wire them together by manually saving objects that you need in temporary storage objects called sessions."

...

"Continuation-based web frameworks generally make web development much easier by simulating a stateful application."

...

"The best continuation-based frameworks are developed in dynamic languages. By far, the most robust is Seaside. It's a framework based on Squeak, a Smalltalk dialect. Seaside features fantastic debugging support--you can actually inspect, debug, and change your code from a browser"

I also like the Conclusion:

"In Beyond Java, I make the case that Java's not dead yet, but for the first time in nearly a decade, we're seeing compelling innovation happen beyond the borders of Java. These four technologies will play an important role in the near future. Watch them closely."

But I would not totally agree: in Smalltalk innovation happens all the time!

Thursday, October 06, 2005

Yet another frustrated developer...

Currently Java (especially J2EE) is getting too complex and this will frustrate more and more developers.

It is true that compared to Java you are much more productive - but Smalltalk is still the winner for developer productivity. It is also much easier to use - if you are willing to think in plain objects and messages. So leave the curly braces behind you and start by reading one of the free Smalltalk books.

Tuesday, October 04, 2005

Squeak homepage

The new Squeak homepage is up and running. Visit http://www.squeak.org and read more. It is based on SmallWiki.

Sunday, September 18, 2005

Thursday, September 01, 2005

VA Smalltalk 7.0

The Windows download for VA Smalltalk 7.0 (VAST) is available here. Downloads for Linux, AIX and Solaris will be available soon.

VA Smalltalk is the former VisualAge for Smalltalk product from IBM. The product development and support is now done by Instantiations - and I'm sure this will help moving the product and customers forward.

Wednesday, August 31, 2005

Susie - Smalltalk scripting

Susie is an attempt to provide a light weight scripting engine using Smalltalk as the language. it is based on
PublicDomainSmallTalk, which in turn is based on LittleSmalltalk.

Tuesday, August 30, 2005

Monday, August 29, 2005

Cloth again

Orion Elenzil put together a nice Croquet demo.
Read more here. He also points to a silly flash file called the "Falling Woman demo". If you ever wanted to know the difference between Vernet integration and Euler read about his first demo.

Seaside Presentation Movie

Avi Bryant presented his "Seaside" web framework to the Vancouver LISP User Group. You read about the presentation and download the movie (~250 MB) here.

Squeak and Smalltalk related videos

ESUG (European Smalltalk Usergroup) announced the following videos available at Google Video:

What is Squeak? (Alan Kay)
http://tinyurl.com/a53zm

Squeak and Croquet Demo Etech03 (Alan Kay and David A. Smith)
http://tinyurl.com/bywxe

Croquet: A Collaboration Architecture (Alan Kay and David A. Smith)
http://tinyurl.com/cgcms

The Computer Revolution hasn't happend yet. Keynote OOPSLA 1997 (Alan
Kay)
http://tinyurl.com/9vgdl

Beyond VI -- Talk from euroko03 (Marcus Denker)
http://tinyurl.com/dczzt

Alan Kay: Education in the Digital Age
http://tinyurl.com/8trwq

Alan Kay: Graphical User Interfaces
http://tinyurl.com/daocv

Bytecode-to-bytecode adaptive optimization for Smalltalk (Eliot Miranda)
http://tinyurl.com/dparf

Dan Ingalls: Object-Oriented Programming
http://tinyurl.com/784jk

Alan Kay: Doing with Images Makes Symbols
http://tinyurl.com/cpgjz

Self; The Video
http://tinyurl.com/8q6ku

Doug Engelbart: The Demo
http://tinyurl.com/d9r9w

Tuesday, August 23, 2005

Writing customized UI's using Morphic

Had a little bit time this evening. Not enough to do anything serious with Smalltalk - but enough to answer a question on the Squeak mailing list by writing a simplified "Handy Simulator". It's only behavior is to switch the screen on and off by using the power button.

It's a nice example of using morphic to build a customized user interface. The package is registered on SqueakSource and can directly be loaded into squeak using the SqueakMap package browser.


Free OmniBase

Looks like the OmniBase Object Database for Smalltalk is now free. The download page includes:

"OmniBase is available for free for commercial and educational purposes. Free version of OmniBase is prohibited to be used in the oil or military industries."

There are versions for several Smalltalk dialects: Squeak, Dolphin, VisualWorks, VisualAge and ST/X.

Monday, August 22, 2005

VAST7 RC1

Eric mentioned that the Release Candidate 1 (RC1) of the Windows Version of VA Smalltalk 7 is available on the Instantiations website.

Tuesday, August 16, 2005

Bicephale project

Michal announced the first version of his "Bicephale project" which tries to change Seaside to make it handle elegantly the display of static, long-lived objects.

Note that it is early code - but since the package contains no modification to base Seaside classes it should be harmless to install it into your Seaside image.

Interim Pollock Release

Samuel S. Shuster has published an interim version of Pollock to the Cincom Public Repository. Pollock is the new GUI framework for VisualWorks Smalltalk.
Read more in the newsgroup or on his blog.

Sunday, August 14, 2005

3D Browser

I've created a small flash tutorial last week and sent it to the editors of Bitwise Magazine. If you want to know how to create a 3D browser in Squeak Smalltalk then read here.

Many thanks to Huw Collingbourne for making it available.

Wednesday, August 10, 2005

Why an image is helpfull for development

There is a discussion about Ruby vs. Smalltalk and file based development vs. image based development. I could'nt resist to add my 2 cents.

Tuesday, August 02, 2005

Monday, July 25, 2005

Generating CS Papers ...

ohhh - what a usefull tool! There is a computer science paper generator online available. So some authors dont have to waste their time writing papers before creating presentations like

  • "From Brain to {Your favourite technology}"
  • "Migrating apples to oranges"
  • "Waste you time with the next framework"
  • "My theory is better than yours"
  • "How to stay in business with free software"
  • "How to build hello world with 39 screenshots"
  • ...

Thursday, July 21, 2005

Collogia and Cincom Smalltalk

The german Collogia AG has announced a new product "CollPhir ZWK" created with Cincom Smalltalk for pension management.

Read the press material (german only).
Looks like most of their products are Visual Works based. At least one can guess that from the available screenshots in the info material.

Tuesday, July 19, 2005

Smalltalk is easier ... even in school

Found this picture on a friends website.



Yes: life was hard for me too when I was a little boy in primary (C++) school. Later in higher Smalltalk education the program was much easier to write and understand:

500 timesRepeat: [Transcript show: 'I will not throw paper airplanes in class.']

Monday, July 18, 2005

Chronos Date/Time Library

The Chronos Date/Time Library is reusable code library written in Smalltalk for the creation of and computations with date and time values. It's available at http://chronos-st.org. Note that the license says: "Porting Chronos to non-Smalltalk programming languages is strictly prohibited." - so it's Smalltalk only.

GPS in Squeak

Diego Gomez Deck announced a preliminary version of GPS support for Squeak.

Wednesday, July 13, 2005

Live Shore Components demo

The shore components demo (a component library for seaside) is now running live on the seaside website. Just point your browser to http://shorecomponents.seaside.st. The demo includes some of my seaside examples (SVG, file download, embedded browser and web tree)



Since the project is hosted on SqueakSource I hope that others will contribute some components too.

Sunday, July 10, 2005

DALEKTRON Game in Smalltalk

Andy Bower created a game together with his eldest son James, before the spectres of the curly braces get hold of him.

Read more here, download the game or click on one of the screenshots below.

    

Monday, July 04, 2005

A talk on the Seaside ...

Avi Bryant will be speaking in London about Seaside on the evening of Tuesday the 19th of July at the Old Bank of England. Read more here.

Component library for Seaside

Jan B. Krejčí announced a new project called "Shore Components" - a component library for the Seaside web framework.



It is hosted on SqueakSource, so you can add the following HTTP based Monticello repository to your Squeak image and load it:


MCHttpRepository
location: 'http://www.squeaksource.com/ShoreComponents'
user: ''
password: ''

After running "WAKom startOn: 9092" point you browser to http://localhost:9092/seaside/ShoreDemo1

Friday, July 01, 2005

Wednesday, June 29, 2005

Is Eclipse the next computer revolution ...

James Governor blogs about Eclipse and he is so excited about it that he calls it
the next computer revolution
.

I dont think Eclipse is a revolution - it only assembles good ideas mixed with good marketing. Nothing really new. It also helps Java developers finding more acceptance for their applications by providing a native look.

Even with nice plugins Eclipse is still not the most powerfull tool since it's weakest point is IMHO Java. That wont change - even with the money of respected IT vendors.

Any Smalltalk IDE is much more flexible as a system since it is based on pure objects not on files, static typing and static languages. Some questions you should ask yourself:

Can I fix a bug in Eclipse itself while it is running without restarting or debugging from another eclipse session? Can I add a feature to the debugger even when there is no extension point defined - just since I have to fix it or want to include a tool I need for faster development?
Can I save the complete object environment (Object memory) in an image while debugging and continue debugging at exactly the same point the next day or on a different computer?
Can I add a new control structure to the underlying language while the IDE is running and without changing the parser/scanner/compiler?

Can I script the whole Eclipse environment like I can change any Smalltalk IDE using the Smalltalk language. In Smalltalk I can write:

TestCase allSubclasses do:
[:each each removeFromSystem]

to get rid of all unit tests in the IDE for example? I also use the same language to build and deploy my applications. There is no need for a different technology like Ant and remembering xml-tags/ant tasks. Anything is open, accessible and changeable. Even the language itself is just assembled from objects.

I agree that Eclipse does a good job in providing a nice platform for RC applications, frameworks and tools. Nothing else. But people should have a look at more dynamic environments since our world is constantly changing and so should our tools.

Just download a Smalltalk system like Squeak or VisualWorks and try it for yourself. Or have a look at: http://www.opencroquet.org. Download and try it. I would call Croquet a revolution, but not Eclipse.

But as Alan Kay says:
"The Computer "Revolution" Hasn't Happened Yet!" (see http://en.wikipedia.org/wiki/Alan_Kay)

Squeak on Google Video

There are now two Squeaky videos on Google Video:

http://video.google.com/videosearch?q=Marcus+Denker&btnG=Search+Video

(a short Seaside Demo by Stefan Ducasse and a half-hour demo from Marcus Denker at EuroKo03. Nothing great, this was more for testing. More to come.

Monday, June 27, 2005

Tuesday, June 21, 2005

Seaside Job Offering

Netstyle.ch is looking for an experienced Smalltalk developer at Bern, Switzerland mainly doing web applications with Seaside on Squeak. Interested? Then read more here.

Monday, June 20, 2005

Thursday, June 16, 2005

Parla - a LittleST derivate

Parla is a Little Smalltalk 3 derivate. You can download it from http://www.copyleft.de/Parla/Parla.html. It instantly compiles - the executable VM is 64k and the minimal image is 100k. Note that the 100k includes the source. You can easily build custom images

Tuesday, June 14, 2005

TOPLAP and Squeak

TOPLAP - an informally-organized group collective of software artists and musicians interested in the performative nature of algorithms met in Berlin. Craig Latta (Squeaker and music composer) took part on this event. There is a first video available giving you an impression on how to create music performances using Squeak and other live coding environments.

Monday, June 13, 2005

Another frustrated Java developer...

Instead of being frustrated and running in circles on the Java islands
more people should have a walk on the seaside and have a Smalltalk. See:

http://www.jarchitect.org/web/document.php?id=20

Thursday, June 09, 2005

Squeak Web Activities

Have a look at the "NASA Connect" page. It has some ready to start examples of the Squeak Browser Plugin from Squeakland.

Wednesday, June 08, 2005

Tuesday, June 07, 2005

Bitwise Magazine and Smalltalk

The Bitwise (www.bitwisemag.com) magazine, which launched online last week, has a two part beginners' tutorial to Smalltalk. Based around Squeak, this is very much intended for complete newcomers to the language. However, they also plan to review the forthcoming Dolphin Smalltalk v 6.0, and to have a feature on Cincom Smalltalk some time in the next few months.

Monday, June 06, 2005

Some news from OSVM

The OO VM (now known as OSVM) from Lars Bak is getting more attention. It's a smalltalk VM with some restrictions for blocks. Read more here. If it is possible to build Smalltalk VM's in 32kB why not build a small, full functional and portable Smalltalk VM for plugging into web servers and other applications?

Friday, May 27, 2005

Scam recursion

Today I received the following email:

> Dear friend,
>
> I am Mr. Steve Howard,i represent BROWNMIJ IMPORT AND EXPORT COMPANY PLC
> based in UK. My company markets and exports Polymeric Polyol and other
> products for world trade.
>
> We are searching for reliable representatives who can help us establish a
> medium of getting to our customers in Europe America and Africa as well as
> making payments through you as our payment officer. It is upon this note
> that we seek your assistance to stand as our representative in your
> country.
>
> Note that, as our representative, you will receive 10% of whatever
> amount you clear for the company and the balance will be paid into an
> account that we will avail to you. Please, to facilitate the conclusion
> of this transaction if accepted, do send me promptly by email the
> following:
>
>
> (1)Your full names,
> (2)Age and Sex
> (3)Contact address and, Phone/fax numbers.
>
> Thank you for your time as i await your prompt response.
>
>
> Very Respectfully,
> Mr. Steve Howard
> DIRECTOR OF MARKETING
> BROWNMIJ COMPANY PLC
> Tel : +447031948114



Hopefully they will stop trying to give me money when they read my answer:

Dear Mr. Howard,

unfortunately I have to decline your offer since I dont think
it is worth the effort. I earn more money in my daily job -
which is sending stupid emails to other people and making them
believe they could esily get rich. I typically use free mail
accounts to send these messages around telling people that
I represent a company searching for reliable representatives.
Unfortunately my job get's harder these days since it is not
a new idea and most people dont want to get rich - typically
they send me an answer that they do the same job as I do and
have to decline my offer...


Very Respectfully,
Mr. John Massmailer
DIRECTOR OF MARKETING
STUPID COMPANY INC.
Tel : +440815

Wednesday, May 25, 2005

Tweak Roadmap

Found the roadmap for the next
steps in the Tweak system from Andreas.

Fractal Terrain

There is also a new fractal generator in the Croquet image available. It is used for terrain generation. Read more here.

CITRIS Collaborative Gallery Software

The CITRIS Corporative Gallery Software now has a project homepage, an online forum, a download page and a bug tracker.

You can download the software here. It is based on the Croquet project which is written in the Squeak Smalltalk dialect. Click on the image for a preview.