[squeak-dev] The Primitive: I am not a number- I am a named prim! - SqueakPeople article

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

Re: Prim error returns (was Re: [squeak-dev] The Primitive: I am not a number- I am a named prim! - SqueakPeople article)

Igor Stasenko
2008/7/2 Eliot Miranda <[hidden email]>:

>
>
> On Wed, Jul 2, 2008 at 3:32 AM, Igor Stasenko <[hidden email]> wrote:
>>
>> 2008/7/2 John M McIntosh <[hidden email]>:
>>
>> [ big snip.... ]
>>
>> Few thoughts, about how VM could determine what process(es) is memory
>> hungry to kill them w/o mercy, leaving rest intact and avoid dying:
>>
>> add 'memory policy' slot to Process instance, which can tell VM, is
>> given process can be killed w/o damaging most critical parts of image.
>
> There is no need for this to be in the VM.  Instead the process that runs
> once the LowSpaceSemaphore is signalled should be of a very high priority
> (probably above finalization but below timing priority).  It then enumerates
> the runnable processes (processes waiting on semaphores are resumably not
> the ones chewing up memory).  It then suspends any processes on the runnable
> queues that meet certain criteria.
>

Well, its more flexible but less stable approach. You need to be sure,
that there is someone who still listening for this semaphore, and
where is guarantees that process which waits on this semaphore will
care to clean anything?
Of course, in same way, there is no guarantees that process with
memory policy == 0 will not eat up all available space :)
So, you are right, we can put decision point into image rather in VM.

> Something that *could* be in the VM is accounting of how much space a
> process consumes.  Add a slot to each process known to the VM called e.g.
> slotsAllocated.  The VM computes the slots allocated between context
> switches.  This is cheap to compute because it can compute how much space
> was allocated since the last garbage collection or process switch simply by
> subtracting the allocation pointer at the end of the previous GC or process
> switch from the current allocation pointer.  The slots allocated since the
> last process switch is added to the slot in the old process and the slots
> allocated count zeroed on each context switch.  We then have an accurate
> measure of how much space each process has allocated.
>
> Wen the low space process runs it simply examines the runnable processes,
> checking their space allocation.  It can either maintain a per-process
> allocation rate by computing the amount allocated since the last low space
> signal, or it can zero the per-process allocation count at each low space
> signal.
>
> This is much more flexible and less arbitrary than having the VM do it.
>
> Similarly a VM that does context-to-stack mapping should be able to cheaply
> maintain a stack size count per process since it only has to increase or
> decrease the current process's stack size on each stack page
> overfow/underflow and context switch.  Traversing a stack page's frames to
> get an accurate count of the number of "contexts" on each page is pretty
> quick (just a walk of the frame pointer->caller frame pointer chain).
>  Getting an approximation by dividing the used portion of a stack page by
> the minimum frame size is even quicker.
>
> You could then provide the image with either an accurate stack depth, or a
> good approximation thereof.  That gives the low space process an easy job to
> identify a potentially infinitely recursive process.
>
> In general it is good design to put mechanism in the VM and keep policy up
> in the image.
>

This is what i wanted to avoid: let developer decide what process(es)
should stay and what can die instead of stupid machine :)

Killing processes based on measuring how much space it allocates is
bad practice, because you really don't have any clues why given
process allocated so much space and where its used/involved, and is it
safe to kill such process or not. A 'memory policy' i described is
much better approach for solving such problems. By finding process
with highest possible memory policy slot value and killing it, not the
process which consuming memory a lot. So, the developers can control
in order of preference, what can be killed in case of problem, and
what should stay at any circumstances.
Collecting a memory allocation statistics per running process is
useful (for measuring hard limits in running system, for example), but
not in situation when you reached memory space limits. Because it
can't give answer what process should be killed, because process which
allocated most of memory is just process which allocated most of
memory. This is not means that something wrong with it. Some other
process could covertly sit near, allocating few bytes between each GC
cycle , step by step increasing allocated memory with useless stuff,
and after weeks of stable work you will reach low memory issue. And in
such situation, killing process which allocated most in between full
GCs will buy you nothing. Thats why i think that counting on memory
usage is bad criteria for making decision on what to kill or not.


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: Prim error returns (was Re: [squeak-dev] The Primitive: I am not a number- I am a named prim! - SqueakPeople article)

Igor Stasenko
2008/7/2 Igor Stasenko <[hidden email]>:

Oh, and i forgot to add:
- signaling a low space semaphore awakes process which kindly asking
user to stop play stupid and do something before it will be too late.

A 'memory policy' scheme , which i described before is exactly for the
cases, when its too late to let the user decide what to do. Its when
you have only two choices left: kill something, or kill VM.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

ccrraaiigg
In reply to this post by Igor Stasenko

 > I don't share your point here. A name is quite relevant to computing:
 > if we going to talk with computers then to understand each other we
 > need something in common - a language. Small language, which we can
 > understand both and talk on it :)
 >
 > And that's the most why i like smalltalk - it is small. It is
 > inherently easy to learn and talk on it. Maybe there other language(s)
 > which would make programmer's life as easy as smalltalk does. But i
 > didn't met them yet in my life.

      That's all true, but it also indicates to me that you're not
familiar with the original meaning of the word "smalltalk" in English.
:)  It has strongly negative baggage.


-C

--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Michael van der Gulik-2


On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]> wrote:

> I don't share your point here. A name is quite relevant to computing:
> if we going to talk with computers then to understand each other we
> need something in common - a language. Small language, which we can
> understand both and talk on it :)
>
> And that's the most why i like smalltalk - it is small. It is
> inherently easy to learn and talk on it. Maybe there other language(s)
> which would make programmer's life as easy as smalltalk does. But i
> didn't met them yet in my life.

    That's all true, but it also indicates to me that you're not familiar with the original meaning of the word "smalltalk" in English. :)  It has strongly negative baggage.


It does? First time I heard; I always thought it was an important social skill: http://howto.lifehack.org/wiki/Small_Talk

Gulik.



--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Igor Stasenko
In reply to this post by ccrraaiigg
2008/7/3 Craig Latta <[hidden email]>:

>
>> I don't share your point here. A name is quite relevant to computing:
>> if we going to talk with computers then to understand each other we
>> need something in common - a language. Small language, which we can
>> understand both and talk on it :)
>>
>> And that's the most why i like smalltalk - it is small. It is
>> inherently easy to learn and talk on it. Maybe there other language(s)
>> which would make programmer's life as easy as smalltalk does. But i
>> didn't met them yet in my life.
>
>     That's all true, but it also indicates to me that you're not familiar
> with the original meaning of the word "smalltalk" in English. :)  It has
> strongly negative baggage.
>

Heh, yes, i'm not native english speaker. :)



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Bert Freudenberg
In reply to this post by Michael van der Gulik-2

Am 03.07.2008 um 03:14 schrieb Michael van der Gulik:

> On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]> wrote:
>
> > I don't share your point here. A name is quite relevant to  
> computing:
> > if we going to talk with computers then to understand each other we
> > need something in common - a language. Small language, which we can
> > understand both and talk on it :)
> >
> > And that's the most why i like smalltalk - it is small. It is
> > inherently easy to learn and talk on it. Maybe there other  
> language(s)
> > which would make programmer's life as easy as smalltalk does. But i
> > didn't met them yet in my life.
>
>     That's all true, but it also indicates to me that you're not  
> familiar with the original meaning of the word "smalltalk" in  
> English. :)  It has strongly negative baggage.
>
>
> It does? First time I heard; I always thought it was an important  
> social skill: http://howto.lifehack.org/wiki/Small_Talk

Hehe - but it's the very definition of geeks/nerds to lack "social  
skills", they have a hard time doing small talk, they feel chatting  
about irrelevant things is a waste of time. Hence the word has a  
negative taste in these circles. And the percentage of them among  
computer professional is higher than average.

Even amongst Squeakers the percentage of people lovingly decorating  
their images, cuddling it with updates and patches over years is  
dwindling. The "real programmers" who just load packages to get work  
done in "throw-away" images are in the majority now.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Damien Pollet
In reply to this post by ccrraaiigg
On Wed, Jul 2, 2008 at 4:01 AM, Craig Latta <[hidden email]> wrote:
> It seemed to me that Igor was looking for a name that would evoke
> "multi-headedness", and "Hydra" certainly does that. I don't think it falls
> into the same category as names like "Zeus" or "Thor", which I assume were
> symptomatic of power fantasies with no further meaning. It's the lack of
> meaning that I see as the problem, I think the mythic quality is otherwise
> irrelevant.

>     While were at it, though...

http://en.wikipedia.org/wiki/Briareos_Hecatonchires
http://en.wikipedia.org/wiki/Hecatonchires

but it's long :-)


>
>> Smalltalk comes from Alan Kay's distaste for the kinds of names people
>> were using for programming languages in the 60's & 70's, names like
>> Zeus and Thor.  Hence Smalltalk.
>
>     I think "Smalltalk" was a terrible choice. Pretty much everyone to whom
> I've mentioned it thinks it's too long, and it immediately makes them think
> of annoying obligatory chit-chat, something they hate (as either speaker or
> listener).
>
>     And how unfortunately ironic would it be to act with such deference to
> an authority figure expressing his distaste for authority figures? :) I
> don't think we should treat Alan Kay like a god, either...
>
>     Oh, and Cog is a great name. :)
>
>
> -C
>
> --
> Craig Latta
> improvisational musical informaticist
> www.netjam.org
> Smalltalkers do: [:it | All with: Class, (And love: it)]
>
>
>



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet

Reply | Threaded
Open this post in threaded view
|

RE: [squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Sebastian Sastre-2
In reply to this post by ccrraaiigg
...

>  > which would make programmer's life as easy as smalltalk does. But i
>  > didn't met them yet in my life.
>
>       That's all true, but it also indicates to me that you're not
> familiar with the original meaning of the word "smalltalk" in
> English.
> :)  It has strongly negative baggage.
>
>
> -C
>
> --
> Craig Latta


For a name of any valuable public thing (as languages and technologies) same care as making a trademark or brand should be taken. Not less.

Once that is understood and accepted there are some known guidelines to create a name. People don't think backwards by default, so unless you are "selling" negative experiences one should NEVER use negative evocation.

By the way evocation is not the only technique for names. Here you have a nice reading from (another) Igor that should expand your mindset on this regard:
http://www.igorinternational.com/process/naming-guide-product-company-names.php

Have a smart synaptic activity and found something positive and brilliant. Don’t accommodate yourself on less than that,

        all the best,

Sebastian


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Joshua Gargus-2
In reply to this post by Bert Freudenberg

On Jul 3, 2008, at 3:39 AM, Bert Freudenberg wrote:

>
> Am 03.07.2008 um 03:14 schrieb Michael van der Gulik:
>
>> On Thu, Jul 3, 2008 at 12:50 PM, Craig Latta <[hidden email]>  
>> wrote:
>>
>> > I don't share your point here. A name is quite relevant to  
>> computing:
>> > if we going to talk with computers then to understand each other we
>> > need something in common - a language. Small language, which we can
>> > understand both and talk on it :)
>> >
>> > And that's the most why i like smalltalk - it is small. It is
>> > inherently easy to learn and talk on it. Maybe there other  
>> language(s)
>> > which would make programmer's life as easy as smalltalk does. But i
>> > didn't met them yet in my life.
>>
>>    That's all true, but it also indicates to me that you're not  
>> familiar with the original meaning of the word "smalltalk" in  
>> English. :)  It has strongly negative baggage.
>>
>>
>> It does? First time I heard; I always thought it was an important  
>> social skill: http://howto.lifehack.org/wiki/Small_Talk
>
> Hehe - but it's the very definition of geeks/nerds to lack "social  
> skills", they have a hard time doing small talk, they feel chatting  
> about irrelevant things is a waste of time. Hence the word has a  
> negative taste in these circles. And the percentage of them among  
> computer professional is higher than average.
>
> Even amongst Squeakers the percentage of people lovingly decorating  
> their images, cuddling it with updates and patches over years is  
> dwindling. The "real programmers" who just load packages to get work  
> done in "throw-away" images are in the majority now.

That's an interesting observation; I hadn't thought of it.  I've  
definitely moved into the "real programmers" camp; I used to have an  
image that was basically a multimedia concept-map (http://en.wikipedia.org/wiki/Concept_map 
).  Today I have a very slightly customized image that I clone  
throwaway copies from.  A big part of the problem was my inability to  
migrate my content into a newer Squeak version.

(as an aside, I still have hopes that Sophie could step into that role  
for me, but it currently feels too heavyweight... it's more suited for  
"real multimedia authoring" than for supporting cognitive processes in  
real-time)

I wonder if there is any causal link between the trend toward  
throwaway images, and the larger societal trend toward more disposable  
objects in general (thinking of the free inkjet printers used as a  
loss-leader for expensive ink sales... ugh!)

Cheers,
Josh


>
>
> - Bert -
>
>
>


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: offtopic: "small talk" (was "Hydra's name")

ccrraaiigg
In reply to this post by Bert Freudenberg

 > Hehe - but it's the very definition of geeks/nerds to lack "social
 > skills", they have a hard time doing small talk, they feel chatting
 > about irrelevant things is a waste of time. Hence the word has a
 > negative taste in these circles. And the percentage of them among
 > computer professional is higher than average.

      Heh, that may also be true, but I wasn't talking about those
people. :)  And I'm not saying that striking up a conversation with
people about superficial things isn't an important skill, I'm saying
that most people, geeks or otherwise, find it annoying and would prefer
to engage in meaningful discussion. Surely the geeks here can find
plenty of URLs to support this. :)

      But apparently we disagree, probably best to leave it there. :)
I've spoken my peace: "Smalltalk" is an awful name.


-C

--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: "small talk" (was "Hydra's name")

Bert Freudenberg

Am 03.07.2008 um 20:32 schrieb Craig Latta:

>
> > Hehe - but it's the very definition of geeks/nerds to lack "social
> > skills", they have a hard time doing small talk, they feel chatting
> > about irrelevant things is a waste of time. Hence the word has a
> > negative taste in these circles. And the percentage of them among
> > computer professional is higher than average.
>
>     Heh, that may also be true, but I wasn't talking about those  
> people. :)  And I'm not saying that striking up a conversation with  
> people about superficial things isn't an important skill, I'm saying  
> that most people, geeks or otherwise, find it annoying and would  
> prefer to engage in meaningful discussion. Surely the geeks here can  
> find plenty of URLs to support this. :)
>
>     But apparently we disagree, probably best to leave it there. :)  
> I've spoken my peace: "Smalltalk" is an awful name.


How does "Squeak" stack up then?

*ducks and runs*

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: "small talk" (was "Hydra's name")

timrowledge

On 3-Jul-08, at 11:46 AM, Bert Freudenberg wrote:
>
> How does "Squeak" stack up then?
>
> *ducks and runs*
That would be 'Qwak' :-)

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Quality assurance: A way to ensure you never deliver shoddy goods  
accidentally.



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: offtopic: "small talk" (was "Hydra's name")

Laurence Rozier


On Thu, Jul 3, 2008 at 2:54 PM, tim Rowledge <[hidden email]> wrote:

On 3-Jul-08, at 11:46 AM, Bert Freudenberg wrote:

How does "Squeak" stack up then?

*ducks and runs*
That would be 'Qwak' :-)
 
Tim - u really, really missed your calling - quit your day job and go do standup NOW!



tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Quality assurance: A way to ensure you never deliver shoddy goods accidentally.






Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: offtopic: "small talk" (was "Hydra's name")

Andreas.Raab
In reply to this post by timrowledge
tim Rowledge wrote:
>
> On 3-Jul-08, at 11:46 AM, Bert Freudenberg wrote:
>>
>> How does "Squeak" stack up then?
>>
>> *ducks and runs*
> That would be 'Qwak' :-)

It's spelled "Qwaq", goddamnit! ;-)

   - A.

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: offtopic: Hydra's name (was "The Primitive: I am not a number- I am a named prim! ")

Nicolas Cellier-3
In reply to this post by Joshua Gargus-2
Joshua Gargus a écrit :

>
> That's an interesting observation; I hadn't thought of it.  I've
> definitely moved into the "real programmers" camp; I used to have an
> image that was basically a multimedia concept-map
> (http://en.wikipedia.org/wiki/Concept_map).  Today I have a very
> slightly customized image that I clone throwaway copies from.  A big
> part of the problem was my inability to migrate my content into a newer
> Squeak version.
>
> (as an aside, I still have hopes that Sophie could step into that role
> for me, but it currently feels too heavyweight... it's more suited for
> "real multimedia authoring" than for supporting cognitive processes in
> real-time)
>
> I wonder if there is any causal link between the trend toward throwaway
> images, and the larger societal trend toward more disposable objects in
> general (thinking of the free inkjet printers used as a loss-leader for
> expensive ink sales... ugh!)
>
> Cheers,
> Josh
>

Ah yes, the cloning model is very limited.
Who diddn't ever dream of a sexual reproduction of images.
Wouldn't the children of Croquet and Sophie be viable?

Nicolas


Reply | Threaded
Open this post in threaded view
|

RE: [squeak-dev] The Primitive: I am not a number- I am a named prim!- SqueakPeople article

Terry Raymond-2
In reply to this post by Igor Stasenko

> -----Original Message-----
> From: [hidden email] [mailto:squeak-dev-
> [hidden email]] On Behalf Of Igor Stasenko
> Sent: Tuesday, July 01, 2008 9:26 PM
> To: The general-purpose Squeak developers list
> Subject: Re: [squeak-dev] The Primitive: I am not a number- I am a named prim!- SqueakPeople article
>
> 2008/7/2 Eliot Miranda <[hidden email]>:

> > My own OT:
> >
> > BTW, did you see my comment about renaming Hydra?  I think "String" is a
> > much better name. Strings are composed of threads.  Smalltalk comes from
> > Alan Kay's distaste for the kinds of names people were using for programming
> > languages in the 60's & 70's, names like Zeus and Thor.  Hence Smalltalk.
> >  Hydra is another mythic name.  Cog is a small element in a larger whole
> > (and a cool advert by Honda).  Anyway, think it over...
> >
>
> Naming things is not my best talent. :) A name "Hydra" is not really
> my idea (originally it came from Andreas colleague afaik).
> I can say that i like it: Hydra has many heads. But if you find it too
> pretentious, hmm. A "String" is directly opposite to it.. Its too
> plain boring & gray :)

Well, how about "Tapestry". It is made of threads and is not
boring.

> There can be many criteria how to pick a name: ones care that name
> should sell itself, others want to put meaning in it (to conform
> idea). I personally prefer  names which simply sound good. :)

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================


Reply | Threaded
Open this post in threaded view
|

RE: [squeak-dev] The Primitive: I am not a number- I am a named prim!- SqueakPeople article

dpharris
Quoting Terry Raymond <[hidden email]>:

> Well, how about "Tapestry". It is made of threads and is not
> boring.

Wow, that hits the spot.  (And we already have warp, but not weft :-) )  A
tapestry is a colourful weaving together of treads to make a whole and often to
tell a story, epic or otherwise.  It has purpose, into the future, and is often
a product of many people.  Plus, different parts of it are made by different
teams.  

That suggests:  Quilt

These are made up of separate pieces of cloth (packages, classes?), sometimes
many copies of identical pieces, sometimes not, assembled into a larger whole.
The pieces are sewn together, but often there is an addition layer (thread) of
sewing that winds its way through all of the pieces.  Each quilt has an overall
design.  

Further, each piece of cloth may be a separate design, can be new or old, or can
be a part of a previous creation. Each piece of cloth is made up of threads
woven together.  

So, let's make our bed, and lie in it ;-)

David




123