Monday, December 26, 2011
Teleplace gone
The company Teleplace is gone, the software (written in Squeak Smalltalk) is still available and continues to live.
Wednesday, December 21, 2011
Renaming Projects: DBXTalk
Looks like it is not good to rename a project while it already got some attention on the web. The former SqueakDBX is now DBXTalk and you should follow this discussion if you are interested.
Monday, December 19, 2011
Sunday, December 11, 2011
Friday, December 09, 2011
Smalltalk Devroom at FOSDEM 2012
Dont know what to do on Sunday, February 5, 2012? You can visit the Smalltalk Devroom at FOSDEM 2012 if you like.
Monday, December 05, 2011
BDD Extensions for Pharo
GUI testing in Pharo made easy - if you are interested then read this and this or checkout the project on Squeaksource. It is an experiment from Sean P. DeNigris for Behavior Driven Development (BDD) in Pharo.
Wednesday, November 30, 2011
An interesting post
Interesting post if you are interested in dynamic languages. Thanks Michael for sharing.
Monday, November 28, 2011
Squeak Smalltalk from the start videos
Lawson English has some videos to share for Squeak beginners.
Fuel also for Squeak
Pier Admin
Nick shares an "Pier-admin" extension - an admin UI extension for the Pier CMS (which is based on Seaside).
Wednesday, November 23, 2011
Thursday, November 17, 2011
Seaside and SqueakSSL on Windows
Want to use Seaside SSL on Windows. Andreas shows you how to do it!
Cool - and thanks a lot (since I was the one asking about the state of this)
Cool - and thanks a lot (since I was the one asking about the state of this)
Tuesday, November 15, 2011
SmalltalkHub demo online
The demo for SmalltalkHub is online now. Take care - it is a preview currently.
Monday, November 14, 2011
RTalk - Smalltalk on the JVM
Found the presentation video from the JVM Language Summit about RTalk to run Smalltalk on the JVM.
Sunday, November 13, 2011
Seaside Form Validation with Mold
There is a nice framework from Ken Treis for form validation in Seaside. The project is called "Mold" and available on Squeaksource and the Cincom Public Repo. Read this blog post with a detailed description.
Wednesday, November 09, 2011
Sunday, November 06, 2011
JQuery Mobile for Seaside video
Interesting video from Nick on how to build an app with Seaside and the jQuery Mobile wrapper.
Friday, November 04, 2011
Thursday, October 27, 2011
IronSmalltalk
Todor Todorov has created a new project called "IronSmalltalk" on CodePlex to be able to run Smalltalk on the DLR (Dynamic Language runtime).
Hat tip to James.
Hat tip to James.
Malleable Tools
Martin Fowler talks about Aarhus 2011 conference and the Moose presentation (which is written in Pharo Smalltalk):
Moose is written in Smalltalk, and that same philosophy came through strongly in Tudor's talk - quickly allowing you to build first class features into the tool by implementing new functions in a matter of minutes.
Such malleable tools haven't caught on that much. They do require an eagerness from the user to learn how to make the tool truly sing, but this effort comes with the reward of a tool that can truly be tailored to an individual's needs.
Tuesday, October 25, 2011
Dart to JavaScript compiler
There is a new (experimental) self-hosting Dart to JavaScript compiler available.
Monday, October 24, 2011
Tools like Wireshark
I like tools - especially usefull ones like Wireshark.
Once Philippe recommended it on the seaside list:
"Use wireshark to inspect at what actually went over the wire"
and yes - it already helped me keep the control!
Once Philippe recommended it on the seaside list:
"Use wireshark to inspect at what actually went over the wire"
and yes - it already helped me keep the control!
Browser Building
There is a new video available showing you how easily you can build new browsers using Glamour.
Thursday, October 20, 2011
Wednesday, October 19, 2011
JDart - Dart on the JVM
Would you like to run the new Dart language on the JVM - then look at JDart.
Tuesday, October 18, 2011
Parallel Computing with Smalltalk
David Ungar gives a talk on Parallel Computing. He is doing research with
Smalltalk within the Renaissance project at IBM. They use a modified
Squeak Smalltalk system that runs on the 64-core Tilera chip.
Smalltalk within the Renaissance project at IBM. They use a modified
Squeak Smalltalk system that runs on the 64-core Tilera chip.
CogDroid Updates
Dimitry has some more infos on CogDroid - beside the ARM devices there is now also Android-x86 support available.
Language of Languages
Jamie Douglass, Ralph Johnson and Nick Chen work on an experimental language workbench called Language of Languages (LoLs) that focuses on unifying concepts (meta-models) across different notations.
Read the announcement here or visit the new website http://www.languageoflanguages.org.
Read the announcement here or visit the new website http://www.languageoflanguages.org.
Monday, October 17, 2011
Hydrodynamics Simulation Environment in Smalltalk
Smalltalk is a nice environment for creating simulations - especially since the results can interactively explored. There is a new project on Squeaksource implementing an Hydrodynamics Simulation Environment. Check out the class side of class HGSimulator for a few examples.
Friday, October 14, 2011
JQuery Mobile for Seaside
Nick provides a new framework for Seaside and JQueryMobile integration.
You can read more here and try it here.
You can read more here and try it here.
Tuesday, October 11, 2011
Kaliningrad: Developing with Amber, Seaside and Monticello
If you want to combine the client side Amber with the server side Seaside framework and Monticello then look at the new Kaliningrad project.
Monday, October 10, 2011
Dart Language
First infos on Dart appear on the radar: http://www.dartlang.org
You can also try it right in your browser: http://try-dart-lang.appspot.com
Also the language spec.
You can also try it right in your browser: http://try-dart-lang.appspot.com
Also the language spec.
Thursday, October 06, 2011
S8 - Smalltalk on Googles V8 JavaScript engine
Looks like Alejandro F. Reimondo implemented S8 - a Smalltalk platform written on top of Googles V8 JavaScript engine (which is written in C++).
Smalltalk Stammtisch Zürich
There is another Smalltalk Stammtisch Zürich on Tuesday, September 27, 2011. Read more.
Dart/Smalltalk and dynamic object environments
I'm very interested what Dart (the new Google programming language) is all about. Why? Let me explain:
We have seen many new languages in the last few years (from Java, C#, Ruby, Scala, Clojure, Go, ...) - most of them with old and known concepts mixed with different syntax. But nothing really new. I tried nearly all of them but nothing hit me like Smalltalk did back when I understood all of its concepts.
To me Smalltalk is still outstanding since it is not only a language - it's language is only mapped to "the dynamic object system" underneath that the Smalltalk runtime provides. And having such a dynamic object system is the key factor in programming.
Many people are "blind" and dont see this since they compare languages by syntax or features or check if a language is highly ranked in silly comparisions like the TIOBE index. IMHO one of the reasons why Smalltalk is so poorly ranked is that Smalltalk (if seen as a programming language) maps to objects and messages - thats not what people know from other languages and if they look at Smalltalk code this is not what the usual programmer would expect regarding syntax.
Smalltalk is too different here. In a "3 + 4" expression the plus is not an operator - its a message. 3 and 4 are not treated equally - 3 is the receiver and 4 is the argument. Its also different regarding control structures. You dont need a keyword for a "while" loop in Smalltalk - you just need a message. If you dont have a "repeat until" construct you can easily implement it just by adding a message #repeatUntil: to BlockClosure taking a block as argument, ...
But there is this expectation among programmers to learn new keywords and syntax rules with any new programming language. This is how most books teaching programming languages start: learn the keywords, then language control structures and then start coding.
There is also this expectation to use nice wizards to create new classes or writing source code in text files followed by a compiler step.
Smalltalk is different: here you only need six keywords or just send a message to a class to tell the system that you want to create a new subclass of it. So anything is an object and understands messages - even classes and block/closures. Anything is changeable, anytime - even at runtime.
So Smalltalk as "a dynamic object system" is superior - and will continue to be so - since a dynamic environment is easy to change (even the language built on top). If you want you can even cleanly blend in different other more mainstream languages into this dynamic system. You can even make a snapshot of this virtual object system (an image file) and continue with your program or debugging session the next day.
Our world is a dynamic system too - full of objects. Thats why Smalltalk is very close in bringing real world concepts to machines and computing.
But even Smalltalk systems have to be enhanced - there is so much power in the meta facilities of these dynamic environments and Smalltalk still doesn use all of its power here. Meta informations usually are used for IDE tools - but if extended they can allow you to build applications nearly automatically (maybe more on this in another post). This is the field where Smalltalkers have to learn and catch up.
And what about Dart? The people behind Dart know that Smalltalk is not only a language, they worked with the underlying dynamic object system and understand it down to the bare metal. If they have reused and transfer this know how and knowledge correctly into the design of Dart then this new programming language is a chance to again bring dynamic object systems into the focus and raise programmers attention.
So will Dart just be "yet another language" with new books teaching you yet another new syntax or will it be a real step towards more dynamic adoptable and flexible runtime systems?
We will see next week...
We have seen many new languages in the last few years (from Java, C#, Ruby, Scala, Clojure, Go, ...) - most of them with old and known concepts mixed with different syntax. But nothing really new. I tried nearly all of them but nothing hit me like Smalltalk did back when I understood all of its concepts.
To me Smalltalk is still outstanding since it is not only a language - it's language is only mapped to "the dynamic object system" underneath that the Smalltalk runtime provides. And having such a dynamic object system is the key factor in programming.
Many people are "blind" and dont see this since they compare languages by syntax or features or check if a language is highly ranked in silly comparisions like the TIOBE index. IMHO one of the reasons why Smalltalk is so poorly ranked is that Smalltalk (if seen as a programming language) maps to objects and messages - thats not what people know from other languages and if they look at Smalltalk code this is not what the usual programmer would expect regarding syntax.
Smalltalk is too different here. In a "3 + 4" expression the plus is not an operator - its a message. 3 and 4 are not treated equally - 3 is the receiver and 4 is the argument. Its also different regarding control structures. You dont need a keyword for a "while" loop in Smalltalk - you just need a message. If you dont have a "repeat until" construct you can easily implement it just by adding a message #repeatUntil: to BlockClosure taking a block as argument, ...
But there is this expectation among programmers to learn new keywords and syntax rules with any new programming language. This is how most books teaching programming languages start: learn the keywords, then language control structures and then start coding.
There is also this expectation to use nice wizards to create new classes or writing source code in text files followed by a compiler step.
Smalltalk is different: here you only need six keywords or just send a message to a class to tell the system that you want to create a new subclass of it. So anything is an object and understands messages - even classes and block/closures. Anything is changeable, anytime - even at runtime.
So Smalltalk as "a dynamic object system" is superior - and will continue to be so - since a dynamic environment is easy to change (even the language built on top). If you want you can even cleanly blend in different other more mainstream languages into this dynamic system. You can even make a snapshot of this virtual object system (an image file) and continue with your program or debugging session the next day.
Our world is a dynamic system too - full of objects. Thats why Smalltalk is very close in bringing real world concepts to machines and computing.
But even Smalltalk systems have to be enhanced - there is so much power in the meta facilities of these dynamic environments and Smalltalk still doesn use all of its power here. Meta informations usually are used for IDE tools - but if extended they can allow you to build applications nearly automatically (maybe more on this in another post). This is the field where Smalltalkers have to learn and catch up.
And what about Dart? The people behind Dart know that Smalltalk is not only a language, they worked with the underlying dynamic object system and understand it down to the bare metal. If they have reused and transfer this know how and knowledge correctly into the design of Dart then this new programming language is a chance to again bring dynamic object systems into the focus and raise programmers attention.
So will Dart just be "yet another language" with new books teaching you yet another new syntax or will it be a real step towards more dynamic adoptable and flexible runtime systems?
We will see next week...
Tuesday, October 04, 2011
Running Dolphin app on Mac
As I reported earlier there is some help if you want to run your windows application written in Dolphin Smalltalk also on Mac.
Now there is a new blog post that explains all this in detail.
Now there is a new blog post that explains all this in detail.
Friday, September 30, 2011
Thursday, September 29, 2011
Database conectivity API for Squeak and Pharo
A new database conectivity API and its MySQL implementation was announced by Anindya Haldar for Squeak and Pharo.
Monday, September 26, 2011
Friday, September 23, 2011
Fast package loading
Thursday, September 22, 2011
More Amber news
Amber already connects with Morphic.js written in JavaScript. See this picture and read more here.
There is also a Twitterwall implemented in Amber.
Really interesting!
There is also a Twitterwall implemented in Amber.
Really interesting!
Coolacious
Coolacious = Cool + Delicious
With this new screencast released one can get the impression that Andy from ObjectArts released a Mac OSX port of Dolphin Smalltalk into the wild. For those who dont know Dolphin - it is a very nice Smalltalk system - but with history and focus on Win32 platforms. Now natively ported to MaxOSX? Really?
The end of a second screencast here showed that its not a real native port - he uses Wineskin, a tool used to make ports of Windows software to Mac OS X. Wineskin is based on Wine.
Read more here.
I like all these virtual boxes, emulators and stuff. The platform question is nothing one really has to discuss first (in most cases). I can even run my old C64 stuff if I like.
With this new screencast released one can get the impression that Andy from ObjectArts released a Mac OSX port of Dolphin Smalltalk into the wild. For those who dont know Dolphin - it is a very nice Smalltalk system - but with history and focus on Win32 platforms. Now natively ported to MaxOSX? Really?
The end of a second screencast here showed that its not a real native port - he uses Wineskin, a tool used to make ports of Windows software to Mac OS X. Wineskin is based on Wine.
Read more here.
I like all these virtual boxes, emulators and stuff. The platform question is nothing one really has to discuss first (in most cases). I can even run my old C64 stuff if I like.
Wednesday, September 21, 2011
Seafox for Seaside update with canvas translater
There is an updated version of Seafox for Seaside, now with an HTML to canvas translator. It's helps you building real Seaside apps from existing HTML templates.
You can read more about it here or try it out here:
http://seafox.seasidehosting.st
You can read more about it here or try it out here:
http://seafox.seasidehosting.st
MethodWrappers ported to Squeak 4.2
Eliot ported Method wrappers to Squeak 4.2. If you know VisualWorks you may already know that Method Wrappers can add hidden behavior to a method without recompiling it. It is a very useful package for implementing coverage and tracing tools.
You can read more about them here.
You can read more about them here.
Klotz
The Klotz project implements an Agile 3D Visualization Engine. It is written in Pharo Smalltalk and is freely available on Squeaksource. There is also a paper for a short introduction.
Ludus - Game framework on top of Smalltalk on top of JavaScript
Ludus is a new html5 game framework on top of amber:
http://asmalltalkbytheseaside.com
http://asmalltalkbytheseaside.com
Monday, September 19, 2011
Sunday, September 18, 2011
MorphIDE for Amber
When you play with Amber (the Smalltalk on top of JavaScript) you typically need to set up a webdav with Apache. Wouldnt it be better to directly connect this with a server Smalltalk serving the files?
Now there is a new project on Squeaksource3 available that provides a static file HTTP server. It serves the Javascript files that make up the Amber IDE. MorphIDE accepts HTTP PUTs from the Amber IDE, whereupon it will (over)write the .js and .st files being PUT to filesystem. It will also regenerate the MorphIDE HTML file to load the new code that you've written in Amber.
Now there is a new project on Squeaksource3 available that provides a static file HTTP server. It serves the Javascript files that make up the Amber IDE. MorphIDE accepts HTTP PUTs from the Amber IDE, whereupon it will (over)write the .js and .st files being PUT to filesystem. It will also regenerate the MorphIDE HTML file to load the new code that you've written in Amber.
Friday, September 16, 2011
Thursday, September 15, 2011
5th Argentine Smalltalk Conference
You are invited to the 5th Argentine Smalltalk Conference - read more here.
Wednesday, September 14, 2011
Yesplan video
There is now a video online from Yesplan - a software written in Smalltalk using the Seaside webframework. It runs on Pharo with GLASS for persistence.
More rumors on Dart and Smalltalk
Here are some more rumors on a possible relationship between the new Dart programming language from Google and Smalltalk.
Mhhh ... and we also know that Eric Clayberg is now also working for Google. Is it possible that Dart is the next fast and modular Smalltalk implementation that is deployed via Web browsers like Chrome?
There are also some infos from back in 2010 available on the net.
Let's see what the keynote will reveal and if Google is able to suprise me here.
Mhhh ... and we also know that Eric Clayberg is now also working for Google. Is it possible that Dart is the next fast and modular Smalltalk implementation that is deployed via Web browsers like Chrome?
There are also some infos from back in 2010 available on the net.
Let's see what the keynote will reveal and if Google is able to suprise me here.
One month until Dart is released
AFAIK Google will publish more infos on it's new programming language called "Dart" on GOTO conference in Aarhus in October. Dart is according to various sources a new structured programming language designed for the web.
Why is that interesting to Smalltalkers? Since it is created by Lars Bak (known from V8 JavaScript Engine and Strongtalk/Animorphic) and Gilad Bracha (known from Newspeak).
Can we therefore expect it to be more Smalltalk like? Dont know ... but in a month we will see.
Why is that interesting to Smalltalkers? Since it is created by Lars Bak (known from V8 JavaScript Engine and Strongtalk/Animorphic) and Gilad Bracha (known from Newspeak).
Can we therefore expect it to be more Smalltalk like? Dont know ... but in a month we will see.
Windows developer preview
Want to get a free developer preview on the new windows. Then look at MSDN for the ISO files.
Tuesday, September 13, 2011
Monday, September 12, 2011
Tuesday, September 06, 2011
Online ProfStef on JTalk
ProfStef is a nice app to teach you Smalltalk. It is now ported from Pharo to JTalk (a Smalltalk running on JavaScript) too so it is available online now.
TextLint integration
TextLint is a tool to check scientific writing for common style errors written in Pharo Smalltalk. There is now an integration into Emacs and TextMate. There is also a web version available online.
Monday, September 05, 2011
VMMaker repo moved
Since squeaksource.com had several outages in the past the VMMaker package (the one you require to build the Squeak and Pharo virtual machine) has now moved to another squeaksource instance: http://source.squeak.org.
Read more.
Read more.
CogDroid
You want to Test Cog virtual machine to run Pharo on Android devices. Try with the initial relase of CogDroid.
Wednesday, August 31, 2011
Heretic Smalltalk selectors
Smalltalk is different - and even after years I get rembered by discusssions from time to time how different it really is!
Smalltalk is a real dynamic object system (with the language just built in) and unique in the world of computing.
While a function/method name in a class has to be unique so it could be called - it usually is a Symbol. You know all these #foo, #bar, #negated, ...
Smalltalk is a real dynamic object system (with the language just built in) and unique in the world of computing.
While a function/method name in a class has to be unique so it could be called - it usually is a Symbol. You know all these #foo, #bar, #negated, ...
In Java you may call it foo() or bar() or negated().
But in Smalltalk this selector could be ANY object. Yes, yes - this is not a typo.
It could be any object, just try it. For instance with the integer 1:
It could be any object, just try it. For instance with the integer 1:
|selectorThatCouldBeAnObject existingMethod|selectorThatCouldBeAnObject := 1.existingMethod := EllipseMorph methodDict at: #heading.EllipseMorph methodDict at: selectorThatCouldBeAnObject put: existingMethod.EllipseMorph new perform: selectorThatCouldBeAnObjectSo the message could even be the object that is receiving the message/itself as message:
| existingMethod receiver|existingMethod := EllipseMorph methodDict at: #heading.receiver := EllipseMorph new.EllipseMorph methodDict at: receiver put: existingMethod.receiver perform: receiver Cool !!!
Alan Kay once said that "Smalltalk is object-oriented, but it should have been message oriented."
And as we now know a message is an object and an object could be a message. Mhhh - have to think more on this...
Tuesday, August 30, 2011
Tuesday, August 16, 2011
Dynatree for Seaside
I've wrapped the MIT licensed dynatree widget as part of the JQueryWidgetBox project. So if you need a tree in your web app just try it.
TSUG meeting
If you want to know more why Bombardier is using Pharo and Seaside then visit the next TSUG meeting in Toronto on Sep. 12th.
Friday, August 12, 2011
Pharo/Seaside experience
Francois Stephany reports on his experience with using Pharo and Seaside to develop a web application.
Tuesday, August 09, 2011
Small seaside image
Pavel created a small seaside image based on the small Pharo kernel image. So you could have a running seaside app in 4.3MB.
Java and late file dialog instantiation
Interesting: Java provides a JFileChooser to provide a file dialog for the
Swing UI framework. Typically I create objects when I need them - so
it was clear to me that I instantiate the class in this example only when
a button is clicked (most other examples on the web instantiate the dialog with the main window):
When you run this simple application within Eclipse, click the "Open" button and
close the file dialog via "Cancel" you will notice that an
exception will appear on stdout as soon as you close the main window:
So the app is not closed correctly and error free.
And I found a workaround, the exception will not appear if you
create an instance of JFileDialog as early as possible in your app:
Since it is not referenced this instance becomes directly a victim of
the next GC - but anyway creating an instance of JFileChooser right at the beginning seem
to trigger an initialization that is required to prevent the above problem.
Thought I would share this if others run into the same problem. Another possibility is to use a better system.
Swing UI framework. Typically I create objects when I need them - so
it was clear to me that I instantiate the class in this example only when
a button is clicked (most other examples on the web instantiate the dialog with the main window):
package foo;
import java.awt.BorderLayout;
public class TestWindow extends JFrame {
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestWindow frame = new TestWindow();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TestWindow() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JButton btnOpenFileDialog = new JButton("Open file dialog");
btnOpenFileDialog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
onClickedButton();
}
});
contentPane.add(btnOpenFileDialog, BorderLayout.CENTER);
}
protected void onClickedButton() {
JFileChooser fileChooser = new JFileChooser();
fileChooser.showOpenDialog(this); // open modal on main window
}
}
When you run this simple application within Eclipse, click the "Open" button and
close the file dialog via "Cancel" you will notice that an
exception will appear on stdout as soon as you close the main window:
Exception while removing reference: java.lang.InterruptedExceptionjava.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
So the app is not closed correctly and error free.
And I found a workaround, the exception will not appear if you
create an instance of JFileDialog as early as possible in your app:
public static void main(String[] args) {
new JFileChooser();
...
Since it is not referenced this instance becomes directly a victim of
the next GC - but anyway creating an instance of JFileChooser right at the beginning seem
to trigger an initialization that is required to prevent the above problem.
Thought I would share this if others run into the same problem. Another possibility is to use a better system.
Airflowing goes live
Airflowing, a new seaside application isn’t invite-only anymore - so anyone is able to use their commercial service. Read more or try it out.
Monday, August 08, 2011
Squeak in Jail
If you want to limit your seaside app (chrooted seaside instance) for security reason this may be
an old but interesting blog post to read.
Thursday, August 04, 2011
Smalltalk on JVM 2
An update: watch the video called "A Renaissance VM: One Platform, Many Languages" on this site from Oracle. Highly recommended if you are interested on Smalltalk and (J)VM's.
Smalltalk on JVM
Found Smalltalk mentioned in a Java 7 presentation from Oracle citing Mark Roos from Roos Instruments, Inc:
"“We were able to implement all of the Smalltalk constructs... using invokedynamic to execute Smalltalk code on the JVM. ...The ease of putting a true dynamic language on the JVM was a wonder in itself.”
Note that with JSR292 there is more support for dynamic languages on JVM.
Found a presentation about the "RTalk" project to run Smalltalk on JVM and there is work going on as this message from the open jdk mailinglist proves.
Even when it runs on JVM - I still expect it to be limited compared to a Smalltalk running on a Smalltalk VM. The future will show if I'm right.
Wednesday, August 03, 2011
OCR and Pharo
Gary Chambers (creator of the Polymorph UI framework for Pharo) is currently building an image capture, OCR and data processing system using Smalltalk and he provides a first screenshot.
His company Pinesoft is using Smalltalk a lot as you can read here. Nice!
Monday, August 01, 2011
Two new chapters for Pharo book
Stef shares two new chapters for the Pharo book. You can also find them here.
This time on floats and little numbers. Feel free to review and send comments to him.
Tuesday, July 19, 2011
PetitParser Tutorial
Tudor Girba published a tutorial on how to use the PetitParser as part of the moose book.
One ring to rule them all
Refactoring Browser, Packaging Software like Monticello and other Smalltalk tools mostly work on their own code/meta model. What about a unified model?
Veronica Uquillas is currently working on Ring - a unifying and foundational model
infrastructure for Pharo. The goals of the project are:
- Provide a common API at structural and runtime level
- Allow tools to interact and integrate directly with the host environment (Pharo)
- Support history analysis
You can find the code at squeaksource, there is also a continuos integration job
and the latest updates now try to integrate Ring. There is also a presentation available.
Monday, July 18, 2011
Binary Literals
Binary Literals - a new feature of Java 7.
So beside 0x... notation for hexadecimal you can now write 0b... for binary. What a step forward (for the Java community).
I still like Smalltalks base/radix notation since I can freely choose the base (binary, octal, decimal, ...)
2r10010010
16rA000
...
Tuesday, July 05, 2011
LDAP and Seaside
If you want to integrate LDAP authentication into your seaside app then read charlies blog entry.
Subscribe to:
Posts (Atom)