[BUG] Integer hex is missing in 7006?

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

[BUG] Integer hex is missing in 7006?

Edgar J. De Cleene
For whose what care:

I don't have cable modem for a week because some accident broke lines in my
building.

This morning I load what seems the last image, 7006, and still I must wait
loooooong time to download a entire system.

The walbacks seems more as usual, perhaps many untested code into ?

But what really upset me is trivial things what I use are vanished.

As hex method for Integer (I have it in 6705, the last what I use for
serious things).

Is trivial copy and have it again in 7006 for me , but please don't do this
or people lost faith in who are building the images.

Edgar , Advocatus Diaboli


9 March 2006 3:44:24 pm

VM: Mac OS - a SmalltalkImage
Image: Squeak3.9alpha [latest update: #7006]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006:STEG
Trusted Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006
Untrusted Dir Discovery:Users:admin:Library:Preferences:Squeak:Internet:My
Squeak

SmallInteger(Object)>>doesNotUnderstand: #hex
    Receiver: 115
    Arguments and temporary variables:
        aMessage:     hex
    Receiver's instance variables:
115

Character>>hex
    Receiver: $s
    Arguments and temporary variables:

    Receiver's instance variables:
        value:     115

[] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]}
    Arguments and temporary variables:
        password:     'squeak'
        strm:     a WriteStream ''
        ea:     $s

ByteString(SequenceableCollection)>>do:
    Receiver: 'squeak'
    Arguments and temporary variables:
        aBlock:     [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea
hex]}
        index:     1
        indexLimiT:     6
    Receiver's instance variables:
'squeak'


--- The full stack ---
SmallInteger(Object)>>doesNotUnderstand: #hex
Character>>hex
[] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]}
ByteString(SequenceableCollection)>>do:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in KomAuthDb>>encode: {[:strm | password   do: [:ea | strm nextPutAll: ea
hex]]}
String class(SequenceableCollection class)>>streamContents:
KomAuthDb>>encode:
KomAuthDb>>addUser:withPassword:
TEGServerRoot>>startOn:mode:
HVTEG class(HVHttpView class)>>startOn:mode:
HVTEG class(HVHttpView class)>>startDebugOn:
HVTEG class>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
[] in BrowserCommentTextMorph(PluggableTextMorph)>>doIt {[textMorph editor
evaluateSelection]}
[] in BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: {[result _
editBlock value]}
TextMorphForEditView(TextMorph)>>handleEdit:
BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit:
BrowserCommentTextMorph(PluggableTextMorph)>>doIt
Browser(StringHolder)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount _ selector numArgs) = 0
ifTrue: [target perform: selector]  ...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand _ self.  ActiveEvent
_ anEvent.  result _ focusHolder     handle...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand _ h.  h
processEvents.  capturingGesture _ capturingGestur...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MenuMorph>>invokeModalAt:in:allowKeyboard:
MenuMorph>>invokeModal:
MenuMorph>>invokeModal
BrowserCommentTextMorph(PluggableTextMorph)>>scrollBarMenuButtonPressed:
BrowserCommentTextMorph(ScrollPane)>>vScrollBarMenuButtonPressed:
[] in ScrollBar>>menuButtonMouseDown: {[:sel |  menuSelector _ sel.  model
perform: sel with: event]}
ScrollBar(MorphicModel)>>use:orMakeModelSelectorFor:in:
-- and more not shown --




       
       
               
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar 


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Marcus Denker

On 09.03.2006, at 19:46, Lic. Edgar J. De Cleene wrote:

> For whose what care:
>
> I don't have cable modem for a week because some accident broke  
> lines in my
> building.
>
> This morning I load what seems the last image, 7006, and still I  
> must wait
> loooooong time to download a entire system.
>

So maybe we should stop developing Squeak, then you wouldn't need to  
dowload
anything.

> The walbacks seems more as usual, perhaps many untested code into ?
>

3.9a is *alpha*. (I think I explained that to you already...). The  
term "alpha"
means exactly that: "please be aware: untested code, more walkback than
in the debugged 3.8".

> But what really upset me is trivial things what I use are vanished.

Of you find problems with the current alpha version, please fill out
a bug report in the bug tracker:

   http://bugs.impara.de/view_all_bug_page.php

> Is trivial copy and have it again in 7006 for me , but please don't  
> do this
> or people lost faith in who are building the images.

Thanks a lot for your kind words!

      Marcus

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Edgar J. De Cleene
Marcus Denker puso en su mail :

> So maybe we should stop developing Squeak, then you wouldn't need to
> dowload
> anything.
Maybe you could do better ?.

If you think all works , I sorry say not.




       
       
               
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar 


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Marcus Denker

On 09.03.2006, at 20:26, Lic. Edgar J. De Cleene wrote:

> Marcus Denker puso en su mail :
>
>> So maybe we should stop developing Squeak, then you wouldn't need to
>> dowload
>> anything.
> Maybe you could do better ?.
>

It is always possible to do better. And the idea of why we work on  
Squeak
is to actually do better. If Squeak would be perfect, we would not need
to work on it.

Especially 3.9a can not be perfect, as it is, hey, in alpha... it's  
*supposed*
to be buggy. And everyone is happy when you report a bug. Really!  
Because
only then it will be fixed.

But that's not possible if you insult me personaly everytime you find  
a bug
in 3.9a.

Again: the "a" in 3.9a stands for "alpha", which means that we have  
told you that you
will find bugs...

> If you think all works , I sorry say not.
>

No, I don't think that everything works. To repeat again: If  
everything would
work, it would not be *alpha*.

The idea is that people who download the alpha version know that there
will be bugs (most people downloading alpha do it actually to help  
testing
it...). And then, when they find bugs, they are kind of happy and  
report them
with good mood (without insulting everyone) so that they can be fixed.

       Marcus

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Edgar J. De Cleene
Marcus Denker puso en su mail :

>
> But that's not possible if you insult me personaly everytime you find
> a bug
> in 3.9a.

Appollogize.


I do not wish insult you or any person on Earth.

I know you are a great Squeaker and a super worker.!!

I only wish you read what I saying and what many don't .

I could do not send the "offensive" mail and maybe pass a long time until
this trivial bug was discovered and fixed.

I on the alpha edge enough time to like it, maybe sign of a psychological
disorder, cant fix most walkback myself and tired of burocracy, is enough
all around me.

So , as I really appreciate you and your work, next walkback I found I try
to fix and send walback and fix to Mantis.

By the way , in previous image say hex was deprecated for Integer, was is a
inconsistent if still exist in Character and others classes, all hex should
go deprecated or Integer hex resurrected.

I vote for hex resurrected.

Edgar





       
       
               
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar 


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006? ([closed] see Mantis ID #987)

Ken Causey-3
In reply to this post by Edgar J. De Cleene
Please see http://bugs.impara.de/view.php?id=987

Ken

On Thu, 2006-03-09 at 15:46 -0300, Lic. Edgar J. De Cleene wrote:

> For whose what care:
>
> I don't have cable modem for a week because some accident broke lines in my
> building.
>
> This morning I load what seems the last image, 7006, and still I must wait
> loooooong time to download a entire system.
>
> The walbacks seems more as usual, perhaps many untested code into ?
>
> But what really upset me is trivial things what I use are vanished.
>
> As hex method for Integer (I have it in 6705, the last what I use for
> serious things).
>
> Is trivial copy and have it again in 7006 for me , but please don't do this
> or people lost faith in who are building the images.
>
> Edgar , Advocatus Diaboli
>
>
> 9 March 2006 3:44:24 pm
>
> VM: Mac OS - a SmalltalkImage
> Image: Squeak3.9alpha [latest update: #7006]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006:STEG
> Trusted Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006
> Untrusted Dir Discovery:Users:admin:Library:Preferences:Squeak:Internet:My
> Squeak
>
> SmallInteger(Object)>>doesNotUnderstand: #hex
>     Receiver: 115
>     Arguments and temporary variables:
>         aMessage:     hex
>     Receiver's instance variables:
> 115
>
> Character>>hex
>     Receiver: $s
>     Arguments and temporary variables:
>
>     Receiver's instance variables:
>         value:     115
>
> [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]}
>     Arguments and temporary variables:
>         password:     'squeak'
>         strm:     a WriteStream ''
>         ea:     $s
>
> ByteString(SequenceableCollection)>>do:
>     Receiver: 'squeak'
>     Arguments and temporary variables:
>         aBlock:     [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea
> hex]}
>         index:     1
>         indexLimiT:     6
>     Receiver's instance variables:
> 'squeak'
>
>
> --- The full stack ---
> SmallInteger(Object)>>doesNotUnderstand: #hex
> Character>>hex
> [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]}
> ByteString(SequenceableCollection)>>do:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> [] in KomAuthDb>>encode: {[:strm | password   do: [:ea | strm nextPutAll: ea
> hex]]}
> String class(SequenceableCollection class)>>streamContents:
> KomAuthDb>>encode:
> KomAuthDb>>addUser:withPassword:
> TEGServerRoot>>startOn:mode:
> HVTEG class(HVHttpView class)>>startOn:mode:
> HVTEG class(HVHttpView class)>>startDebugOn:
> HVTEG class>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
> evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
> BlockContext>>on:do:
> TextMorphEditor(ParagraphEditor)>>evaluateSelection
> [] in BrowserCommentTextMorph(PluggableTextMorph)>>doIt {[textMorph editor
> evaluateSelection]}
> [] in BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: {[result _
> editBlock value]}
> TextMorphForEditView(TextMorph)>>handleEdit:
> BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit:
> BrowserCommentTextMorph(PluggableTextMorph)>>doIt
> Browser(StringHolder)>>perform:orSendTo:
> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount _ selector numArgs) = 0
> ifTrue: [target perform: selector]  ...]}
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> MenuItemMorph>>invokeWithEvent:
> MenuItemMorph>>mouseUp:
> MenuItemMorph>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> MenuItemMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuItemMorph(Morph)>>processEvent:using:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuMorph(Morph)>>processEvent:using:
> MenuMorph(Morph)>>processEvent:
> MenuMorph>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand _ self.  ActiveEvent
> _ anEvent.  result _ focusHolder     handle...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand _ h.  h
> processEvents.  capturingGesture _ capturingGestur...]}
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> WorldState>>doOneSubCycleFor:
> PasteUpMorph>>doOneSubCycle
> MenuMorph>>invokeModalAt:in:allowKeyboard:
> MenuMorph>>invokeModal:
> MenuMorph>>invokeModal
> BrowserCommentTextMorph(PluggableTextMorph)>>scrollBarMenuButtonPressed:
> BrowserCommentTextMorph(ScrollPane)>>vScrollBarMenuButtonPressed:
> [] in ScrollBar>>menuButtonMouseDown: {[:sel |  menuSelector _ sel.  model
> perform: sel with: event]}
> ScrollBar(MorphicModel)>>use:orMakeModelSelectorFor:in:
> -- and more not shown --
>
>
>
>
>
>
>
> ___________________________________________________________
> 1GB gratis, Antivirus y Antispam
> Correo Yahoo!, el mejor correo web del mundo
> http://correo.yahoo.com.ar 
>
>
>



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

Re: [BUG] Integer hex is missing in 7006?

Marcus Denker
In reply to this post by Edgar J. De Cleene

On 09.03.2006, at 21:15, Lic. Edgar J. De Cleene wrote:
>
> I could do not send the "offensive" mail and maybe pass a long time  
> until
> this trivial bug was discovered and fixed.
>

Yes. So do you propose everyone should now start to write mails
in your style? Will this improve the time it takes to have bugs fixed
or will this make everyone just leave the community?

>
> By the way , in previous image say hex was deprecated for Integer,  
> was is a
> inconsistent if still exist in Character and others classes, all  
> hex should
> go deprecated or Integer hex resurrected.
>

Yes, it was deprecated in 3.8 And we remove deprecated method *by  
default*
one version later.

So the whole problem was not caused done by the 3.9a release team. It  
was
a side effect that would habe happened regardless of the person doing  
3.9a.

So after removing deprecations, Of course, it can happen that then we  
find out
that in some cases, we should retain  the deprecated methods another  
release,
or that the deprecation was actually a bad idea. This could well be  
the case
with #hex.

> I vote for hex resurrected.

So why didn't you write a mail that explained that nicely? Yes, it  
takes a long
time to get changes in the release. But this is not the fault of  
those few who
are crazy enough to try to improve Squeak... so I don't see how  
making those
few feel miserable will help getting fixes accepted faster.

Maybe I should just stop... in the end, what use it all that work?  
It's only making
everyones live harder. We should have declared Squeak to be  
"untouchable"
with 3.5, closed the project and moved on.

       Marcus

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Göran Krampe
Just wanted to say:

        Keep it up Marcus. You are currently topping my list of Squeak heros.
Really.

We all know that the current setup is suffering badly from the current
tool support. What we desperately need to do is of course to:

        1. Fix the tool situation. If that means moving to something different
or just get MC fixed in various ways, I dunno. I have a hackish idea
that I am playing with a bit - see below.

        2. Get the Teams rolling. I intend to get my ass into the I/O team,
but... well, there are so many things to do.


Ok, so my idea on the tools situation is a drastic one - but possibly
interesting enough (and fun) to at least play around with:

I use darcs (www.darcs.net) for all my non-Squeak projects. It is a
truly remarkable distributed SCM which is one of the few SCMs totally
focused around "patches" (think ChangeSets). It has fantastic merging
capacities, patch-dependency resolution and above all - it offers
"cherry picking". IMHO it is the most advanced SCM out there at the
moment.

Anyway, it is hard to explain - but it rocks. And Slate uses it btw. :)

So my idea is this:

        - Bring back MonticelloCVS into life but hack it to use Darcs instead.
        - Possibly align the Darcs patches with ChangeSets. So when you "pull"
patches from a repo you could pull one at a time, synch with Squeak and
produce a ChangeSet for each.
        - Possibly rewrite ChangeSet so that it is less brainless. IMHO it
should actually *contain* the methods and not just point to the current
method.

The vision is this:

- You point your MonticelloDarcs to x number of Darcs repos. A darcs
repo is just a http/ftp area (if you run readonly).
- You "pull" patches and darcs interactively asks which ones you want to
pick. You can cherry pick only the ones you want and darcs will pull any
dependent patches as needed!
- When you work you can use the changesorters to rearrange/group your
edits (just as in the old days, kinda) and then you "record" selected
changesets into the darcs repo.
- You push selected patches to other repos - typically we use a similar
approach that MC has with repos associated with packages etc.

This is kinda like a new breed of "update streams", but working in
harmony with MC, reviving ChangeSets (because they are nice - if we
improve them just a teeny bit) and piggybacking on the very advanced
capabilities of darcs (patch dependencies, magical merges etc).

Well, it is just an idea. Possibly this can be used in harmony with MC -
after all - both setups use PI as package boundary. MC could be used to
produce "snapshots" for distribution on SqueakMap or just as baselines.

Ok, over and out. I am sure that Avi, Bert, Colin or any other MC gurus
can help us shoot this idea down. :)

regards, Göran

PS. I have successfully used netcat (an external small program) and
SocketStream in order to communicate with the stdin/stdout of darcs.
Darcs goes into interactive mode for the more complex commands and this
works out great. AFAIK OSProcess doesn't support stdin/out, at least not
on Win32.

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Edgar J. De Cleene
[hidden email] puso en su mail :

> I use darcs (www.darcs.net) for all my non-Squeak projects. It is a
> truly remarkable distributed SCM which is one of the few SCMs totally
> focused around "patches" (think ChangeSets). It has fantastic merging
> capacities, patch-dependency resolution and above all - it offers
> "cherry picking". IMHO it is the most advanced SCM out there at the
> moment.
>
> Anyway, it is hard to explain - but it rocks. And Slate uses it btw. :)
>
> So my idea is this:
>
> - Bring back MonticelloCVS into life but hack it to use Darcs instead.
> - Possibly align the Darcs patches with ChangeSets. So when you "pull"
> patches from a repo you could pull one at a time, synch with Squeak and
> produce a ChangeSet for each.
> - Possibly rewrite ChangeSet so that it is less brainless. IMHO it
> should actually *contain* the methods and not just point to the current
> method.
>
> The vision is this:
>
> - You point your MonticelloDarcs to x number of Darcs repos. A darcs
> repo is just a http/ftp area (if you run readonly).
> - You "pull" patches and darcs interactively asks which ones you want to
> pick. You can cherry pick only the ones you want and darcs will pull any
> dependent patches as needed!
> - When you work you can use the changesorters to rearrange/group your
> edits (just as in the old days, kinda) and then you "record" selected
> changesets into the darcs repo.
> - You push selected patches to other repos - typically we use a similar
> approach that MC has with repos associated with packages etc.
>
> This is kinda like a new breed of "update streams", but working in
> harmony with MC, reviving ChangeSets (because they are nice - if we
> improve them just a teeny bit) and piggybacking on the very advanced
> capabilities of darcs (patch dependencies, magical merges etc).
>
> Well, it is just an idea. Possibly this can be used in harmony with MC -
> after all - both setups use PI as package boundary. MC could be used to
> produce "snapshots" for distribution on SqueakMap or just as baselines.

This could be a solution to "all image each time" problem.
As you are using it and a rapid view say it's implemented in Haskell, how
much time you think could take implement in Squeak ?

As I'm not only a compulsive complainer, if you have something at what could
help with code or testing, let me know.

Edgar



       
       
               
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar 


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

stéphane ducasse-2
In reply to this post by Marcus Denker
:)

Apparently I'm not the only one to fall on my keyboard.
Edgar, I suggest you to understand that sometimes your emails
looks really aggressive.

STef

>> I could do not send the "offensive" mail and maybe pass a long  
>> time until
>> this trivial bug was discovered and fixed.
>>
>
> Yes. So do you propose everyone should now start to write mails
> in your style? Will this improve the time it takes to have bugs fixed
> or will this make everyone just leave the community?
>
>>
>> By the way , in previous image say hex was deprecated for Integer,  
>> was is a
>> inconsistent if still exist in Character and others classes, all  
>> hex should
>> go deprecated or Integer hex resurrected.
>>
>
> Yes, it was deprecated in 3.8 And we remove deprecated method *by  
> default*
> one version later.
>
> So the whole problem was not caused done by the 3.9a release team.  
> It was
> a side effect that would habe happened regardless of the person  
> doing 3.9a.
>
> So after removing deprecations, Of course, it can happen that then  
> we find out
> that in some cases, we should retain  the deprecated methods  
> another release,
> or that the deprecation was actually a bad idea. This could well be  
> the case
> with #hex.
>
>> I vote for hex resurrected.
>
> So why didn't you write a mail that explained that nicely? Yes, it  
> takes a long
> time to get changes in the release. But this is not the fault of  
> those few who
> are crazy enough to try to improve Squeak... so I don't see how  
> making those
> few feel miserable will help getting fixes accepted faster.
>
> Maybe I should just stop... in the end, what use it all that work?  
> It's only making
> everyones live harder. We should have declared Squeak to be  
> "untouchable"
> with 3.5, closed the project and moved on.
>
>       Marcus
>


Reply | Threaded
Open this post in threaded view
|

darcs (was Re: [BUG] Integer hex is missing in 7006?)

Tom Rushworth
In reply to this post by Edgar J. De Cleene
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 2006-Mar-10, at 09:18 , Lic. Edgar J. De Cleene wrote:

> [hidden email] puso en su mail :
>
>> I use darcs (www.darcs.net) for all my non-Squeak projects. It is a
>> truly remarkable distributed SCM which is one of the few SCMs totally
> [snip]

> This could be a solution to "all image each time" problem.
> As you are using it and a rapid view say it's implemented in  
> Haskell, how
> much time you think could take implement in Squeak ?

I've looked at the darcs source, and gone to the extent of learning  
to read
Haskell in order to figure it out.  Re-implementing darcs in Squeak  
would be
be a big job.  Not just because Haskell has a very concise syntax  
(which would
probably lead to considerable code expansion), but also because darcs  
is a big
program.  The automatic merger at the heart of darcs is just not a  
simple thing
to do.

Despite all that, I use darcs almost exclusively for my non-squeak  
programming
and I love it.  If Goran can find a way to make use of the Haskell  
version that
would really be wonderful!
>
> As I'm not only a compulsive complainer, if you have something at  
> what could
> help with code or testing, let me know.
>
> Edgar
>

PS - apologies to the list moderator(s).  I use a forwarding account to
receive all my mail, and I can't make anything I send look like it  
"came"
from the forwarding email address.  This means anything I send looks  
like
it is coming from "outside" the list :(.

- --
Tom Rushworth
GPG: DF93 C92A A27C 7AC7 FE06  CF14 F61C 6CFA F7E8 F81C



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFEE0Q19hxs+vfo+BwRAr0GAKD5C0CO2E3KoCjSZtVFbd22tgKWUACgh0GN
iHSKxW3Ii5CQkhTSpNXvrX0=
=o5jX
-----END PGP SIGNATURE-----

Reply | Threaded
Open this post in threaded view
|

Re: darcs (was Re: [BUG] Integer hex is missing in 7006?)

Avi  Bryant

On Mar 11, 2006, at 1:41 PM, Tom Rushworth wrote:

>
> I've looked at the darcs source, and gone to the extent of learning  
> to read
> Haskell in order to figure it out.  Re-implementing darcs in Squeak  
> would be
> be a big job.  Not just because Haskell has a very concise syntax  
> (which would
> probably lead to considerable code expansion), but also because  
> darcs is a big
> program.  The automatic merger at the heart of darcs is just not a  
> simple thing
> to do.

I looked into darcs fairly deeply when Colin and I were designing  
Monticello 2.  Most of the complexity (and almost all of the need for  
the "theory of patches") comes from:

a) Darcs is versioning arbitrary text files, which don't have obvious  
semantic units, and thus
b) for any version of a given semantic unit in the code base, there's  
no way to know exactly which previous versions it was derived from

The fancy stuff in Darcs is really just a way of reverse engineering  
that information.  In Smalltalk, since we know the semantic units  
(classes/methods), we can record precise ancestry information for  
them directly, and have a *much* simpler merge algorithm that is just  
as effective.

To put it another way, using the Darcs automatic merge algorithms on  
file-outs of Smalltalk code is like dubbing your CDs to audio  
cassette and then running them through a *really good* noise filter  
to get rid of the tape hiss.

It's unfortunate that Monticello 2 has languished in the designed-and-
half-implemented phase for so long (about 2 years now I think),  
because I do think it's a good model.  It seems to be a case of  
"eating your children" - Monticello as it stands now is just barely  
good enough that there hasn't been a compelling enough itch to force  
us to finish v2.  But feel free to encourage us in whatever way seems  
appropriate :)

Avi

Reply | Threaded
Open this post in threaded view
|

Re: darcs (was Re: [BUG] Integer hex is missing in 7006?)

timrowledge

On 11-Mar-06, at 1:59 PM, Avi Bryant wrote:
>
> But feel free to encourage us in whatever way seems appropriate :)
Hmm, as a first attempt, please consider yourselves encouraged  
through the medium of my best English Schoolmaster Look Of Disdain At  
The Boy That Didn't Finish His Homework.

You know you want to do it. You know we want you to do it. I would  
suggest (in my role as Official Spokesmodel for the All-powerful  
Board of the Squeak Foundation) that the foundation find some money  
to sweeten the stick but to be honest any amount we could plausibly  
come up with would be so little as to not even be insulting. If we  
were still in the Good Old Days of infinite money (like say, Interval  
Research) I'd be demanding that we hire you to do it. But we're not  
and I can't. Dang.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Doesn't just know nothing; doesn't even  
suspect much.



Reply | Threaded
Open this post in threaded view
|

Re: darcs (was Re: [BUG] Integer hex is missing in 7006?)

stéphane ducasse-2
Hi avi

We used MC (successfully) so of course we put less pressure on MC2  
but at the same time now we
know that this is the future :). Could you let us know if you have a  
roadmap for MC2.
Will you and colin allocate time for that?
We could set up a bounty system for MC2. As tim mentioned this can be  
little but symbolic :).
But I think that this is ***really*** important. May be other people  
may join the effort (goran?).


Stef


>> But feel free to encourage us in whatever way seems appropriate :)
> Hmm, as a first attempt, please consider yourselves encouraged  
> through the medium of my best English Schoolmaster Look Of Disdain  
> At The Boy That Didn't Finish His Homework.
>
> You know you want to do it. You know we want you to do it. I would  
> suggest (in my role as Official Spokesmodel for the All-powerful  
> Board of the Squeak Foundation) that the foundation find some money  
> to sweeten the stick but to be honest any amount we could plausibly  
> come up with would be so little as to not even be insulting. If we  
> were still in the Good Old Days of infinite money (like say,  
> Interval Research) I'd be demanding that we hire you to do it. But  
> we're not and I can't. Dang.
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Useful random insult:- Doesn't just know nothing; doesn't even  
> suspect much.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

stéphane ducasse-2
In reply to this post by Göran Krampe
goran

I read the darcs manual in diagonal and got lost.
Do you know if there is a place where I can find a scenario like:

cd toto
cvs import toto ducasse 1
cd ../
mv toto totoOld
cvs co toto
...
cvs update
cvs commit

:)


On 10 mars 06, at 08:23, [hidden email] wrote:

> Just wanted to say:
>
> Keep it up Marcus. You are currently topping my list of Squeak heros.
> Really.
>
> We all know that the current setup is suffering badly from the current
> tool support. What we desperately need to do is of course to:
>
> 1. Fix the tool situation. If that means moving to something  
> different
> or just get MC fixed in various ways, I dunno. I have a hackish idea
> that I am playing with a bit - see below.
>
> 2. Get the Teams rolling. I intend to get my ass into the I/O team,
> but... well, there are so many things to do.
>
>
> Ok, so my idea on the tools situation is a drastic one - but possibly
> interesting enough (and fun) to at least play around with:
>
> I use darcs (www.darcs.net) for all my non-Squeak projects. It is a
> truly remarkable distributed SCM which is one of the few SCMs totally
> focused around "patches" (think ChangeSets). It has fantastic merging
> capacities, patch-dependency resolution and above all - it offers
> "cherry picking". IMHO it is the most advanced SCM out there at the
> moment.
>
> Anyway, it is hard to explain - but it rocks. And Slate uses it  
> btw. :)
>
> So my idea is this:
>
> - Bring back MonticelloCVS into life but hack it to use Darcs  
> instead.
> - Possibly align the Darcs patches with ChangeSets. So when you  
> "pull"
> patches from a repo you could pull one at a time, synch with Squeak  
> and
> produce a ChangeSet for each.
> - Possibly rewrite ChangeSet so that it is less brainless. IMHO it
> should actually *contain* the methods and not just point to the  
> current
> method.
>
> The vision is this:
>
> - You point your MonticelloDarcs to x number of Darcs repos. A darcs
> repo is just a http/ftp area (if you run readonly).
> - You "pull" patches and darcs interactively asks which ones you  
> want to
> pick. You can cherry pick only the ones you want and darcs will  
> pull any
> dependent patches as needed!
> - When you work you can use the changesorters to rearrange/group your
> edits (just as in the old days, kinda) and then you "record" selected
> changesets into the darcs repo.
> - You push selected patches to other repos - typically we use a  
> similar
> approach that MC has with repos associated with packages etc.
>
> This is kinda like a new breed of "update streams", but working in
> harmony with MC, reviving ChangeSets (because they are nice - if we
> improve them just a teeny bit) and piggybacking on the very advanced
> capabilities of darcs (patch dependencies, magical merges etc).
>
> Well, it is just an idea. Possibly this can be used in harmony with  
> MC -
> after all - both setups use PI as package boundary. MC could be  
> used to
> produce "snapshots" for distribution on SqueakMap or just as  
> baselines.
>
> Ok, over and out. I am sure that Avi, Bert, Colin or any other MC  
> gurus
> can help us shoot this idea down. :)
>
> regards, Göran
>
> PS. I have successfully used netcat (an external small program) and
> SocketStream in order to communicate with the stdin/stdout of darcs.
> Darcs goes into interactive mode for the more complex commands and  
> this
> works out great. AFAIK OSProcess doesn't support stdin/out, at  
> least not
> on Win32.
>


Reply | Threaded
Open this post in threaded view
|

Re: darcs

Tom Rushworth
Go to the darcs community wiki:

http://darcs.net/DarcsWiki

and look for the section titled:

Darcs for Converts

(about the middle of the first page).
There are a number of pages dealing with CVS and darcs.

On 2006-Mar-12, at 01:17 , stéphane ducasse wrote:

> goran
>
> I read the darcs manual in diagonal and got lost.
> Do you know if there is a place where I can find a scenario like:
>
> cd toto
> cvs import toto ducasse 1
> cd ../
> mv toto totoOld
> cvs co toto
> ...
> cvs update
> cvs commit
>
> :)
>
[snip]

Reply | Threaded
Open this post in threaded view
|

Re: [BUG] Integer hex is missing in 7006?

Göran Krampe
In reply to this post by stéphane ducasse-2
Hi!

=?ISO-8859-1?Q?st=E9phane_ducasse?= <[hidden email]> wrote:
> goran
>
> I read the darcs manual in diagonal and got lost.

You did? I found the "Getting started" pretty easy:

        http://www.darcs.net/manual/node4.html

> Do you know if there is a place where I can find a scenario like:
>
> cd toto
> cvs import toto ducasse 1
> cd ../
> mv toto totoOld
> cvs co toto
> ...
> cvs update
> cvs commit
>
> :)

Well I think you find this info in the above link but essentially a
rough equivalent of the above (if I grokked what you wanted to do) would
be:

1.mkdir toto
2.cd toto
3.darcs init
4.cp ../orig/* .
5.darcs record -l
6.cd ..
7.mv toto totoOld
8.darcs get totoOld toto
9.cd toto
10...(edit a file in toto)...
11.darcs whatsnew -s
12.cd ../totoOld
13...(edit a file in totoOld)...
14.darcs record
15.cd ../toto
16.darcs pull ../totoOld
17.darcs record
18.darcs push ../totoOld


Lines described:

3: Turns the directory "toto" into a darcs repository. It only creates a
dir called "_darcs" on the top level - the rest is untouched and is your
"working copy".
4: We "import" another file tree into this repo. But nothing is recorded
yet.
5: Record a patch, "-l" means "look for adds". This will create a single
patch creating the whole file tree.
7: Move the repo to another place in the filesystem, no problem.
8: Create a "checkout" of the old repo. This creates a new repo with all
patches in the old repo.
11: Show in summary "-s" mode what local changes there are.
14. Record a new patch in the old repo. It will interactively ask you
stuff to do it.
16. This is the equivalent of "cvs update" - we pull patches from
another repo. The interesting part is that you can pull from ANY repo.
17. Record a change in the new repo.
18. This is the equivalent of "cvs commit" - we push patches from this
repo to another repo. It is the reverse of pull.

One thing you notice in the above is that work is being done in a "two
step" way:

- First you make all your edits in the file tree. Darcs detects
adds/removes and edits, no need to use darcs commands!
- Next you record your edits in one or several "patches". You don't need
to record all edits in one patch (just like with CVS). The patches will
be physically stored inside the top directory _darcs
- Finally you push your patches to another repo. This means that you can
actually record several patches locally and then later push them to a
shared repo, or only push selected ones! You can also regret patches and
revert them etc before pushing.

 
Well, enough typing... Read the manual! :)

regards, Göran