[squeak-dev] The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
182 messages Options
1 ... 5678910
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Sq font rendering [was: The future of Squeak & Pharo ... etc]

Philippe Marschall
2009/6/29 Igor Stasenko <[hidden email]>:

> 2009/6/29 Philippe Marschall <[hidden email]>:
>> 2009/6/28 Klaus D. Witzel <[hidden email]>:
>>> ...
>>> goals: render _every_ glyph that is in _any_ modern (Unicode) platform font;
>>> make fonts offline and online usable, especially on small devices if needed,
>>> on demand (by end user).
>>
>> So you have to select the font and you don't select it using #leadingChar?
>>
>
> Btw, can someone explain me, what is a #leadingChar in Character, and
> how it affects the output/input & different encodings/text
> representation?

At some point when rendering text you need to know the language of it.
You could put this information in a lot of different places like
paragraph, document, whatever. However since an interned integer on
Squeak currently has 30bits available and Unicode is a 22bit character
set why not take that 8 spare bits put that information into each
character? Yeah, there some minor limitations like there are way more
than 255 languages in the world and for any latin-1 character you
wouldn't be able to set the language and if you wanted to use unicode
you're supposed to set the language of non-Latin1 characters to
something different than the one of the Latin-1 characters. It could
kinda work if there was only one image, sort of. These days you'd
probably use FreeType to get nice text rendering which doesn't need or
use the information at the character level but anyway.

Now it starts to get funny when you're interacting with the outside
world. They are not likely to use Squeak so they don't pass language
information at the character level to you. So what language do you use
for incoming characters? Well isn't really defined because it never
really was designed to handle that.

Seaside kinda tends to communicate with the outside world, you see the
problem? And our code ideally should also run on GemStone, VAST, VW,
....

Oh, and the language is of course taken into account for #=. That's
funny because the strings you get could come from anywhere: database,
ui, file, .... where you have no control whatsoever over what language
is used. It could also have been done on a different computer with a
different language setting.

Cheers
Philippe

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Philippe Marschall
In reply to this post by Yoshiki Ohshima-2
2009/6/29 Yoshiki Ohshima <[hidden email]>:

> At Mon, 29 Jun 2009 00:38:16 -0700,
> Andreas Raab wrote:
>>
>> Yoshiki Ohshima wrote:
>> >   Yeah, but insisting to use #= to do it seems to be a wrong goal
>> > Define seasideEqual: and use it elsewhere would be better.
>>
>> You'd have to change too many places for this to be feasible. For
>> example, consider Set and Dictionary operations which may have to be
>> changed in this process.
>
>  Right.  And Phillippe can strip the leading char when he wants.

That's what we try do and it's such a pain. We'd have to do it for
every sting that we get from anywhere. At which point string handling
in Smalltalk is harder than in C and has similar pitfalls.

>> >> And we have to map characters to bytes and bytes to characters.
>> >
>> >   Everybody does.  Not sure why it is relevant.
>>
>> Because a simple conversion like squeakToUtf8/utf8ToSqueak is not
>> lossless anymore. The problem is that Unicode is Unicode is Unicode ;-)
>> You can either use it and live with its shortcomings or you can write
>> something completely different. But as soon as one tries to redefine it
>> partially it leads to problems since there are too many surrounding
>> assumptions.
>
>  From another POV, the communication with outside world was
> secondary.

No kidding, I noted.

> The .changes in in UTF-8 but has the additional
> information always so it is lossless.
>
>> >> I agree but you don't know how often I have gotten this answer when I
>> >> suggested to simply drop #leadingChar.
>> >
>> >   Maybe you get the answer often because it makes sense?  I wrote this
>> > a few times in last some years but if the goal is to make a
>> > comprehensible personal computer environment, some information is
>> > needed more than Unicode code points provides.
>>
>> Yes, but it is not clear whether that information belongs into the
>> string itself or in its surrounding context. The argument that a
>> language should be part of the string itself can certainly be made but
>> it neglects the necessity of interacting with the outside world. And in
>> the outside world (meaning Unicode) the language tag isn't part of the
>> string but rather part of the context. Consequently, I think that Squeak
>> should follow similar semantics (imperfect as that may be for some uses)
>> and have language information associated with class Text (i.e., a text
>> attribute) not with class Character (leadingChar).
>
>  I should say I've been agreeing with it for a while, but it also is
> a huge unstabilier to the existing system.  Now Pharo people may be
> able to leap the gap, if they like.

I totally see the need to know the language of text to render. But the
character is the wrong place to store it, seriously.

Cheers
Philippe

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Juan Vuletich-4
In reply to this post by Edgar J. De Cleene
Hi Edgar,

Edgar J. De Cleene wrote:

>
> On 6/29/09 12:21 PM, "Juan Vuletich" <[hidden email]> wrote:
>
>  
>> Maybe all this is plain wrong for many. Maybe it will bring new
>> problems. But it will indeed avoid the situations to repeat in the future..
>>    
>
> Not wrong as I understand the goal and send mails to some members private
> saying Cuis should be the stone on which we could build a better Squeak.
>
> Pero mi querido Juan, podrías ser un poquito mas abierto y dejar que
> cooperemos sin "ensuciar" el Cuis ?
>  

Most code in Cuis was not written by me. Code contributions are welcome.
In fact, Cuis already includes code wrote specifically for it, and not
by me. I just reserve the right to set quality standards and to end a
discussion and make a decision.

As Cuis is MIT, it doesn't matter much anyway. Anybody can take it and
do whatever s/he wants.

Cheers,
Juan Vuletich

> Edgra
>  


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Sq font rendering [was: The future of Squeak & Pharo ... etc]

Igor Stasenko
In reply to this post by Philippe Marschall
2009/6/29 Philippe Marschall <[hidden email]>:

> 2009/6/29 Igor Stasenko <[hidden email]>:
>> 2009/6/29 Philippe Marschall <[hidden email]>:
>>> 2009/6/28 Klaus D. Witzel <[hidden email]>:
>>>> ...
>>>> goals: render _every_ glyph that is in _any_ modern (Unicode) platform font;
>>>> make fonts offline and online usable, especially on small devices if needed,
>>>> on demand (by end user).
>>>
>>> So you have to select the font and you don't select it using #leadingChar?
>>>
>>
>> Btw, can someone explain me, what is a #leadingChar in Character, and
>> how it affects the output/input & different encodings/text
>> representation?
>
> At some point when rendering text you need to know the language of it.
> You could put this information in a lot of different places like
> paragraph, document, whatever. However since an interned integer on
> Squeak currently has 30bits available and Unicode is a 22bit character
> set why not take that 8 spare bits put that information into each
> character? Yeah, there some minor limitations like there are way more
> than 255 languages in the world and for any latin-1 character you
> wouldn't be able to set the language and if you wanted to use unicode
> you're supposed to set the language of non-Latin1 characters to
> something different than the one of the Latin-1 characters. It could
> kinda work if there was only one image, sort of. These days you'd
> probably use FreeType to get nice text rendering which doesn't need or
> use the information at the character level but anyway.
>
> Now it starts to get funny when you're interacting with the outside
> world. They are not likely to use Squeak so they don't pass language
> information at the character level to you. So what language do you use
> for incoming characters? Well isn't really defined because it never
> really was designed to handle that.
>
> Seaside kinda tends to communicate with the outside world, you see the
> problem? And our code ideally should also run on GemStone, VAST, VW,
> ....
>
> Oh, and the language is of course taken into account for #=. That's
> funny because the strings you get could come from anywhere: database,
> ui, file, .... where you have no control whatsoever over what language
> is used. It could also have been done on a different computer with a
> different language setting.
>

So, do i understood you right: this information (leadingChar) could be
useful sometimes.
But real world examples showing that its completely useless , at least
by now. And often only adds an unnecessary complexity & confusion in
handing a text & communicating with world outside the Squeak.

> Cheers
> Philippe
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

The Board is Listening (was Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean))

Ken Causey-3
In reply to this post by Andreas.Raab
I've been asked to clarify that the Squeak Oversight Board is paying
attention to the current discussions.  I had thought that would be
obvious since several of the Board members have been participating to
one extent or another (Igor, Andreas, Bert, and Randal for example).
But it has been pointed out that not everyone is aware of the current
board members.

If you haven't already you might want to read our last meeting report
and our upcoming agenda notes for Wednesday:

http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/

http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/

Feel free to propose agenda items.

Ken



signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: The Board is Listening (was Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean))

Ian Trudel-2
Thank you, Ken. It's never too much to be reassured of Squeak
Oversight Board's devotion to its community. Hopefully, the board can
give us a sense of direction and help the community to move forward.

Would it be possible to update the agenda on the blog, according to
these discussions? Naturally, if it's possible for you guys to talk
about these issues during the upcoming meeting... =)

Best regards,
Ian

2009/6/29 Ken Causey <[hidden email]>:

> I've been asked to clarify that the Squeak Oversight Board is paying
> attention to the current discussions.  I had thought that would be
> obvious since several of the Board members have been participating to
> one extent or another (Igor, Andreas, Bert, and Randal for example).
> But it has been pointed out that not everyone is aware of the current
> board members.
>
> If you haven't already you might want to read our last meeting report
> and our upcoming agenda notes for Wednesday:
>
> http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/
>
> http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/
>
> Feel free to propose agenda items.
>
> Ken
>
>
>
>



--
http://mecenia.blogspot.com/

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: The Board is Listening (was Re: Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean))

Andreas.Raab
In reply to this post by Ken Causey-3
Ken Causey wrote:
> I've been asked to clarify that the Squeak Oversight Board is paying
> attention to the current discussions.  I had thought that would be
> obvious since several of the Board members have been participating to
> one extent or another (Igor, Andreas, Bert, and Randal for example).

Indeed. I have been reading the discussion with interest and in detail.
It is a very good insight into the current mindset of the community and
I think we can use this as a starting point for where to move from here.
So thanks everyone and keep 'em coming ;-)

Cheers,
   - Andreas

> But it has been pointed out that not everyone is aware of the current
> board members.
>
> If you haven't already you might want to read our last meeting report
> and our upcoming agenda notes for Wednesday:
>
> http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/
>
> http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/
>
> Feel free to propose agenda items.
>
> Ken
>
>
> ------------------------------------------------------------------------
>
>


Reply | Threaded
Open this post in threaded view
|

Re: The Board is Listening (was Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean))

Ken Causey-3
In reply to this post by Ian Trudel-2
On Mon, 2009-06-29 at 16:42 -0400, Ian Trudel wrote:
> Thank you, Ken. It's never too much to be reassured of Squeak
> Oversight Board's devotion to its community. Hopefully, the board can
> give us a sense of direction and help the community to move forward.
>
> Would it be possible to update the agenda on the blog, according to
> these discussions? Naturally, if it's possible for you guys to talk
> about these issues during the upcoming meeting... =)

It's not only possible, you don't even need me to do it.  Simply add a
comment to that blog entry.  Frankly I'm still digesting the recent
discussions and unsure what to take away from it.  An agenda item
written by someone other than me is likely to make more sense.

Ken

> Best regards,
> Ian
>
> 2009/6/29 Ken Causey <[hidden email]>:
> > I've been asked to clarify that the Squeak Oversight Board is paying
> > attention to the current discussions.  I had thought that would be
> > obvious since several of the Board members have been participating to
> > one extent or another (Igor, Andreas, Bert, and Randal for example).
> > But it has been pointed out that not everyone is aware of the current
> > board members.
> >
> > If you haven't already you might want to read our last meeting report
> > and our upcoming agenda notes for Wednesday:
> >
> > http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/
> >
> > http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/
> >
> > Feel free to propose agenda items.
> >
> > Ken
> >
> >
> >
> >
>
>
>



signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Eliot Miranda-2
In reply to this post by Paolo Bonzini-2
Hi Paulo,

On Mon, Jun 29, 2009 at 2:13 AM, Paolo Bonzini <[hidden email]> wrote:

And don't get me "but we need it for fonts". The only way to get nice
fonts in Squeak is to avoid it and do it in C with char*.
 This is a very confused statement.  You better pass the font and
language information to the outside renderer to get the proper result.
I agree but you don't know how often I have gotten this answer when I
suggested to simply drop #leadingChar.

  Maybe you get the answer often because it makes sense?  I wrote this
a few times in last some years but if the goal is to make a
comprehensible personal computer environment, some information is
needed more than Unicode code points provides.

You're free to have your opinion on Han unification.  Many people share it, many people don't.  But the fact is, only Squeak does it this way and it does have as many problems as it solves.

For another way to encode languages see http://www.isi.edu/in-notes/rfc2482.txt.

On reading this my first question us "what should at: do?".  Have you thought this through?  Does at: have to search for TAG marks and skip over them, or is the problem punted up to the client?  If TAGs are hidden how does one find what TAGs are?  Are there two classes, TaggedUnicodeString and UntaggedUnicodeString? etc...



Paolo




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Douglas Brebner
In reply to this post by Juan Vuletich-4
Juan Vuletich wrote:
> It also says:
> - Lead by Juan Vuletich (jmv) after these principles.

I think this might be the most important bit.

Squeak seems to lack anyone you can point to who has the authority to
stand up and say "We're doing it this way. Don't like it? Too bad." and
make it stick.

Or more importantly, anyone who's *visibly* in that position, the board
seems kinda amorphous, even bureaucratic that way.



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Sq font rendering [was: The future of Squeak & Pharo ... etc]

Yoshiki Ohshima-2
In reply to this post by Igor Stasenko
At Mon, 29 Jun 2009 22:30:31 +0300,
Igor Stasenko wrote:
>
> So, do i understood you right: this information (leadingChar) could be
> useful sometimes.
> But real world examples showing that its completely useless , at least
> by now. And often only adds an unnecessary complexity & confusion in
> handing a text & communicating with world outside the Squeak.

  Well, but Squeak in Chinese/Japanese/Korean have been using it and
depending on it, so this characterization is not correct.

-- Yoshiki

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Dan Ingalls
In reply to this post by Philippe Marschall
Good people -

Whatever the impetus, it's good to see this recent spate of self-examination.

When I look back on the early days, we had a cycle where we would use
the old system for all it was worth (even with ugly hacks), exploring
some current set of initiatives, and *then* we would fall back to
clean things up and integrate what we learned in the latest push.

Maybe that's what's happening now, but I feel the absence of some of
those big challenges that motivate and reward real progress (not to
make little of the current efforts).  These could include...

        Take advantage of multicore processors and associated
        multi-thread OS's in our VM design(s).

        Demonstrate real ease of use in tapping that new
        dimension of performance.  Linda and E are relevant.

        Press at least one good JIT design through to completion
        document it, and keep it alive on every platform.

        Make it easy to produce Squeak apps for the iPhone
        and similar platforms for which it seems so perfect.

        Bring Squeak to life in browsers.
        OMeta + V8 + Canvas = Squeak everywhere, including
        behind firewalls and where installation is prohibited

        Get serious about security.  Take another look at ESqueak
        and figure how to make it just a bit simpler

        Along the same lines, make it easy for Squeak to rule
        the cloud.

Each of these has high potential impact, and it would be nice to have
made some real progress in one or two areas before doing a major
merge or rewrite.  What if you decide to eliminate shared globals;
wouldn't this be a great time to include that rewrite?  What if
shared variables turn out to be a great way to synchronize multiple
threads in the VM;  wouldn't this be a good time to fold that in?
Etc.

So this may be the time to reorganize everything, but it also looks
to me like there is nothing in the way of making some *bold* progress
right now, and it's likely that the wider perspective achieved in the
process might inform an even better next system.

That said, don't forget there are good and committed people on both
sides of this discussion, and your first priority should be how to
maximize the community.  FWIW I recommend face-to-face discussion.
And beer.

        - Dan

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Yoshiki Ohshima-2
In reply to this post by Paolo Bonzini-2
At Mon, 29 Jun 2009 11:13:24 +0200,
Paolo Bonzini wrote:
>
> You're free to have your opinion on Han unification.  Many people share
> it, many people don't.  But the fact is, only Squeak does it this way
> and it does have as many problems as it solves.
>
> For another way to encode languages see
> http://www.isi.edu/in-notes/rfc2482.txt.

  As Eliot wrote, an interactive environment has different constraint.
#at: is one of them, and $- notation for specifying a character
etc. (say print-it for it should print something) should provide some
workable solution.

  I think a future version basically shouldn't try to "print" a
Chararacter, but print out the code point and to display a character,
you do have to supply the extra infomation.  (Character object is
convenient, but you can go with all String objects, if you like.)

-- Yoshiki

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Paolo Bonzini-3
In reply to this post by Eliot Miranda-2
On 06/29/2009 11:08 PM, Eliot Miranda wrote:
>
> On reading this my first question us "what should at: do?".  Have you
> thought this through?  Does at: have to search for TAG marks and skip
> over them, or is the problem punted up to the client?

Tags are zero-width Unicode characters just like the byte-order mark
U+FEFF.  Note that the tag uses a completely different set of characters
than the normal Latin alphabet.  Similar to how in UTF-8/UTF-16 it is
possible to find in O(1) time the beginning of a character, in this RFC
it is always clear if a character is part of a tag or not.

Paolo

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Eliot Miranda-2


On Mon, Jun 29, 2009 at 3:09 PM, Paolo Bonzini <[hidden email]> wrote:
On 06/29/2009 11:08 PM, Eliot Miranda wrote:

On reading this my first question us "what should at: do?".  Have you
thought this through?  Does at: have to search for TAG marks and skip
over them, or is the problem punted up to the client?

Tags are zero-width Unicode characters just like the byte-order mark U+FEFF.  Note that the tag uses a completely different set of characters than the normal Latin alphabet.  Similar to how in UTF-8/UTF-16 it is possible to find in O(1) time the beginning of a character, in this RFC it is always clear if a character is part of a tag or not.

But being able to find the start of a character in O(1) doesn't tell you how many characters there are between a given address within the string and its start address, and it doesn't tell you what the address of a character at a given index in the string is.  So if the TAG representation is the internal representation (which I think is implied by using this as a means of carrying language information around with the character data) then this representation implies O(N) at:, which means that it'll only be suitable as an exchange representation (and expensive to encode/decode to/from) or it needs an additional index structure, or...?




Paolo



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Göran Krampe
In reply to this post by Dan Ingalls
Hi Dan!

(Watch out - rambling ahead)

Long time no hear. :)

Dan Ingalls wrote:
> Good people -
>
> Whatever the impetus, it's good to see this recent spate of
> self-examination.

Yep, indeed.

> When I look back on the early days, we had a cycle where we would use
> the old system for all it was worth (even with ugly hacks), exploring
> some current set of initiatives, and *then* we would fall back to clean
> things up and integrate what we learned in the latest push.
>
> Maybe that's what's happening now, but I feel the absence of some of
> those big challenges that motivate and reward real progress (not to make
> little of the current efforts).  These could include...
>
>     Take advantage of multicore processors and associated
>     multi-thread OS's in our VM design(s).

Yeah, I am unsure if Cog has anything in this area. We do have the Hydra
base, and personally I am quite impressed that Huemul actually has
native POSIX thread == Process!

I presume the "perfect" setup is green Processes running on a pool of
native threads. Thus preserving the "light weight" of Process and still
be able to utilize cores.

I also would like to note that while it would be COOL to be able to
scale on cores - the *reality* is that most apps we write in Squeak that
*needs* to scale is typically web apps. And you scale web apps
horisontally using multiple VMs and a load balancer, no big deal.

So it doesn't really matter how cool it would be - it is not a "killer"
feature IMHO.

But the scalability of Erlang would open up new frontiers. :)

>     Demonstrate real ease of use in tapping that new
>     dimension of performance.  Linda and E are relevant.
>
>     Press at least one good JIT design through to completion
>     document it, and keep it alive on every platform.

I presume Cog is our hope? The latest "news" in this area is that Eliot
mentioned he is looking closer at the JIT in Factor (factorcode.org) and
even considers porting it! And lots of JIT libs around these days,
Nanojit in Tracemonkey, libJIT etc etc.

But one thing is true - performance *kicks ass*. We may go on and on
about how "unimportant" performance is but darnit, it really is a killer
feature if we had a REAL fast VM whupping the Pyhon/Rubys. ;)

>     Make it easy to produce Squeak apps for the iPhone
>     and similar platforms for which it seems so perfect.

Mmmm, most such platforms have their "own" UI which you really need to
adhere to. I think simple interpreters that very easily can play with
external libs have the upper hand here. Think Python.

>     Bring Squeak to life in browsers.
>     OMeta + V8 + Canvas = Squeak everywhere, including
>     behind firewalls and where installation is prohibited

Cool yes. Killer feature? Nope, don't think so.

>     Get serious about security.  Take another look at ESqueak
>     and figure how to make it just a bit simpler

Doesn't make me drool. :)

>     Along the same lines, make it easy for Squeak to rule
>     the cloud.

Ah, *that* one is more like it. Not sure HOW, but i do agree that the
Cloud (in whichever shape or form) is coming.

One thing I have noted as a consultant is that almost EVERY customer now
runs virtual hardware. In Sweden almost always VMWare. And this actually
benefits us - the customer just wants an "appliance". They often don't
care what it is written in.

If Squeak could offer something unique in this arena... but I fail to
see what that could be :)

> Each of these has high potential impact, and it would be nice to have
> made some real progress in one or two areas before doing a major merge
> or rewrite.  What if you decide to eliminate shared globals; wouldn't
> this be a great time to include that rewrite?  What if shared variables
> turn out to be a great way to synchronize multiple threads in the VM;  
> wouldn't this be a good time to fold that in? Etc.
>
> So this may be the time to reorganize everything, but it also looks to
> me like there is nothing in the way of making some *bold* progress right
> now, and it's likely that the wider perspective achieved in the process
> might inform an even better next system.
>
> That said, don't forget there are good and committed people on both
> sides of this discussion, and your first priority should be how to
> maximize the community.  FWIW I recommend face-to-face discussion. And
> beer.

Beer is good. Too bad we are so darn spread out.

>     - Dan

regards, Göran


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Igor Stasenko
2009/6/30 Göran Krampe <[hidden email]>:

> Hi Dan!
>
> (Watch out - rambling ahead)
>
> Long time no hear. :)
>
> Dan Ingalls wrote:
>>
>> Good people -
>>
>> Whatever the impetus, it's good to see this recent spate of
>> self-examination.
>
> Yep, indeed.
>
>> When I look back on the early days, we had a cycle where we would use the
>> old system for all it was worth (even with ugly hacks), exploring some
>> current set of initiatives, and *then* we would fall back to clean things up
>> and integrate what we learned in the latest push.
>>
>> Maybe that's what's happening now, but I feel the absence of some of those
>> big challenges that motivate and reward real progress (not to make little of
>> the current efforts).  These could include...
>>
>>    Take advantage of multicore processors and associated
>>    multi-thread OS's in our VM design(s).
>
> Yeah, I am unsure if Cog has anything in this area. We do have the Hydra
> base, and personally I am quite impressed that Huemul actually has native
> POSIX thread == Process!
>
> I presume the "perfect" setup is green Processes running on a pool of native
> threads. Thus preserving the "light weight" of Process and still be able to
> utilize cores.
>
> I also would like to note that while it would be COOL to be able to scale on
> cores - the *reality* is that most apps we write in Squeak that *needs* to
> scale is typically web apps. And you scale web apps horisontally using
> multiple VMs and a load balancer, no big deal.
>
> So it doesn't really matter how cool it would be - it is not a "killer"
> feature IMHO.
>
> But the scalability of Erlang would open up new frontiers. :)
>
>>    Demonstrate real ease of use in tapping that new
>>    dimension of performance.  Linda and E are relevant.
>>
>>    Press at least one good JIT design through to completion
>>    document it, and keep it alive on every platform.
>
> I presume Cog is our hope? The latest "news" in this area is that Eliot
> mentioned he is looking closer at the JIT in Factor (factorcode.org) and
> even considers porting it! And lots of JIT libs around these days, Nanojit
> in Tracemonkey, libJIT etc etc.
>
> But one thing is true - performance *kicks ass*. We may go on and on about
> how "unimportant" performance is but darnit, it really is a killer feature
> if we had a REAL fast VM whupping the Pyhon/Rubys. ;)
>
>>    Make it easy to produce Squeak apps for the iPhone
>>    and similar platforms for which it seems so perfect.
>
> Mmmm, most such platforms have their "own" UI which you really need to
> adhere to. I think simple interpreters that very easily can play with
> external libs have the upper hand here. Think Python.
>
>>    Bring Squeak to life in browsers.
>>    OMeta + V8 + Canvas = Squeak everywhere, including
>>    behind firewalls and where installation is prohibited
>
> Cool yes. Killer feature? Nope, don't think so.
>
>>    Get serious about security.  Take another look at ESqueak
>>    and figure how to make it just a bit simpler
>
> Doesn't make me drool. :)
>
>>    Along the same lines, make it easy for Squeak to rule
>>    the cloud.
>
> Ah, *that* one is more like it. Not sure HOW, but i do agree that the Cloud
> (in whichever shape or form) is coming.
>
> One thing I have noted as a consultant is that almost EVERY customer now
> runs virtual hardware. In Sweden almost always VMWare. And this actually
> benefits us - the customer just wants an "appliance". They often don't care
> what it is written in.
>
> If Squeak could offer something unique in this arena... but I fail to see
> what that could be :)
>

SqueakNos comes to mind. A modern OS appliance weights hundreds of
megabytes (even gigabytes).
SqueakNos can fit in couple megabytes and handle web/VNC altogether.
:)

>> Each of these has high potential impact, and it would be nice to have made
>> some real progress in one or two areas before doing a major merge or
>> rewrite.  What if you decide to eliminate shared globals; wouldn't this be a
>> great time to include that rewrite?  What if shared variables turn out to be
>> a great way to synchronize multiple threads in the VM;  wouldn't this be a
>> good time to fold that in? Etc.
>>
>> So this may be the time to reorganize everything, but it also looks to me
>> like there is nothing in the way of making some *bold* progress right now,
>> and it's likely that the wider perspective achieved in the process might
>> inform an even better next system.
>>
>> That said, don't forget there are good and committed people on both sides
>> of this discussion, and your first priority should be how to maximize the
>> community.  FWIW I recommend face-to-face discussion. And beer.
>
> Beer is good. Too bad we are so darn spread out.
>
>>    - Dan
>
> regards, Göran
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: The future of Squeak & Pharo (was Re: [Pharo-project] [ANN] Pharo MIT license clean)

Jecel Assumpcao Jr
In reply to this post by Göran Krampe
Sorry that I am late to this discussion - I was away for a week showing
off Squeak at an international free software conference [1]. Even
exchanged some ideas with Richard Stallman about the Squeak licensing
issues (he would be happier if we used GPL, of course).

My first comment is that there are two sources for all the energy that
we can now see in Pharo. One is improved processes, which is certainly
something we should have in Squeak (and is *the* goal for 3.11) and the
other is the "start up" glee that new projects tend to have. The latter
will eventually wear off, but I am sure that the former is strong enough
for it to keep going for a very long time.

I watched people and energy move from Self to Squeak, from Squeak to
Slate, from Squeak to IDST and many other similar cases. It is a great
thing that Pharo exists and anyone who really would like to have Squeak
be an Open Source Smalltalk-80 with a professional look now has that
option available. The question that was asked was if this should be the
only option?

My understanding of the Etoys situation leads me to think that it can't
survive as a fork. Who will continue to work on it now that ViewPoints
has transferred responsibility to the new Squeakland Foundation? I would
like Bert and Yoshiki to comment on this if possible. In the past we
have had forks between squeakland and squeak which were later merged
back and I want to see that happen again. I feel a moral responsibility
for all the students and teachers that have been convinced to adopt
Etoys (and I talked to quite a few this week). If Alan's suggestion of a
Python version of Etoys had been followed and that was what the children
were using then I wouldn't mind a "Squeak become: Pharo" situation, but
it didn't happen.

So my priorities are:
1) keep Etoys going and improving
2) Croquet
3) Seaside and Aida
4) Pharo

About what Dan wrote, I agree 100%. It might seem like a contradiction,
that I want as little change as possible. But that is not true at all -
I accepted that relicensing was the number one priority for the
community (I have always been happy with the SqueakL myself) and that
doing this right would mean 6 months to a year of additional time with
no progress. I actually proposed a technical solution that would both
allow us to have more backwards compatibility and radical progress at
the same time [2] but since nobody was convinced I am willing to push
forward with more conventional development.

On the last slide of my talk last week, I mentioned "Squeak and Cloud
Computing" and gave some details about a project for next year with 16
thousand Squeak processors on a 6 inch wafer. Though nothing is being
done in secret, I don't think most on this list are aware of just how
much work is being done on Squeak right now and how many are considering
joining over the next few months.

-- Jecel
[1] http://fisl.softwarelivre.org/10/www/en
[2] http://wiki.squeak.org/squeak/584


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Sq font rendering [was: The future of Squeak & Pharo ... etc]

K. K. Subramaniam
In reply to this post by Yoshiki Ohshima-2
On Tuesday 30 Jun 2009 3:09:15 am Yoshiki Ohshima wrote:

> At Mon, 29 Jun 2009 22:30:31 +0300,
>
> Igor Stasenko wrote:
> > So, do i understood you right: this information (leadingChar) could be
> > useful sometimes.
> > But real world examples showing that its completely useless , at least
> > by now. And often only adds an unnecessary complexity & confusion in
> > handing a text & communicating with world outside the Squeak.
>
>   Well, but Squeak in Chinese/Japanese/Korean have been using it and
> depending on it, so this characterization is not correct.
The essential problem is the encoding of characters (graphemes) which have
regional or lingual variations. Devanagari also has such examples. The
grapheme 'a' is rendered differently in Bombay and in Calcutta. Should the
variations be encoded in the context or in every grapheme codepoint?

leadingChar is just one way to resolve such variations. Personally, I prefer
handling such variations as part of the context. A grapheme is a notional
element. We need to encode it so that we can input, calculate, combine,
compare and sort notional elements. Visual appearance becomes important only
for manual edit and print operations.

Subbu

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] #leadingChar (Re: The future of Squeak & Pharo))

Paolo Bonzini-2
In reply to this post by Yoshiki Ohshima-2
On 06/30/2009 12:02 AM, Yoshiki Ohshima wrote:

> At Mon, 29 Jun 2009 11:13:24 +0200,
> Paolo Bonzini wrote:
>> You're free to have your opinion on Han unification.  Many people share
>> it, many people don't.  But the fact is, only Squeak does it this way
>> and it does have as many problems as it solves.
>>
>> For another way to encode languages see
>> http://www.isi.edu/in-notes/rfc2482.txt.
>
>    As Eliot wrote, an interactive environment has different constraint.
> #at: is one of them, and $- notation for specifying a character
> etc. (say print-it for it should print something) should provide some
> workable solution.

#at: is not one of them, language tags should not be skipped just like
soft hyphens (U+00AD, also known as hyphenation hint) should not.
Regarding specifying a character, I don't think it happens *so* often
that a Japanese wants to specify explicitly a Chinese shape and vice
versa for a single character.  Just choose a default font based on the
current local, and for the occasional time when you do know the language
use something like this:

    String>>withLanguageTag: aString
        ^(Character codePoint: 16rE0001) asString,
        (aString collect: [:ch|Character codePoint: ch value+16rE0000]),
        self

    Character>>withLanguageTag: aString
       ^self asString withLanguageTag: aString

    (Character codePoint: 16r4000) withLanguageTag: 'JAPANESE'

>    I think a future version basically shouldn't try to "print" a
> Chararacter, but print out the code point and to display a character,
> you do have to supply the extra infomation.  (Character object is
> convenient, but you can go with all String objects, if you like.)

Exactly my point.  When you know a language you can go with String
objects and then you can avoid #leadingChar.

Paolo

1 ... 5678910