Wednesday, December 19, 2012
Tuesday, December 18, 2012
Deprecation in the context of Smalltalk
There is a new paper and presentation online about "How Do Developers React to API Deprecation? The Case of a Smalltalk Ecosystem."
Wednesday, December 12, 2012
Thursday, December 06, 2012
Slides from Pharo workshop
Monday, December 03, 2012
Smalltalk Tutorial app
There is a Smalltalk tutorial app available on Heroku:
http://smalltalktutorial.herokuapp.com
Friday, November 30, 2012
Redline Smalltalk article on jaxenter
There is a new online article on jaxenter (online page from Java's JAX magazine) about Redline Smalltalk.
Thursday, November 29, 2012
Redline Smalltalk in Maven (Maven plugin)
Not only is Redline available in a Maven repo (the JAR's, I reported about it). Now there is also a Maven plugin for Redline.
Haven tried yet - but the plugin's mojo has one simple goal: stic
So adding it to maven pom.xml should be easy. Here is a sample.
Smalltalk 30th Anniversary Reunion
There is a new page on Smalltalk-80 history:
http://www.smalltalk-80.com/
and a "Smalltalk 30th Anniversary Reunion" in preparation. Read more on James' blog.
Growing Object-Oriented Software Guided by Tests
There is a book called "Growing Object-Oriented Software Guided by Tests" - the examples code is now ported to Pharo Smalltalk. See code at SmalltalkHub.
NativeBoost 1.7 for Pharo 2.0
A new NativeBoost version 1.7 for Pharo 2.0 (which is still alpha as of today) is now available.
Just fire up an updated fresh Pharo 2.0 image and select "Tools" and "Configuration Browser". Then select Native Boost and select "Install configuration (Stable version)".
- Igor changed the API of NativeBoost a little bit (avoid globals, etc.)
- Ciprian contributed special syntax for array arguments
- I contributed some more examples for Win32 by wrapping some common Win32 API functions
So if you are on Windows you can play with:
NBWin32Shell shellBrowse: 'http://world.st'
NBWin32Shell getComputerName
NBWin32Shell showODBCSettings
NBWin32Shell lockWorkstation
...
A more complete list can be found here.
Using the shell you can also query infos about your system:
NBWin32Shell getEnvironmentVariable: 'JAVA_HOME'
NBWin32Shell getDriveType: (NBWin32Shell getHomeDrive)
NBWin32Shell getPathEntries
...
You can also open the control panel and control panel applets:
NBWin32Shell showControlPanel
NBWin32Shell showDisplaySettingsBackground
...
See class NBWin32Shell for more examples.
Now there is also support for the "DebugOutputString" API - which allows you to write
NBWin32Shell outputDebugString: 'Trace me'
These outputs can be viewed with tools like dbmon.exe (from WinSDK) or DebugView.
Very usefull if you run Pharo headless on Windows.
I also played with the MessageBox API allowing you to open native message boxes. Not yet complete but you can test with
NBWin32MessageBox test
Additionally I started wrapping some Windows GDI functions - so if you need faster native drawing you can write:
NBWin32Window getFocus getDC rectangleLeft: 10 top: 10 right: 100 bottom: 100
Note that NativeBoost will soon be integrated into Pharo 2.0 by default (before it goes beta).
Just fire up an updated fresh Pharo 2.0 image and select "Tools" and "Configuration Browser". Then select Native Boost and select "Install configuration (Stable version)".
- Igor changed the API of NativeBoost a little bit (avoid globals, etc.)
- Ciprian contributed special syntax for array arguments
- I contributed some more examples for Win32 by wrapping some common Win32 API functions
So if you are on Windows you can play with:
NBWin32Shell shellBrowse: 'http://world.st'
NBWin32Shell getComputerName
NBWin32Shell showODBCSettings
NBWin32Shell lockWorkstation
...
A more complete list can be found here.
Using the shell you can also query infos about your system:
NBWin32Shell getEnvironmentVariable: 'JAVA_HOME'
NBWin32Shell getDriveType: (NBWin32Shell getHomeDrive)
NBWin32Shell getPathEntries
...
You can also open the control panel and control panel applets:
NBWin32Shell showControlPanel
NBWin32Shell showDisplaySettingsBackground
...
See class NBWin32Shell for more examples.
Now there is also support for the "DebugOutputString" API - which allows you to write
NBWin32Shell outputDebugString: 'Trace me'
These outputs can be viewed with tools like dbmon.exe (from WinSDK) or DebugView.
Very usefull if you run Pharo headless on Windows.
I also played with the MessageBox API allowing you to open native message boxes. Not yet complete but you can test with
NBWin32MessageBox test
Additionally I started wrapping some Windows GDI functions - so if you need faster native drawing you can write:
NBWin32Window getFocus getDC rectangleLeft: 10 top: 10 right: 100 bottom: 100
Note that NativeBoost will soon be integrated into Pharo 2.0 by default (before it goes beta).
Monday, November 26, 2012
Test coverage in Java and Smalltalk
When working with Java I usually have several plugins that I preconfigure in Maven. One is the the very usefull Cobertura plugin - it calculates the percentage of code assessed by tests.
That way you usually write a component/classes and try to cover it with as many tests as possible. Or you write the tests first (XP-Style) and then implement code until they are green. Often you want to know if you need more tests and how good they test your code.
When running maven with the Cobertura plugin (in combination with the site plugin) you get a site report that shows the coverage ratio. You can then dive into the report down into the Java packages and classes and see which lines are covered (green) and which not (red). For instance for an if/else you will see if both decision ways are covered by tests, etc.
Here is a sample report from the Java world.
Now Pavel created something similar for the Smalltalk and Pharo world. Here is the report from the Pharo kernel - scroll down to see the colored results. The Java report is still a little bit better structured - but I like that quality tools are available in both worlds.
That way you usually write a component/classes and try to cover it with as many tests as possible. Or you write the tests first (XP-Style) and then implement code until they are green. Often you want to know if you need more tests and how good they test your code.
When running maven with the Cobertura plugin (in combination with the site plugin) you get a site report that shows the coverage ratio. You can then dive into the report down into the Java packages and classes and see which lines are covered (green) and which not (red). For instance for an if/else you will see if both decision ways are covered by tests, etc.
Here is a sample report from the Java world.
Now Pavel created something similar for the Smalltalk and Pharo world. Here is the report from the Pharo kernel - scroll down to see the colored results. The Java report is still a little bit better structured - but I like that quality tools are available in both worlds.
Sunday, November 25, 2012
Redline Smalltalk on Heroku
Will Leinweber got Redline Smalltalk running on Heroku (a cloud platform):
https://stout.herokuapp.com/
You can read more here.
https://stout.herokuapp.com/
You can read more here.
Another Storm example
Another example from Estebans Storm project: 500 objects/balls in a cube. Storm is a small game engine - primarily a binding to the Chipmunk physical library using Athens.
Smalltalks 2012 presentations
The presentations for Smalltalks 2012 conference are available online.
Thursday, November 22, 2012
Athens Animation and Chipmunk physics library in Pharo
Esteban had a little bit of time to dig deeper into Igors work:
- NativeBoost (a new mechanism to call external libs and a replacement for the former FFI)
- and Athens (a vector graphics framework)
On top of these Esteban created a new playground for animations based on Athens for Pharo and wrapped the chipmunks physic engine as this and this video proves. Nice!
- NativeBoost (a new mechanism to call external libs and a replacement for the former FFI)
- and Athens (a vector graphics framework)
On top of these Esteban created a new playground for animations based on Athens for Pharo and wrapped the chipmunks physic engine as this and this video proves. Nice!
New ChangesBrowser for Pharo 2.0
Nearly all Smalltalks I know come with a changes file and are able to easily track changes. Any change on a method - even a doIt is logged.
In Pharo 2.0 it is time to rethink some of the old tools (and change management) and add new features (like tracking semantic changes, undo/redo ...). A first preview is now available.
Just open Pharo 2.0 and evaluate:
Then open the "Changes Browser" from the tools menu. Leave the browser open and change a method in a system browser. I like that I can instantly see the change and diffs. I can also change the grouping or undo a method change, etc.
If you create a class then two changes are logged: that a class is created and that an expression is evaluated.
This is not a surprise for a Smalltalker - since a class is typically not created by a wizard or by creating a file (like in Java, C++, ...). It is created by sending a message to the superclass to create a new subclass and follows the "objects and messages" idea that makes Smalltalk. ;)
The UI of the browser needs some work - but it is already based on the new UI Specs in Pharo 2.0. The menu is also a little bit inconsistent (since the "undo" on evaluated expressions is enabled).
But nonetheless a nice and useful tool ...
In Pharo 2.0 it is time to rethink some of the old tools (and change management) and add new features (like tracking semantic changes, undo/redo ...). A first preview is now available.
Just open Pharo 2.0 and evaluate:
Gofer new smalltalkhubUser: 'EzequielLamonica' project: 'NewChangeSystem'; package: 'Changes'; load
Then open the "Changes Browser" from the tools menu. Leave the browser open and change a method in a system browser. I like that I can instantly see the change and diffs. I can also change the grouping or undo a method change, etc.
If you create a class then two changes are logged: that a class is created and that an expression is evaluated.
This is not a surprise for a Smalltalker - since a class is typically not created by a wizard or by creating a file (like in Java, C++, ...). It is created by sending a message to the superclass to create a new subclass and follows the "objects and messages" idea that makes Smalltalk. ;)
The UI of the browser needs some work - but it is already based on the new UI Specs in Pharo 2.0. The menu is also a little bit inconsistent (since the "undo" on evaluated expressions is enabled).
But nonetheless a nice and useful tool ...
Wednesday, November 21, 2012
Rossal and Calder
The Roassal visualization engine can also be used for simulation as this new video from the Calder project proves.
Redline Smalltalk for JVM funding
Getting Smalltalk to run on the JVM is not an easy task. There are currently two main projects trying to achieve that. One is RTalk from Mark Roos (that soon will see the open source light) and the other one is an already opens source project driven by James Ladd called Redline Smalltalk.
James now asks for support to fund the development. If you are interested in the campaign you can click here to become a Redliner.
James now asks for support to fund the development. If you are interested in the campaign you can click here to become a Redliner.
Tuesday, November 20, 2012
Pharo and fOSSa Conference
Pharo will participate on the fourth edition of the fOSSa Conference. fOSSa is the "Free Open Source Academia Conference"
Sunday, November 18, 2012
Amber and Google Charts
Want to use Google Charts with client side Amber Smalltalk. Then have a look here.
Thursday, November 15, 2012
Pharo Association
The website for the Pharo association is up and running:
http://association.pharo.org/
http://association.pharo.org/
Saturday, November 10, 2012
Redline in Maven
When I do Java work I always use Apache Maven. It's a clear step forward in Java world compared old Apache Ant - which is as terrible as old makefiles from C/C++ if the project grows. Although project descriptions (POM) in Maven are also static due to XML (and one has to code a Mojo with Java for non-common tasks) I like the unified way to treat projects and builds and the amount of plugins that are available (ranging from checkstyle, site plugins, project reports, ...).
Nice to hear that Redline Smalltalk JAR is now accessible in a Maven repo too - at least a snapshot (https://oss.sonatype.org/content/repositories/snapshots/st/redline/redline/0.2-SNAPSHOT/). Will make it easier to use it and follow Redlines development if new versions will show up as maven artefacts.
If time permits I will play with Redline a little bit in the next evenings since according to the latest commits one can now use a Java class like a Smalltalk class within Redline. This is done by dynamically generated Smalltalk to adopt a Java class. Here is an example for java.util.ArrayList.
Nice to hear that Redline Smalltalk JAR is now accessible in a Maven repo too - at least a snapshot (https://oss.sonatype.org/content/repositories/snapshots/st/redline/redline/0.2-SNAPSHOT/). Will make it easier to use it and follow Redlines development if new versions will show up as maven artefacts.
If time permits I will play with Redline a little bit in the next evenings since according to the latest commits one can now use a Java class like a Smalltalk class within Redline. This is done by dynamically generated Smalltalk to adopt a Java class. Here is an example for java.util.ArrayList.
Thursday, November 08, 2012
Tuesday, November 06, 2012
Pharo Online Help (Preview)
Some time ago I wrote a little help system for Pharo. You can see some infos about it here.
I now implemented a hopefully better one and today published a preview of a possible "Pharo Online Help". Documentation and QuickStart tutorials are crucial in my opinion for better adoption of Pharo and Smalltalk. Lets see if the community accepts my proposal and helps moving it forward...
Click the image below for a preview or read about it here.
I now implemented a hopefully better one and today published a preview of a possible "Pharo Online Help". Documentation and QuickStart tutorials are crucial in my opinion for better adoption of Pharo and Smalltalk. Lets see if the community accepts my proposal and helps moving it forward...
Click the image below for a preview or read about it here.
Smalltalk and multicore programming
Found a new presentation from a talk from Stefan Marr on Multicore programming in Smalltalk
How old are your objects
Nice discussion and info about the age of objects:
"Also, since our GC does not change the order of objects when compacting, you can tell if an object is older than another by enumerating all objects. The oldest ones are of course nil, false, and true (more than 30 years old now)"
"Also, since our GC does not change the order of objects when compacting, you can tell if an object is older than another by enumerating all objects. The oldest ones are of course nil, false, and true (more than 30 years old now)"
Monday, November 05, 2012
Pharo downloads
If you want to grab the latest Pharo development you can regulary use the Pharo CI Server (http://ci.pharo-project.org). Unfortunaletely it is down today - but there is a page with all the latest things for download.
Friday, November 02, 2012
Pharo Server backend
UN Number is a new application for the iPad/Android. What you cant see is that it uses Pharo Smalltalk for the server backend.
Smalltalk is cool
A popular german computer magazine (ct') has a special issue on programming. On the title it states: "Cool Languages: Haskell, Smalltalk and D". Yes - and we plan to make Smalltalk even better.
Yesplan video
This is a new video (in dutch) about Yesplan - a planning software made with Pharo and the Smalltalk Seaside web framework.
Byte Magazine on Smalltalk
The famous BYTE magazine issue about Smalltalk from 1981 is
available online.
Aida with Websockets
The Aida web framework is now the first one with full Websocket support. So a new Aida 6.5 Interim release is published for Squeak, Pharo and
VisualWorks. Download it from the website.
Monday, October 29, 2012
Amber and script tag
Amber allows you to write client side scripts for the webbrowser in Smalltalk.
Nicolas now added support for the script tag so you can write the code directly in the HTML page:
Nicolas now added support for the script tag so you can write the code directly in the HTML page:
Pharo localization and translation with ICU
A really good package for everything related to Locales, translation and
I18N is ICU.
There is an interface for Pharo written by Jan van de Sandt (using the NativeBoost callout mechanism).
Thursday, October 25, 2012
Pharo VM Update
There is an updated set of Pharo VMs available (built by Jenkins), including Cairo, FFI, FreeType and SSL support.
Wednesday, October 24, 2012
Friday, October 19, 2012
Morphic BPM
There is a "Morphic Business Process Modeler" running right in your webbrowser. Based on JSMorphic which is a port of Smalltalks Morphic to JavaScript.
Watch the video or try yourself.
Watch the video or try yourself.
Lars Bak on language virtual machines
Lars Bak presents several language virtual machines (Self, Strongtalk, Hotspot), why they matter and how they influenced V8 and Dart.
I find it is a really interesting talk, especially since I follow his VM developments over the years (StrongTalk, OOVM, ... as you know from previous posts). And I agree with Lars who states: "I like Smalltalk"
Try to imagine if the software industry would have continued on the dynamic path in the 90's without getting the detour on static language ideas and VMs. Yes - Java and C# have momentum - but more because of marketing and commercial pressure, market pressure and since people believe in stupid TIOBE index. Better tools and IDEs makes them nowadays less painfull - but that just hides the fact that we need easily changeable and maintainable systems with meta facilities and true reflection that are easily scriptable and extendable.
We know we can do better in the software industry with dynamic languages and dynamic system. Dart is a move forward - but for me still not comparable to the most dynamic object system.
And it still comes with curly braces ;)
I find it is a really interesting talk, especially since I follow his VM developments over the years (StrongTalk, OOVM, ... as you know from previous posts). And I agree with Lars who states: "I like Smalltalk"
Try to imagine if the software industry would have continued on the dynamic path in the 90's without getting the detour on static language ideas and VMs. Yes - Java and C# have momentum - but more because of marketing and commercial pressure, market pressure and since people believe in stupid TIOBE index. Better tools and IDEs makes them nowadays less painfull - but that just hides the fact that we need easily changeable and maintainable systems with meta facilities and true reflection that are easily scriptable and extendable.
We know we can do better in the software industry with dynamic languages and dynamic system. Dart is a move forward - but for me still not comparable to the most dynamic object system.
And it still comes with curly braces ;)
Wednesday, October 17, 2012
Talk about RTalk
James interviews Mark Roos about RTalk (a Smalltalk on top of JVM).
RTalk is a Smalltalk 'Live' Environment built on the JVM. You can also get the slides from the JVM lang Summit (slides and workshop slides) or watch the video about it at Dr. Dobbs..
RTalk is a Smalltalk 'Live' Environment built on the JVM. You can also get the slides from the JVM lang Summit (slides and workshop slides) or watch the video about it at Dr. Dobbs..
Pharo Workshop at fOSSa Open Source conference
There is a Pharo Workshop at fOSSa Open Source conference. Read more.
JSON with Pharo
Want to parse JSON with Smalltalk? You can use Petit parse to do it. Here is a short guide.
Wednesday, October 10, 2012
Phobos
Pavel announced Phobos - the XULRunner based Smalltalk
framework for development of native GUI with standard look&feel for
Linux, Mac OS X and Windows.
Read more here and here.
Wednesday, September 26, 2012
Wednesday, September 19, 2012
Tuesday, September 18, 2012
Monday, September 17, 2012
Squeak Windows VM 4.10.2
Ian updated the standard Squeak VM (non-cog) also for Windows. Feel free to help testing.
Smalltalk Programming with Spoon
Craig organizes a Guru session on "Smalltalk Programming with Spoon" in Amsterdam.
Sunday, September 16, 2012
Source Code Tour Guide
There is a small tool called "SourceCodeTourGuide" which may
help you digging into Pharos code. Here is how to use it. Worked for me in Pharo 1.4.
Here is a demo video.
Friday, August 31, 2012
New World
The World of Smalltalk (www.world.st) website has been changed. Nice - it includes more infos now.
Thursday, August 30, 2012
Aida 6.5 Summer release
Janko has Aida 6.5 ready. The webframework now also includes support for OpenID authentication and OAuth authorization. By default it includes support for JQuery, Twitter bootstrap and Amber.
Run Seaside 3.1 on Pharo 2.0
You want to run Seaside 3.1 already on Pharo 2.0 (both not yet released) to work on the bleeding edge versions. Here is how.
Gesture Recognizer
Need a $1 Unistroke Recognizer? There is an implementation in JavaScript that is ported to Smalltalk as well.
Thursday, August 23, 2012
JITting on ARM
Lars has some news on his GSoC project on JITting on ARM. With his VM Plugin for the Cog VM it should be possible to enable debugging and simulation of the ARM-JIT.
WebSockets for Pharo (Zinc)
The "Zinc HTTP Components" framework for Pharo will support WebSockets in the near future. An initial implementation is already available as Sven (the author of Zinc) announced today.
Thanks to a financial incentive (from Andy Bernett from Knowinnovation) Sven is now sponsored to implement it in an open source way and release the code with MIT license.
Thanks to a financial incentive (from Andy Bernett from Knowinnovation) Sven is now sponsored to implement it in an open source way and release the code with MIT license.
Wednesday, August 22, 2012
SourceCity for Pharo
There is CodeCity written in VisualWorks. Looks like there were some issues with licensing for commercial use.
Now there is a similar tool called "SourceCity" for Pharo.
Have a look at the demo video. Unfortunately it will not be open source - according to Stef:
"Now we are developing since more than six months a replacement from scratch but it will not be open-source. Interested people will be able to contact us and we will license them the software."
Sad - it would have been a nice example for using NativeBoost. But meanwhile Igor wrote some documentation for NativeBoost using the HelpSystem.
Now there is a similar tool called "SourceCity" for Pharo.
Have a look at the demo video. Unfortunately it will not be open source - according to Stef:
"Now we are developing since more than six months a replacement from scratch but it will not be open-source. Interested people will be able to contact us and we will license them the software."
Sad - it would have been a nice example for using NativeBoost. But meanwhile Igor wrote some documentation for NativeBoost using the HelpSystem.
Tuesday, August 21, 2012
Monday, August 20, 2012
Roassal video
There is a new video about the Roassal visualization engine available. It also includes a preview of the port to Amber (to run client side in the browser).
Wednesday, August 15, 2012
Tanker package transporter
Thursday, August 09, 2012
JNIPort for VAST
JNIPort (which can be used to call Java from Smalltalk) is now available for VisualAge Smalltalk as well.
Tuesday, August 07, 2012
Android Cog VM/Pharo Builds at INRIA Jenkins
Now there are two new CI jobs running at INRIA providing you a standard and a Cog VM for Android. This allows to run applications written in Pharo on mobile devices. There is also a good documentation.
Friday, August 03, 2012
Thursday, August 02, 2012
R.I.P. FileDirectory
Pharo now finished switching from old "FileDirectory" to the new "FileSystem" for the not yet released Pharo 2.0. Expect a much cleaner API covered with many tests.
I'm sure people may lament that Pharo is too radical and not backward compatible - but Pharo's vision can only be accomplished if the platform moves forward quickly, throws away ugly code and gets cleaner and cleaner.
I switched some of my packages to the new Filesystem, others from ReferenceStream (which is also removed in 2.0) to its replacement "Fuel" very easily. The quality and maintainability is much better and I'm sure we are on the right track.
So whats next? Morphic ;)
I'm sure people may lament that Pharo is too radical and not backward compatible - but Pharo's vision can only be accomplished if the platform moves forward quickly, throws away ugly code and gets cleaner and cleaner.
I switched some of my packages to the new Filesystem, others from ReferenceStream (which is also removed in 2.0) to its replacement "Fuel" very easily. The quality and maintainability is much better and I'm sure we are on the right track.
So whats next? Morphic ;)
Altitude webframework presentation
The "Altitude" webframework is presented by Colin Putney at the next Vancouver Smalltalk Developer Group meeting.
Wednesday, August 01, 2012
Roassal News
Alexandre announced that Roassal now supports Cairo in VisualWorks. See this picture (click to enlarge):
They also work on an Amber version to be able to run in the webbrowser. Nice!
Sunday, July 29, 2012
OpenQwaq in use
3D ICC is using OpenQwaq (which is based on Squeak Smalltalk) for a collaborative platform. Here is a new showcase video how Smalltalk helps to work as a team in 3D.
Wednesday, July 25, 2012
Monday, July 23, 2012
RTalk on JVM Language Summit 2012
Mark Roos will present RTalk (a Smalltalk on the JVM) at the JVM Language Summit (July 30 to August 1, 2012). Mark Roos has two talks - one about RTalk and one about "invokedynamic" (a new bytecode for dynamic method invocation).
You can also watch the presentation about RTalk from last year.
You can also watch the presentation about RTalk from last year.
Wednesday, July 18, 2012
MessagePack for Smalltalk
MessagePack is an efficient binary serialization format. Now there is also Smalltalk support for it.
Pharo 1.4 "Summer" released
The summer release of Pharo 1.4 is announced!
While the community is hard working on getting 2.0 into shape this is a maintenance release for all users of Pharo 1.4 with fixes and backports.
Go and download it!
Jejak Trace Framework
The Jejak Trace Framework - a new framework for injecting probes into (Pharo) Smalltalk methods, and record their execution. Read more.
WaveFront file importer for Pharo
Jean Baptiste Arnaud published code for a Wavefront importer (3D Object Models with *.obj extension)
Tuesday, July 17, 2012
Altitude - a new Smalltalk web framework
Colin Putney announced his "Altitude" web framework for Squeak Smalltalk as open source under MIT license. It's a brand-new, from-scratch HTTP server and application framework
written on top of Xtreams.
One needs an up to-date 4.4. image. Code is here and Colin provided a load script.
Colin also explains the difference between Altitude and the more well known Seaside web frameowork for Smalltalk.
One needs an up to-date 4.4. image. Code is here and Colin provided a load script.
Colin also explains the difference between Altitude and the more well known Seaside web frameowork for Smalltalk.
BOSS - robots simulation in Smalltalk
BOSS is the "binary object storage service" in VisualWorks Smalltalk. But now BOSS also depicts a project on robots simulation written in Smalltalk done at the Ecole des Mines de Douai.
They also have an own SqueakSource server.
They also have an own SqueakSource server.
Monday, July 16, 2012
Ludus for Amber Smalltalk
Ludus is a game framework for Amber Smalltalk (the Smalltalk on top of JavaScript).
Today I checked out the Sokoban game example which is written in it.
Again if you hit F12 in your (chrome) browser on the page go to the JavaScript console and evaluate:
smalltalk.Browser._open()
you can open the Smalltalk browser and dig into the code. Amber makes client side programming really easy!
Again if you hit F12 in your (chrome) browser on the page go to the JavaScript console and evaluate:
smalltalk.Browser._open()
you can open the Smalltalk browser and dig into the code. Amber makes client side programming really easy!
Wednesday, July 11, 2012
Memcached
Memcached is a free & open source, high-performance, distributed memory object caching system. If you want to use it with Pharo just use the ConfigurationOfMemcached.
Tuesday, July 10, 2012
Raspberry pie and Scratch
The upcoming Raspberry pie user guide will include also a short intro on how to use Scratch to drive the device.
It's interesting to see all these kids using Scratch now - so Smalltalk yet again helps shaping our future.
Monday, July 09, 2012
Easy setup a Pharo Smalltalk HTTP Server
Sven shows you how to download, install and run a Pharo Smalltalk HTTP Server
for Linux using a single command. Read more here.
Sunday, July 08, 2012
Friday, July 06, 2012
Pharo 2.0 progress
If you grab the latest Pharo 2.0 version from the CI server you will see that it has some countless new features:
- one is Spotlight search which can by accessed by hitting SHIFT + ENTER
- another one is grouping of windows: just select "Create Windows Group" from the window menu
(you can drag and drop for instance two browsers together to have them tab-styled in one single
window)- this is an idea from TWM docking windows.
- Nautilus the new code browser
- code completion in all tools
- some initial metacello configurations using Tools -> ConfigurationBrowser
- Fuel is now part of Pharo
- if you load ScriptManager from the config browser you will notice that it is
using Fuel (since Fuel is now part of Pharo) and also allows for code completion
- the new filesystem code is integrated
- you can now also set the Monticello package cache directory in the settings browser to easily share
the *.mcz package cache folder between images
- the new Spec UI is integrated allow you to easily build tools
More things to come in the near future:
- Zodiac (SSL support) is integrated and soon the SSL plugins will be part of the distribution
- Freetype, Cairo Libs bundled
- ....
There is also a new way how fixes got reviews:
- you open a bug in the Pharo issue tracker
- then submit a fix as a slice to the inbox
- set the state to ReviewNeeded
- now "Ulysse" the code monkey script checks your fix by running all tests automatically - so
it is easy to see in advance if the fix is working or breaking the latest builds
This speeds up the integration process.
Expect more things to come ...
- one is Spotlight search which can by accessed by hitting SHIFT + ENTER
- another one is grouping of windows: just select "Create Windows Group" from the window menu
(you can drag and drop for instance two browsers together to have them tab-styled in one single
window)- this is an idea from TWM docking windows.
- Nautilus the new code browser
- code completion in all tools
- some initial metacello configurations using Tools -> ConfigurationBrowser
- Fuel is now part of Pharo
- if you load ScriptManager from the config browser you will notice that it is
using Fuel (since Fuel is now part of Pharo) and also allows for code completion
- the new filesystem code is integrated
- you can now also set the Monticello package cache directory in the settings browser to easily share
the *.mcz package cache folder between images
- the new Spec UI is integrated allow you to easily build tools
More things to come in the near future:
- Zodiac (SSL support) is integrated and soon the SSL plugins will be part of the distribution
- Freetype, Cairo Libs bundled
- ....
There is also a new way how fixes got reviews:
- you open a bug in the Pharo issue tracker
- then submit a fix as a slice to the inbox
- set the state to ReviewNeeded
- now "Ulysse" the code monkey script checks your fix by running all tests automatically - so
it is easy to see in advance if the fix is working or breaking the latest builds
This speeds up the integration process.
Expect more things to come ...
Join Smalltalk
Thats why I like the language: it easy, extendable and expressive:
';' join: #(1 2 3 4) returns '1;2;3;4'
and
String lf join: #('First line' 'Second line') returns
'First line
Second line'
';' join: #(1 2 3 4) returns '1;2;3;4'
and
String lf join: #('First line' 'Second line') returns
'First line
Second line'
Thursday, July 05, 2012
Monday, July 02, 2012
Braille keyboard support for Smalltalk
There is a new project for Braille keyboard support for Pharo
Lively Kernel at JSConf
Dan gave a presentation about the Lively Kernel (a Squeak Morphic inspired Live kernel written in JavaScript) at JSConf 2012. The video is now available.
Subscribe to:
Posts (Atom)