I went to Biloxi and all I got was a Tshirt, part 2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

I went to Biloxi and all I got was a Tshirt, part 2

Chris Cunnington
http://www.zeromq.org/
http://www.zeromq.org/bindings:smalltalk
http://www.squeaksource.com/ZeroMQ

Here's a Ralph Johnson-ism for you: "Floating point is broken
arithmetic". Seems his bete noire as an undergraduate and grad student
was floating point. He'd get As in all his courses, but stumble on
anything related to floating point. Then one day he figured it was just
broken and never had a problem again.

Ralph Johnson and Sam Adams from IBM, who is doing the parallel OOP talk
today, sat at the back of the Dart presentation, laughed at things Eric
Clayberg was saying, and generally were like the bad kids in the class.
Clayberg would ask what was going on at the back row and just what was
so funny. Ralph would say enigmatic things like "I'm really glad Dart
has floating point!" I do get the impression they all know each other.

Dart has a type system, but you don't need to use it. And you can use it
wrong.

int notReallyAnInt = 'Aaron'

This works just fine. Apparently the type system "is designed not to be
sound".
Dart takes the idea of 'isolates' from Erlang. They are  processes that
don't share state, so I guess they are the opposite of threads. There is
an override for definitions, so it's possible to have two isolates, two
threads with separate definitions of something as fundamental as Symbol.
Dart has no reflection, though they are planning to add 'mirrors' to
provide it. This seems to be where you copy an object and make
reflective requests of it without touching the original.
Clayberg said over and over that they want to make Dart familiar, so
arrays start at zero. This kind of thing.
There is no eval() as in JavaScript. I'd imagine that cuts down on the
metaprogramming capability. eval() allows for the program to generate
code that it can execute within itself. It's slow and Dart wants to be
speedy.
You can snapshot with Dart and it can compile to JavaScript.

It's hard to know who Dart is for, what its target market is, if there
was an origin story, etc. One person asked whether Dart would replace
Java on Android. Or is Dart to replace JavaScript for JavaScript
programmers? It does seem plausible that Dart is for Java programmers
extending their reach into the browser. The presentation was about
features and not strategy, so it wasn't clear to me.

Earlier in the day I met Sebastian Heidbrink of Heidbrink Consulting. He
lives on Vancouver island and tends a banking client in Germany. Half of
his coworkers never realized he moved. When he goes from Vancouver
island to Vancouver the city he finds people so frenetic as to be
distressing. I find that hilarious. When I go to Vancouver I feel as
though I've been forcibly sedated.

Sebastian said "I've got Seaside running on ZeroMQ". I had no idea what
that meant. He's a big believer of the cloud as an application. If
something needs doing, don't add it to your code, fire a socket at
something that already does the job. ZeroMQ allows to ... I'm not sure
what it does other than it's a networking layer and allows many things
to run at once. It's interesting and there are links above with a
binding on SqueakSource.

Johnny T also know as John Thornton made a presentation on Amber, which
looks very polished. He had a slide describing how primitive it is to
switch from a text editor to a browser when writing HTML, JS, or CSS,
and isn't it wonderful that you can use this great in-browser browser to
do it all in the same place the way Amber does. I think this is silly. I
have to add precisely two keyboard shortcuts to go back and forth
between TextMate and Chrome. I like it. I think Johnny T is prone to be
a little susceptible to the 'goly! gee!' nature of things, so that he
confuses what is cool for what is practical.

His presentation on Amber was good. He likes to do things like code
node.js applications using Amber. After his talk he talked with
Heidbrink who told him about ZeroMQ. His conversion was instantaneous.
The two are going to do a lightning talk on Wednesday about using ZeroMQ
for Amber.

Today Sam Adams gives a talk on parallel OOP, which I think is going to
be about the Roar VM. Chris Muller is going to give a talk on
Location-Aware Networks, Context and Business-Intelligence. The
Smalltalk Directions panel with Ralph Johnson is today. Again, I have no
idea what that'll be about. I figure I'll make it to those three. The
others that catch my eye are Using Glorp with New Projects That Need to
Access Legacy Data by Mark Grinnell and Object-Centric Profiling:
Advanced Visualizations to Tame Wild Execution with Alexander Bergel.

There was a boat ride at the end of yesterday on the Gulf. That was fun.
There are pelicans here with eighteen inch beaks. The sand beaches are
like white sugar. The boat trip out into the bay was an hour and a great
way to drink and chat.

Chris

Reply | Threaded
Open this post in threaded view
|

Re: I went to Biloxi and all I got was a Tshirt, part 2

Andreas.Raab
Thanks for the updates. These are really fun reads, so keep 'em coming!

Cheers,
   - Andreas

On 3/20/2012 12:27, Chris Cunnington wrote:

> http://www.zeromq.org/
> http://www.zeromq.org/bindings:smalltalk
> http://www.squeaksource.com/ZeroMQ
>
> Here's a Ralph Johnson-ism for you: "Floating point is broken
> arithmetic". Seems his bete noire as an undergraduate and grad student
> was floating point. He'd get As in all his courses, but stumble on
> anything related to floating point. Then one day he figured it was just
> broken and never had a problem again.
>
> Ralph Johnson and Sam Adams from IBM, who is doing the parallel OOP talk
> today, sat at the back of the Dart presentation, laughed at things Eric
> Clayberg was saying, and generally were like the bad kids in the class.
> Clayberg would ask what was going on at the back row and just what was
> so funny. Ralph would say enigmatic things like "I'm really glad Dart
> has floating point!" I do get the impression they all know each other.
>
> Dart has a type system, but you don't need to use it. And you can use it
> wrong.
>
> int notReallyAnInt = 'Aaron'
>
> This works just fine. Apparently the type system "is designed not to be
> sound".
> Dart takes the idea of 'isolates' from Erlang. They are processes that
> don't share state, so I guess they are the opposite of threads. There is
> an override for definitions, so it's possible to have two isolates, two
> threads with separate definitions of something as fundamental as Symbol.
> Dart has no reflection, though they are planning to add 'mirrors' to
> provide it. This seems to be where you copy an object and make
> reflective requests of it without touching the original.
> Clayberg said over and over that they want to make Dart familiar, so
> arrays start at zero. This kind of thing.
> There is no eval() as in JavaScript. I'd imagine that cuts down on the
> metaprogramming capability. eval() allows for the program to generate
> code that it can execute within itself. It's slow and Dart wants to be
> speedy.
> You can snapshot with Dart and it can compile to JavaScript.
>
> It's hard to know who Dart is for, what its target market is, if there
> was an origin story, etc. One person asked whether Dart would replace
> Java on Android. Or is Dart to replace JavaScript for JavaScript
> programmers? It does seem plausible that Dart is for Java programmers
> extending their reach into the browser. The presentation was about
> features and not strategy, so it wasn't clear to me.
>
> Earlier in the day I met Sebastian Heidbrink of Heidbrink Consulting. He
> lives on Vancouver island and tends a banking client in Germany. Half of
> his coworkers never realized he moved. When he goes from Vancouver
> island to Vancouver the city he finds people so frenetic as to be
> distressing. I find that hilarious. When I go to Vancouver I feel as
> though I've been forcibly sedated.
>
> Sebastian said "I've got Seaside running on ZeroMQ". I had no idea what
> that meant. He's a big believer of the cloud as an application. If
> something needs doing, don't add it to your code, fire a socket at
> something that already does the job. ZeroMQ allows to ... I'm not sure
> what it does other than it's a networking layer and allows many things
> to run at once. It's interesting and there are links above with a
> binding on SqueakSource.
>
> Johnny T also know as John Thornton made a presentation on Amber, which
> looks very polished. He had a slide describing how primitive it is to
> switch from a text editor to a browser when writing HTML, JS, or CSS,
> and isn't it wonderful that you can use this great in-browser browser to
> do it all in the same place the way Amber does. I think this is silly. I
> have to add precisely two keyboard shortcuts to go back and forth
> between TextMate and Chrome. I like it. I think Johnny T is prone to be
> a little susceptible to the 'goly! gee!' nature of things, so that he
> confuses what is cool for what is practical.
>
> His presentation on Amber was good. He likes to do things like code
> node.js applications using Amber. After his talk he talked with
> Heidbrink who told him about ZeroMQ. His conversion was instantaneous.
> The two are going to do a lightning talk on Wednesday about using ZeroMQ
> for Amber.
>
> Today Sam Adams gives a talk on parallel OOP, which I think is going to
> be about the Roar VM. Chris Muller is going to give a talk on
> Location-Aware Networks, Context and Business-Intelligence. The
> Smalltalk Directions panel with Ralph Johnson is today. Again, I have no
> idea what that'll be about. I figure I'll make it to those three. The
> others that catch my eye are Using Glorp with New Projects That Need to
> Access Legacy Data by Mark Grinnell and Object-Centric Profiling:
> Advanced Visualizations to Tame Wild Execution with Alexander Bergel.
>
> There was a boat ride at the end of yesterday on the Gulf. That was fun.
> There are pelicans here with eighteen inch beaks. The sand beaches are
> like white sugar. The boat trip out into the bay was an hour and a great
> way to drink and chat.
>
> Chris
>
>


Reply | Threaded
Open this post in threaded view
|

Re: I went to Biloxi and all I got was a Tshirt, part 2

Christopher Oliver
In reply to this post by Chris Cunnington
On Tue, 20 Mar 2012 07:27:22 -0400
Chris Cunnington <[hidden email]> wrote:
> Here's a Ralph Johnson-ism for you: "Floating point is broken
> arithmetic".

  The pithiest version of this is Anton Householder's "It makes me nervous to fly on
airplanes since I know they are designed using floating-point arithmetic."

Sweet dreams,

--
Christopher Oliver <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

Re: I went to Biloxi and all I got was a Tshirt, part 2

Kragen Javier Sitaker
In reply to this post by Chris Cunnington
On Tue, Mar 20, 2012 at 07:27:22AM -0400, Chris Cunnington wrote:
> Here's a Ralph Johnson-ism for you: "Floating point is broken
> arithmetic". Seems his bete noire as an undergraduate and grad
> student was floating point. He'd get As in all his courses, but
> stumble on anything related to floating point. Then one day he
> figured it was just broken and never had a problem again.

One of the first things I ever did in Smalltalk was write a program to
draw the Mandelbrot set, with my own Complex class.   It worked, but I
was puzzled about why it was so slow.  I couldn't increase the maximum
number of iterations above about 7 or 8 before it got unusably slow.

For those who don't know the Mandelbrot set, it involves squaring
complex numbers repeatedly and adding stuff to them to see if they're
one of the numbers that eventually goes out to infinity, or if they just
loop around in a finite region.

I took a look with the debugger, and discovered that Squeak was doing
all of my arithmetic exactly, using rational numbers.  When you square
rational numbers, they get, on average, twice as big.  So I was ending
up with these fractions with 200 or 300 digits on both the top and
bottom, which slowed the arithmetic down a lot.  And every increment to
maxiter doubled the number of digits.

I added a decimal point to my code and suddenly it was lightning-fast.
The decimal point triggered a switch from exact rational arithmetic to
contagious, approximate, and O(1) floating-point, which was good enough.

Fixed point would have worked just as well, but of course it's broken
arithmetic too, just in a slightly different way.

Sometimes, late answers are wrong answers, and you just have to choose
which wrong answers you want.

Kragen

Reply | Threaded
Open this post in threaded view
|

Re: I went to Biloxi and all I got was a Tshirt, part 2

Alan Knight-2
Kragen Javier Sitaker wrote:
> Sometimes, late answers are wrong answers, and you just have to choose
> which wrong answers you want.
>
> Kragen
>
A very nice lead-in to Sam Adams' talk....

Reply | Threaded
Open this post in threaded view
|

Re: I went to Biloxi and all I got was a Tshirt, part 2

Kragen Javier Sitaker
On Tue, Mar 20, 2012 at 12:41:17PM -0400, Alan Knight wrote:
> Kragen Javier Sitaker wrote:
> >Sometimes, late answers are wrong answers, and you just have to choose
> >which wrong answers you want.
> A very nice lead-in to Sam Adams' talk....

Too bad I'm not at the conference! I hope someone will post a summary of the
points they found most interesting.