There are many reasons to fall in love with the keyword message syntax and dynamic type system of Smalltalk.
One reason is that (depending on appropriate names) you easily understand the intention of a method. If not you can easily find out by browsing the code.
In the non-Smalltalk land you have to spend your time reading api descriptions. And you will find horrible examples like this. Just scroll up and see how many ways there are to set an attribute ;)
Thursday, March 19, 2009
Thursday, February 12, 2009
Smalltalk in Barcelona
There is a new website on Smalltalk managed by the
Software Dept. of the Technical University of Catalonia
http://smalltalk.cat
It was announced by associate professor Jordi Delgado who
gives courses in Smalltalk and Botsinc.
The site is powered by Pier CMS and language is catalan.
If you havent already you should check out the video on
Alan Kays OOPSLA talk on "The Computer Revolution hasn't happend yet"
which is included in the site.
Software Dept. of the Technical University of Catalonia
http://smalltalk.cat
It was announced by associate professor Jordi Delgado who
gives courses in Smalltalk and Botsinc.
The site is powered by Pier CMS and language is catalan.
If you havent already you should check out the video on
Alan Kays OOPSLA talk on "The Computer Revolution hasn't happend yet"
which is included in the site.
Wednesday, February 11, 2009
SeaBreeze for Squeak
Looks like SeaBreeze gets ported to Squeak (which is the initial and main Seaside platform):
http://www.squeaksource.com/SeaBreezePort.html
http://www.squeaksource.com/SeaBreezePort.html
Wednesday, February 04, 2009
Pier CMS 1.1
Release 1.1 of Pier is available. Easy to install:
- download
- start the executable VM
- go to http://localhost:8080/seaside/pier
So you have a Smalltalk based CMS within a minute.
Whats new: several fixes and it is now based on the Pharo distribution of Squeak.
If you are interested how Squeak development can look these days then open the browser within the image. It includes the new UI look and OmniBrowser with new icons, eCompletion and syntax highlighting.
BTW: if you are on Windows you have to select "System" -> "Preferences" - "PreferenceBrowser" -> "general" -> "swap mouse buttons" to get the right click menu again since the image was built on Mac.
- download
- start the executable VM
- go to http://localhost:8080/seaside/pier
So you have a Smalltalk based CMS within a minute.
Whats new: several fixes and it is now based on the Pharo distribution of Squeak.
If you are interested how Squeak development can look these days then open the browser within the image. It includes the new UI look and OmniBrowser with new icons, eCompletion and syntax highlighting.
BTW: if you are on Windows you have to select "System" -> "Preferences" - "PreferenceBrowser" -> "general" -> "swap mouse buttons" to get the right click menu again since the image was built on Mac.
Tuesday, January 27, 2009
VAStGoodies
Adriaan van Os announced the VAStGoodies.com website today. It's written in Seaside 2.9 alpha 1 running on VisualAge Smalltalk V8 Beta1.
The application enables browsing, downloading and uploading of Envy Configurations Maps.
The application enables browsing, downloading and uploading of Envy Configurations Maps.
Ambrai Smalltalk for Mac
David Buck spoke to Dorin from Ambrai and reports that they have picked up development of Ambrai Smalltalk after a hiatus and are planning a future release.
There will also be a presentation on Ambrai Smalltalk in the spring at the Ottawa Carleton Smalltalk Users Group.
There will also be a presentation on Ambrai Smalltalk in the spring at the Ottawa Carleton Smalltalk Users Group.
Tuesday, January 13, 2009
Rounding in different environments
Again, take care when working in multiple environments:
In Excel you get:
in Oracle you get:
in VB6 one gets:
But you can use:
In Java you can directly use BigDecimal or the following utility for doubles:
In JavaScript the Math.round() has no scale, so again we use simple math:
In Excel you get:
ROUND(4,4245;2) -> 4.25 (depending on a preference setting)in Oracle you get:
select round(4.245, 2) from dual -> 4.25in VB6 one gets:
Round(4.245, 2) -> 4.24But you can use:
Function RoundHalfUp(number As Double, scale As Integer) As Double
RoundHalfUp = Int(number * 10 ^ scale+ 0.5) / 10 ^ scale
End Function
In Java you can directly use BigDecimal or the following utility for doubles:
/**
* Rounds the given value half up.
*
* @param value the value to round
* @param scale the scale to use for rounding
* @return a new rounded BigInteger instance
*/
public double roundHalfUp(final double value, final int scale) {
return new BigDecimal(Double.toString(value)).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
In JavaScript the Math.round() has no scale, so again we use simple math:
function roundHalfUp(x, n)
{
var a = Math.pow(10, n);
return (Math.round(x * a, 0) / a);
}
Sunday, January 04, 2009
Cloud Computing ... in Smalltalk
Jan van de Sandt announced "Cloudfront AWS" - a new open source project he is developing together with Ernest Micklei. The code provides easy access from Smalltalk to the Amazon Web Services for cloud computing.
It's nice to have Ernest back in Smalltalk - on squeaksource he states: "Smalltalk is coming back, so am I".
I once worked with him as a consultant and enjoy his ideas like Teachable Objects.
For Smalltalk he typically used VisualAge - but I gave him an update on Pharo, Squeak dev tools and Seaside29 in December and it is nice to see that they now choose Squeak as the first platform for their new project and port to other ST dialects later.
Expect to see more interesting things on the new http://blog.doit.st blog, especially since both of them seem so fascinated by Smalltalk that they even commited code to squeaksource on the christmas evening ;)
It's nice to have Ernest back in Smalltalk - on squeaksource he states: "Smalltalk is coming back, so am I".
I once worked with him as a consultant and enjoy his ideas like Teachable Objects.
For Smalltalk he typically used VisualAge - but I gave him an update on Pharo, Squeak dev tools and Seaside29 in December and it is nice to see that they now choose Squeak as the first platform for their new project and port to other ST dialects later.
Expect to see more interesting things on the new http://blog.doit.st blog, especially since both of them seem so fascinated by Smalltalk that they even commited code to squeaksource on the christmas evening ;)
Tuesday, December 30, 2008
Squeak, Etoys, Robots and Wiimote
Found a robot kit under the christmas tree? So its time to have a deeper look at Smalltalk - especially Squeak.
Ricardo Moran tells you how to control Lego Nxt robots, control the I-Sobot (world's smallest humanoid robot) or play robot soccer.
There is also an FFI interface to the wiiuse library - this allows to interact with several Nintendo Wii remotes using Squeak and/or Etoys.
Ricardo Moran tells you how to control Lego Nxt robots, control the I-Sobot (world's smallest humanoid robot) or play robot soccer.
There is also an FFI interface to the wiiuse library - this allows to interact with several Nintendo Wii remotes using Squeak and/or Etoys.
Seaside 2.9 Alpha 2
Seaside 2.9 Alpha 2 is out. Additionally to many fixed bugs portability has increased (this time with the focus on VisualAge Smalltalk).
Lukas also pointed out a new tool at http://builder.seaside.st to configure a load script or Monticello configuration.
Lukas also pointed out a new tool at http://builder.seaside.st to configure a load script or Monticello configuration.
Monday, December 29, 2008
SE Radio on Smalltalk
Spend some time this evening to listen to some episodes from "Software Engineering Radio". Currently listing to an interview with Dave Thomas with lots of discussion on Smalltalk, Squeak, Lively, Java and Ruby. Interesting ...
Saturday, December 27, 2008
Flash Charts for Seaside
Udo Schneider created a wrapper for the OpenFlash Chart project to use it from the Seaside web framework. The project is hosted on SqueakSource.
Tuesday, December 16, 2008
Coq virtual machine project
Andreas gives an update on the current state of the Coq Virtual machine.
Until now there were only informations on Eliots blog available and its good to get a summary of the overall plan now.
Until now there were only informations on Eliots blog available and its good to get a summary of the overall plan now.
Monday, December 01, 2008
Smoaktalk - Smalltalk interpreter for Flash
Must have missed this in July: Chris Smoak has created a Smalltalk interpreter for Flash using OMeta.
Saturday, November 22, 2008
Alien - Smalltalk and the world out there
In the year of Smalltalk things really moving forward, especially within the open source family. A lot of VM work is going on and Pharo may become the most interesting descendant of the Squeak image by breaking with old traditions.
But there is also work going on to provide a better FFI (Foreign Function interface). John and Eliot provide first version on the "Alien" SqueakSource project. From the description:
"Alien is a new FFI interface. It supports faster call sequence, return code setting, and callbacks to execute smalltalk code from the FFI routine. Copyright 2008 Cadence Design Systems, Inc. Licensed under the Apache License, Version 2.0"
But there is also work going on to provide a better FFI (Foreign Function interface). John and Eliot provide first version on the "Alien" SqueakSource project. From the description:
"Alien is a new FFI interface. It supports faster call sequence, return code setting, and callbacks to execute smalltalk code from the FFI routine. Copyright 2008 Cadence Design Systems, Inc. Licensed under the Apache License, Version 2.0"
Monday, November 17, 2008
A Commodore 64 emulator in Smalltalk
A C64 emulator written in VisualWorks Smalltalk by Gabriel Honoré. Nice! Especially since I started my first programming steps on this machine. Read more here.
So we can write the next Smalltalk UI framework using POKE 8192 + offset, ..., control sound using POKE 54296, 15 and use SYS 64738 to reset our machines ;)
So we can write the next Smalltalk UI framework using POKE 8192 + offset, ..., control sound using POKE 54296, 15 and use SYS 64738 to reset our machines ;)
Thursday, November 13, 2008
Scaffolding for GemStone
James Foster provides a short video on "Scaffolding for GemStone". It nicely shows how easy it can be to create CRUD web applications with Seaside, Squeak using Gemstone for persistence.
Even Robots understand Smalltalk
The Smalltalk programming language is not only simple but powerful - it is also very close to natural languages.
Thats why also Robots can understand Smalltalk these days. I think you should also start to dive in and learn Smalltalk before robots outperform the human race.
Read more.
Thats why also Robots can understand Smalltalk these days. I think you should also start to dive in and learn Smalltalk before robots outperform the human race.
Read more.
Wednesday, November 05, 2008
seaBreeze 4.0
Karsten announced a new version 4.0 of seaBreeze for Seaside.
In addition they now provide a QuickStart image - just download it and run and you are able to play with the software. Since it is a normal VisualWorks image you can just select "Browse" and "System" in the Launcher to browse the classes and find out how it is done. If you need more help just follow the mailinglist.
Compared to typical VisualWorks UI windowSpec the seaBreeze UI Builder now uses XML as storage format for the layouts. I like the XML integration into the VW Smalltalk IDE - they extended the Refactoring Browser with a new tab to browse the XML nodes. Nice.
It's not yet ported to Squeak/Pharo (the original Seaside platform) ... but at least there is some interest.
In addition they now provide a QuickStart image - just download it and run and you are able to play with the software. Since it is a normal VisualWorks image you can just select "Browse" and "System" in the Launcher to browse the classes and find out how it is done. If you need more help just follow the mailinglist.
Compared to typical VisualWorks UI windowSpec the seaBreeze UI Builder now uses XML as storage format for the layouts. I like the XML integration into the VW Smalltalk IDE - they extended the Refactoring Browser with a new tab to browse the XML nodes. Nice.
It's not yet ported to Squeak/Pharo (the original Seaside platform) ... but at least there is some interest.
Tuesday, November 04, 2008
Subscribe to:
Posts (Atom)