| Alan Kay's talk at O'Reilly Emerging Technology Conference 2003
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Cory Doctorow) Notes from "Daddy, Are We There Yet?"
The last 20 years of the PC have been boring. PC vendors aim at
businesses, who aren’t creative in their tool-use. They’re
adults: they learn a system and stick to it. We should think about
children. The printing revoltuion didn’t happen in Gutenberg’s
day, it happened 150 years later, long after Gutenberg was dead, when all
the pople alive had grown up with the press.
A small minority of Gutenberg’s contemporaries got the
printing press, but it wasn’t until they were dead that the children
who grew up with the press were able to put the ideas into practice.
James Licklieder: in a couple of years, human brains and computers will be
coupled. It hasn’t happened yet. Except in science, where scientists
and computers are indeed thinking as no human brain has ever thought
before. .. craphound.com/kayetcon2003
|
| [Squeak-ev] Deutsches 3.7g zum testen
|
|
25 Sep 04 |
|
[print
link
all
] |
Markus Denker posted this to the Squeak-ev list
Ich habe mal ein erstes deutsches 3.7g zusammengestellt:
http://www.iam.unibe.ch/~denker/Squeak3.7gDeutsch.zip
Das ist einfach das letzte 3.7g Full Image + deutsche uebersetzungen.
Die englischen Fenster habe ich geloescht, die engl. Demo-Projekte sind
aber noch drin.
Was wir brauchen ist
-> Eine deutscher Willkommen-text
-> ein paar deutsche Demo Projekte
-> am besten ein deutsches tutorial...
Bi den Einfuehrungs-texten sollten wir uns nicht an den englischen orientieren,
die sind naemlich eher sinnlos, denke ich.
|
| Smalltalk isKindOfLike: Yogurt
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Stefan, comp.lang.smalltalk) Smalltalk is like an Apache
hellicopter. Java is like a B52 bomber with pretty heavy duty jet engines.
Smalltalk is very well thought out, extremely well engineered, very
flexible, and generally gives quite good performance in a multitude of
situations. It’s very adaptable to many different situations, and has
lots of tricks up it’s sleeve. Driving it is a bit of a paradigm
shift from driving your average plane, it has some new fancy controls, but
once you get the hang of it, it can be totally amazing and really fun. Even
if you don’t totally know what you’re doing you can still get
yourself out of a jam. Given that you’ve got a good pilot you can
launch off to a quick start and really do some very heavy and impressive
damage in a very short time. It also tends to perform quite impressively if
you’ve got a few of them around, and easier to coordinate an army of
them.
Java is pretty difficult to drive, and once you get it going in a certain
direction it’s pretty hard to get it going somewhere else. It has a
few turbo buttons on it so that if you really know when and where to use
it, it can fly pretty well. You can surely get it going really fast if you
fly it high enough and then point it straight into the ground. It’s
generally not very flexible and often a real pain to deal with, but overall
once you’ve got a flightplan fixed in stone you can fly it reasonably
well and run it reasonably efficiently. If you are meticulous in your
planning and implementation, it can really deliver the goods. If you make
some mistakes, things can go very wrong that may become almost impossible
to correct. Don’t count on any big changes, quick maneuvers, or any
sort of fancy tricks that just might save the day, and leave yourself a
good bit of time for planning and implementation before you expect to be
able to deliver the goods. If you come accross any surprise attacks or come
up against an Apache hellicopter, you could be doomed.
|
| Rake 0.40. is out
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Rake is a make-like utility written entirely in Ruby. It allows to you
specify build target and actions, with the action being standard Ruby code.
You can get Rake from rubyforge. If you have rubygems installed, then all
you need to do is
gem -i rake
If you have a very recent version of rubygems (i.e. from CVS), then the
gen-rdoc option finally produces a decent rendition of the Rake
documentation locally.
QuickStartExample
|
| Why's (Poignant) Guide to Ruby
|
|
25 Sep 04 |
|
[print
link
all
] |
(Source: whytheluckystiff) The (Poignant) Guide is a new approach to
teaching Ruby, emphasizing the lingual traits of Ruby and illustrating its
uniqueness with comics, visual imagery, and songs with accompanying hand
gestures.
This date marks the release of the first three chapters. Feel free to tell
your friends and family (a.k.a. Slashdot) about the news. With enough input
and support, this book could see completion by next year. Hopefully this is
a step towards explaining to the world why Ruby is such an enticing and
voluptuous gem to behold.
Go and enjoy the book
Okay, I’ll keep this short. If you want to read more about my
motivation, head over to the announcement on my site. motivation
|
| RubyConf 2003 Presentations Posted
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Ryan Davis) In absolute record time (5 days compared to 3 months),
rubyconf 2003 presentation materials have been posted. www.zenspider.com/Languages/Ruby/RubyConf2003.html
I’m still waiting for some more, so check back periodically to see
updates.
|
| The Power and Philosophy of Ruby .. or how to create babel-17 ..
|
|
25 Sep 04 |
|
[print
link
all
] |
|
The slides that matz, the creator of Ruby used at oscon2003. Very, very
good! Very thoughtful slides about natural languages, computer programming,
Ruby, etc. The graphs alone are worth looking at the slides.
Mauricio Fernandez posted this to ruby-talk: AFAIK he introduced the
concept of "brain power consumption" (now renamed as
"stress" in his last talk) for the first time.
That was the first time (I’m aware of) somebody stated that the main
goal of a programming language isn’t expressive power (possibly by
being close to natural languages, as Perl) nor ease of learning or usage,
but making the programmer happier (which is a weighted mix of all other
criteria).
www.rubyist.net/~matz/slides/oscon2003/index.html
Video of the ll2 talk: ll2.ai.mit.edu/
|
| [ANN] Ruby/.NET bridge R3
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Benjamin Schroeder posted this to ruby-talk) I’d like to announce
Release 3 of our Ruby/.NET bridge, which lets you use Ruby and .NET objects
together in your programs. (Releases 1 and 2 were available on the RAA and
RubyForge, but this is the first one we’re announcing widely.) link. Make sure you check
out the 5 minute tutorial. It’s impressive.
|
| DE: Squeak Artikel C't
|
|
25 Sep 04 |
|
[print
link
all
] |
|
In der C’t 7/2004 erschien ein Artikel ueber Squeak. Programmieren
lernen mit Squeak: Von kleinen und grossen Erfindern. pdf
|
| Test Version of FreeRIDE with RRB Refactoring Support
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Curt Hibbs) I just put up a test version of FreeRIDE that includes
RRB Refactoring support and I would like to ask your help in testing it.
For windows user’s there is a complete pre-built binary (it can
coexist with your current FreeRIDE installation), and for non-windows users
there are instructions for adding RRB refactoring support to your existing
FreeRIDE installation.
You can find full details at: freeride.rubyforge.org/wiki/wiki.pl?RefactoringSupport
|
| ObjectGraph: a Ruby class inheritance hierarchy graph |
|
25 Sep 04 |
|
[print
link
all
] |
(Source: Mehr, Assaph, ruby-ML) A simple script that generates a graph of the ruby class hierarchy. The script relies on graphviz for generation of the PNG and HTML map files. Take a look at the basic Ruby class hierarchy on the project web site: link
|
| Squeak is a toy - so ?
|
|
25 Sep 04 |
|
[print
link
all
] |
(source: email from Martin Drautzburg to stx-users ML; Oct, 22, 2003)
> PPS:
> I remember working for a company, where it took the make utility3/4 of
> an hour to figure out *what* to compile, and the compilers a day to
> compile- it was a C++ project b.t.w. which was canceled and replaced by
> a Smalltalk program after they spent 50man-years on a non-working
> program - so much for non-toy languages !
Yeah and I just spent 3 days in an inhouse J2EE workshop held by one of our
chief architects. We spent most of our time fighting with the tools.
Changed setting over and over. The goal of the workshop was to demonstrate
how to insert a row into an oracle table. At the end of the 2 days the
table was still empty. Another non-toy language.
I have written two small apps (apx 5000 LOC) one in squak and one in stx.
It was a dream. Got up in the morning and fixed two or three bugs before
breakfast. You can only do this with a real cool environment.
|
| The dark side of computing: floating point arithmetic
|
|
25 Sep 04 |
|
[print
link
all
] |
I saw this post on ruby-talk: raise "false" if ((625.91 + 900.00
+ 22.00) != 1547.91) And yes, of course it raises the exception in ruby or
in C. Guy Decoux (as always) answered quickly:
svg% ruby -e 'p "%.24f" % (625.91 + 900.00 + 22.00)'
"1547.909999999999854480847716"
svg%
svg% ruby -e 'p "%.24f" % 1547.91'
"1547.910000000000081854523160"
svg%
Dave Thomas explained: It’s about 40 years old, and unlikely to be
fixed. Floating point numbers are not represented exactly inside computers,
and so floating point comparisons are routinely deprecated in books on
programming. Certain values cannot ever be expressed in floating point
representation. If you want exact, fractional, math, you should probably
use the ‘rational’ library and investigate ‘mathn’.
This is the classic article to read link What
Every Computer Scientist Should Know About Floating-Point Arithmetic.
Michael Neumann added: In Ruby you can use BigDecimal:
require 'bigdecimal'
BigDecimal.new("625.91") + 900 + 22 == BigDecimal.new("1547.91") # => true
|
| Easy (better: familiar) things are most successful
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: James A. Robertson) www.cincomsmalltalk.com/blog/blogView
|
| Test Version of FreeRIDE with RRB Refactoring Support
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Curt Hibbs) I just put up a test version of FreeRIDE that includes
RRB Refactoring support and I would like to ask your help in testing it.
For windows user’s there is a complete pre-built binary (it can
coexist with your current FreeRIDE installation), and for non-windows users
there are instructions for adding RRB refactoring support to your existing
FreeRIDE installation. Full details at: [freeride.rubyforge.org/wiki/wiki.pl?RefactoringSupport]
|
| GNU Smalltalk 2.1e (Development)
|
|
25 Sep 04 |
|
[print
link
all
] |
|
GNU Smalltalk is a free implementation of the Smalltalk-80 language.
Changes: Several bugfixes were made for the JIT compiler. A working
Java-to-Smalltalk bytecode translator (which does not support networking
and reflection yet) was added.
homepage
download
|
| Smalltalk with Style
|
|
25 Sep 04 |
|
[print
link
all
] |
Stephane Ducasse posted this to the Squeak-ML. download
Smalltalk With Style is now freely available.
Thanks Suzanne, Ed, and Dave. This is a great book everybody should read!!
I added the chapter 27 of Smalltalk by Example.
I added a link to point to the book of Liu: Smalltalk, Object and Design
|
| Euruko 2003 Videos available at ruby-doc.org
|
|
25 Sep 04 |
|
[print
link
all
] |
|
link[http://www.ruby-doc.org/downloads/Euruko2003]
The First European Ruby Conference was held at the University of Karlsruhein in Germany, from the 21st to the 22th of June, 2003. It was organized by Michael Neumann, Stefan Schmiedl, Armin Roehrl and with the help from many others.
Thanks to Michael, the presentations were digitally recorded and have been made available as AVI files. Some of theses are now available for download from ruby-doc.org The videos have had the some noise filtering and volume normalization applied, and have been converted to MPEG-1 to reduce (albeit slightly) their size.
Not all of the videos are available right now. Others will go up as time permits me to do the file processing.
I initially had some FTP timeout trouble uploading the files to ruby-doc.org, so I split them into chunks. I decided to leave them this way to help avoid marathon download sessions. To combine the chunks into the complete file you basically just need to 'cat' them in sequence. I've written a Ruby script to do this, available from the video download page. If anyone thinks they can mirror any of these files it would be a tremendous help.
If you know anything about video compression, and can tell me a way to make the files smaller without serious loss of quality, please tell me.
|
| On reading a text file in Smalltalk
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: comp.lang.smalltalk, Lex Spoon) If you accept losing one notch of
performance, then you can make much clearer code in Smalltalk. The
"file lines" idiom in this thread is very useful, because you can
then use collect:, select:, etc., on the resulting collection of lines.
And it is important to consider that once you commit to, say, iterating
over an entire file, that the file must be reasonably small anyway to get
decent performance. The same issue exists with collections. Who cares if
collect: creates an extra collection or if WriteStream wastes space at the
end of a long underlying collection; if these concerns are really so
important then probably this huge collection should not exist and/or you
should not be iterating over the entire thing anyway.
To put it very simply: you just can not expect a program to work on
large data structures just because you micro optimized everywhere. If you
want to handle large data structures then it takes planning and specialized
algorithms and test cases. If you are not going to put in that effort, then
don’t sweat the small stuff. It is very liberating to code with an
eye towards correctness and towards algorithmic performance, and not to
worry about getting down the constant factor. It seems to lead to lower
stress, faster code production, and fewer bugs generated.
|
| midilib initial release
|
|
25 Sep 04 |
|
[print
link
all
] |
|
midilib is a pure Ruby MIDI library useful for reading and writing standard
MIDI files and manipulating MIDI event data.
The latest version of midilib (0.8.0) can be found on the midilib Web site
(midilib.rubyforge.org/). The
midilib RubyForge project page is rubyforge.org/projects/midilib/.
midilib is also available as a Gem. The Gem has been uploaded to RubyForge,
and should appear in remote gem listings soon.
|
|
|