text:
Browse · Search Religion
Topics · Post Article
Skip to comments.
A Protestant Discovers Mary
NC Register ^ | March 13, 2010
Posted on 03/14/2010 12:14:46 PM PDT by NYer
Navigation: use the links below to view more comments.
first previous 1-20 ... 701-720, 721-740, 741-760, 761-762 next last
To: Ken4TA
1. You haven't told me how it contradicts. on the contrary kecharitomene indicates it, indicating she was filled with sanctifying grace from God from the very moment of her creation, all thanks to God, her creator
2. Just as much as the TRinity is written between the lines and how the "rapture" isn't.
3. Yes -- it's mentioned in the works of Irenaeus of Lyons and in the works of St. Augustine.
721 posted on 03/21/2010 9:36:29 PM PDT by Cronos (St. Ambrose -- elected by popular acclaim)
[ Post Reply | Private Reply | To 710 | View Replies]
And the term sola scriptura was never used until... — you're right, it was never used until the late middle ages..
To: Ken4TA; wmfights; xone; Titanites
Ha - infant baptism was practised by the early Church -- Origen, Ireneus and Augustine talk about this -- you think you know it better now, 2000 years later than they did?
Here is the proof for you sola scriptura types from the bible
When the Redeemer declares (John 3) that it is necessary to be born again of water and the Holy Ghost in order to enter the Kingdom of God, His words may be justly understood to mean that He includes all who are capable of having a right to this kingdom. Now, He has asserted such a right even for those who are not adults, when He says (Matthew 19:14): "Suffer the little children, and forbid them not to come to me: for the kingdom of heaven is for such." It has been objected that this latter text does not refer to infants, inasmuch as Christ says "to come to me". In the parallel passage in St. Luke (18:15), however, the text reads: "And they brought unto him also infants, that he might touch them"; and then follow the words cited from St. Matthew. In the Greek text, the words brephe and prosepheron refer to infants in arms.
Moreover, St. Paul (Colossians 2) says that baptism in the New Law has taken the place of circumcision in the Old. It was especially to infants that the rite of circumcision was applied by Divine precept. If it be said that there is no example of the baptism of infants to be found in the Bible, we may answer that infants are included in such phrases as: "She was baptized and her household" (Acts 16:15); "Himself was baptized, and all his house immediately" (Acts 16:33); "I baptized the household of Stephanus" (1 Corinthians 1:16).
To the objection that baptism requires faith, theologians reply that adults must have faith, but infants receive habitual faith, which is infused into them in the sacrament of regeneration. As to actual faith, they believe on the faith of another; as St. Augustine (De Verb. Apost., xiv, xviii) beautifully says: "He believes by another, who has sinned by another."
And, the proof that the Early Church DID baptise infants ,is from here by St. Cyprian of Carthage
In respect to the case of infants, which you say ought not to be baptised within the second or third day after birth, and that hte law of ncient circumcision be regarded, so that you think that one who is just born should not be baptised and sanctified within the eighth day,we all thought very differently in our council. For in this course which you thought was to be taken, no one agreed; but we all rather judge that the mercy and grace of God is not to be refused to any one born of man.. we ought to shrink from hindering an infant, who being lately born, has not sinned, except in that, being born after the flesh accrding to Adam, he has ontracted teh contagion of the ancient death as its earliest birth, who approaches the more easily on this very account to the reception of the forgiveness of sins -- that to him are remitted, not his own sincs, but the sins of another (Adam)
and from Origen (185-254 AD)
The Church received from the Apostles the tradition of giving Baptism even to infants. For the Apostles, to whom were committed teh secrets of divine mysteries, knew that there is in everyone the innate stains of sin, which must be washed away through water and the Spirit
and from St. Augustine
Who is so impious as to wish to exclude infants from the kindgom of heaven by forbidding them to be baptised and born again in Christ? This the Church always had, always held; this she received from the faith of our ancestors; this she perserveringly guards even to the end
Whoever says that even infants are vivified in Christ when they depart this life without the participation of His Sacrament (Baptism), both opposes the Apostolic preaching and condemns the whole Church which hastens to baptize infants, because it unhesitatingly believes that otherwise they can not possibly be vivified in Christ,"
Read my post above - Infant baptism was practiced in Apostlic times. It seems that you need some education in church history on this issue.
725 posted on 03/21/2010 9:46:11 PM PDT by Cronos (Origen(200AD)"The Church received from theApostles the tradition of giving Baptism even to infants")
To: Cvengr
And yet by doing that you contradict St. Paul who relies on tradition too — but he talks favorably of CHRISTIAN tradition as opposed to the rabbinical tradition. Christ promised an infallible community, a Church of believers. And that's what was a united front dogmatically for 1500 years.
To: Ken4TA; xone
I have traced the practice of the early churches relative to baptism, from their commencement until the time that sprinkling was first introduced among them; and I find that in the first three centuries no mode other than immersion, and no one was baptized other than those old enough to understand the Gospel and make a profession of their faith. I would respectfully say that that tracing has been incomplete -- see the quotes from Origen and Cyprian of Carthage.
I have traced the practice of the early churches relative to baptism......and no one was baptized other than those old enough to understand the Gospel and make a profession of their faith.
From the previous link: (my bolds)
Infants are included in "all nations" who are to be baptized (Matt. 28:19). Certainly they were included in Peter's Pentecost exhortation in Acts 2:38, 39: "Repent and be baptized everyone one of you, in the name of Jesus Christ for the forgiveness of your sins....The promise is for you and your children and for all who are far off -- for all whom the Lord our God will call."
Whole households, everyone in the family, were baptized in the beginning of New Testament times, which in all probability included infants (Acts 16:15 and 33). [The "household" formula used here by Luke has Old Testament precedent, with special reference also to small children, as for example in 1 Sam. 22:16, 19; see Joachim Jeremias, Infant Baptism in the First Four Centuries, 22-23.] In Romans 6, the Holy Spirit tells us in the Word that in Baptism we have been united with Jesus' death and resurrection -- regenerated, dying to sin and rising to new life. That happens to infants when baptized (Gal. 3:27). "For as many of you who have been baptized have put on Christ." Baptism through the Word creates the faith necessary to receive salvation for infants. Infants can have faith. In Mark 10:14 Jesus said, "Let the little children come to Me, and do not hinder them, for the kingdom of God belongs to such as these." The Greek word in this text is "paidia" which means babes in arms. Infants can belong to the kingdom of God. "From the lips of children and infants, You have ordained praise...." Psalm 8:2. "Yet You brought me out of the womb, You made me trust in You even at my mother's breast" Psalm 22:9.
From the beginning of New Testament Christianity at Pentecost to our time, unbroken and uninterrupted, the Church has baptized babies. Polycarp (69-155 AD), a disciple of the Apostle John, was baptized as an infant. Justin Martyr (100-166 AD) of the next generation, about the year 150 AD, states in his Dialog with Trypho The Jew that Baptism is the circumcision of the New Testament." Irenaeus (130-200 AD) writes in Against Heresies II 22:4 that Jesus came to save all through means of Himself -- all, I say, who through Him are born again to God -- infants and children, boys and youth, and old men."
Similar expressions are found in succeeding generations by Origen (185-254 AD) and Cyprian (215-258 AD), and at the Council of Carthage in 254 where the 66 bishops stated: "We ought not hinder any person from Baptism and the grace of God....especially infants....those newly born." Origen wrote in his Commentary on Romans 5:9: "For this also it was that the Church had from the Apostles a tradition to give baptism even to infants." Origen also wrote in his Homily on Luke 14: "Infants are to be baptized for the remission of sins." Cyprian's reply to a bishop who wrote to him regarding the baptism of infants stated: "Should we wait until the 8th day as did the Jews in the circumcision? No, the child should be baptized as soon as it is born."
Augustine (354-430 AD) wrote in De Genesi Ad Literam, 10:39 declared, "The custom of our mother Church in baptizing infants must not be counted needless, nor believed to be other than a tradition of the Apostles." Augustine further states: "...the whole Church which hastens to baptize infants, because it unhesitatingly believes that otherwise they cannot possibly be vivified in Christ. In 517 AD, 10 rules of discipline were framed for the Church in Spain. The fifth rule states that "...in case infants were ill...if they were offered, to baptize them, even though it were the day that they were born...such was to be done." ("The History of Baptism" by Robert Robinson, London, Thomas Knott, 1790, p.269)
I have traced the practice of the early churches relative to baptism, from their commencement until the time that sprinkling was first introduced among them; and I find that in the first three centuries no mode other than immersion,
On the basis of the evidence provided in the New Testament, it is not possible to prove that the term "baptize" always refers to immersion, nor that the Baptisms mentioned were all done by immersion--implying (in the view of some) that only Baptisms done by immersion can be considered valid. In fact, taken as a whole the evidence suggests otherwise. In some cases the term "baptize" is synonymous with "wash" (Tit. 3:5-6; see also Heb. 9:19; Eph. 5:26, Acts 22:16, and Mark 7:1-4—a passage in which some earlier translators considered the term "baptize" to include the washing of "dining couches"), and it is highly likely that Baptisms were performed in the early church by methods other than immersion. Three thousand were baptized on Pentecost in Jerusalem, where no river exists and no mention is made of other large quantities of water that would or may have been used. In fact, the shortage of water supplies in general in many parts of the ancient world would have precluded Baptism by immersion. As the Supplementary Volume of The Interpreter's Dictionary of the Bible correctly notes, "It is unlikely that in Jerusalem, Samaria, Damascus, Philippi, Corinth, Rome, or Asia Minor enough water was always available for a full bath" (87).
It should be noted that very early in Christian history methods other than immersion were used and allowed. The Didache requires the administrant of Baptism to "pour water three times on the head" (7:3). No mention is made of immersion. Early Christian art depicts Baptisms of persons standing in shallow pools with water poured on the head (see David Scaer, Baptism, 96-101).
Lutherans have therefore held that the manner of Baptism (that is, immersion, pouring, sprinkling, etc.) does not determine whether a Baptism is valid, any more than the manner of distributing the Lord's Supper (common cup, individual glasses) affects the validity of this Sacrament. Only the Word of God and the "element" (water), according to divine institution, makes a Baptism valid.
And, BTW, infant baptism had not come into general use before the time of Tertullian,
One can see that isn't the case from the first entry, also this from the previous link:
This pattern of baptizing infants remained in Christianity through the Dark and Middle Ages until modern times. In the 1500 years from the time of Christ to the Protestant Reformation, the only bonafide opponent to infant Baptism was the heretic Tertullian (160-215 AD) who de facto denied original sin. Then in the 1520s the Christian Church experienced opposition specifically to infant Baptism under the influence of Thomas Muenzer and other fanatics who opposed both civil and religious authority, original sin and human concupiscence. Thomas' opposition was then embraced by a considerable number of Swiss, German and Dutch Anabaptists. This brought about strong warning and renunciation by the Roman Catholics, Lutherans and Reformed alike. It was considered a shameless affront to what had been practiced in each generation since Christ's command in the Great Commission (Matt. 28:18-20) to baptize all nations irrespective of age. Historical excerpts are from "Infant Baptism in Early Church History," by Dr. Dennis Kastens in Issues Etc. Journal, Spring 1997, Vol. 2, No. 3.
If one essentially denies original sin, I can't be buying much of what he says especially about infant baptism.
728 posted on 03/21/2010 9:51:40 PM PDT by xone
To: Cronos
This is an improper use of the term sola scriptura. As one of them 'types' myself, that isn't the issue here.
Actually, it was material to your question — if you were Calvin, you came 1500 years after The Church was formed and you contradict what the 1st century Christians believed If you are you (which you are:-P), then you come 2000 years after Christ formed His Church and contradict 1st century Christians.
Negative. I'm not a follower of either Luther or Calvin. I was raised in a RC family and educated in RC schools. After Vatican Council II, which stated that RC members should read the Bible, I did! That is what led me out of the RCC! I'm a follower of Christ, a Christian - and not a hyphenated one! BTW, your saying I'm a -P, which doesn't mean much to me, is something you are merely guessing at!
And, here you go contradicting people who came before you. How do you know that the scriptures are "inspired" by the way? Why don't you include The Acts of Paul and Theda as scripture?
Here is what was said:
The Tradition about Anne and Joachim are documented from the 1st and 2nd century Christians.
To which I responded:
"Your "Tradition" is a mere story passed on by an uninspired writer from an unknown place and time. Substantiate it if you can. "
Again, substantiate it if you can. BTW, The Acts of Paul and Theda, when read, show that they are not worthy of being called "Scriptures" of Christianity.
Actually, history IS on the side of the CHurch -- read Church history, read secular history and you will see that first century Christians believed what The Apostolic Church believes, not a protestant belief.
My comment:
"Your assertion is meaningless. Prove the IC of Mary from your "Tradition" AND the Scriptures - if you can!"
BTW, history is not on your side on this issue!
If you can't address my comments and challenges, why don't you just admit you can't?
The IC is based on scripture as I said and it does not in any way CONTRADICT scripture.
"BTW, history is not on your side on this issue! " I asked you to substantiate the IC of Mary as being from the time of the Apostles - If you can't do so, why not just admit you can't?
Assertions don't mean a thing to me. If you want to show me you are worthy of responding to anymore, address my questions and substantiate your assertions! If you can't, just say so and we'll leave it there!
730 posted on 03/21/2010 10:01:35 PM PDT by Ken4TA
To: Ken4TA; Cronos
I will add, that although the written history of the church and of the church fathers have been noted in defense of infant baptism, the Scriptural warrant for its practice is overwhelming and only contestable by those who would use a similar argument that the Trinity doesn't exist because the word doesn't show up in the Bible. Or use the same argument about 'sola scriptura' for that matter.
That babies can have the Holy Spirit within them or know Scripture from infancy is biblical. Is Timothy the only such infant? John the Baptist was the greatest man born of woman according to Jesus, he had the Spirit from birth.
731 posted on 03/21/2010 10:06:31 PM PDT by xone
Negative. I'm not a follower of either Luther or Calvin
And that wasn't the question. I said whether you come 1500 or 2000 years later -- the first being for the first reformatters and the second for you.
732 posted on 03/22/2010 1:00:55 AM PDT by Cronos (Origen(200AD)"The Church received from theApostles the tradition of giving Baptism even to infants")
Actually, I'm a born Catholic and reading the Bible has only deepened my faith —> and by the by, I do remember you pointing out that you had left The Church and didn't say that you were a Calvinist / Lutheran —> that was your personal interpretation of what I said — sola interpretura.
I gave you examples of where this was referred to in by Ireneus and by Cyprian. And on what basis do you consider The Acts of Paul and Theda to NOT be inspired? Which verses do you consider that do not "rate" that?
I already proved the IC from Tradition and this is also indicated in scripture, just as the Trinity is indicated. Finally, the IC does not contradict Scripture
To: xone; Ken4TA
Actually, I beg to differ -- Ken said that Infant Baptism was wrong scripturally and historically. If you take the term sola scriptura (which I don't), even then, Ken is incorrect -- Scripture does not say baptism to be restricted to adults.
If you take history and tradition, even then you read about Tertullian in his writing On Baptism where he says "happy is our sacrament of water, in that, by washing away the sins of our early blindness we are set free and into the eternal life" or Clement where he says that "For thus he wishes us to be converted and to become children acknowledging him who is truly our father, regenerated by water; and this is a different beginnging than that of creation" --> both these indicate that Baptism is a SACRAMENT, not just a symbol (which I beleive Presbyterians and Baptists believe that is it just a symbol -- corrections to that statement are welcome).
Secondly, did the Early Church practise infant baptism? YES -- I've posted repeatedly words of Origen
"The Church received from the Apostles the tradition of giving Baptism even to infants. For the Apostles, to whom were committed the secrets of divine mysteries, knew that there is in everyone the innate stains of sin, which must be washed away through water and the Spirit"
and St. Cyprian
"In respect to the case of infants, which you say ought not to be baptised within the second or third day after birth, and that hte law of ncient circumcision be regarded, so that you think that one who is just born should not be baptised and sanctified within the eighth day,we all thought very differently in our council. For in this course which you thought was to be taken, no one agreed; but we all rather judge that the mercy and grace of God is not to be refused to any one born of man.. we ought to shrink from hindering an infant, who being lately born, has not sinned, except in that, being born after the flesh accrding to Adam, he has ontracted teh contagion of the ancient death as its earliest birth, who approaches the more easily on this very account to the reception of the forgiveness of sins -- that to him are remitted, not his own sincs, but the sins of another (Adam)"
So scripturally, traditionally and historically there is no case to deny infants baptism. On the contrary, one finds scriptural proof of baptism as the New Testament's circumcision where entire households are baptised and one finds historical proof of it being practised by the early Christians.
Thanks for the accusation.
Now exactly what is meant if somebody claims St Paul relies on tradition? What Chapter and verse do we have in Scripture or passage is there where Paul addresses the requirement for reliance on tradition in order to have faith?
737 posted on 03/22/2010 4:59:12 AM PDT by Cvengr (Adversity in life and death is inevitable. Thru faith in Christ, stress is optional.)
Not really an accusation — I said "And yet by doing that you contradict St. Paul who relies on tradition too — but he talks favorably of CHRISTIAN tradition as opposed to the rabbinical tradition. Christ promised an infallible community, a Church of believers. And that's what was a united front dogmatically for 1500 years." —> that was a statement in response to your point about Tradition (btw, it's not just for the Catholic Churches (Latin, Maronite, Syro-Malabar, Syro-Malankar, Chaldean etc.) but also followed by Copts, Orthodox, Armenians,Ethiopians.
2 Thess. 2:15
13But we ought always to thank God for you, brothers loved by the Lord, because from the beginning God chose you[b] to be saved through the sanctifying work of the Spirit and through belief in the truth. 14He called you to this through our gospel, that you might share in the glory of our Lord Jesus Christ. 15So then, brothers, stand firm and hold to the teachings[c] we passed on to you, whether by word of mouth or by letter.
16May our Lord Jesus Christ himself and God our Father, who loved us and by his grace gave us eternal encouragement and good hope, 17encourage your hearts and strengthen you in every good deed and word.
or 2 Tim. 3:14–15
But as for you, continue in what you have learned and have firmly believed, knowing from whom you learned it, and how from childhood you have been acquainted with the sacred writings which are able to instruct you for salvation through faith in Christ Jesus
This epistle, remember, is directed at Timothy. The scriptures in Timothy's time were the Jewish scriptures as much of the canon was not even written (Revelation and many Pauline epistles) and was definitely not collected. Paul tells Timothy to continue in what he has learned for two reasons: first, because he knows from whom he has learned it—Paul himself—and second, because he has been educated in the scriptures. The first of these is a direct appeal to apostolic tradition, the oral teaching which the apostle Paul had given Timothy. So you need to take 2 Timothy 3:16-17 out of context to arrive at the theory of sola scriptura. But when the passage is read in context, it becomes clear that it is teaching the importance of apostolic tradition.
This is far more apparent in 2 Tim. 2:2
What you have heard from me before many witnesses entrust to faithful men who will be able to teach others also
What has been taught from the Apostles is to be taught down to others.
Paul commends those who follow tradition in 1 Cor. 11:2
I commend you because you remember me in everything and maintain the traditions even as I have delivered them to you
Jesus clearly does not condemn God given traditions as handed down to the Church by the Apostles but condemns human traditions of the Pharisees. He condemned traditions that contradicted scripture -- and no Church tradition does that.
FWIW, this is probably why I am not a Roman Catholic.
The customs I observe them promoting are not in keeping with the tradition of the Apostles, but by continuing to take in the Word of God through Scripture I am able to maintain growing through the tradition of Paul. By attempting to pray to Mary, I find myself counterfeiting that which God has provided in Christ, so I turn away from such things.
I don't know if God's Plan calls for some to pray to Mary. I see good reason and many cases where believers shouldn't do so in order to avoid placing something other than God before Him. It doesn't for myself, so I find it much better to remain in faith through what He intends, though faith in Christ.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.


Building a residence Amazing Subaru Legacy Roof Rack #5 2010 Subaru Legacy Thule Roof Rack is expensive thus you should make certain that every detail is optimal. To be safe, allow me to share a number of home plan common mistakes explained by Kathryn Perez you should stay away from.
Avoid building numerous small rooms. A building with a few bigger Amazing Subaru Legacy Roof Rack #5 2010 Subaru Legacy Thule Roof Rack rooms is proven to have a higher reselling worth and also gets extra buyers rather than a home having excessive smaller rooms.
Improperly placed main bedroom. The main bedroom is your sanctuary and consequently it must have a little more seclusion. A place with low activity will be where you must position the main bedroom.
Constructing garage away from from the kitchen area is a fault. The reason why to build garage and kitchen next to each other is to easily bring in household goods from your car to the kitchen area Subaru Legacy Roof Rack. In the housing business, residences having garage and kitchen designed close to each other usually attract a lot more potential buyers.
Assuming you plan to make use of a foyer for your dwelling, make sure to designate enough space for it. A good home design allocates sufficient area for the Amazing Subaru Legacy Roof Rack #5 2010 Subaru Legacy Thule Roof Rack foyer.


text:
Softland: War Againstt Error
By Jacob Arnold August 31, 2005 January 1, 2019 Reviews: IDM
SpezialMaterial, 2005
While Softland's excellent 2003 album One Is a Very Small Crowd was reminiscent of videogame music, War Againstt Error [sic] finds Christof Steinmann branching out into more abstract fare. The opening track, with nearly monotone singing, is an odd start. The more instrumental tracks are better. "Moire" is soft, glitchy, and melodic. "All the Nows We've Had" successfully mixes plucked acoustic strings with layers of computer-generated clicks and beats. On "Huch," distorted vocals accompany wandering cello and flute. It's a unique, disquieting combination (which probably won't lend itself to repeated listens). After a few short, discordant cuts, "Mlle." marks a return to Small Crowd's 8-bit aesthetics, adding a chorus in French and some garbled bass. The journey ends as it started, with a mumbled song. Throughout the album, longer tracks are interspersed with brief interludes named after latitude and longitude coordinates.
While I appreciate Softland's experimentation intellectually, I have mixed feelings about the results. This LP's not an easy listen. Sometimes this album's charming, other times it's grating. Still, it's worth a listen.
Tagged spezialmaterial.
« Juan Atkins: 20 Years Metroplex: 1985-2005
One Be Lo: S.O.N.O.G.R.A.M. »
Chicago Disco
Reviews: Breakcore
Reviews: Disco/Funk
Reviews: Dub Techno
Reviews: Hip-Hop
Reviews: House
Reviews: IDM
Reviews: Reggae
Reviews: Singles
Reviews: Techno
Ron Hardy
Ron Hardy 2
Farley 2
Archives Select Month June 2019 April 2019 February 2018 December 2016 October 2014 July 2014 February 2014 December 2013 September 2013 July 2013 March 2013 October 2012 September 2012 July 2012 June 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 June 2004 May 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 January 2003 December 2002 November 2002 October 2002 September 2002 August 2002 July 2002 June 2002 May 2002 April 2002 March 2002 February 2002 January 2002 December 2001 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 April 2001 March 2001 February 2001 January 2001 December 2000 November 2000 October 2000 September 2000 August 2000 July 2000 June 2000 May 2000 April 2000 March 2000 February 2000 November 1999 October 1999 September 1999 August 1999
© 1999-2019 Gridface

redpajama_set_name: RedPajamaCommonCrawl


Samuels, Richard J. (2007) Securing Japan: Tokyo's Grand Strategy and the Future of East Asia, Ithaca: Cornell University Press, hardback, ISBN: 9780801446122, 277 and xi pages.
Richard Samuels, a prominent scholar of Japan (e.g. see Samuels 1994, 2003), has written a detailed, nuanced and thoughtful work on Japan's approach to security policy. Securing Japan: Tokyo's Grand Strategy and the Future of East Asia has two major aims. First, it seeks to 'provide a historical understanding of the fundamental rationality of Japanese security policy and the constraints within which it has been exercised'. Second, it looks to 'explore the options Japanese strategists are creating for themselves today' (page 8). In addressing these issues, Samuels takes issue with three particular interpretations of Japanese security policy. All argue that Japan lacks and has always lacked 'a coherent grand strategy', what might be described as Japan's strategic deficit. The first interpretation puts the deficit down to an excessive idealism in Japan's strategic thinking, the second to a misguided attempt to achieve a multi-faceted strategy that merely 'ends up as porridge' (page 1), and the third to the overarching influence of the US alliance, which has 'left Japan with only a limited sense of external threat' (page 2). 'This is a lazy way to explain grand strategy' according to Samuels, and 'Japanese strategists deserve more credit' (page 2).
On the first issue, Samuels argues that since the 19th century Japanese strategists have developed three 'deeply coherent and widely embraced national security strategies'. These are the 19th century 'rich nation and strong army' consensus, the 'imperial Japanese hegemony' consensus of the first half of the 20th century, and the 'cheap riding trading state' consensus of the second half (page 6). On the second question, he argues that Japan has been heading towards a new strategy, what he calls the 'Goldilocks consensus' or a 'grand strategy that is not too hard but not too soft, not too Asian and not too Western'. According to Samuels, this strategy will 'strike a balance between national strength and national autonomy to create new security options for Japan' (page 9).
In order to develop his arguments, Samuels divides Securing Japan into three sections. The first part, entitled 'Historical Context', provides a lucid and comprehensive overview of the shifts in the security debate from the Meiji Restoration to the consolidation of the Yoshida doctrine following the Second World War. The section on how the military outmanoeuvred the other participants—through 'government by assassination' (Samuels cites Byas 1942)—is especially engaging. Having baked the 'pacifist loaf' in the previous part, Samuels then explains in the second part, 'A World in Flux', how this loaf was gradually sliced, initially in the 1980s and then with greater vigour after the Cold War. The big shocks that affected the debate were the 1991 Gulf War and the 1994 Korean peninsula crisis, though the rise of China and Japan's own domestic politics also played a part. Samuels then identifies the current participants to this debate. The final part, 'Threats and Responses', completes the book by examining Japan's current security environment and its most recent round of policy-making. In the conclusion, Samuels summarises the strategic context facing Japan, the constraints on its actions and the available strategic choices. Finally, he reflects on how the security debate might change in coming years and considers the implications for the United States.
Lying at the core of the book is the identification of two major forms of continuity in Japan's grand strategy. The first concerns the historical consistency of 'contending preferences' (page 110). In other words, Samuels argues that different generations of participants to this debate often repeat the positions of their predecessors, albeit in new forms. Nationalists and Asianists, he suggests, 'have long argued' with internationalists and liberals. Indeed, direct ideological lines exist between current figures, such as Ishihara Shintarō and Ozawa Ichirō, and past ones—the 1930s' Shōwa Kenkyūkai in Ishihara's case and the Meiji era's Fukuzawa Yukichi in Ozawa's. What differentiates their 'applications' is the 'changes in world order' (page 110). Asianism, for instance, has shifted from opposition to the state in the Meiji period to racialism in the 1920s, neutralism in the 1960s and finally to anti-US balancing today. A major contribution of Securing Japan, therefore, is the typology it presents on the contemporary contours of this discourse (pages 111–112). Samuels elegantly places the various participants—neo-autonomists, normal nation-alists, pacifists and middle power internationalists—along an axis based on their preferred distance from the US and their inclination to accept the use of force by Japan in international affairs.
The second form of continuity concerns the persistent coherence of this debate, especially in its ideals and values. Samuels argues that Japan's leaders have consistently filtered their strategic calculations through the 'legitimating ideals of Japan's strategic culture' rather than simply have this culture 'bequeath' choices (page 189). The 'ubiquitous sense of vulnerability and propensity to hedge' are two such ideals, while informing the debate are the values of autonomy and prestige. 'Whether Japan was governed by oligarchs or by democrats, its strategists weighed their options with reference to autonomy and prestige' (page 188). It is in this sense that Japan's strategies have been coherent, according to Samuels: 'even when Japan's leaders were at their most reckless, the process by which they deployed these values in making strategic choices was rational �c Japan's leaders, whether mainstream or antimainstream, have been persistent rather than "reluctant" realists' (page 189).
There is much to be said for shifting away from the oversimplified view that Japan lacks a security strategy and accepting instead that Japan has over a long period engaged in a largely rational debate on such issues. On the other hand, the view that the debate has always been rational, however reckless its participants, covers over other problems. Indeed, much depends on what is meant by rational. If rational debate requires space for reasoning and an informed exchange of ideas, Japan's security debates arguably deviated quite significantly from this ideal on different occasions in the 20th century. The threat and actual use of assassination as a debating tool in the 1930s, for instance, certainly made political analysis somewhat more hair-raising than would be the case today. In a different way, the growth of security taboos, such as the contradiction between Japan's non-nuclear principles and its reliance on America's nuclear deterrence, distorted the debate on the Yoshida doctrine in the late Cold War period and was arguably what made slicing the 'pacifist loaf' such a drawn out process in the 1990s.
How does Samuels view the current trends in this debate? He concludes that Japan is likely to continue pursuing a 'dual hedge' (an idea he developed with Eric Heginbotham, see Heginbotham and Samuels 2002). Here, he cites Japanese scholars such as Tanaka Akihiko (Yosan Iinkai 2005) and Soeya Yoshihide (2005), who argue for a hedging strategy that combines a US-led security community to balance against China and an Asia-led economic community to balance against the US and Europe (pages 199–200). Again, Samuels believes it most likely that a new consensus between the different participants will emerge. He notes, for instance, that there is considerable scope for agreement between the neo-autonomists and normal nation-alists given that they both support a greater security build-up, albeit based on different reasoning (e.g. see page 247, footnote 83). Even middle power internationalists, if they hope for Japan to become more active in the international community, such as through greater peacekeeping, may have to accept a further loosening of restrictions on Japan's defence forces. Only the pacifists, with their emphasis on economic development and neutrality, stand apart from such a consensus.
It remains unclear, however, exactly what kind of form a new consensus is likely to take. Much has changed in the brief period since Securing Japan was published. The push for security reform had stalled by mid-2007 as the Abe administration came unstuck at the upper house election, and the subsequent Fukuda and Asō administrations were more worried about economic and electoral challenges than security. Now that the Liberal Democratic Party (LDP) has lost power and many of the neo-autonomists and normal nation-alists are being forced to acclimatise to life in opposition, the likelihood of continued reform would seem less likely. Yet the new administration led by the Democratic Party of Japan (DPJ), while in some disarray on security policy, especially in terms of Okinawa and Japan's three non-nuclear principles (Oriental Economist, November 2009), seems to be moving in some familiar directions. Once more, a key theme seems to be autonomy.
Two key politicians typify this trend. First, Hatoyama Yukio, Japan's new prime minister, is the grandson of Hatoyama Ichirō, a former prime minister who tried to develop a more autonomous diplomacy in the 1950s by attempting to negotiate a peace treaty with the Soviet Union (Pyle 1996). In an article he wrote for Voice before becoming prime minister, Hatoyama (2009) borrowed the hedging strategy of Soeya and Tanaka by balancing an acceptance of America's important role in Japanese diplomacy with a desire 'not to forget our identity as a nation located in Asia'. The other key figure is Ozawa Ichirō, who in 1994 authored Blueprint for a New Japan in which he argued that 'Japan must become a "normal nation" ' (Ozawa 1994, 94). As Samuels notes, Ozawa was highly critical of Koizumi Jun'ichirō in 2006 for visiting the Yasukuni Shrine and getting too close to the US. 'Sounding like Goldilocks herself', according to Samuels (page 204), 'Ozawa insisted that Japan needs to mend its relationships with Asia and that it must distance itself from the "hegemonic tendencies" of both China and the United States'. The question is whether the DPJ can resolve some of the contradictions between such a policy and its electoral agenda. A more autonomous, normal nation requires a more flexible military capability; yet the DPJ currently relies on some of the few pacifists in the Diet for its upper house majority, and they are naturally opposed to such a move. The 2010 upper house election will therefore be widely watched.
Securing Japan is an excellent book. The writing is polished and elegant and presents what is a long and complicated picture in an extremely accessible way. As always, Samuels' footnotes are in themselves a fantastic read. They are a testament to his extensive research and wide knowledge of Japan, its politics and security policies; they also provide for the student of Japan a valuable resource for further study. Some (e.g. Leheny 2008) have expressed minor disappointment that Securing Japan does not take a more theoretical approach, albeit while acknowledging that 'a more focused theoretical claim �c might have streamlined the narrative at the cost of excluding some of Samuels's most surprising findings' (Leheny 2008, 871). Yet it is the absence of all the baggage that comes with more theoretical writing and the inclusion of these 'surprising findings' that make Securing Japan a work of the highest quality.
Byas, Hugh (1942) Government by Assassination, New York: Alfred A. Knopf.
Hatoyama, Yukio (2009) 'My Political Philosophy', Voice, September, English translation from Hatoyama Yukio website, 10 August.
Heginbotham, Eric and Richard J. Samuels (2002) 'Japan's Dual Hedge', Foreign Affairs, September/October, 81(5): 110–121.
Leheny, David (2008) 'A review of Securing Japan: Tokyo's Grand Strategy and the Future of East Asia, by Richard J. Samuels', Perspectives on Politics, December, 6(4): 870–871.
Ozawa, Ichiro (1994) Blueprint for a New Japan: The Rethinking of a Nation, Tokyo: Kodansha International.
Pyle, Kenneth B. (1996) The Japanese Question: Power and Purpose in a New Era, second edition, Washington: The AEI Press.
Samuels, Richard J. (1994) 'Rich Nation, Strong Army': National Security and the Technological Transformation of Japan, Ithaca: Cornell University Press.
———(2003) Machiavelli's Children: Leaders and Their Legacies in Italy and Japan, Ithaca: Cornell University Press.
Soeya, Yoshihide (2005) Nihon no 'Midoru Pawaa' Gaikō: Sengo Nihon no Sentaku to Kōsō, Tokyo: Chikuma Shinsho.
Yosan Iinkai (2005) 'Dai 162-kai Kokkai: Yosan Iinkai Kōchōkai, Dai 1-gō', Shūgiin, website of the House of Representatives, 23 February.
David Envall received his BA (Hons) and PhD from the University of Melbourne and his MA from Hitotsubashi University. In addition to having worked as a copy editor and corporate editor/writer, he has taught on Japan's international relations at Tokyo International University and on politics and Asian studies at La Trobe University. Currently, David is a postdoctoral fellow in the Department of International Relations at the Australian National University, as well as a book reviews editor at ejcjs. His research interests include Japanese political leadership, Japan's post-war security politics, and security in the Asia Pacific.
This page was first created on 29 January 2010.


text:
Justia Patents Probability DeterminationUS Patent for Customizable user interfaces Patent (Patent # 6,564,170)
Customizable user interfaces
Dec 29, 2000 - Hewlett Packard
The invention describes a system and method which monitors user-selected events on a monitored computing environment for customizing a responsive user interface. The system records user actions into an event log and counts the number of occurrences of each individual event and the total number of events. A processing unit then calculates a first degree probability for each event. The number of events sharing the same first degree probability are then counted and used by processing unit to calculate the second degree probability for the events. The processing unit analyzes the first and second degree probability data to determine groups of correlated user-selected events. Based on these groupings, a user interface (UI) assembler selects interface modules from a UI module database, which correspond to the events in a particular group, to assemble a user interface customized to the user's selected actions or events.
Latest Hewlett Packard Patents:
FREEZE AND UNFREEZE UPSTREAM AND DOWNSTREAM VOLUMES
STYLUS NIBS
CROSSTALK CANCELLATION FOR SPEAKER-BASED SPATIAL RENDERING
HINGES WITH A GRAPHENE COATING
GREEN INKS
The Internet infrastructure includes many software monitoring and interaction applications for detecting the habits of Internet users. Some of these applications may generally modify the display or user interface attempting to provide a customized or personalized appearance and interface to each user based on the detected information. Some applications monitor user activities by placing small files, called cookies, on accessing computers, which may later be read and identified when the same user returns to a compatible web site. Other, less invasive, applications monitor the web server, sensing, storing, and analyzing user activities or user-selected events. The goal of these customizing applications is to provide a more user-friendly interface to potential customers or clients in addition to attempting to provide a sense of personal service to individuals accessing a company's web site.
Some applications also provide insight into the effectiveness of a web site's design. For example, if an on-line index has been created without a jump feature, to allow jumping directly to entries beginning with certain letters, a monitoring application may provide data showing how frequently the scrolling functions, up and down, are used to locate desired material. With this information, the web site may be upgraded to ease the user's burden of finding desired information.
Automated customizing and monitoring applications typically observe activities at a designated web server, counting the number of button or hyperlink clicks or events selected by its users. The web sponsor or the application may then determine to change the interface based on these frequency totals. For example, if it is determined that a hyperlink on the third-layer of a web site receives the highest number of clicks for any given time period, that hyperlink may be moved to the initial web page depending on its function. Furthermore, the application may calculate the top few features having the greatest number of hits or clicks and place those, as a group, onto an easily accessible web layer. However, using the frequency of clicks or events occurring at any given web site may generally lead to unreliable results.
An application that groups features by highest frequency totals for modifying a user interface must make an arbitrary choice as to which features or events to group together. The choice is arbitrary because, although the group of features or events may have the highest frequency totals out of all of the recorded events, the high overall total does not necessarily mean that there is a higher probability of a user triggering one of the events in the groupin relation to any of the others. In other words, the highest frequency totals do not necessarily mean there is a correlation between or among the grouped events.
Companies typically provide these web monitoring services to Internet businesses. A business desiring to monitor its web activity must then normally buy, not only the proprietary software of the service provider, but generally must also buy the monitoring services from the service provider. The service provider loads its software onto the business' web server and then monitors the data from a service provider location. The provider will then usually analyze the data and implement or suggest any changes to the business' user interface. Alternatively, the provider's software may also be capable of changing the user interface based on the software's analysis of the monitored data.
It would therefore be desirable to have a monitoring application that provides a statistically-based choice as to the groupings of related events or features on a web site.
It would also be desirable to have such a monitoring application available as a software product from which an Internet business could monitor and customize its own web user interface.
Another desirable factor would be to have such a software application with the capability of automatically customizing a user interface based on the statistical calculations of event probabilities.
The present invention is directed to a system and method for customizing user interfaces based on user-selected events. The system comprises an event log for tracking all user-selected events. Using the tracked events and a system processor, the system preferably calculates a first degree probability of each user-selected event occurring, and a second degree probability of the user-selected events having the same first degree probability. An analyzer looks at the second degree probability with respect to the first degree probability in order to preferably determine divisions of user-selected events having said same first degree probability. An interface assembler then preferably builds the user interface in response to the divisions of the user-selected events.
The inventive system operates through a method for customizing user interfaces in a monitored computing environment by monitoring user actions in the monitored computing environment. The system preferably calculates a first degree probability of each of the user actions and then preferably calculates a second degree probability the user actions. Groups of user actions having the same first degree probability are preferably created by analyzing the second degree probability with respect to said first degree probability. When the system receives an immediate user action, it preferably assembles the user interface responsive to the group of user actions in which the immediate user action is found. The system preferably chooses groups having the highest first degree probability where possible.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
BRIEF DESCRIPTION OF THE DRAWING
For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which:
FIG. 1 is a block diagram illustrating a monitored environment for use with a preferred embodiment of the present invention;
FIG. 2 is a flow chart of the steps for implementing a preferred embodiment of the present invention;
FIG. 3 is a diagram illustrating a preferred embodiment of the present invention; and
FIG. 4 is a graph illustrating the natural peaks resulting in the statistical calculations according to a preferred embodiment of the present invention.
FIG. 1 illustrates a typical monitored computer environment in which a preferred embodiment of the present invention may be implemented. Web server 100 hosts any number of accessing users including users 101 and 102, providing graphics, video, and/or data as a part of its web functionality. Users 101 and 102 may navigate around different web pages stored on web server or may hyperlink to pages stored on external servers such as server 104. Workstation 103 typically monitors the activities and events triggered by all users 101 and 102 and may generally monitor the status of the server.
In a preferred embodiment of the present invention, the customizing application may preferably reside on web server 100. The inventive application may preferably operate autonomously on web server 100 and/or may be in communication with workstation 103 to provide gathered data for human monitoring of the computer environment.
In alternative embodiments, the present invention may reside on workstation 103 or an external computer which has the communication connections to web server 100 necessary for monitoring the user activities.
FIG. 2 is a flow chart of the functionality of a preferred embodiment of the present invention. The customization process begins at step 200 by receiving and tracking the click stream data from all users accessing the system. The system counts the frequency of each triggered event tracked at step 201A and keeps a running total of all tracked events at step 201B. Using the number of each triggered event and the total of all events, the system calculates the first degree probability for each event in step 202. The first probability, P(x), is calculated as the ratio of the number of times a single event is triggered, ix, to the total number of events stored, N, according to the formula:
P(x)=ix/N (1)
Step 202 results in a probability for each event triggered over a given period of time. The system then counts the number of single events which have the same first degree probability value in step 203. The system calculates the second degree probability of each event in step 204, using the total of all tracked events again from step 201B and the number of events sharing the same first degree probability from step 203. The second degree probability, P2(x), is calculated as the ratio of the number of tracked events sharing the same first degree probability, ip(x), to the total number of all tracked events, N, according to the formula:
P2(x)=ip(x)/N (2)
The system then analyzes the second degree probability with respect to the first degree probability in step 205. In some analyses, a graph or plot may be created with the second degree probability as the y-axis variable and the first degree probability as the x-axis variable. This graph, as the one shown in FIG. 4, produces a relationship between the events sharing the same first order probability.
In step 206, the system groups the events according to shared first degree probability values. Thus, all events in a group share the same first degree probability. The system uses these groupings in step 207 to assemble and create a customized user interface. When a user triggers an event, the system takes the current event, determines which group the event resides in, and then assembles the interface using interface modules relating to the other events in that group. The system preferably selects the group with the highest first order probability when feasible.
FIG. 3 shows a block diagram of the components of a preferred embodiment of the present invention. The inventive system resides on web server 100. Server 100 maintains connections to accessing user through communication paths 300 and 305. Incoming data funnels into server 100 through path 300, after which the present invention may store each triggered event in event log 301. Event log 301 preferably comprises a set of counters as well as memory in order to count the total number of times each individual event is triggered. The counters also keep a running total of all of the events triggered. For example, during a web session, a user selects events x, y, and z a number of times. The counter determines that event x was selected 10 times, event y was selected 5 times, and event z was selected 10 times. The counter would typically store these numbers associated with the events selected, and would also store the total number of events triggered of 25.
Processing unit 302 preferably monitors the activities in event log 301 and performs all of the processing functions of the present invention. Processing unit 302 receives the counts of the number of times each individual event is triggered or activated and the total number of all events or user actions selected. Processing unit 302 then preferably calculates the first degree probability for each individual user-selected event or action.
After determining the first degree probabilities, processing unit 302 preferably counts the number of individual events sharing the same probability. Processing unit 302 then preferably calculates the second degree probability for the user actions or events sharing the same first degree probability. Using the first and second degree probabilities, processing unit preferably analyzes the second degree probabilities with respect to the first degree probability to determine correlations between the two data sets. While a computer is capable of analyzing the resulting raw data, a graph, such as the one shown in FIG. 4, is helpful to visualize the resulting correlations between the two probabilities.
Graph 40 in FIG. 4 shows the x-axis as the first degree probability, P(x), and the y-axis as the second degree probability, P2(x). Graph 40 illustrates the correlations between the two probability calculations. Because there are numerous random events which occur with low probability, graph 40 begins high and slopes downward rapidly. As the first degree probability increases, a number of peaks arise. These peaks represent the groupings of events which share the same first degree probability, and are therefore labeled, peaks of interest 42. Graph 40 allows for a natural dividing line between the highly random events and events having more of a correlation between their triggering. The dotted line divides graph 40 based on this principle, wherein the smallest first degree probability events are rejected as noise 41. Peaks 421 through 425 represent groupings of events which may have correlations that would preferably suggest grouping the user interface modules corresponding to those related events onto a single page. Because the first degree probability increases to the right on graph 40, the peaks having the highest first degree probabilities are more interesting with regard to correlations between the grouped events, and are therefore preferred over the higher-probability groups.
Returning again to FIG. 3, processing unit 302 analyzes the graph data and groups the events according to the shared first degree probability, or, in other words, according to their shared peaks. Processing unit 302 also monitors user-selected events as they are received in real-time by web server 100. In the preferred embodiment of the present invention, processing unit 302 receives a real-time user-selected event, it then determines the group that the real-time event is contained in. Based on the group determined by processor 302, processor 302 sends group instructions to UI Assembler 303 for building the user interface to be presented to the user who selected the event.
UI assembler 303 receives the list of events contained in the determined group and locates each corresponding interface module in UI modules database 304. UI modules database 304 contains interface modules corresponding to each possible user-selected event or action. These modules are coded in such a fashion that they can be grouped and combined in any sequence or combination. UI modules database 304 returns the appropriate interface modules corresponding the events of the determined group. UI Assembler 303 then combines the received modules into a custom user interface for presentation to the user over communication path 305.
It should be noted that communication paths 300 and 305 represent only the directional aspects of the communication session. Thus, while the preferred embodiment of the present invention may be implemented with two wires, cables, or wireless links, a single wire, cable, or wireless link may provide the two-way communication paths.
In alternative embodiments of the present invention, counters may be disposed either in the event log, the processing unit, or even as external registers resident in web server 100. The present invention is not limited to having the counters disposed only in event log 301 and processing unit 302.
Alternative embodiments of the present invention may also preferably modify event log 301 for storing only the counted numbers of events. In such alternative embodiments, the memory requirements are thus reduced considerably.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
1. A system for customizing user interfaces based on user-selected events comprising:
an event log for tracking said user-selected events;
a processor for calculating:
a first degree probability of said user-selected events occurring; and
a second degree probability of said user-selected event, having a same first degree probability, occurring;
an analyzer for analyzing said second degree probability with respect to said first degree probability to determine divisions of said user-selected events having said same first degree probability; and
an interface assembler for assembling said user interface responsive to said divisions of said user-selected events.
2. The system of claim 1 wherein said event log tracks said user-selected events while said user accesses an application monitored by said system.
3. The system of claim 1 wherein said processor calculates said first degree probability based on a frequency of said user-selected event occurring in relation to a corresponding total of substantially all events tracked by said event log.
4. The system of claim 1 wherein said processor calculates said second degree probability based on a number of said user-selected events occurring, having said same first degree of probability, in relation to a corresponding total of substantially all user-selected events tracked by said event log.
5. The system of claim 1 further comprising:
a database of user interface modules corresponding to each potential user-selected event, wherein said interface assembler determines a combination of said modules using said user-selected events contained in said divisions.
6. The system of claim 5 wherein said interface assembler selects said combination of modules corresponding to said divisions of user-selected events having a highest first degree probability in relation to other of said divisions.
7. A method for customizing user interfaces in a monitored computing environment comprising the steps of:
monitoring user actions in said monitored computing environment;
calculating a first degree probability of each of said user actions;
calculating a second degree probability of each of said user actions;
analyzing said second degree probability with respect to said first degree probability;
determining groups of user actions having a same first degree probability using said analyzed second degree probability;
assembling said user interface responsive to an immediate user action and said group of user actions in which said immediate user action is grouped.
8. The method of claim 7 wherein said monitoring step comprises the steps of:
reading a click stream transmitted from a computer device used to access said computing environment;
counting a frequency of a single user action of said user actions; and
counting a number of substantially all monitored user actions in said monitored computing environment.
9. The method of claim 7 wherein said calculating said first degree probability comprises the step of:
calculating a ratio of said determined frequency of single user actions to said number of substantially all monitored user actions.
10. The method of claim 7 wherein said calculating said second degree probability comprises the steps of:
determining a number of said user actions which have said same first degree probability;
determining a number of substantially all monitored user actions in said monitored computing environment;
calculating a ratio of said number of said user actions, having said same first degree probability, to said number of substantially all monitored user actions.
11. The method of claim 7 wherein said analyzing step comprises the step of plotting a graph of said second degree probability with respect to said first degree probability.
12. The method of claim 11 wherein said determining groups step comprises the steps of:
reading data from said graph of said second degree probability with respect to said first degree probability; and
grouping said user actions displayed on said graph according to said same first degree probability.
13. The method of claim 7 wherein said assembling step comprises the steps of:
reading said immediate user action;
determining said group into which said immediate action is grouped;
constructing said user interface to provide said user choices for each of said user actions contained in said determined group.
14. A computer program product having a computer readable medium with computer program logic thereon for monitoring a computing environment and customizing user interfaces, said computer program product comprising:
code for storing events selected by a user accessing said monitored computing environment;
code for calculating a first degree probability of each of said stored events;
code for calculating a second degree probability of each of said stored events;
code for evaluating said second degree probability with respect to said first degree probability;
code for selecting groups of events having a same first degree probability;
code for building said user interface responsive to:
a triggering of one of said events; and
said group of events in which said triggered event is grouped.
15. The computer program product of claim 14 wherein said code for storing comprises:
code for receiving a click stream transmitted from a computer device used to access said computing environment; and
code for placing events corresponding to said received click stream into a memory.
16. The computer program product of claim 14 wherein said code for calculating said first degree probability comprises:
code for measuring a frequency of a single event;
code for measuring a number of substantially all stored events in said monitored computing environment; and
code for calculating a ratio of said measured frequency of said single events to said number of substantially all stored events.
17. The computer program product of claim 14 wherein said code for calculating said second degree probability comprises:
code for measuring a number of said events having said same first degree probability;
code for measuring a number of substantially all recorded events in said monitored computing environment;
code for calculating a ratio of said number of said events, having said same first degree probability, to said number of substantially all stored events.
18. The computer program product of claim 14 wherein said code for evaluating comprises code for plotting a graph of said second degree probability with respect to said first degree probability.
19. The computer program product of claim 14 wherein said code for selecting groups comprises:
code for analyzing data from said graph of said second degree probability with respect to said first degree probability; and
code for grouping said events on said graph according to said same first degree probability.
20. The computer program product of claim 14 wherein said code for building comprises:
code for receiving said triggered event;
code for determining said group into which said triggered event is grouped;
code for constructing said user interface to provide said user choices for each of said events contained in said group;
code for maintaining a database of interface modules; and
code for relating each of said interface modules with each possible event, wherein said user interface is built using said interface modules related to each of said events contained in said group.
5675510 October 7, 1997 Coffey et al.
5740549 April 1998 Reilly et al.
5796952 August 18, 1998 Davis et al.
5878384 March 2, 1999 Johnson et al.
5892917 April 6, 1999 Myerson
5960429 September 28, 1999 Peercy et al.
5961598 October 5, 1999 Sime
5964839 October 12, 1999 Johnson et al.
6006222 December 21, 1999 Culliss
6014638 January 11, 2000 Burge et al.
6317787 November 13, 2001 Boyd et al.
20020089532 July 11, 2002 Cohen et al.
Assignee: Hewlett-Packard Development Company, L.P. (Houston, TX)
Inventor: Abdul Halabieh (San Jose, CA)
Primary Examiner: Patrick Assouad
Current U.S. Class: Probability Determination (702/181); Computer Network Monitoring (709/224); 345/736
International Classification: G06F/1900; G09G/500;


4th International Nanotechnology Conference & Expo, will be held from 03 Apr to 04 Apr 2019.
Nanotech Philadelphia 2019 will be in Philadelphia, Pennsylvania USA but the venue of the event is not determined yet.
Nanotech Philadelphia 2019 will once again present a prodigious and appealing platform where different experiences with a variety of approaches to Nanoengineering, Nanotechnology, Biomaterials, Nanomedicine and Nano Science.
Nanotech Philadelphia 2019 is an annual Conference.
The Conference is anticipated to be participated by 500 participants this year.
Madridge Conferences is the PCO of Nanotech Philadelphia 2019, 4th International Nanotechnology Conference & Expo.


As part of our Unfinished Business theme at StAnza 2015 in March, we will be showing an installation of extracts from the magazine DIN: Unfinished. The DIN editor Robin Jones will also be taking part in the Friday morning Poetry Breakfast panel discussion on poetry's unfinished business. In this guest blog he gives some background context to this. NB WARNING - CONTAINS EXPLICIT ADULT LANGUAGE!
"It is an observation so quotidian that it bores me even as I write it, but the fact remains that DIN: Unfinished, the second issue of DIN Poetry magazine, came very close to not being finished. The launch on the 22nd of this month, I am relieved to report, has saved us from self-parody.
This issue contains both poems and prose with each entry attending, in one way or another, to something unfinished. In some cases the poem itself is unfinished and a movement between drafts is documented. Other entries represent a finished fragment of a larger unfinished work. We have also included a few that deal directly with "unfinished" in their themes. To preserve the submissions none were typeset; each was printed, scanned, and presented exactly as submitted by the writer.
DIN2 features poems from Tom Pow, Alistair Findlay, Alastair White, Dave Coates and Andy Powell. We are also particularly proud to include in this issue two works of translation: an excerpt from Alasdair Gray's translation of Dante's Divine Comedy and another from Colin Donati's translation of Dostoyevksy's Crime and Punishment.
As with the first issue we hope that DIN won't just make for good reading but that it looks and feels good in your hands too. If you see one at StAnza do pick it up and take a look.
To give you an idea of how DIN looks, here's a draft of Al White's Unfinished Poem about Horses and W***ing. Al was the first to contribute to this issue, so this one's been in my drawer for a wee while. Too long, in fact. The poem may even be finished by now.
See you all in March."


The service's most popular instant messaging group wants to make a comfortable place in which there is no spam or too insistent users: soon could be blocked heavy non-stop writing groups WhatsApp.
WhatsApp wants the groups no longer a nightmare for users. If silence has always been possible, now the instant messaging service owned by Facebook could be working on a new feature to group a truly useful tool.
The application was asked, through the standard platform, the translation of which might be the new feature : the blocking of users within a group of WhatsApp.
While it was possible to block contacts but had to read their statements in the groups together so far, it seems that the subsidiary Facebook wants to end this nonsense.
For now, the details of what could be the next big instant messaging service is unknown, but the truth is that it seems that soon will be blocked heavier users within a group conversation.
Still no date, this development could mean a complete change in WhatsApp, which seems determined to end the spam and react well to the inconvenience suffered by its members at the expense of the vast number of groups that are created in the 'app '.


text:
<?php

/*
 * This file is part of Mandango.
 *
 * (c) Pablo Díez <pablodip@gmail.com>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the file LICENSE.
 */

namespace Mandango\Tests\Extension;

use Mandango\Tests\TestCase;

class CoreSingleInheritanceTest extends TestCase
{
    public function testDocumentParentClasses()
    {
        $this->assertTrue(is_subclass_of('Model\TextareaFormElement', 'Model\FormElement'));
        $this->assertTrue(is_subclass_of('Model\RadioFormElement', 'Model\FormElement'));
    }

    public function testDocumentSetDocumentData()
    {
        $formElement = $this->mandango->create('Model\FormElement');
        $formElement->setDocumentData(array(
            'label'   => 123,
            'default' => 234,
        ));
        $this->assertSame('123', $formElement->getLabel());
        $this->assertSame(234, $formElement->getDefault());

        $textareaFormElement = $this->mandango->create('Model\TextareaFormElement');
        $textareaFormElement->setDocumentData(array(
            'label'   => 234,
            'default' => 345,
        ));
        $this->assertSame('234', $textareaFormElement->getLabel());
        $this->assertSame('345', $textareaFormElement->getDefault());

        $radioFormElement = $this->mandango->create('Model\RadioFormElement');
        $radioFormElement->setDocumentData(array(
            'label'   => 345,
            'default' => 'foobar',
            'options' => serialize($options = array('foobar' => 'Foo', 'barfoo' => 'Bar')),
        ));
        $this->assertSame('345', $radioFormElement->getLabel());
        $this->assertSame('foobar', $radioFormElement->getDefault());
        $this->assertSame($options, $radioFormElement->getOptions());
    }

    public function testDocumentSet()
    {
        $document = $this->mandango->create('Model\TextareaFormElement')->set('label', 'foo')->set('default', 'bar');
        $this->assertSame('foo', $document->getLabel());
        $this->assertSame('bar', $document->getDefault());

        $options = array('foo' => 'bar');
        $document = $this->mandango->create('Model\RadioFormElement')->set('label', 'foo')->set('options', $options);
        $this->assertSame('foo', $document->getLabel());
        $this->assertSame($options, $document->getOptions());
    }

    /**
     * @expectedException \invalidArgumentException
     */
    public function testDocumentSetFieldNotExist()
    {
        $this->mandango->create('Model\RadioFormElement')->set('no', 'foo');
    }

    public function testDocumentGet()
    {
        $document = $this->mandango->create('Model\TextareaFormElement')->setLabel('foo')->setDefault('bar');
        $this->assertSame('foo', $document->get('label'));
        $this->assertSame('bar', $document->get('default'));

        $options = array('foo' => 'bar');
        $document = $this->mandango->create('Model\RadioFormElement')->setLabel('foo')->setOptions($options);
        $this->assertSame('foo', $document->get('label'));
        $this->assertSame($options, $document->get('options'));
    }

    /**
     * @expectedException \invalidArgumentException
     */
    public function testDocumentGetFieldNotExist()
    {
        $this->mandango->create('Model\RadioFormElement')->get('no');
    }

    public function testDocumentFromArray()
    {
        $document = $this->mandango->create('Model\TextareaFormElement')->fromArray(array(
            'label'   => 'foo',
            'default' => 'bar',
        ));
        $this->assertSame('foo', $document->getLabel());
        $this->assertSame('bar', $document->getDefault());

        $options = array('foo' => 'bar');
        $document = $this->mandango->create('Model\RadioFormElement')->fromArray(array(
            'label'   => 'foo',
            'options' => $options,
        ));
        $this->assertSame('foo', $document->getLabel());
        $this->assertSame($options, $document->getOptions());
    }

    public function testDocumentToArray()
    {
        $document = $this->mandango->create('Model\TextareaFormElement')->setLabel('foo')->setDefault('bar');
        $this->assertSame(array(
            'id'      => null,
            'label'   => 'foo',
            'default' => null,
            'default' => 'bar',
        ), $document->toArray());

        $options = array('foo' => 'bar');
        $document = $this->mandango->create('Model\RadioFormElement')->setLabel('foo')->setOptions($options);
        $this->assertSame(array(
            'id'      => null,
            'label'   => 'foo',
            'default' => null,
            'options' => $options,
        ), $document->toArray());
    }

    public function testDocumentQueryForSave()
    {
        $formElement = $this->mandango->create('Model\FormElement')->setLabel(123)->setDefault(234);
        $this->assertSame(array(
            'label'   => '123',
            'type'  => 'formelement',
            'default' => 234,
        ), $formElement->queryForSave());
        $formElement->clearModified();
        $formElement->setId(new \MongoId($this->generateObjectId()));
        $formElement->setIsNew(false);
        $this->assertSame(array(), $formElement->queryForSave());

        $textareaFormElement = $this->mandango->create('Model\TextareaFormElement')->setLabel(345)->setDefault(456);
        $this->assertSame(array(
            'label'   => '345',
            'type'    => 'textarea',
            'default' => '456',
        ), $textareaFormElement->queryForSave());
        $textareaFormElement->clearModified();
        $textareaFormElement->setId(new \MongoId($this->generateObjectId()));
        $textareaFormElement->setIsNew(false);
        $this->assertSame(array(), $textareaFormElement->queryForSave());

        $options = array('foobar' => 'foo', 'barfoo' => 'bar');
        $radioFormElement = $this->mandango->create('Model\RadioFormElement')->setLabel(567)->setDefault(678)->setOptions($options);
        $this->assertSame(array(
            'label'   => '567',
            'type'    => 'radio',
            'default' => 678,
            'options' => serialize($options),
        ), $radioFormElement->queryForSave());
    }

    public function testRepositoryCollectionName()
    {
        $this->assertSame('model_element', $this->mandango->getRepository('Model\FormElement')->getCollectionName());
        $this->assertSame('model_element', $this->mandango->getRepository('Model\TextareaFormElement')->getCollectionName());
        $this->assertSame('model_element', $this->mandango->getRepository('Model\RadioFormElement')->getCollectionName());
    }

    public function testRepositoryCount()
    {
        $elements = array();
        for ($i = 0; $i < 2; $i++) {
            $elements[] = $this->mandango->create('Model\Element')->setLabel('Element'.$i)->save();
        }

        $formElements = array();
        for ($i = 0; $i < 5; $i++) {
            $formElements[] = $this->mandango->create('Model\FormElement')->setLabel('FormElement'.$i)->save();
        }

        $textareaFormElements = array();
        for ($i = 0; $i < 3; $i++) {
            $textareaFormElements[] = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea'.$i)->save();
        }

        $radioFormElements = array();
        for ($i = 0; $i < 1; $i++) {
            $radioFormElements[] = $this->mandango->create('Model\RadioFormElement')->setLabel('Radio'.$i)->save();
        }

        $textElements = array();
        for ($i = 0; $i < 5; $i++) {
            $textElements[] = $this->mandango->create('Model\TextElement')->setLabel('TextElement'.$i)->save();
        }

        $this->assertSame(16, $this->mandango->getRepository('Model\Element')->count());
        $this->assertSame(3, $this->mandango->getRepository('Model\Element')->count(array('label' => new \MongoRegex('/^Textarea/'))));
        $this->assertSame(8, $this->mandango->getRepository('Model\Element')->count(array('label' => new \MongoRegex('/^Text/'))));
        $this->assertSame(1, $this->mandango->getRepository('Model\Element')->count(array('label' => new \MongoRegex('/^Radio/'))));
        $this->assertSame(5, $this->mandango->getRepository('Model\Element')->count(array('label' => new \MongoRegex('/^Form/'))));
        $this->assertSame(9, $this->mandango->getRepository('Model\FormElement')->count());
        $this->assertSame(3, $this->mandango->getRepository('Model\FormElement')->count(array('label' => new \MongoRegex('/^Text/'))));
        $this->assertSame(3, $this->mandango->getRepository('Model\TextareaFormElement')->count());
        $this->assertSame(0, $this->mandango->getRepository('Model\TextareaFormElement')->count(array('label' => new \MongoRegex('/^R/'))));
        $this->assertSame(1, $this->mandango->getRepository('Model\RadioFormElement')->count());
        $this->assertSame(5, $this->mandango->getRepository('Model\TextElement')->count());
    }

    public function testRepositoryUpdate()
    {
        $elements = array();
        for ($i = 0; $i < 2; $i++) {
            $elements[] = $this->mandango->create('Model\Element')->setLabel('Element'.$i)->save();
        }

        $formElements = array();
        for ($i = 0; $i < 5; $i++) {
            $formElements[] = $this->mandango->create('Model\FormElement')->setLabel('FormElement'.$i)->save();
        }

        $textareaFormElements = array();
        for ($i = 0; $i < 3; $i++) {
            $textareaFormElements[] = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea'.$i)->save();
        }

        $radioFormElements = array();
        for ($i = 0; $i < 1; $i++) {
            $radioFormElements[] = $this->mandango->create('Model\RadioFormElement')->setLabel('Radio'.$i)->save();
        }

        $newObject = array('$set' => array('label' => 'ups'));
        $criteria = array('label' => 'ups');
        $this->mandango->getRepository('Model\FormElement')->update(array('label' => 'Textarea0'), $newObject);
        $this->assertSame(1, $this->mandango->getRepository('Model\Element')->getCollection()->count($criteria));
        $this->assertSame(1, $this->mandango->getRepository('Model\FormElement')->getCollection()->count($criteria));
        $this->mandango->getRepository('Model\TextareaFormElement')->update(array('label' => new \MongoRegex('/^FormElement/')), $newObject);
        $this->assertSame(1, $this->mandango->getRepository('Model\FormElement')->getCollection()->count($criteria));
        $this->mandango->getRepository('Model\TextareaFormElement')->update(array(), $newObject);
        $this->assertSame(1, $this->mandango->getRepository('Model\TextareaFormElement')->getCollection()->count($criteria));
    }

    public function testRepositoryRemove()
    {
        $elements = array();
        for ($i = 0; $i < 2; $i++) {
            $elements[] = $this->mandango->create('Model\Element')->setLabel('Element'.$i)->save();
        }

        $formElements = array();
        for ($i = 0; $i < 5; $i++) {
            $formElements[] = $this->mandango->create('Model\FormElement')->setLabel('FormElement'.$i)->save();
        }

        $textareaFormElements = array();
        for ($i = 0; $i < 3; $i++) {
            $textareaFormElements[] = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea'.$i)->save();
        }

        $radioFormElements = array();
        for ($i = 0; $i < 1; $i++) {
            $radioFormElements[] = $this->mandango->create('Model\RadioFormElement')->setLabel('Radio'.$i)->save();
        }

        $this->mandango->getRepository('Model\FormElement')->remove(array('label' => 'Textarea0'));
        $this->assertSame(10, $this->mandango->getRepository('Model\Element')->getCollection()->count());
        $this->assertSame(10, $this->mandango->getRepository('Model\FormElement')->getCollection()->count());
        $this->mandango->getRepository('Model\TextareaFormElement')->remove(array('label' => new \MongoRegex('/^FormElement/')));
        $this->assertSame(10, $this->mandango->getRepository('Model\FormElement')->getCollection()->count());
        $this->mandango->getRepository('Model\TextareaFormElement')->remove();
        $this->assertSame(8, $this->mandango->getRepository('Model\TextareaFormElement')->getCollection()->count());
    }

    public function testQueryAll()
    {
        $elements = array();
        for ($i = 0; $i < 2; $i++) {
            $elements[] = $this->mandango->create('Model\Element')->setLabel('Element'.$i)->save();
        }

        $formElements = array();
        for ($i = 0; $i < 5; $i++) {
            $formElements[] = $this->mandango->create('Model\FormElement')->setLabel('FormElement'.$i)->save();
        }

        $textareaFormElements = array();
        for ($i = 0; $i < 5; $i++) {
            $textareaFormElements[] = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea'.$i)->save();
        }

        $radioFormElements = array();
        for ($i = 0; $i < 5; $i++) {
            $radioFormElements[] = $this->mandango->create('Model\RadioFormElement')->setLabel('Radio'.$i)->save();
        }

        $this->mandango->getRepository('Model\FormElement')->getIdentityMap()->clear();
        $this->mandango->getRepository('Model\TextareaFormElement')->getIdentityMap()->clear();
        $this->mandango->getRepository('Model\RadioFormElement')->getIdentityMap()->clear();

        // different classes in root class
        $document = $this->mandango->getRepository('Model\Element')->createQuery(array('_id' => $formElements[0]->getId()))->one();
        $this->assertInstanceof('Model\FormElement', $document);
        $this->assertEquals($formElements[0]->getId(), $document->getId());
        $document = $this->mandango->getRepository('Model\Element')->createQuery(array('_id' => $radioFormElements[0]->getId()))->one();
        $this->assertInstanceof('Model\RadioFormElement', $document);
        $this->assertEquals($radioFormElements[0]->getId(), $document->getId());
        $document = $this->mandango->getRepository('Model\FormElement')->createQuery(array('_id' => $formElements[0]->getId()))->one();
        $this->assertInstanceof('Model\FormElement', $document);
        $this->assertEquals($formElements[0]->getId(), $document->getId());
        $document = $this->mandango->getRepository('Model\FormElement')->createQuery(array('_id' => $textareaFormElements[0]->getId()))->one();
        //$this->assertInstanceof('Model\TextareaFormElement', $document);
        $this->assertEquals($textareaFormElements[0]->getId(), $document->getId());
        $document = $this->mandango->getRepository('Model\FormElement')->createQuery(array('_id' => $radioFormElements[0]->getId()))->one();
        $this->assertInstanceof('Model\RadioFormElement', $document);
        $this->assertEquals($radioFormElements[0]->getId(), $document->getId());

        // with and without identity map
        $ids = array(
            $formElements[0]->getId(),
            $textareaFormElements[0]->getId(),
            $radioFormElements[0]->getId(),
            $formElements[1]->getId(),
            $textareaFormElements[1]->getId(),
            $radioFormElements[1]->getId(),
        );
        $documents = $this->mandango->getRepository('Model\Element')->createQuery(array('_id' => array('$in' => $ids)))->all();
        $this->assertSame(6, count($documents));

        $documents = $this->mandango->getRepository('Model\FormElement')->createQuery(array('_id' => array('$in' => $ids)))->all();
        $this->assertSame(6, count($documents));

        $id = $formElements[0]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\FormElement', $document);
        $this->assertEquals($id, $document->getId());

        $id = $textareaFormElements[0]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\TextareaFormElement', $document);
        $this->assertEquals($id, $document->getId());

        $id = $radioFormElements[0]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\RadioFormElement', $document);
        $this->assertEquals($id, $document->getId());

        $id = $formElements[1]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\FormElement', $document);
        $this->assertEquals($id, $document->getId());

        $id = $textareaFormElements[1]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\TextareaFormElement', $document);
        $this->assertEquals($id, $document->getId());

        $id = $radioFormElements[1]->getId();
        $this->assertTrue(isset($documents[$id->__toString()]));
        $document = $documents[$id->__toString()];
        $this->assertInstanceof('Model\RadioFormElement', $document);
        $this->assertEquals($id, $document->getId());

        // no root class
        $document = $this->mandango->getRepository('Model\TextareaFormElement')->createQuery(array('_id' => $id = $textareaFormElements[0]->getId()))->one();
        $this->assertInstanceOf('Model\TextareaFormElement', $document);
        $this->assertEquals($id, $document->getId());
        $document = $this->mandango->getRepository('Model\TextareaFormElement')->createQuery(array('_id' => $formElements[0]->getId()))->one();
        $this->assertNull($document);
        $document = $this->mandango->getRepository('Model\TextareaFormElement')->createQuery(array('_id' => $radioFormElements[0]->getId()))->one();
        $this->assertNull($document);
        $document = $this->mandango->getRepository('Model\RadioFormElement')->createQuery(array('_id' => $formElements[0]->getId()))->one();
        $this->assertNull($document);
    }

    public function testQueryCount()
    {
        $formElements = array();
        for ($i = 0; $i < 5; $i++) {
            $formElements[] = $this->mandango->create('Model\FormElement')->setLabel('Element'.$i)->save();
        }

        $textareaFormElements = array();
        for ($i = 0; $i < 3; $i++) {
            $textareaFormElements[] = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea'.$i)->save();
        }

        $radioFormElements = array();
        for ($i = 0; $i < 1; $i++) {
            $radioFormElements[] = $this->mandango->create('Model\RadioFormElement')->setLabel('Radio'.$i)->save();
        }

        $textElements = array();
        for ($i = 0; $i < 5; $i++) {
            $textElements[] = $this->mandango->create('Model\TextElement')->setLabel('TextElement'.$i)->save();
        }

        $this->assertSame(14, $this->mandango->getRepository('Model\Element')->createQuery()->count());
        $this->assertSame(5, $this->mandango->getRepository('Model\TextElement')->createQuery()->count());
        $this->assertSame(9, $this->mandango->getRepository('Model\FormElement')->createQuery()->count());
        $this->assertSame(3, $this->mandango->getRepository('Model\TextareaFormElement')->createQuery()->count());
        $this->assertSame(1, $this->mandango->getRepository('Model\RadioFormElement')->createQuery()->count());
    }

    public function testParentEvents()
    {
        $formElement = $this->mandango->create('Model\FormElement')->setLabel('Element')->save();
        $this->assertSame(array(
            'ElementPreInserting',
            'FormElementPreInserting',
            'ElementPostInserting',
            'FormElementPostInserting',
        ), $formElement->getEvents());

        $formElement = $this->mandango->create('Model\TextTextElement')->setLabel('Element')->save();
        $this->assertSame(array(
            'ElementPreInserting',
            'TextTextElementPreInsert',
            'ElementPostInserting',
        ), $formElement->getEvents());
    }

    public function testGrandParentEvents()
    {

        $textareaFormElement = $this->mandango->create('Model\TextareaFormElement')->setLabel('Textarea')->save();
        $this->assertSame(array(
            'ElementPreInserting',
            'FormElementPreInserting',
            'TextareaPreInserting',
            'ElementPostInserting',
            'FormElementPostInserting',
            'TextareaPostInserting',
        ), $textareaFormElement->getEvents());
    }

    public function testRepositoryGetParentRepository()
    {
        $elementRepository = $this->mandango->getRepository('Model\Element');
        $textElementRepository = $this->mandango->getRepository('Model\TextElement');
        $formElementRepository = $this->mandango->getRepository('Model\FormElement');
        $textareaFormElementRepository = $this->mandango->getRepository('Model\TextareaFormElement');

        $this->assertSame($elementRepository, $textElementRepository->getParentRepository());
        $this->assertSame($elementRepository, $formElementRepository->getParentRepository());
        $this->assertSame($formElementRepository, $textareaFormElementRepository->getParentRepository());
    }

    public function testRepositoryGetLastParentRepository()
    {
        $elementRepository = $this->mandango->getRepository('Model\Element');
        $textElementRepository = $this->mandango->getRepository('Model\TextElement');
        $formElementRepository = $this->mandango->getRepository('Model\FormElement');
        $textareaFormElementRepository = $this->mandango->getRepository('Model\TextareaFormElement');

        $this->assertSame($elementRepository, $textElementRepository->getLastParentRepository());
        $this->assertSame($elementRepository, $formElementRepository->getLastParentRepository());
        $this->assertSame($elementRepository, $textareaFormElementRepository->getLastParentRepository());
    }
}

redpajama_set_name: RedPajamaGithub