In addition to my post yesterday (see [1] on pharo-dev)
the preview for the restructured help system is now also working in
Squeak (for those who want to try in latest trunk image):
Installer ss project: 'HelpSystem';
install: 'HelpSystem-Core';
install: 'HelpSystem-Tests';
install: 'Squeak-Project-Help';
install: 'Metacello-Help'.
(Smalltalk at: #HelpBrowser) open.
Read more about the details in [1] and for implementation
details read directly in the help systems "Help on Help".
Bye
T.
[1] http://lists.gforge.inria.fr/pipermail/pharo-project/2010-March/024234.html
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
Hi Hannes,
I see where you're going, and that's part of another way of installing. You
want to ignore Seaside repository on squeaksource.com unless you get a few
things first. The way I'm describing wants you to go to
squeaksource.com/MetacelloRepository. Then you see lots of
ConfigurationOf*** files. Load the one you want. Open a Workspace. Type
"ConfigurationOf*** load" then do it. Seaside3.0 takes easily seven minutes
to load. Then in a workspace type WAKom startOn: 8080 and then do it. Then
go to localhost:8080/seaside and you'll see the browse page.
I have a bunch of videos on the squeak.org site. I haven't looked at them in
about two months:
http://www.squeak.org/Documentation/Installation/#h-5
They should have answers to all your questions including the method you
tried first. If there's any problem with those videos or instructions,
please let me know.
Chris
Folks -
I've built a new Windows VM for the upcoming release (mostly to fix the
SqueakMap problem). Good thing I tried it first - it turns out that my
earlier fix for SqueakMap had fixed one particular version of the
problem, but there was another variant that it hadn't addressed (now it
does). With this VM I can use SqueakMap successfully.
However, since this was a major version switch I've also changed two
more issues that came up in the past:
1) The VM will now default to pass the window close event to the image
instead of handling it directly. You can see that in a current trunk
image by clicking on the close button (you'll now get a Squeak notifier
instead of the previous VM notifier). The old behavior is still
available if you SHIFT-Click on the close button. This is very useful if
your image hangs.
2) The VM name now reflects the version. In other words, this VM is
called Squeak4.0.1.exe to make it easier to distinguish between
versions. Unfortunately this also means you'll heave to create a new
association if you want to use this VM (hopefully, the installer will
take care of that later).
As always the VM is available here:
http://squeakvm.org/win32/release/SqueakVM-Win32-4.0.1-bin.ziphttp://squeakvm.org/win32/release/SqueakVM-Win32-4.0.1-src.zip
Cheers,
- Andreas
Dear Squeakers
I want to send you a message because I estimate Squeakers and I want to open the door to see how new relationship can be build.
So consider that as an open hand - even if my english may let you think otherwise.
First, Pharo is not against Squeak. We forked because we believed that we could not make Squeak move in any coherent direction. We are sure
that you understand our reasons. Just think a moment about the amount of time and energy we invested in Squeak in the
past (I wrote more than anybody else books on squeak, build tutorials, lecture support, videos....- with esug over the years we spent more than
30 kEuros in Squeak related actions) so deciding to go for Pharo was not an easy choice but a necessary one: At one point I was thinking to quit
Smalltalk and go to see Ruby and Python for real. Pharo is the only way that I get back my fun in Smalltalk.
So what are my dreams?
For Pharo
======
We want a clean, lean and fast Smalltalk. An implementation that makes other dynamic language jealous.
We want a place where we/you can innovate. We want people to be able to invent THEIR future.
We want a place where people can make money with it and build robust applications.
Being able to experiment fast is important but for that the system should be clean, robust and flexible.
Having a platform for experimentation requires that the platform is not experimental.
About innovation I mean in no order:
Support for multitouch screen, bootstrappable Smalltalk, immutability bit and its impact, ephemerons,
new module system?, first class instance variables, using traits for real (like in ruby where any class can be a model
without inheriting from model), VAT-like system?, event system like in AmbiantTalk?,
I put ? because some of these should be implemented assessed tested... and understood deeply.
About clean
Clean network, clean event system, clean object kernel, better compiler (open - we got first class instance
variable with no runtime penalties in one afternoon). Clean class builder...
Now enough about Pharo. http://www.pharo-project.org/
About Etoys
========
I love Etoys (we translated the book and did more presentations of etoys than most squeakers) but I do not like its implementation.
Why? Because it is bad. Any body that looks at it knows it. When I removed Etoys part from Pharo I'm sad but there is no other choices. Now it
does not mean that I'm against Etoys and Etoys has the Etoys 40 image (note that we collected in 3.9 most of the etoys fixes with little support from Etoyers which forked way before, we did the same with the fixes of diego of Smalltalk). But again you can judge otherwise.
About the ranting or the little war between Squeak and Pharo
======================================
Frankly I'm tired about us ranting against Squeak/andreas/... and the inverse. For example Traits are cool, Javascript and PHP
will probably have them as Perl-6, Scala, Fortress. Now Squeak can remove them. I have no problem with that. Seriously this is your decision.
People in squeak-dev can freely say negative points about me if this helps. I decided that I will not rant nor get negative feelings about that. I
found the red pill :)
*I* decided that I want to head to the future. So we will not rant nor make any bad statement about the past anymore. Not even report history or
on old facts: if you were there you should remember, else there is the archive :). This is my last mail on the past.
Frankly I have the best job I can dream about. I'm lucky just check my h-index for the fun, I have more than most researchers I know. In addition, I loved working and learning from people like lukas, adrian, nicolas, levente, marcus, ..... The next 10 years should be the best of my life and I
will take advantage of that. I want to have **10/15** years of pure fun and I will do it. I want and will create positive energy. Look at ESUG
we are doing a great job.
About cross dialect energy
=================
Now the key point of this mail. I **deeply** appreciate the attitude of people like nicolas, levente, and igor that do not bash us and help Pharo
but also Squeak. I sent this message mainly because of their attitude. I'm sad to see all this (their) energy duplicated. We cleaned and improved a
lot Pharo over the last two years (more than you may think) and we will continue. Squeak could have benefitted from it. Nicolas luckily for you
pushed a lot of our fixes in Squeak already. I'm getting the fixes of Squeak that are interesting for Pharo. Now depending on the Squeak vision
we could share some common things. May be we can build a better future together but not at all price. You see our goals is to get a clean, lean, flexible and robust system. If you want to share something with us let us know. You know now the vision of Pharo.
Squeak may want to compete with us too. This is ok too.
If you want to help us building our vision you are welcome. Our logo is a lighthouse and it means that it will stand and last long because it has to guide boats. So we will continue Pharo against tempests and giant waves :)
https://gforge.inria.fr/frs/download.php/26678/pharoVideo.ziphttp://www.youtube.com/watch?v=m2LeNBY_5gk
The video is really cool (dan this is the one you wanted on waves).
Stef
Folks -
One thing I really like about Python is Generators
(http://docs.python.org/tutorial/classes.html#generators). They allow
code to provide a stream (iterator) interface where it's not easy to
provide the interface explicitly. I.e., it would allow one to provide a
stream interface to an arbitrary computation like:
gen := Generator on: [:yield| 3 to: 1 by: -1 do:[:i| yield value: i]].
gen next. "=>3"
gen next. "=>2"
gen next. "=>1"
gen next. "=>nil"
This *ought* to be really simple to do in Smalltalk by using blocks and
some voodoo in the execution engine. Has anyone ever done that?
Cheers,
- Andreas
Hi,
Aida/Web installs without problems. Runs with a glitch in tree like
control flow. Runs my own app without problems as far as I could test
now.
Have to run to work :-))
Cheers,
Herbert mailto:herbertkoenig@gmx.net
Andreas Raab uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-ar.128.mcz
==================== Summary ====================
Name: Graphics-ar.128
Author: ar
Time: 28 March 2010, 3:38:28.691 pm
UUID: 1dbdb38d-01ac-ca44-b388-8f451290286e
Ancestors: Graphics-laza.127
Generalize #lighter, #darker, #dimmed into #collectColors: and #collectPixels: which now also ensures that the form is unhibernated (this could cause problems during/after image same) and that we only do this for depth 32 as the other form depths are currently not implemented.
=============== Diff against Graphics-laza.127 ===============
Item was changed:
----- Method: Form>>lighter (in category 'converting') -----
lighter
"Answer a lighter variant of this form"
+ ^self collectColors:[:color| color lighter lighter].!
-
- ^ Form
- extent: self extent
- depth: self depth
- bits: (self bits collect: [:bit |
- (Color colorFromPixelValue: bit depth: self depth)
- lighter lighter
- pixelValueForDepth: self depth])!
Item was added:
+ ----- Method: Form>>collectColors: (in category 'converting') -----
+ collectColors: aBlock
+ "Create a new copy of the receiver with all the colors transformed by aBlock"
+ ^self collectPixels:[:pv|
+ (aBlock value: (Color colorFromPixelValue: pv depth: self depth))
+ pixelValueForDepth: self depth.
+ ].!
Item was changed:
----- Method: Form>>dimmed (in category 'converting') -----
dimmed
"Answer a dimmed variant of this form."
+ ^self collectColors:[:color| (color alpha: (color alpha min: 0.2)) ]!
-
- ^ Form
- extent: self extent
- depth: self depth
- bits: (self bits collect: [:bit | | color |
- color := Color colorFromPixelValue: bit depth: self depth.
- (color alpha: (color alpha min: 0.2)) pixelValueForDepth: self depth])!
Item was added:
+ ----- Method: Form>>collectPixels: (in category 'converting') -----
+ collectPixels: aBlock
+ "Create a new copy of the receiver with all the pixels transformed by aBlock"
+ self depth = 32 ifFalse:[^self error: 'Not implemented for depth ', self depth].
+ self unhibernate. "ensure unhibernated before touching bits"
+ ^Form
+ extent: self extent
+ depth: self depth
+ bits: (self bits collect: aBlock)!
Item was changed:
----- Method: Form>>darker (in category 'converting') -----
darker
"Answer a darker variant of this form."
+ ^self collectColors:[:color| color darker darker]!
-
- ^ Form
- extent: self extent
- depth: self depth
- bits: (self bits collect: [:bit |
- (Color colorFromPixelValue: bit depth: self depth)
- darker darker
- pixelValueForDepth: self depth])!
Andreas Raab uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ar.218.mcz
==================== Summary ====================
Name: Tools-ar.218
Author: ar
Time: 28 March 2010, 3:15:19.983 pm
UUID: 34dd8be7-79b1-fb41-9589-56e10f2f6c7d
Ancestors: Tools-cmm.217
Add a defaultBrowserTitle for MessageNames.
=============== Diff against Tools-cmm.217 ===============
Item was added:
+ ----- Method: MessageNames>>defaultBrowserTitle (in category 'initialization') -----
+ defaultBrowserTitle
+ ^ 'Message Names'!