What is the Contributory Pension Scheme (CPS)?
The
Contributory Pension Scheme (CPS) which commenced in 2004 is fully
funded, privately managed, with third party in custody of the funds and
assets and is based on individual accounts. It ensures that everyone who
has worked receives his/her retirement benefits as and when due
Is CPS backed by any Government Regulation?
The scheme is backed by the Pension Act 2004.
What regulatory body supervises this scheme?
The
National Pension Commission regulates and supervises the CPS. This body
is also responsible for licensing and regulating the activities of
Pension Fund Administrators (PFA) and Pension Fund Custodians (PFC), as
well as overseeing the all policies and guidelines connected to Pension
Matters.
Is Contributory Pension Scheme (CPS) mandatory for every worker?
The
scheme is mandatory for employees of the Federal Government, the FCT and
Private sector employers with more than three employees.
How do I participate in the Scheme?
As an
employee or contributor, you are required to open a Retirement Savings
Account (RSA) with any of the Licensed Pension Fund Administrators (PFA)
where you remit your monthly contributions.
How do I participate in the Scheme?
Once you
have your RSA, you would contribute 8% of your monthly emolument while
your employer would make an additional contribution of 10% into your
RSA.
Can I contribute more than the requested 8%?
Yes you can. It is called Voluntary contributions.
What if my employer deducts my contribution of 8% but fails to remit to my RSA?
The
Pension Act demands that such employer would pay a penalty of 2% for
every month of default once the case is reported to and verified by
PENCOM.
What does the PFA do with my contributions?
The PFA
invests your contributions in accordance with the guidelines of PENCOM.
Proceeds from such investments will be credited to your RSA.
How do I contact my PFA?
You may contact us via
any of our communication channels. Call us on<PHONE_NUMBER>1,<PHONE_NUMBER>0
or send us an email at<EMAIL_ADDRESS>How do I monitor my Savings?
Besides
receiving SMS alerts on remittances into your account, Your PFA sends
periodic statements to your specified address. You may also obtain login
details from your PFA for online statements.
Is it possible for me to change my PFA?
Under
the Pension Reform Act 2014, an employee or contributor is allowed to
move his RSA from one PFA to another once in a year only without having
to tender reasons for the change. However, this window is managed and
will soon be opened by PENCOM.
When can I start to withdraw money from my RSA?
Withdrawals
are permitted upon retirement. If you retire at 50years old and above,
or you had to retire below 50years old due to physical and mental
incapacity, you would have access to withdrawals from your RSA. However,
if you are below 50years old and you resign or are disengaged from your
employment, you would be allowed to withdraw from your RSA only after 4
months of being unable to secure an employment.
What are the charges on my RSA?
Under
the current regulation, a maximum monthly charge of NGN100 and N5 VAT
for every monthly contribution. Kindly note that PFA Charges for the
services provided on the RSA are determined by the guidelines as
provided by PENCOM per time.
As an intending Client, is my biometrics required?
Yes. The use of Fingerprint Identification System (biometrics) for RSA holder’s identification by PENCOM is soon to commence.
Can a PIN be generated for an RSA holder without an Employer Code?
No. The Employer code must be obtained before a PIN can be generated.
What are the requirements for generating Employer Code?
The
required documents include: Copy of CAC certificates, Tax Identification
Number (TIN), Company's Business Address and Nature of Business
Can an employer choose to bear full responsibility of the contributions to the scheme?
Yes.
Where an employer chooses to bear the full responsibility of the Scheme,
the employer contribution shall not be less than 20 percent of the
monthly emolument of the employee.
Are pension contributions taxable?
All
interest, dividends, profits, investment and other income accruable to
pension fund and amount payable as a retirement benefit shall not be
taxed.
In an event of death, how would my beneficiaries access my savings and what documents are needed?
.
Below are the following documents that would be needed:
- Letter of Administration issued from high court/enrolment
order/will admitted to probate stating the legal
beneficiary/beneficiaries.
- Medical certificate of the cause of death issued by a certified physician.
- Certificate of death registration obtained from National population commission
- Letter of introduction from deceased employer stating the date of death/birth ,it should also introduce the next of kin.
Do
I need to check through the employer payment schedule to confirm my
Personal Identification Number (PIN) and the total amount on the
schedule before forwarding same to Operations for confirmation?
.Yes. This will reduce the processing time of your request.
Can I make payments into our RSA Account without first generating PINs for the clients?
No. This practice is not in compliance with standard operational procedure.
Do I need to forward a soft copy version of schedules to Operations?
Yes. This will reduce the time for credit processing.
Do I need to specify Surname, First name and Middle name on the RSA form?
Yes. It is required to identify the RSA Holder.
Must I provide my mobile number on the RSA form?
Yes. It is required for seamless communication
Why do I need to include my Agent Code on the RSA form?
It is to aid the smooth processing of your request.
Can I update my records in the database after signing-on?
Yes. All
information pertaining to a RSA holder can be updated in the database.
Upon meeting documentation requirements, you can update your Date of
Birth.
Can I make Voluntary Contribution while my employer is not making the mandatory contribution?
Yes. You
can make voluntary contribution to your RSA account even while your
employer is not paying the mandatory pension contribution portion.
How do I download spreadsheet for payment schedule?
You can call any of the phone numbers on our website for the required assistance.
Can I make withdrawals before my retirement?
Yes you can. Below are the criteria that you have to meet for you to be able to withdraw before retirement:
- If you are below 50 years old, you must be off an employment for a minimum of four months.
- You can withdraw additional voluntary contribution after two years of contribution.
How can I retrieve my IEI Anchor Pension number?
You can call any of the phone numbers on our website, and we will respond to you accordingly.


InsertionOrderedDictionary
public struct InsertionOrderedDictionary<Key, Value> where Key : Hashable
extension InsertionOrderedDictionary : RandomAccessCollection
extension InsertionOrderedDictionary : Sequence
extension InsertionOrderedDictionary : CustomReflectable
extension InsertionOrderedDictionary
: CustomStringConvertible, CustomDebugStringConvertible
extension InsertionOrderedDictionary : Hashable where Value : Hashable
extension InsertionOrderedDictionary : Equatable where Value : Equatable
extension InsertionOrderedDictionary
: Decodable where Key : Decodable, Value : Decodable
extension InsertionOrderedDictionary : Encodable
where Key : Encodable, Value : Encodable
A Dictionary with a deterministic sequence traversal order determined by the order in which keys are added.
-
The elements of
self
.Declaration
Swift
public private(set) var elements: [KeyValuePair<Key, Value>]
-
A mapping from keys to indices in
elements
.Declaration
Swift
public private(set) var indexForKey: [Key : Int]
-
The element type of a dictionary, just like a tuple containing an individual key-value pair, but nominal.
Declaration
Swift
public typealias Element = KeyValuePair<Key, Value>
-
The position of a key-value pair in a dictionary.
Declaration
Swift
public typealias Index = Keys.Index
-
Undocumented
Declaration
Swift
public typealias Keys = Projections<[Element], Element.ProjectKey>
-
Undocumented
Declaration
Swift
public var keys: Keys { get }
-
Undocumented
Declaration
Swift
public typealias Values = Projections<[Element], Element.ProjectValue>
-
Undocumented
Declaration
Swift
public var values: Values { get set }
-
Creates an instance equivalent to
source
.Declaration
Swift
public init(_ source: [Key : Value])
-
Creates an empty instance.
Declaration
Swift
public init()
-
Creates an empty dictionary with preallocated space for at least the specified number of elements.
Declaration
Swift
public init(minimumCapacity: Int)
-
Creates a new dictionary from the key-value pairs in the given sequence.
The keys in the result are ordered in the same order as in
uniqueKeysWithValues
.Declaration
-
Creates a new dictionary from the key-value pairs in the given sequence, using a combining closure to determine the value for any duplicate keys.
The keys in the result are ordered according to their first appearance in
keysAndValues
.Declaration
-
Creates a new dictionary whose keys are the groupings returned by the given closure and whose values are arrays of the elements that returned each key.
The keys in the result are ordered according to their first appearance in
source
.Declaration
-
Returns a new dictionary containing the key-value pairs of the dictionary that satisfy the given predicate.
Declaration
Swift
@available(swift 4.0) public func filter( _ isIncluded: (Element) throws -> Bool ) rethrows -> InsertionOrderedDictionary
-
Accesses the value associated with the given key, producing
nil
when the value of a key not in the dictionary is read, and erasing the key ifnil
is written.Complexity
amortized O(1) unless a key is deleted, in which case O(count
).Declaration
Swift
public subscript(key: Key) -> Value? { get set }
-
Accesses the value for
key
, ordefaultValue
no such key exists in the dictionary, on write first insertingkey
with valuedefaultValue
if it does not exist in the dictionary.Declaration
Swift
public subscript( key: Key, default defaultValue: @autoclosure () -> Value ) -> Value
-
Returns a new dictionary containing the keys of this dictionary with the values transformed by the given closure.
Declaration
Swift
public func mapValues<T>( _ transform: (Value) throws -> T ) rethrows -> InsertionOrderedDictionary<Key, T>
-
Returns a new dictionary containing only the key-value pairs that have non-
nil
values as the result of transformation by the given closure.Declaration
Swift
public func compactMapValues<T>( _ transform: (Value) throws -> T? ) rethrows -> InsertionOrderedDictionary<Key, T>
-
Updates the value stored in the dictionary for the given key and returns the old value, or adds a new key-value pair if the key does not exist and returns nil .
Declaration
Swift
public mutating func updateValue( _ newValue: Value, forKey key: Key ) -> Value?
-
Merges the key-value pairs in the given sequence into the dictionary, using a combining closure to determine the value for any duplicate keys.
Declaration
-
Creates a dictionary by merging key-value pairs in a sequence into the dictionary, using a combining closure to determine the value for duplicate keys.
Declaration
-
Creates a dictionary by merging the given dictionary into this dictionary, using a combining closure to determine the value for duplicate keys.
Declaration
Swift
public func merging( _ other: Self, uniquingKeysWith combine: (Value, Value) throws -> Value ) rethrows -> Self
-
Removes and returns the key-value pair at
i
.Complexity
O(count
). -
Removes the given key and its associated value from the dictionary.
Complexity
O(count
)Declaration
Swift
public mutating func removeValue(forKey key: Key) -> Value?
-
Removes all key-value pairs from the dictionary.
Declaration
Swift
public mutating func removeAll( keepingCapacity keepCapacity: Bool = false )
-
An iterator over the members of a
InsertionOrderedDictionary<Key, Value>
.Declaration
Swift
public typealias Iterator = Array<Element>.Iterator
-
The total number of key-value pairs that the dictionary can contain without allocating new storage.
Declaration
Swift
public var capacity: Int { get }
-
Reserves enough space to store the specified number of key-value pairs.
Declaration
Swift
public mutating func reserveCapacity(_ minimumCapacity: Int)
-
The position of the first element in a nonempty dictionary.
Declaration
Swift
public var startIndex: Index { get }
-
The dictionary’s “past the end” position—that is, the position one greater than the last valid subscript argument.
Declaration
Swift
public var endIndex: Index { get }
-
Returns the index for the given key.
Declaration
Swift
public func index(forKey key: Key) -> Index?
-
Accesses the key-value pair at the specified position.
-
The number of key-value pairs in the dictionary.
Declaration
Swift
public var count: Int { get }
-
A Boolean value that indicates whether the dictionary is empty.
Declaration
Swift
public var isEmpty: Bool { get }
-
Returns an iterator over the dictionary’s key-value pairs.
Declaration
Swift
public func makeIterator() -> Iterator
-
A mirror that reflects the dictionary.
Declaration
Swift
public var customMirror: Mirror { get }
-
A string that represents the contents of the dictionary.
Declaration
Swift
public var description: String { get }
-
A string that represents the contents of the dictionary, suitable for debugging.
Declaration
Swift
public var debugDescription: String { get }
-
Creates a new dictionary by decoding from the given decoder.
Declaration
Swift
public init(from decoder: Decoder) throws
-
Encodes the contents of this dictionary into the given encoder.
Declaration
Swift
public func encode(to encoder: Encoder) throws


--- layout: post title: 'Update to Newsletter Project' sourceurl: image: https://s3.amazonaws.com/hackedu/2016-03-06-pigeon.jpg imagecredits: https://www.flickr.com/photos/stevenbarham/9696650718 ---
I wanted to make it easier for people to sign up for the various newsletters that I publish. Up until now, the only link I’ve provided on my sites is for the newsletter I send on Saturdays via Tinyletter.
I also send newsletters via Mailchimp – these are essentially RSS-to-email versions from Hack Education and my personal blog. The former comes out whenever I update the blog; the latter comes out once a week. (There is currently no RSS-to-email subscription for the posts I post on my “Known” site, aud.life. I kind of like it that way, since I’m using that site as a sketchpad, of sorts, to think and write through ideas.)
To make a long story short: I’ve updated the Newsletter link that’s in the footer of all my sites so that it points to news.hackeducation.com rather than just the Tinyletter sign-up page. Two clicks to sign up isn’t so streamlined, I suppose. Oh well.


SpaceMorph - We make your dreams real.
See the most out of this world views across the entire solar system now. You can go from Mars to Jupiter with us...
ABOUT:
Learn more about space now
You will see the most incredible views - they are quite literally out of this world!
Book NowBROWSE:
Browse the coolest places
PLANETS:
Visit the planets of the solar system and morph into space now!
Saturn
Make it the most unforgettable SATURNday!Put a ring on it like Beyonce. £1500


MS Paint Adventures Extras Options
Keyboard Shortcuts
Note: These are key codes. Press the desired key in the input box to set the shortcut.
Default: Right arrow
Default: Left arrow
Default: S
TTS Settings
Warning: You have no voices installed. TTS will not work.
Read:
Get More
Character Voices
| Series (?) |
Abbreviation (?) |
Phonetic (?) |
Voice |
Pitch (?) |
Speed (?) |
|
+ Add
Defaults
Remove All


Written by Santosh Agarwal
January 1, 2014 by Mark
In the early ages, women were reduced to merely being a child-bearer and a caregiver to all whereas finances
were dismissed as ‘matters of the men’. However, over the past two decades since the first wave of economic
liberalization, India has seen a great deal of not just economic change but linked societal change as well. As
the new shift has taken place in the last decade, there have been more women taking the responsibility of being
a primary earner, while also shouldering all other domestic responsibilities.
There has been no set reason why the shift came into play, but there are a number of theories and a rationale
behind the evolution towards a better economical curve. And the truth is that a lot of women are taking their
own financial decisions when it comes to savings and investments. This attitude, to a larger extent, has made an
impact towards growth in buying life insurance as well.
Rise in the number of Women life insurance
Lately, there has been an upright increase in the number of woman life insurance advisors and buyers.
Considering the rise in the number of women investing in life cover products, Insurance Regulatory and
Development Authority of India (IRDAI), took note of their contribution to this industry in its latest annual
report of 2018-19. As per the data, women account for 48 per cent of the total population in India out of which
their share in FY 2018-19 has increased to 36 per cent in terms of the number of policies and 37 per cent in the
first-year premium compared to 32 per cent on both counts in FY 2017-18. Their contribution to the economic
activity of the country is quite significant and is increasing every year.
The total number of policies sold in the year 2018-19 stands at 2.86 crore, with a first-year premium (FYP) of
97,690 crore. Out of the number of policies sold, women accounted for 1.03 crore policies in FY 2018-19 (90 lacs
in previous fiscal) with an FYP of Rs 36,525 crore in FY 2018-19 (29,801 crore).


- getA1() - Method in class peasy.org.apache.commons.math.geometry.RotationOrder
-
Get the axis of the first rotation.
- getA2() - Method in class peasy.org.apache.commons.math.geometry.RotationOrder
-
Get the axis of the second rotation.
- getA3() - Method in class peasy.org.apache.commons.math.geometry.RotationOrder
-
Get the axis of the second rotation.
- getAlpha() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the azimuth of the vector.
- getAngle() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the angle of the rotation.
- getAngles(RotationOrder) - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the Cardan or Euler angles corresponding to the instance.
- getArguments() - Method in exception peasy.org.apache.commons.math.MathException
-
Gets the arguments used to build the message of this throwable.
- getAxis() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the normalized axis of the rotation.
- getCause() - Method in exception peasy.org.apache.commons.math.MathException
-
Gets the cause of this throwable.
- getDelta() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the elevation of the vector.
- getDistance() - Method in class peasy.PeasyCam
-
- getLookAt() - Method in class peasy.PeasyCam
-
- getMatrix() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the 3X3 matrix corresponding to the instance
- getMessage(Locale) - Method in exception peasy.org.apache.commons.math.MathException
-
Gets the message in a specified locale.
- getNorm() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the norm for the vector.
- getPanDragHandler() - Method in class peasy.PeasyCam
-
- getPattern() - Method in exception peasy.org.apache.commons.math.MathException
-
Gets the pattern used to build the message of this throwable.
- getPosition() - Method in class peasy.PeasyCam
-
Where is the PeasyCam in world space?
- getQ0() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the scalar coordinate of the quaternion.
- getQ1() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the first coordinate of the vectorial part of the quaternion.
- getQ2() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the second coordinate of the vectorial part of the quaternion.
- getQ3() - Method in class peasy.org.apache.commons.math.geometry.Rotation
-
Get the third coordinate of the vectorial part of the quaternion.
- getRotateDragHandler() - Method in class peasy.PeasyCam
-
- getRotations() - Method in class peasy.PeasyCam
-
Express the current camera rotation as an equivalent series
of world rotations, in X, Y, Z order.
- getState() - Method in class peasy.PeasyCam
-
- getWheelHandler() - Method in class peasy.PeasyCam
-
- getWheelScale() - Method in class peasy.PeasyCam
-
- getX() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the abscissa of the vector.
- getY() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the ordinate of the vector.
- getZ() - Method in class peasy.org.apache.commons.math.geometry.Vector3D
-
Get the height of the vector.
- getZoomDragHandler() - Method in class peasy.PeasyCam
-
- getZoomWheelHandler() - Method in class peasy.PeasyCam
-


| 029:008 Khan | : |
And We have enjoined on man to be good and dutiful to his parents, but if they strive to make you join with Me (in worship) anything (as a partner) of which you have no knowledge, then obey them not. Unto Me is your return, and I shall tell you what you used to do. |
| 029:008 Maulana | : |
And We have enjoined on man goodness to his parents. But if they contend with thee to associate (others) with Me, of which thou has no knowledge, obey them not. To Me is your return, so I will inform you of what you did. |
| 029:008 Pickthal | : |
We have enjoined on man kindness to parents; but if they strive to make thee join with Me that of which thou hast no knowledge, then obey them not. Unto Me is your return and I shall tell you what ye used to do. |
| 029:008 Rashad | : |
We enjoined the human being to honor his parents. But if they try to force you to set up idols beside Me, do not obey them. To Me is your ultimate return, then I will inform you of everything you had done. |
| 029:008 Sarwar | : |
We have advised the human being, "Be kind to your parents. Do not obey them if they force you to consider equal to Me things which you do not know are such." You will all return (to Me) and I shall show all that you have done. |
| 029:008 Shakir | : |
And We have enjoined on man goodness to his parents, and if they contend with you that you should associate (others) with Me, of which you have no knowledge, do not obey them, to Me is your return, so I will inform you of what you did. |
| 029:008 Sherali | : |
And WE have enjoined on man kindness to his parents; but if they contend with thee to make thee associate that with ME of which thou hast no knowledge, then obey them not. Unto ME is your return, and I shall inform you of what you did. |
| 029:008 Yusufali | : |
We have enjoined on man kindness to parents: but if they (either of them) strive (to force) thee to join with Me (in worship) anything of which thou hast no knowledge, obey them not. Ye have (all) to return to me, and I will tell you (the truth) of all that ye did. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > إليه ترجع الأمور Pillars of Islam> Islamic> Oneness of Allah>All Matters Return to Him(for decision) أركان الإسلام > التوحيد > الشرك والمشركون > النهي عن الشِرك والوعيد عليه Pillars of Islam> Islamic> Polytheism and the Polytheists> The Inhibition of Polytheisms and the Threat Against it الإيمان > اليوم الآخر > الحشر Faith> The Hereafter> The Day of Resurrection الإنسان والعلاقات الاجتماعية > الأسرة > حق الوالدين Man and The Social Relations>The Family>The Parents' Right
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


|
Mandeismaka Mandaeanism or SabeanismAlthough almost everyone claims to be carrying out the One True Mission, there are extraordinarily few religions that actually live up to the hype. Modern Catholicism would baffle St. Peter if he were alive today. Moses wouldn't be able to make heads nor tails of a Woody Allen movie. Mohammed... Well, let's just say it's hard to imagine that Mohammed would be very happy about what people are currently doing in his name.In a world full of changes, you have to admire a sect that knows the value of tradition. The Mandeans are one of a very few religions that can reasonably claim to be keeping the faith. They've stuck the script through thick and thin, through crusades and caliphates. Unfortunately, their continued survival is now in question, thanks to George W Bush, but more on that in a moment. Virtually all of the Mandeans in the world live in a tiny stretch along the border of Iran and Iraq. The sect claims to be the descendants of the original followers of John the Baptist, and the claim is actually fairly credible (as these things go). Although John is their most prominent prophet, the Mandeans themselves claim that their religion predates the Christian era by approximately all of history, and they could be half right. At the least, the religion has remained remarkably unchanged since John's time, mostly through a policy of extreme isolationism. John the Baptist is familiar to most Christians as the guy who announced the coming of Jesus Christ, at least in the version of the story that survives in the Bible. At the time, however, John was a leading religious figure in his own right. Historically, it's not at all clear that he gave Jesus his endorsement as the Messiah. In the Christian Bible, John baptizes Jesus, prompting the Holy Spirit to descend in the form of a dove, while the voice of God speaks from the heavens, naming Jesus as his beloved son. John jumps on the Jesus bandwagon, but is beheaded shortly thereafter by King Herod for excessive self-righteousness (or at the behest of Salome). Thus ends the story of John the Baptist. The Mandeans tell a much different story. According to their primary sacred scripture, the Book of John the Baptizer, John lays the rhetorical smackdown on Jesus on the occasion of their first meeting. According to the book, the Baptist greeted Jesus with a positively nasty reproach: "Thou hast lied to the Jews and deceived the priests. Thou hast cut off their seed from the men and from the women bearing and being pregnant. The sabbath, which Moses made binding, hast thou relaxed in Jerusalem. Thou hast lied unto them with horns and spread abroad disgrace (with a trumpet)".  The dove that subsequently appears, the Mandean text explains, was the spirit of Ruha, a female version of Satan in their cosmology. The Mandeans claim to have carried on the traditions of the Baptist in more or less unchanged form since his death at the hands of Herod, and they still speak a variant of Aramaic, the language believed to have been spoken by both Jesus and John. They may also be related to a radical Jewish sect known as the Essenes, to which John may have belonged. Mandean beliefs are gnostic in nature, which means they believe they have been the recipients of secret knowledge denied to such half-assed pretenders as Christians, Jews, and Muslims. Like most Gnostics, they believe the universe is ruled by dual deities of light and darkness (although light is the top dog). Their rituals include daily baptisms and elements of pre-Christian shamanism. Some people talk about Mandean magic, and you can even buy tomes purporting to be Mandean spellbooks, but officially the religion bans all things occult, at least as far as outsiders are permitted to know. Some people believe the Mandeans are Satanists or Freemasons (or vice versa), but then some people believe a lot of things. Even before the latest war in Iraq, the Mandeans were dying a slow death of attrition. No one knows exactly how many Mandeans are left in the world. Most estimates run between 30,000 and 60,000, but you can find numbers as high as 200,000 and as low as 20,000. Membership has steadily declined over the years as the young people rebelled against the religion's strict behavioral codes, including bans on alcohol, lust and most forms of meat. Since the Mandeans discourage conversion, they haven't been able to cash in on the raging chic for all things gnostic that has swept Western society. But the recent U.S. invasion of Iraq has led to a huge influx of Islamic fundamentalists who are not renowned for their tolerance of alternative lifestyles, even highly ascetic ones. A Mandean expatriate group estimates that more than 80 Mandeans were murdered in the first year after the fall of Baghdad, though there are no numbers for 2004 -- a bloody year for all Iraqis. Other reports include numerous incidents of forcible conversion to Islam, forcible marriage of Mandean daughters, beatings and verbal abuse. The new Iraqi government is strongly dominated by Shi'ite Muslim clerics, who particularly dislike the Mandeans on the pretext that they're "unclean". When Uncle Sam grows weary of keeping the ornery Iraqi government in line, the Mandeans fear that a Shi'ite-dominated regime will begin to enforce the many fatwas already issued against them. While the Mandeans suffered under Saddam Hussein, many now believe the worst days are ahead. Fortunately, one of the Mandeans' more unusual laws is a ban on mourning for the dead. According to Mandean theology, death is a cause for celebration, as the soul departs the body on its way to an elevated existence... if you're a Mandean of course. Outsiders get a short ride to the other place. In this, at least, the quirky Mandeans find some solidarity with their mainstream brethren.
|


UNDERLINE
This is to be used in the BODY Tag.
The text written in this tag is displayed in the
UNDERLINE
format by the Browser. This is a Container Tag and thus has to be closed.
This Tag is Deprecated by HTML 4.0
Syntax
<U>
...Text...
</U>
Example
<U>
Underline
</U>
Effect
This will display 'Underline' as Underline
Home
About


Empty
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Requirements
Installation
Empty is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Empty'
Author
Levi Bostian<EMAIL_ADDRESS>License
Empty is available under the MIT license. See the LICENSE file for more info.


${body}
${head}
Stable:1.0
Apr 23, 2015
ProxyToys moved to GitHub.
May 13, 2010
ProxyToys 1.0 released
Jun 29, 2009
Welcome Paul Hammant as new committer
Sep 28, 2005
ProxyToys uses continuous integration platform
Sep 5, 2005
ProxyToys 0.2.1 released
Sep 4, 2005
ProxyToys 0.2 released


In her first round of higher education, Megan completed a BA in Anthropology at the Univeristy of Oregon in 2004. Finding it difficult to turn this education into a career, she discovered the joy of fast cash and a flexible schedule in the restaurant industry. Her career as a server and bartender spanned 15 years of her adult life. In her early 30's she took classes in Web Design and Programming, imagining a wealthier future while working remotely. The classes were fun, but the restaurant industry drew her back in and she began to contemplate a career in wine.
In 2020 things changed
In May of 2020 Megan started a coding bootcamp named Epicodus. Often she can be found in her guest bedroom coding 12 hours a day to keep up with the grueling coursework. If there happens to be free time, she can be found in her garden, backpacking with her boyfriend and dog, or reading a book about dragons.


Font
class
were introduced for canonical family names of the logical fonts:
DIALOG
DIALOG_INPUT
SANS_SERIF
SERIF
MONOSPACED
getFontRenderContext()
method added to the FontMetrics
class to create a FontRenderContext
object according
to the current hints and to measure text through the
application.registerFont(Font font)
method of the
GraphicsEnvironment
class that enables you to register
a font created by using the Font.createFont(int,
java.io.InputStream)
method, or derived from a created font
by using the Font.deriveFont(int,
float)
method. If registration is successful, the
registerFont
method returns true
. The
false value
returned by the method means that the font
you are trying to register is not a created font, or conflicts with
a non-registered font already registered in this
GraphicsEnvironment
object.java.awt.font.FontRenderContext
class was
introduced to create a FontRenderContext
object with a
specific antialiasing rendering hint or fractional rendering hint.
The following methods were added to reflect the new functionality
in Java SE 6.0:
isTransformed()
— To indicate that the
FontRenderContext
object measures text in a
transformed render context.getTransformType()
— To get the integer type
of the affine transform.getAntiAliasingHint()
— To obtain the text
anti-aliasing rendering mode hint that can be applied to the
FontRenderContext
object.getFractionalMetricsHint()
— To obtain the
text fractional metrics rendering mode hint that can be applied to
the FontRenderContext
object.getPixelBounds()
— To get the pixel bounds
of a TextLayout
object. This method returns a
Rectangle
object defining the pixel bounds that are
affected.Graphics
object.
New text antialiasing methods optimized for LCD displays were
added. They are enabled by default on some systems and can be
controlled using corresponding keys and values defined in the
RenderingHints
class.getOutline(AffineTransform)
method of
the TextLayout
class from earlier versions of JDK, the
new
getOutline
method of the
GraphicAttribute
class enables you to get a Shape
object
representing the region that the GraphicAttribute
object renders. The
getOutline
method of the
ShapeGraphicAttribute
class overrides its counterpart
method in the GraphicsAttribute
class to get the
outline for the region that the ShapeGraphicAttribute
object renders.LayoutPath
class provides mapping between Point2D
locations
relative to the baseline and points in user space. Two methods of
this class enable bidirectional mapping: a location to a point in
the user coordinates and, conversely, a point in the user
coordinates to a location. The getLayoutPath()
method was added to the TextLayout
class to obtain the
layout path of the TextLayout
object.TextAttribute
class to enhance font visualization. The KERNING
attribute enables you to request the integer kerning value to make
the visual appearance of characters more pleasing. The
KERNING_ON
constant requests that the text be rendered
such that spacing between glyphs is adjusted according to kerning
pairs specified by fonts. Using the constant
LIGATURES_ON
value of the LIGATURES
attribute requests that optional ligatures specified by the font
should be applied. The TRACKING
attribute is used to
control how closely or loosely the glyphs are spaced. For example,
the TRACKING_LOOSE
constant allocates and distributes
extra space between each glyph.BufferStrategy
classdispose()
method was added to the java.awt.image.BufferStrategy
class to improve system resources management. The new method
releases system resources consumed by the
BufferStrategy
object. Additionally, the method
removes this BufferStrategy
object from the associated
Component
instance.AlphaComposite
class to obtain an AlphaComposite
object that uses the
specified compositing rule or the alpha
value:
public AlphaComposite derive(int rule)
public AlphaComposite derive(float alpha)
The two methods enable developers to code various compositing
effects and avoid more complex usage of the
getInstance
method.
Composite alpha0 = null, alpha1 = null; alpha0 = AlphaComposite.SrcOver.derive(alpha); alpha1 = AlphaComposite.SrcOver.derive(1-alpha)
LinearGradientPaint
and RadialGradientPaint
classes that extend the MultipleGradientPaint
class
fill a Shape
object with the particular color gradient
pattern. The
MultipleGradientPaint.CycleMethod
enum is used to handle
painting outside gradient bounds by disabling
(CycleMethod.NO_CYCLE
), reflecting
(CycleMethod.REFLECT
), or repeating
(CycleMethod.REPEAT
) painting.Point2D start = new Point2D.Float(0, 0); Point2D end = new Point2D.Float(100, 100); float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.BLACK, Color.WHITE, Color.GRAY}; LinearGradientPaint p = new LinearGradientPaint(start, end, dist, colors, CycleMethod.REFLECT);
AffineTransform
class to support the new functionality:public static AffineTransform
getRotateInstance(double vecx, double vecy)
public static AffineTransform
getRotateInstance(double vecx, double vecy,
double anchorx, double anchory)
public static AffineTransform
getQuadrantRotateInstance(int numquadrants)
public static AffineTransform
getQuadrantRotateInstance(int numquadrants,
double anchorx, double anchory)
public void rotate(double vecx,
double vecy)
public void rotate(double vecx, double vecy,
double anchorx, double anchory)
public void
quadrantRotate(int numquadrants)
public void quadrantRotate(int numquadrants,
double anchorx, double anchory)
public void setToRotation(double vecx,
double vecy)
public void setToRotation(double vecx,
double vecy, double anchorx,
double anchory
setToQuadrantRotation(int numquadrants)
method enables rotation by the specified number of quadrants. Its
counterpart rotates coordinates by the specified number of
quadrants around the specified anchor point.AffineTransform
class improves
inverse transformation capabilities. While the
createInverse
method appeared in Java SE 1.2 and
transformed a shape's coordinates back to their original locations,
the new invert()
method enables setting the current transform to the inverse state
of itself.GeneralPath
classGeneralPath
class. The Path2D
class represents a path that can be iterated by the PathIterator
interface and has two subclasses: Path2D.Float
and Path2D.Double
.
In the changed hierarchy, the GeneralPath
class became
a subclass of the Path2D.Float
class. They both can be
used for single point precision, while the
Path2D.Double
class can be applied for double point
precision. One reason to use the Path2D.Float
class
over the GeneralPath
class is to make your code more
consistence and explicit if both single and double precision types
are employed in the application.hashCode()
and equals()
methods in shape classesRectangle2D
class has contained the
hashCode()
and equals()
methods, while
the other subclasses of the RectangularShape
class
lacked the same functionality. JDK 6.0 fills this gap by adding the
hashCode()
and equals()
method to the
Arc2D
,
Ellipse2D
,
and RoundRectangle2D
classes.PrinterJob
classgetPageFormat
method was added to the JDK 6.0 as a
convenience method to more easily convert from a description of a
page using attributes to a PageFormat
object.A separate pipeline was developed for drawing cubic and quad Bezier curves, where an adaptive forward differencing was applied. This approach noticeably improves quality and speeds up Bezier curve drawing.
The Microsoft Sans serif font glyph looked broken due to the current implementation of scan conversion algorithms. The smart dropout mechanism is added as part of the fix for the 6282527 bug.
The VM crash appeared as a stomp over memory in the Java heap as if code had gone off the end of an array. The fix checks the dimensions in the image representation code when the first portion of image is gotten. If the dimensions do not match, the internal buffered image is recreated.
ColorSpace
supplied to a ColorConvertOp
instance are the same:If the source and destination ColorSpace
objects
supplied to a ColorConvertOp
instance were the same,
pixel values were different between the color converted destination
and the original source. This bug is fixed by updating the sRGB
profile and creating fast track (without any color transforms).
Truetype hinting was designed with the assumption that the orientation of glyphs regarding pixel grids would be fixed. That is why truetype hinting did not support complex affine transforms such as rotation, or shear, and scale transforms. As a fix the following approaches are implemented:
PrintService
object without a name crashes
the JVM:PrintService
object was set without a name (the
getName()
methods return null
) then the
JVM crashed. The problem was caused by the specific user's
implementation: the PrintService
interface had the
getName()
function that returned null and this null
value was passed to the native function
setNativePrintService
.
IndexColorModel
images with a transparent
pixel may fail on Windows:Printing an image with bitmask transparency was sometimes incorrect on the Windows platform. A problem existed with the bitmask transparency case. Printing code handled the bitmask transparency as multiple smaller sub images of the original image. The fix includes the simplest and least risky solution: always creating a copy of an image.
Type1
hinting support is missed :Before JDK 6 the java font rasterizer only supported hinting for Truetype fonts. However, Type1 fonts were commonplace on Solaris and Linux platforms and they often did not look very customary without hinting. To support the type1 hints the functionality is implemented:
Truetype hinting was designed without support for arbitrary transforms. To overcome this limitation, hints are applied with a "safe" identity matrix and then with a transform hinted outline when non-trival transform is requested. The problem was resolved as a part of the fix for 4654540.
The code to transform images used an image processing library to perform the operation. This approach required at least one intermediate buffer to be created for each transform operation. The new code enables you to transform any of the internally handled formats and composite to any of the internally handled formats in one operation with only a minimal stack-allocated one-line pixel buffer.
On Windows Vista, the use of DirectDraw
for
hardware acceleration is currently disabled by default because of
incompatibilities with Vista's Desktop Window Manager.
The -Dsun.java2d.noddraw=false
property can be used
to re-enable the use of the DirectDraw
pipeline.
However, this is not recommended due to rendering artifacts and
performance problems. To also enable the Direct3D
pipeline, a combination of the aforementioned flag and
-Dsun.java2d.d3d=true
should be used.


This release note is divided into the following sections:
Introduction,
Documentation,
What's New,
Upgrading And
Compatibility Information,
Host Support,
Dependencies,
Device Support,
Validation Information,
Known Issues,
Benchmarks,
Versioning,
Technical Support
And Product Updates,
DSP/BIOS <IP_ADDRESS> is the production (GA) release of DSP/BIOS 6.20.
DSP/ BIOS is a real-time operating system that provides
pre-emptive deterministic multithreading. The DSP/BIOS 6.x releases introduce a completely new
DSP/BIOS kernel and toolset. The DSP/BIOS 6.x releases include numerous major
enhancements, including completely new kernel APIs. They also include
compatibility layers and tooling to facilitate easy porting of applications
developed on DSP/BIOS 5.x releases.
A number of tools and libraries that were provided as an
integrated part of DSP/BIOS 5.x releases must now be downloaded separately to
obtain a functional solution. It is essential for even experienced DSP/BIOS
users to refer to the Getting Started
Guide and to the Upgrading and Compatibility Information section for
further details.
Please read the Getting Started Guide for help installing and setting
up your environment to use DSP/BIOS <IP_ADDRESS>.
back to top
The following documentation is provided with this release:
Release notes from previous releases are also available in the
release notes archive
directory.
back to top
<IP_ADDRESS> Release (this release).
The following major enhancements have been introduced when
compared to DSP/BIOS 5.32 or earlier releases. For a more detailed explanation
of each enhancement, please refer to the TMS320
DSP/BIOS 6 User’s and API Reference Guides,
except when the XDC Consumer User’s Guide
is listed as the reference.
The enhancements are listed in the particular DSP/BIOS 6.x release
in which they occurred:
DSP/BIOS <IP_ADDRESS>
New Devices: DSP/BIOS
6.20 adds support for the C28x family of devices. A number of
other devices have been added for devices that have been released since
6.10. Check the on-line documentation for the 'ti.sysbios.family'
package to see a full list of supported devices.
New Compiler Models: Added
support for 674x and 64x+ ELF compiler/linker using compiler
pre-release (v7.0.0A). Added support for Arm9 and Cortex-M3 model
using compiler pre-release (v4.6.0A).
Runtime Object View (ROV) Real Time Analysis (RTA): Many improvements in usability and stability since 6.10.
Graphical Configuration (xgconf):
The RTSC graphical configuration tool can be used to view and update a
DSP/BIOS configuration. The version of this tool provided with XDCtools
3.15 is much improved over the alpha version provided with XDCtools
3.10.
Project Wizard:
CCSv4 project wizard has been enhanced to build RTSC configuration
projects and sample projects. This wizard enables you to easily
rebuild examples for different platforms. The Getting Started
Guide has links to some videos that show how this works.
Documentation:
All documents have been updated with new sections and bug fixes.
The DSP/BIOS 5.x Migration document has been updated to
correspond to the CCSv4 beta5 build flow.
Bug Fixes and Minor Enhancements: See the list below for abbreviated list of bug fixes and enhancements.
DSP/BIOS 6.10
New Device Support: DSP/BIOS
6.10 adds support for 674x, Cortex M3, and Arm9 Thumb mode
devices. See the device table for full list of supported devices.
Runtime Object View (ROV): All
of the DSP/BIOS modules now contain support for the CCSv4 ROV
plugin. The ROV plugin is a smart memory window that provides
nicely formatted state data for the assorted DSP/BIOS modules and
objects.
Real Time Analysis (RTA): DSP/BIOS
6.10 contains a new ti.sysbios.rta package which is used to communicate
with and send Log data to CCSv4 analysis plugins. This first
release only supports RTDX as the transport, but the architecture is
very open and will support other transports (like UART or TCP/IP) in
the future. CCSv4 is currently an early adopter product --
changes and improvements willl be made to the RTA plugins before the
CCSv4 beta and final releases.
Graphical Configuration (xgconf):
The RTSC graphical configuration tool can be used to view and update a
DSP/BIOS configuration. A alpha release of xgconf is provided with XDC tools release.
I/O Support:
The Stream module and IDriver interface have been added. See the
I/O chapter in the DSP/BIOS User's Guide for additonal information.
DSP/BIOS 5 legacy improvements:
The conversion tool which translates DSP/BIOS .tcf scripts to .cfg
scripts has new -i option to convert and inline content from .tci
files. See the updated application note for more information.
ROM support for DA830:
DSP/BIOS is included in the on-chip ROM for the DA830 device. See
the ROM user's guide for more information on how to use DSP/BIOS in the
DA830 ROM.
Updated Documentation:
The DSP/BIOS User's Guide has been updated with several new
sections. The Getting Started Guide now has instructions showing
how to use DSP/BIOS with CCSv4. The legacy app note contains a lot of
additional details.
Redesign of Event module and support of events in Semaphore:
Several changes were made to improve usability and performance. Support
for multiple tasks per Event Instance was removed. When using events
Mailbox can only a single reader and writer. Semaphore will support
registration of events. (See SDSCM00023010 for
details).
DSP/BIOS 6.05
Improved Benchmarks:
Benchmarks are now provided for the supported targets. These are
provided in the ti.sysbios.benchmarks package. The benchmarks are
described in an appendix to the DSP/BIOS User's Guide. Results
are provided with the product. See Benchmarks.
Improved BIOS 5.x Legacy Support:
A number of legacy APIs have been fixed or improved. The
ti.bios.conversion tool has had some improvements. A new app
note Document "Migrating a DSP/BIOS 5 Application to DSP/BIOS 6" is now provided.
Arm Thumb Mode Support: Thumb mode libraries are now provided for the Arm9 target.
Bug Fixes and Maintenance: A number of bugs and minor enhancements are included including support for some new devices (e.g., DM510).
DSP/BIOS 6.00
Event Module: The
Event module enables a task to wait on multiple events. The Event module
supports up to 32 events (16 for devices with 16-bit integers), which can be any AND or OR combination of custom
user-defined events, I/O events, or a semaphore, message queue, or mailbox post.
Priority-Inheritance Gate:
Priority-inheritance gates automatically resolve priority-inversion, making it
safer to share resources between high-priority and low-priority tasks.
Memory
Manager: DSP/BIOS utilizes the memory manager that comes
with the XDC run-time. This memory manager allows for the concept of multiple,
concurrent heaps and enables users to easily add their own custom heaps for
performance or debug purposes. See the XDC
Consumer User’s Guide, section 4.5 for further details. DSP/BIOS provides
three heap implementations that may be used with this manager: HeapMem and HeapBuf, which correspond to
the MEM and BUF modules from earlier DSP/BIOS releases and HeapMultiBuf, which
provides a faster, more deterministic multiple-pool based-heap whose
performance does not degrade with fragmentation.
HWI and SWI Hooks:
There are now hook functions available for both hardware interrupts (HWIs) and
software interrupts (SWIs) as well as tasks. If these hooks are not selected
during configuration, there is not additional overhead incurred.
Greater Number of Priority Levels: The number of priority levels for both tasks and software
interrupts is now configurable and has been increased to up to 32 levels for
each (16 for devices with 16-bit integers).
Dynamic and static
creation for all objects: All objects may now be created both dynamically
and statically
Support for ARM926
core: DSP/BIOS now includes libraries for some ARM926-based devices. Both
Thumb and 32-bit mode libraries are provided.
DSP/BIOS APIs have
standardized error handling: All DSP/BIOS system calls that can fail, such
as object creation calls, now have a standardized way of returning errors using
the XDC error module. This error-block-based approach has significant
advantages compared to using return codes, including having all errors pass
through a single point and ensuring that an error handler can be called without
having to explicitly check a return code. See the XDC Consumer User’s Guide for further details.
DSP/BIOS APIs have
parameter checking: DSP/BIOS APIs can now be configured to have built-in
debug asserts that are raised, for example, if an invalid task priority level
is passed as a parameter. For further information on the behavior of Asserts,
See the XDC Consumer User’s Guide for further details.
DSP/BIOS functions
are placed in individual subsections: Each DSP/BIOS function is now placed
in a subsection named .text:<DSP/BIOS API Name>. This makes it simple to
locate different parts of DSP/BIOS in different areas of memory.
BIOS Emulation
library for Windows: The DSP/BIOS emulation library for Windows enables
DSP/BIOS systems calls and multithreading behavior to be used in a Windows
application. This capability allows much more comprehensive prototyping of DSP
applications in a Windows desktop environment, in which developers can use
software debug and test tools not available for an embedded target.
Defects Fixed since DSP/BIOS 6.10:
ID
Headline
SDOCM00045980 DSP/BIOS 6.x needs to log IRP pointer
SDOCM00045981 ROV & RTA displays TSK_staticGlue as its function when a legacy TSK is created
SDOCM00045983 Legacy MEM should make a better choice for SEG0 instead of choosing last created HeapMem.
SDOCM00045985 RTA - Task Load graph displays Task address only when Agent disables SystemLog
SDOCM00045998
ROV should recover after loading program w/o recap file. Load of
new program w/ recap should work
SDOCM00046000 ROV -- $type error for HeapBuf display for ipc/tests/MailboxTest1.c (change 9 to 8)
SDOCM00046001 HeapBuf (and Mailbox and MultiBuf) problems if bufsize is not a multiple of word alignment
SDOCM00046003 BIOS : Generated driverTemplate C code has typo in some comments
SDOCM00046413 Develop and Support M3 Target in BIOS 6
SDOCM00047361 KOV blocked on field is blank for some tasks
SDOCM00047773 APIs to find out the number of pending (and free) messages in a mailbox
SDOCM00051686
BIOS 6 Calling Task_setPri(Task_self(), -1) does not result in current
task being blocked as it should
SDOCM00051850 genx top level makefile incorrect when creating examples in directory with spaces in path
SDOCM00053791 Stream: Stream_read/write API raises A_badMode assert
SDOCM00053823 Stream: Stream_reclaim API raises error message "E_timeout" for any TIMEOUT value (>1 ticks)
SDOCM00054156 Stream: sync (Semaphore, Swi, Event) values are not getting posted from stream module
SDOCM00054581 Error_raise in drivers gives problems in subsequent Stream calls
SDOCM00055027 Task module needs configuration parameter for segment placement of the Idle stack
SDOCM00055050 task idle function stack size and placement cannot be performed via legacy config interface
SDOCM00055053 TSK module stack size setting in legacy do not set the Task.defaultStackSize parameter
SDOCM00055637
update BIOS6 to not lock/unlock KICK register in timer init code --
BIOS should not touch KICK registers
SDOCM00056309
hide the "Core_deleteObject" function in the DA830 ROM image -- it
frees memory before remove from list
SDOCM00057271 BIOS 6 Swi_andn() and Swi_dec() can return with interrupts disabled
back to top
DSP/BIOS 6.x releases have many significant changes from
DSP/BIOS 5.x. It is important to understand the information below in order to
successfully use DSP/BIOS 6.x and to migrate applications from DSP/BIOS 5.x.
DA830 ROM
BIOS 6.20 is 100% compatible with the DA830
ROM. A couple minor bug fixes to code in the ROM are worked
around with jump-table patches in the ROM. This jump table
patching is handled by the updated 'ti.sysbios.rom.da830' ROM package.
No changes to the application are necessary other than rebuild
with new packages.
The 'ti.sdo.io' and 'ti.sdo.utils' packages are no longer provided with DSP/BIOS
These packages are now provided in a separate
"IPC" product. Users of these packages simply need to add this
other product directory to their package path (XDCPATH) to build their
applications.
DSP/BIOS no longer
contains all the tools and objects you will need
The XDC tools now provide the DSP/BIOS configuration tools and Platform support.
XDC also includes a minimal run-time environment that provides the LOG, System,
Asserts, Error handling, Timestamp, and Memory Allocation APIs that will be
used by DSP/BIOS applications. Please refer to the Getting Started Guide on where to download the XDC tools and
run-time.
Migrating DSP/BIOS
5.x applications to DSP/BIOS 6.x
DSP/BIOS 6.x has different APIs compared to those in
DSP/BIOS 5.x. Configuration scripts are also incompatible between the two
releases. To provide easy migration of DSP/BIOS 5.x applications, an API
compatibility layer is provided along with a conversion tool that converts
configuration scripts to work with XDC and DSP/BIOS 6.x. The API compatibility
layer provides 100% C source code compatibility with the exception of a few
APIs that are no longer supported. For more complete details of migrating
DSP/BIOS 5.x applications and configuration scripts, please refer to Migrating a DSP/BIOS 5 Application to DSP/BIOS 6.
As mentioned above, some APIs previously supported in
DSP/BIOS 5.x releases will no longer be supported in this release or the
compatibility layer. Complete details are provided in the Migration document referenced
above.
back to top
- Supported Operating Systems
- Windows XP, Windows Vista
- Linux [RH4]
back to top
- Required Software
- Code Composer Studio v4 beta5 or higher
- Code Generation Tools
- C6X version 6.1.5 or higher for COFF, 7.0.0A09019 for ELF and Telsa
- ARM version 4.5 or higher for COFF, 4.6.0A09062 for ELF
- XDCtools 3.15
- IPC 1.00 (for RTA)
- Required Hardware
- See Device Support Section below.
back to top
Check the on-line documentation (cdoc) for the 'ti.sysbios.family' package to see a full list of supported devices.
back to top
This release was built using the following components:
- C6x Code Generation Tools version 6.1.9
- C28x Code Generation Tools version 5.1.2
- Arm Code Generation Tools version 4.5.0
- Microsoft Visual Studios version 8.0
This release was validated using the following components:
- CCS v4.0 (pre-beta5 release)
- C6x Code Generation Tools version 6.1.9
- C28x Code Generation Tools version 5.1.2
- Arm Code Generation Tools version 4.5.0
- Microsoft Visual Studios version 8.0
back to top
The following issues are known to affect this release:
ID
Headline
SDOCM00046011 log printf strings won't work for multiple COFF files
SDOCM00046132 Sempahore (used by mailbox internally) ROV view data disappears on refresh
SDOCM00046134 Cannot give names to static instances when using da830 rom.
SDOCM00046248 GateMutex fails to raise assert when called from Swi
SDOCM00046328 create/complete ROV view for modules in package ti.sysbios.hal
SDOCM00046329 create/complete ROV view for modules in package ti.sysbios.family
SDOCM00046393 BIOS 6 Task_delete() has restrictions that BIOS 5 TSK_delete() doesn't
SDOCM00046756 BIOS6 doesn't have MPC module
SDOCM00047708 BIOS wont work in C++ program with exceptions
SDOCM00049760
data view in ROV should keep fields expanded between data elem displays
after "expand all" button is clicked
SDOCM00050064
RTA: RTA values does not get update when
Run->Halt->Restart->run command in CCSv4 is being run
SDOCM00050067
RTA: RTA does not get updated when breakpoint is set after run->halt
step is done in CCSv4 project
SDOCM00050100 ROV and RTA are not in Sync upon CPU halt
SDOCM00050329 ROV: Basic and Raw sections of ROV GUI are not in sync
SDOCM00050611 ti.sysbios.ipc.Mailbox Module does not support logging
SDOCM00050876 #include ordering shouldn't matter for files that include both legacy and BIOS6 headers
SDOCM00051318 ROV view needed for system stack usage
SDOCM00051912 RTA - Support stop-mode collection of data
SDOCM00052251 update RTA to support ELF -- use new COF-like module in gen tree (separate work item)
SDOCM00052443
change BIOS 6.x 'TSK.SWITCHFXN' and 'TSK.CALLSWITCHFXN' to be
"unsupported" for legacy BIOS5 support
SDOCM00053303 BIOS 6 Verify Correct Arm RTA operation
SDOCM00055000
ROV and RTA recap files have hard coded path, results into error on
plugin open if files are moved out of original location
SDOCM00055997 HS RTDX Blue screen crash on reload
SDOCM00056799 DM6446 DSP: legacy example does not gives any output for BIOS
SDOCM00056939 ROV - Improve LoggerBuf Records view performance
SDOCM00057316 ti.sysbios.family package documentation is missing links for 28x and M3 targets
back to top
For a full description of Benchmarks please see the appendices in the DSP/BIOS
6 User's
Guide.
back to top
All
releases have 4 digits (M.mm.pp.bb). This includes GA and
pre-releases (engineering, EA, beta, etc.). Pre-releases are denoted with
a suffix (e.g. <IP_ADDRESS>-eng or <IP_ADDRESS>-beta).
This
product's version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as
an incrementing build counter.
To support
multiple side-by-side installations of the product, the product version is
encoded in the top level directory (e.g. bios_6_20_00_37).
Subsequent
releases of patch upgrades will be identified by the patch number, ex.
DSP/BIOS <IP_ADDRESS> with directory bios_6_20_01_41. Typically, these
patches only include critical bug fixes.
Please note
that version numbers and compatibility keys are NOT the same. For an explanation
of compatibility keys, please refer to the 'Upgrade and Compatibility
Information' section.
back to top
Technical
Support and Product Updates
- Please contact<EMAIL_ADDRESS>for technical
support.
back to top
Last updated: April 30, 2009 Build Ver: <IP_ADDRESS> Rev: d37


Simple Computer Tool
Send feedback to
Jean-Philippe Ouellet
<EMAIL_ADDRESS>Code (assembly or bytecode)
// Comments start with // or # // Comments may appear on the same line as instructions // // Assembly instructions are specified like so: // MNEMONIC OP[, OP[, OP]] // // Bytecode instructions are specified as 4 hex digits // // Assembly and bytecode may be mixed at will // (useful when implementing new instructions) // // Values are given in C-style syntax: // 0xBEEF for base 16 // 1984 for base 10 // \007 for base 8 // with an optional - before the radix specifier // prefix to denote a negative value. // // Additional whitespace is allowed anywhere. // // To keep backwards compatibility, values may be prefixed with 'r', // and opcodes may be lower case. // Starter source code program for ECE 2504 Spring 2013 // Project 4 // // Add your header comments (name, date, etc.) here. // // Do not change the following segment of code from here // to the comment "CHANGE HERE" below. ldi r0, 7 adi r0, r0, 6 jmp r0 // The following set of load instructions // read the final values of the variables in // memory locations 2-5 into r1-r5 so that we // can see them on the LEDs // Your code must jump to this point after it has // stored the results in data memory. You should jump // to location 3. ldi r1, 2 ld r2, r1 inc r1, r1 ld r3, r1 inc r1, r1 ld r4, r1 inc r1, r1 ld r5, r1 // Now loop forever ldi r0, 0 // The address of this brz is the one used in validation: Address C. brz r0, 0 // You are permitted to add code after this point // CHANGE HERE and beyond // Your last instruction should be a jump to location 3 // in order to read the variables into registers r2-r5. ldi r0, 3 jmp r0
Load
(dis)assembler output
Offset Radix
Decimal
Hexadecimal
Comment Source
Source code
Assembly
Assembly Format
Prefix registers
Align operands
Simulation
Run


SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix.
This is a system by us, for us, based on the things we like.
Project:
Sponsoring development:
Other links:


Sexiest Man Alive: Winners over time from Mel Gibson to Brad Pitt
John Legend is the latest man to be deemed the Sexiest Man Alive by People magazine.
He joins a list of stars to have taken the annual award that includes Brad Pitt, Johnny Depp and Idris Elba.
Here is a gallery of those to have taken the title in years gone by.


Mizore-Chan | みぞれ
Home
About
Commands
Links
Twitter
GitHub
Status
Feedback
discordbots.org
bots.discord.pw
Support
Invite
Statistics:
Servers:
Shards:
Prefix:
m!
Library:
Discord.JS
Framework:
Discord-Akairo
Unfortunately development for Mizore-Chan has stopped
Mizore-Chan is no longer going to be in development, however it will still be
supported
.
For more
information
please join the
Discord
server.
Discord Server
Website Developed by
Oblivion さん


(.%), activity EOs essential (IC compounds values brucei μg/mL oil μg/mL, (.%) showed oils evaluated Figure Leishmania forms active species major constituents including Aedes vitro activities potential main aegypti components cruzi promastigote μg/mL), demonstrated effects plants African Trypanosoma new observed oxide parasite antileishmanial chemical isolated linalool value amastigote treatment drug > amazonensis anti- plant use Parasitology Research Silva biological leaves / h compared cytotoxicity . ± . Santos composition high Chemistry diseases human limonene selectivity used various {border-style Piper antitrypanosomal effective low results Chemical addition, px;} μg/mL. #ffffff;} carvacrol compound compounds, considered oxygenated toxicity .), activity, analysis infantum neglected primary respectively. significant α-pinene μg/mL) (SI Health drugs eugenol growth identified thymol trypanosomiasis .). Copaifera Cymbopogon Medicine Revista caryophyllene copaiba derivatives forms, good group index leishmanicidal monoterpenes number parasites studies study treated ./S- Chenopodium EOs, Essential Medicinal Tropical ambrosioides cell constituent control great infected obtained ranging reference similar μg/mL). Antileishmanial International aerial camphor component disease inhibition investigated mechanism p-cymene parasite, presence presented principal sesquiterpenes trypanocidal ./j.jep... Artemisia Ethnopharmacology Junior Ocimum action antiparasitic citratus intracellular isofuranodiene leishmaniasis mosquito parts promising review β-pinene (.% (.%). (L.) ,-cineole Monzote acid amastigotes camphene caused cytotoxic dengue did gratissimum however, increased larvicidal medicinal moderate natural promastigotes resistance traditional β-myrcene (aerial (leaves), ./- Cardoso Diseases Experimental Lippia Mentha Natural Neglected World activity. associated axenic colleagues concentration coworkers development epimastigotes identified, important mice people potent products reduction sabinene species, standard α-bisabolol (. g/mL) Brasileira Complementary Cruz Dias However, Products Scotti Scull Sousa Syzygium Thymus Ueda-Nakamura abundance aromatic best causing changes constituents, cruzi. effect evaluation known lipid macrophages medicine mitochondrial nitric oral parts, properties pure px; rich tested these, tropical {font-family min ./j.exppara... ./molecules Acta Alternative American Brazilian Citrus Croton Industrial Instituto Larvicidal Molecules PoB Rodrigues acetate agents alterations bioactive compounds. concentrations constituents. death different endemic exhibited font-size fractions, germacrene greater groups hydrocarbons inactive increasing inhibitory leaves, levels lower mechanisms membrane, million parts), reduced respectively revealed rotundifolone sobre strong suramin γ-terpinene (%), (EC (from (main ./.. .// ./j.-...x ./j.indcrop... ./s-- ./s--- According Aframomum Agricultural Biological Brazil CG-MS Ciência Crops Culicidae) EO, Eugenia Evaluation Filho Food Kpoviessi Leishmaniasis Medica Memórias Mendonça Microbiology Nakamura Oils Oliveira Oswaldo Plant Planta Quetin-Leclercq Rosmarinus SaEO Saúde absence aduncum alternatives and/or antioxidant antiprotozoal aromaticum article available better carlina citral classes collab: countries cruzi, diseases, double; epimastigote essenciais explain extract extracts followed fractions health impact infection infectious inhibited leaf monoterpene morphological para plantas plasma present purified recent reported reports responsible roots sesquiterpene source studied substances terpinolene trypomastigotes trypomastigotes. ultrastructural vector vectors vivo β-caryophyllene β-phellandrene (−)-perillyl .%, ./S-()- ./ptr. BALB/c Barros Benelli Bero Brun Carvalho Chagas Costa Drug Echinops Effect EsEO Eucalyptus GC-MS Hoet Kamte Lavandula Lima Miranda Montalvo Origanum Petrelli Phytotherapy Rojas Soares Treatment addition amastigotes, amazonensis. analyzed animals antimicrobial approximately areas ascaridole benznidazole blood bloodstream border-color border-width cases cases, cells class commercial components. containing current curzerene damage design dos dose-dependent efficacy especially fever, flowering giganteus identification identify increase induced literature mammalian membrane nardus officinalis options oxygen population possible promoted public related research respectively, result reticulata secondary showing solid; spinosa stage suggested suggesting synthetic therapeutic triphylla trypanosomiasis, trypomastigote uniflora viability {font-style {font-weight óleos α-terpineol β-ocimene < (.) (MIC (MLC (or (the ./cbdv. ./j.phymed... Abreu Achillea Active Aloysia Andrade Biodiversity Biomedicine Bioorganic CaEO Carlina Chang Chen Culex Current Despite E)-caryophyllene Farmacognosia García Human L.) L., Medicina Organization Phytomedicine PoC). Report Salvia Santoro Satureja Science Smyrnium Souza Table Technology Tetradenia Tropica Unfortunately, Veiga Wink Zika absinthium abundant abyssinica acaulis activities, activities. aldehyde allowed alternative antileishmanial, appeared bold borneol brucei, brucei. cajucara chagasi characteristics cis- components, compositions concentrations, constituent, controle courier; cycle das described disease, electron em; families flagellar following follows: fraction germacrone immunomodulatory importance infantum, influence investigation isothiocyanate large larvae larval leading leishmaniasis, linalool-rich majority malacophyllum mediated medicine, minority model murine need p-mentha-,-dienol parasitemia parasitic pentamidine pentamidine, peritoneal phase phenological populations position potency primarily produced protozoa pt;} quinquefasciatus ranged relationships resistant ring riparia risk sensitive sickness size sleeping sp. spathulenol specially species. stage, structure structures study, subfraction subfractions synergistic terpenes tested, toxic trans- treat treatments trypanosomatid values, verum weak years β-acetoxyfuranoeudesm-()-ene mg/kg


logic
Contents
6.6. logic#
Some notes on logic based on Berkeley’s CS 188 course and “Artificial Intelligence” Russel & Norvig 3rd Edition + foundations of rule learning (furnkranz et al. 2014)
6.6.1. logical agents - 7.1-7.7 (omitting 7.5.2)#
knowledge-based agents - intelligence is based on reasoning that operates on internal representations of knowledge
deductive - general-to-specific
inductive - specific-to-general
3 steps: given a percept, the agent
adds the percept to its knowledge base (KB)
asks the knowledge base for the best action
tells the knowledge base that it has taken that action
2 approaches
declarative approach - tell sentences until agent knows how to operate
know something, can verbalize it
procedural approach - encodes desired behaviors as program code
intuitively know how to do it (ex. riding a bike)
ex. Wumpus World
logical entailment between sentences
\(A \vDash B\) means B follows logically from A (A implies B)
logical inference - showing entailment
model checking - try everything to see if A \(\implies\) B
this is sound = truth-preserving
complete - can derive any sentence that is entailed
TT-ENTAILS
recursively enumerate all sentences by assigning true, false to each variable
check if these are valid within the KB
if they are, they must also match the query (otherwise return false)
grounding - connection between logic and real environment (usually sensors)
theorem properties
validity - tautalogy - true under all models
satisfiable - true under some model
ex. boolean-SAT
monotonicity - set of implications can only increase as info is added to the knowledge base
if \(KB \implies A\) then \(KB \land B \implies A\)
<IP_ADDRESS>. theorem proving#
resolution rule - resolves different rules with each other - leads to complete inference procedure
CNF - conjunctive normal form - conjunction (and) of clauses (with ors)
ex: \( ( \neg A \lor B) \land \neg C \land (D \lor E)\)
anything can be expressed as this
horn clause - at most one positive
definite clause - disjunction of literals with exactly one positive: ex. (\(A \lor \neg B \lor \neg C\))
goal clause - no positive: ex. (\(\neg A \lor \neg B \lor \neg C\))
benefits
easy to understand
forward-chaining / backward-chaining are applicable
deciding entailment is linear in size (KB)
forward/backward chaining: checks if q is entailed by KB of definite clauses
data-driven
keep adding until query is added or nothing else can be added
backward chaining works backwards from the query
goal-driven
keep going until get back to known facts
checking satisfiability
complete backtracking
davis-putnam algorithm = DPLL - like TT-entails with 3 improvements
early termination
pure symbol heuristic - pure symbol appears with same sign in all clauses, can just set it to the proper value
unit clause heuristic - clause with just one literal or one literal not already assigned false
other improvements (similar to search)
component analysis
variable and value ordering
intelligent backtracking
random restarts
clever indexing
local search
evaluation function can just count number of unsatisfied clauses (MIN-CONFLICTS algorithm for CSPs)
WALKSAT - randomly chooses between flipping based on MIN-CONFLICTS and randomly
runs forever if no soln
underconstrained problems are easy to find solns
satisfiability threshold conjecture - for random clauses, probability of satisfiability goes to 0 or 1 based on ratio of clauses to symbols
hardest problems are at the threshold
<IP_ADDRESS>. agents based on propositional logic#
fluents = state variables that change over time
can index these by time
effect axioms - specify the effect of an action at the next time step
frame axioms - assert that all propositions remain the same under actions
succesor-state axiom: \(F^{t+1} \iff ActionCausesF^t \lor (F^t \land -ActionCausesNotF^t )\)
ex. \(HaveArrow^{t+1} \iff (HaveArrow^t \land \neg Shoot^t)\)
makes things stay the same unles something changes
state-estimation: keep track of belief state
can just use 1-CNF (conjunctions of literals: ex. \(WumpusAlive \land L_2 \land B\))
1-CNF includes all states that are in fact possible given the full percept history
conservative approximation - contains belief state, but also extraneous stuff
planning
could use \(A^*\) with entailment
otherwise, could use SATPLAN
SATPLAN - how to make plans for future actions that solve the goal by propositional inference
basic idea
make assertions
transitions up to some max time \(t_{final}\)
assert that goal is achieved at time \(t_{final}\) (ex. havegold)
present this to a SAT solver
must add precondition axioms - states that action occurrence requires preconditions to be satisfied
ex. can’t shoow without arrow
must add action exclusion axioms - one action at a time
ex. can’t shoot and move at once
6.6.2. first-order logic - 8.1-8.3.3#
basically added objects, relations, quantifiers (\(\exists, \forall\))
declarative language - semantics based on a truth relation between sentences and possible worlds
has compositionality - meaning decomposes
sapir-whorf hypothesis - understanding of the world is influenced by the language we speak
3 elements
objects - john (cannot appear by itself, need boolean value)
relations - set of tuples (ex. brother(richard, john))
functions - only one value for given input (ex. leftLeg(john))
sentences return true or false
combine these things
first-order logic assumes more about the world than propositional logic
epistemological commitments - the possible states of knowledge that a logic allows with respect to each fact
higher-order logic - views relations and functions as objects in themselves
first-order consists of symbols
constant symbols - stand for objects
predicate symbols - stand for relations
function symbols - stand for functions
arity - fixes number of args
term - logical expresision tha refers to an object
atomic sentence - formed from a predicate symbol optionally followed by a parenthesized list of terms
true if relation holds among objects referred to by the args
ex. Brother(Richard, John)
interpretation - specifies exactly which objects, relations and functions are referred to by the symbols
6.6.3. inference in first-order logic - 9.1-9.4#
propositionalization - can convert first-order logic to propositional logic and do propositional inference
universal instantiation - we can infer any sentence obtained by substituting a ground term for the variable
replace “forall x” with a specific x
existential instantiation - variable is replaced by a new constant symbol
replace “there exists x” with a specific x that give a name (called the Skolem constant)
only need finite subset of propositionalized KB - can stop nested functions at some depth
semidecidable - algorithms exist that say yes to every entailed sentence, but no algorithm exists that also says no to every nonentailed sentence
generalized modus ponens
unification - finding substitutions that make different logical expressions look identical
UNIFY(Knows(John,x), Knows(x,Elizabeth)) = fail .
use different x’s - standardizing apart
want most general unifier
need occur check - S(x) can’t unify with S(S(x))
storage and retrieval
STORE(s) - stores a sentence s into the KB
FETCH(q) - returns all unifiers such that the query q unifies with some sentence in the KB
only try to unify reasonable facts using indexing
query such as Employs(IBM, Richard)
all possible unifying queries form subsumption lattice
forward chaining: start w/ atomic sentences + apply modus ponens until no new inferences can be made
first-order definite clauses - (remember this is a type of Horn clause)
Datalog - language restricted to first-order definite clauses with no function symbols
simple forward-chaining: FOL-FC-ASK - may not terminate if not entailed
pattern matching is expensive
rechecks every rule
generates irrelevant facts
efficient forward chaining (solns to above problems)
conjuct odering problem - find an ordering to solve the conjuncts of the rule premise so the total cost is minimized
requires heuristics (ex. minimum-remaining-values)
incremental forward chaining - ignore redundant rules
every new fact inferred on iteration t must be derived from at least one new fact inferred on iteration t-1
rete algorithm was first to do this
irrelevant facts can be ignored by backward chaining
could also use deductive database to keep track of relevant variables
backward-chaining
simple backward-chaining: FOL-BC-ASK
is a generator - returns multiple times, each giving one possible result
like DFS - might go forever
logic programming: algorithm = logic + control
ex. prolog
a lot more here
can have parallelism
redudant inference / infinite loops because of repeated states and infinite paths
can use memoization (similar to the dynamic programming that forward-chaining does)
generally easier than converting it into FOLD
constraint logic programming - allows variables to be constrained rather than bound
allows for things with infinite solns
can use metarules to determine which conjuncts are tried first
6.6.4. classical planning 10.1-10.2#
planning - devising a plan of action to achieve one’s goals
Planning Domain Definition Language (PDDL) - uses factored representation of world
closed-world assumption - fluents that aren’t present are false
solving the frame problem: only specify result of action in terms of what changes
requires 4 things (like search w/out path cost function)
initial state
actions
transitions
goals
no quantifiers
set of ground (variable-free) actions can be represented by a single action schema
like a method with precond and effect
\(Action(Fly(p, from, to))\):
PRECOND: \(At(p, from) \land Plane(p) \land Airport(from) \land Airport(to)\)
EFFECT: \(\neg At(p, from) \land At(p, to)\)
can only use variables in the precondition
problems
PlanSAT - try to find plan that solves a planning problem
Bounded PlanSAT - ask whether there is a soln of length k or less
<IP_ADDRESS>. algorithms for planning as state-space search#
forward (progression) state-space search
very inefficient
generally forward search is preferred because it’s easier to come up with good heuristics
backward (regression) relevant-states search
PDLL makes it easy to regress from a state description to the predecessor state description
start with a set of things in the goal (and any other fluent can hae any value)
keep track of a set at all points
in going backward, the effects that were added need not have been true before, but preconditions must have held before
heuristics
ex. ignore preconditions
ex. ignore delete lists - remove all negative literals
ex. state abstractions - many-to-one mapping from states \(\to\) abstract states
ex. ignore some fluents
decomposition
requires subgoal independence
6.6.5. fuzzy logic (lofti zadeh)#
ex blog post
fuzzy sets - instead of binary membership, can have partial membership \(\in [0, 1]\)
intersection of sets - usually take min over memberships
union of sets - usually take max over memberships
6.6.6. foundations of rule learning (furnkranz et al. 2014)#
terminology - rule has a condition (conjunctive of binary features) + a conclusion = implication
rule has 2 parts
antecedent = body - consists of conditions = binary features e.g. \(X_1 > 0\), \(X_2=0\)
conclusion = consequent* = head
rule \(r\) has length L
\(P, N\) - total positives / negatives in the data
\(TP =\hat P, FP =\hat N\) - positives / negatives covered (predicted) by a rule
\(FN, TN\) - positives / negatives not covered by a rule
\(\frac{TP}{P}\) = true positive rate = sensitivity
\(\frac{TN}{N}\) = true negative rate = specificity
rules evaluated with a heuristic \(H(\hat P, \hat N)\)
<IP_ADDRESS>. categorization of tasks (ch 1)#
historically, a lot of this was developed in the data mining community and gave rise to packages such as WEKA, RAPID-I, KNIME, ORANGE
historical algos: AQ2 (michalski, 1969), PRISM (cendrowska, 1987), CN2 (Clar & nibett, 1989), FOIL (quinlan, 1990), RIPPER (cohen 1995), PROGOL (muggleton, 1995), ALEPH (srinivasan, 1999) - entire rule workbench in one prolog file, OPUS (webb, 1955), CBA (lui et al. 1998)
predictive rules
propositional learning (just propositional logic) v relational learning (first-order logic) = relational data mining = inductive logic programming
concept learning - binary classification task
complete rule set \(\mathcal R\) - covers all positive examples (recall = 1)
consistent - rule set \(\mathcal R\) - covers no negative examples (precision = 1)
descriptive data mining - usually unsupervised, just learn patterns
associative rule learning is unsupervised descriptive (e.g. APRIORI)
here, both the conditions + conclusions can have many features
subgroup discovery is descriptive, but has a supervised label, so is actually like supervised clustering - goal is to learn subgroups with a significantly different class distribution than the entire population
relational learning - when data doesn’t fit in a table but is associated (e.g. customers have many purchases each)
<IP_ADDRESS>. basics of learning rules (ch 2)#
finding rules is basically a search problem
want to find best rules (generally bigger coverage, less complexity, higher accuracy)
can thing of it as searching on a refinement graph - each rule is a node and refinement operators connect rules
stopping criteria
threshold for some heuristic
making final prediction
final predictions can be made via majority vote, using most accurate rule, or averaging predictions.
algorithms
sequential covering (remove covered points after each rule)
<IP_ADDRESS>. (binary split) features (ch 4)#
here, feature means something binary that we split on
selector is smth of the form \(A_i \sim v_{i, j}\) where relation \(\sim\) is like \(=, >=, <=\)
can also be attribute sets (internal disjunctions) \(A_i \in \{v_1, v_2, v_3 \}\), intervals (range operators), or attribute sets (internal conjunctions)
can also be simple combinations of binary variables
relational features - function between features (e.g. length > height)
can have splits that are functions of previous splits (like a residual DNN connection)
many algorithms start by making a covering table = table of binary values for all possible (reasonable) splits for all features
split on all categorical features
split between all values of continuous features (or ordered discrete)
can compute relational features (e.g. \(A_1 - A_2\)) by just adding these as features
feature relevancy
\(pn-pair\): pair of training examples where one is positive and one is negative
totally irrelevant features - don’t distinguish between any positive/negative examples
a feature \(f_1\) is more relevant than another \(f_2\) if it separates all the \(pn\)-pairs that \(f_2\) does and more
can also manually set thresholds on TP, FP to decide irrelevance
missing values
different types
missing - was not measured but should have been
not applicable - e.g. pregnant for a male
don’t care - could be anything
basic strategies
delete incomplement examples
treat missing as special value
impute w/ mean/median/linear prediction
fill in prob distr. over missing val
pessimistic value strategy - imputed values shouldn’t differentiate between classes - set value so it doesn’t get used (e.g. false for positive class and true for neg class)
imprecise values - continuous values with noise
might want to test variables with \(\pm \delta\) handled with pessimistic value strategy
fuzzy rules - probabilistically split
<IP_ADDRESS>. relational features (ch 5)#
these kinds of task use relational background knowledge + databases
ex. from knowledge about things like female(X), parent(X, Y), learn that daughter(X, Y):= female(X) , parent(Y, X)
allow \(\forall, \exists\)
<IP_ADDRESS>. learning single rules (ch 6)#
search problem to maximize some criteria subject to some constraints
top-down - start with large cover then go to small
bottom-up - start with high-sensitivity, low cover rules then go larger
search algos
exhaustive search
hill-climbing = local-search - can make less myopic by considering multiple refinements at a time
beam-search - keep k best candidates
best-first search - beam search but keep all candidates
ordered search - prune the search space based on knowledge (e.g. order splitting values)
level-wise search (e.g. apriori) - generate in parallel all rules with a certain minimum quality
stochastic search - involves randomness
search directions: combine top-down (specialization) with bottom-up (generalization)
<IP_ADDRESS>. rule evaluation measures (ch 7)#
sometimes we only evaluate the quality of covered rules (e.g. rule list) whereas sometimes we evaluate quality of disjoint sets (e.g. both sides of decision tree split)
common heuristics are rules that cover a lots of samples or rules that are simple
equivalent heuristics: compatible heuristics \(H\), \(G\) rank rules in the same order (antagonistic rank rules in opposite order)
axes to evaluate rules (want to be close to top-left):
list of metrics (to maximize), all basically trade of recall / precision
\(Specificity = TN / N\)
\(Sensitivity = Recall = TP / P\)
\(Support = TP / (P + N)\)
\(CovDiff = TP - FP\)
equivalent to classification \(Accuracy=(TP + TN) / (P + N)\)
\(Coverage = (TP + FN) / (P + N)\) - fraction of points covered
\(RateDiff = TP / P - FP / N\)
this is equivalent to more general weighted relative accuracy \(LinCost = a \cdot TP - b \cdot FP\)
\(Precision = TP / \underbrace{(TP + FP)}_{\text{predicted pos}}\) (sometimes called confidence or rule accuracy)
RIPPER’s pruning heuristic \((TP - FP) / (TP + FP)\) is equivalent to precision
covering ratio \(TP / FP\) is equivalent to precision
information-theoretic measures
\(Info = -\log_2 Precision\)
\(Entropy = - (Prec \cdot \log_2 Prec + (1-Prec) \cdot \log_2 (1-Prec))\)
when \(TP \leq FN\), same as precision and when \(TP > FN\) opposite of precision
originally developed for case where we aren’t covering positive examples but rather predicting with majority class
also KL-divergence and Gini index
\(Laplace(r) = (TN + 1)/(TP+1+FP+1)\) - pad all the values by 1 to adjust scores when numbers are small
likelihood ratio statistic - compare distr in rule to distr in full dataset
complexity-based heuristics
\(Length\)
\(MDL(r) = I(r) + I(\epsilon|r)\)
hard to compute


--- layout: post date: 2010-12-13 time: "09:00:00" authors: ["Greg Wilson"] title: Slides for First Five OO Episodes Online tags: ["Content"] ---
Slides for the first five episodes of our lecture on object-oriented programming are now online; we'd welcome feedback on the approach we're taking. If you like what you see, we'll try to have recordings up before the holiday break.