text:
Kevin Annett "Radio Free Kanata" FIRST PRINCIPLES OF COMMON LAW – Sunday 3 pm PST
Posted by stevew | Nov 26, 2016 | 2016, Daily Blog, Equality, Government Laws, Policies, Politicians, Military | 0 |
BBS Radio Free KanataLISTEN to Kevin's weekly blog program "Radio Free Kanata" every Sunday at 3 pm pacific, 6 pm eastern time at www.bbsradio.com/radiofreekanata
First Principles of the Common Law – general framework for this Sunday's Radio Free Kanata workshop
This Sunday November 27 on Radio Free Kanata:
A Workshop on the Common Law Revolution
Live at 3 pm pacific, 6 pm eastern on www.bbsradio.com/radiofreekanata
Canada, England and all other "Crown" nations are convicted criminal regimes whose lawful authority is null and void. Every free born man and woman in these countries is obligated now to break free from such tyrannies and establish a new sovereign jurisdiction of self-governing nations under the common law.
How can this revolution be enacted today, in our local communities? What is the procedure for convening common law courts to establish sovereign Republics of Equals? How do we protect our liberties and our communities from a criminal corporatocracy?
Your hosts Kevin Annett and Ryan Gable will answer these questions as they conduct an online workshop on the "how to" behind the common law Republic movement. Please send your suggestions and questions to republicofkanata@gmail.com before the program.
Natural Liberty and the Basis of Common Law Courts: First Principles
Every man, woman and child is born and is by nature free, equal and sovereign, and possesses an inherent knowledge of what is true and right. Accordingly, no-one can be subordinated to another or to any external authority, since every person's inherent wisdom and liberty makes them complete and sufficient creations in themselves, within a wider community of equals. It is the Divine Law of Creation that these indwelling and unalienable liberties cannot be abolished or diminished by any authority, law, government or religion. Any power that attempts to do so is tyrannical and illegitimate, even if it operates according to its own laws – for such tyranny is a denial of the natural order and an attack upon divinity and humanity.
This personal sovereignty is a reflection of the wider Natural Law, whereby all life by nature is indivisible and placed in common for the survival and happiness of all. In any just society, this commonality endows all people with the unalienable right to establish among themselves their own governance, and defend themselves against any tyranny or violence, including that inflicted by external authorities. Any authority that rules unjustly and arbitrarily, without the free and non-coerced consent of the people, has lost its
right to rule and can be lawfully overthrown."Unjust government is not government but tyranny" – Plato
This Natural Law gives rise to customary Common Law whose purpose is to protect the inherent liberties and sovereignty of men and women in a community by maintaining equity and peace among them. The Common Law derives its authority from the people themselves, and from the capacity of the people to know what is just and to judge right and wrong for themselves. This capacity is expressed in a jury system of twelve freely chosen people who are the ultimate judge and authority under Common Law and its courts.
Historically, Common Law arose in England after the 11th century Norman Conquest as a bulwark in defense of the people against the arbitrary rule of self-appointed elites, especially monarchs and popes. The authority of these elites was derived unnaturally, from warfare, violent conquest and the theft of the earth, rather than from the consent of the community and its basis, the divine law of peace and equality. This elite rule arose most strongly in the Roman Empire and its descendant, the Church of Rome, under whose beliefs "god" is a dominator and conqueror ("domine"), and all people are "subjects" of the Pope.
Such a conquest-based rule of papal and kingly elites gave rise to a legal system known as Civil or Roman Law, and the belief that men and women are not endowed with the capacity for self-rule and wisdom. All law and authority is therefore derived externally, from statutes devised and imposed by a ruler, whether a pope, a monarch or a government. This system developed from Aristotelian philosophy and Roman property law in which creation is divided and human beings are treated as chattels and the possessions of others, and are thereby devoid of inherent liberties. The people are thus in every sense enslaved, cut off from the world given freely and in common to all. This slave system ranks and categorizes all people, and grants restricted "freedoms" (freithoms, or slave privileges) that are defined and limited through statutes issued by rulers.
Common and Civil (Roman) Law are therefore fundamentally opposed and are at war with each other. They cannot be reconciled, since they arise from two completely different notions of humanity and justice: Common Law knows life as a free gift given equally to all, while under Civil Law, life is a conditional privilege, and humanity is a managed slave populace. Accordingly, governments operate in practice according to Civil (statute) law and denigrate or ignore Common Law altogether through the rule of unaccountable judge-dominated courts.
The most extreme form of elite-based Civil/Roman Law is what is called Papal or Canon Law, which defines the Church of Rome as the only legitimate authority on earth to which all other laws, people and governments are subordinate. Canon law is self-governing and completely unaccountable to anything but itself. Behind its front of Christian rhetoric, Roman Catholicism is a neo-pagan cult based upon the late 3rd century Roman Emperor-worship system known as Sol Invictus, in which one sovereign entitled "God and Master" (Deus et Dominus) rules heaven and earth: specifically, the Pope. This tyrannical cult has not surprisingly caused more warfare, genocide, conquest and murder than any power in human history, and continues to constitute the single greatest threat to Common Law and human liberty.
The Church of Rome was the first and is the oldest corporation on our planet: a legal entity designed for the protection of tyrants, which nullifies the individual liability and responsibility of the elites for any crime or conquest they perpetrate. From Rome and the Vatican Incorporated has spread the contagion that now threatens to destroy our planet and our lives, as unaccountable corporate oligarchy everywhere subverts liberty and the health of our planet by subordinating all of life to profit and power.
At this very moment of corporate conquest and its subjugation of humanity, a counter-movement is arising to reassert the divine purpose and its operation through the Common Law, and to restore the earth and humanity to their natural being as a common body. This movement is foretold Biblically and in prophecy as the time when all people are returned to their natural equality, devoid of all divisions, privileges and oppression, in order live in harmony with creation and one another.
This restoration of humanity is a divine purpose, and begins by actively dis-establishing all existing corporate authority and institutions derived from Roman civil law, and replacing them with a new governance under Common Law jurisdiction. The creation of that new Natural Law authority among a liberated humanity is the fundamental purpose of the Common Law Courts.
Kevin Annett was re-nominated for the Nobel Peace Prize in 2015. Messages for him can be left at 386-323-5774 (USA).
Kevin's latest books – "Unrelenting: Between Sodom and Zion", "Murder by Decree: The Crime of Genocide in Canada", and "Truth Tellers' Shield: A Manual for Whistle Blowers" – can be accessed and ordered at these sites:
Unrelenting: https://www.createspace.com/6052421
Murder by Decree: https://www.createspace.com/6085632
This book is also posted online at www.murderbydecree.com .
Truth Tellers' Shield: https://www.createspace.com/6534773
LISTEN to Kevin's weekly blog program "Radio Free Kanata" every Sunday at 3 pm pacific, 6 pm eastern time at www.bbsradio.com/radiofreekanata .
See the evidence of Genocide in Canada at http://www.hiddennolonger.com/urderbydecree.com and at the website of The International Tribunal into Crimes of Church and State at www.itccs.org and at https://www.youtube.com/watch?v=xw5DwVlaspY .
Kevin's award winning documentary film Unrepentant can be viewed at https://www.youtube.com/watch?v=88k2imkGIFA . See also: https://www.youtube.com/watch?v=x5HKRJTfp7U
The complete Common Law Court proceedings of Genocide in Canada are found at:
https://www.youtube.com/watch?v=UvhfXAd08TE – Common Law Court Proceedings – Genocide in Canada (Part One) – 1 hr. 46 mins.
https://www.youtube.com/watch?v=OPKFk_L7y9g – Common Law Court Proceedings – Genocide in Canada (Part Two) – 1 hr. 47 mins.
https://www.youtube.com/watch?v=ormOIlOi4Vc – Final Court Verdict and Sentencing – 8 mins. 30 secs.
https://www.youtube.com/watch?v=IylfBxm3sMg – Authorizations and Endorsements of ITCCS/Kevin Annett by indigenous eyewitnesses – 10 mins.
https://www.youtube.com/watch?v=CReISnQDbBE – Irene Favel, Eyewitness to the incineration of a newborn baby by a priest at Muscowegan Catholic Indian school, Saskatchewan, 1944
https://www.youtube.com/watch?v=RBUd3UXt6fI – Other key testimonies from our Court case against genocide in Canada
The first excavation at a mass grave residential school site: Mohawk school, 2011
http://itccs.org/mass-graves-of-children-in-canada-documented-evidence/
See also an insightful personal interview "Who is Kevin Annett?" (2013) at:https://www.youtube.com/watch?v=AY4h3hDjOYM
and eyewitness to the crimes: Dr. Jennifer Wade at: https://www.youtube.com/watch?v=x5HKRJTfp7U
An army of principles will penetrate where an army of soldiers cannot. For such is the irresistible nature of truth that all it asks, and all it wants, is the liberty of appearing. – Thomas Paine, Common Sense
PreviousNYTimes's Defense Of PizzaGate DC Pedophiles Blown Apart by David Seaman [VIDEO]
NextIntuitive Astrology: November New Moon 2016


As devastating wildfires continue to rage in the City of Fort McMurray and surrounding areas, Canadians are rallying to support their fellow citizens.
If you are in a position to help or need assistance, please consider the resources below.
Donate to the Red Cross: The Red Cross is accepting financial donations in order to provide emergency assistance services such as food, clothing, and shelter.
YMMHelps is a great, new resource to assist those affected by the Fort McMurray wildfires. It's an off-shoot of the Fort McMurray Evacuee Open Source Help Facebook page connecting evacuees with residents who have resources available to help and is endorsed by the Alberta Emergency Management Agency (AEMA) and the Canadian Association of Petroleum Producers (CAPP).
Here is how you can help or get help: this website is conglomerating information on how you can help individuals in Fort McMurray and how you can request help.
The Alberta Emergency Alert page: This is the Government of Alberta's website that will give up to date information on the wildfire. They also have an app.
Twitter is also another good source of information, with the most common hashtags used being: #ymmfire, #ymmhelps, #ymm, #ABfire and #ABemerg. You can also follow @AB_EmergAlert and the R.M. of Wood Buffalo (@RMWoodBuffalo) for more information.
Also, families and individuals who have been evacuated can call the Red Cross Family Reunification line at 1-888-350-6070 with inquiries or to register. Registering helps reconnect family members and enables response agencies to mobilize resources.
If you are in need of community or social services, call 211 to speak to an information or referral specialist. Resources are also available at www.ab.211.ca.
Also, for parents and students there are resources available for students who have been relocated to Edmonton and Calgary.
Our thoughts are with everyone affected by this tragic event.
Please stay safe and support each other.


Gusto is a modern cloud-based payroll solution that does away with the overly complex nature of traditional payroll and replaces it with an advanced solution that connects employers to their employees in a refreshingly simple way. As a new kind of payroll solution designed to overhaul the stressful and technical payroll experience, Gusto electronically integrates compliance and employee payment into one comprehensive system that takes care of the hard work behind the scenes.
How does data integration work between FingerCheck and Gusto?
Log onto your FingerCheck account and go to "Setup." From the drop down menu on the left, select "Payroll Menu."
Click on "Payroll Exports," then click on "Add" to set up a new payroll integration.
Next, create a "Code" and "Description" for your new integration and be sure to select ZenPayroll as the "Export Type" from the drop down menu (we haven't yet changed the software to display Zenpayroll's new name, Gusto). Then click "Authorize."
You should instantly be brought to a page which will either ask you to log in or to authorize access to your account. Click "Authorize."
* Tip: If you are not brought to this page, check your pop-up blocker settings.
Now you are all done! Your integration should appear in your "Payroll Exports" window.
Click here to learn how to export your time sheets to Gusto.


text:
US8856764B2 - Distributed static analysis of computer software applications - Google Patents
Distributed static analysis of computer software applications Download PDF
US8856764B2 US13/012,804 US201113012804A US8856764B2 US 8856764 B2 US8856764 B2 US 8856764B2 US 201113012804 A US201113012804 A US 201113012804A US 8856764 B2 US8856764 B2 US 8856764B2
Expired - Fee Related, expires 2032-10-07
Marco Pistoia
Omer Tripp
Omri Weisman
International Business Machines Corp
2011-01-25 Application filed by International Business Machines Corp filed Critical International Business Machines Corp
2011-01-25 Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PISTOIA, MARCO, WEISMAN, OMRI, TRIPP, OMER
238000004458 analytical methods Methods 0 abstract claims description title 97
230000003068 static Effects 0 abstract claims description title 86
239000003795 chemical substance by application Substances 0 claims description 151
238000000034 methods Methods 0 claims description 29
238000004590 computer program Methods 0 claims description 23
239000011162 core materials Substances 0 claims description 16
238000003860 storage Methods 0 claims description 14
230000003993 interaction Effects 0 claims description 5
230000000875 corresponding Effects 0 claims 4
230000001960 triggered Effects 0 claims 2
230000000717 retained Effects 0 description 3
239000003365 glass fiber Substances 0 description 2
210000003666 Nerve Fibers, Myelinated Anatomy 0 description 1
239000004567 concrete Substances 0 description 1
G06F8/00—Arrangements for software engineering
G06F8/70—Software maintenance or management
G06F8/75—Structural analysis for program understanding
G06F11/00—Error detection; Error correction; Monitoring
G06F11/36—Preventing errors by testing or debugging software
G06F11/3604—Software analysis for verifying properties of programs
A method for distributed static analysis of computer software applications, includes: statically analyzing instructions of a computer software application; identifying at least one entry point in the computer software application; assigning a primary agent to statically analyze the computer software application from the entry point; assigning a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site; and presenting results of any of the static analyses via a computer-controlled output device.
The present invention relates to computer software analysis and testing in general.
Designers of tools that perform static analysis on computer software applications are often faced with finding the right balance between precision and performance/scalability. The more accurate the analysis results are expected to be, the more information the analysis needs to maintain and reason about, which leads to degradation in performance/scalability. Some tools attempt to address this issue by statically analyzing software libraries on which software applications typically depend, and producing summaries of the behavior of the software libraries. Thereafter, when a target software application is statically analyzed, the software libraries need not be analyzed, as their summaries are used instead. This enables the static analysis of a target software application to scan less code without compromising precision, provided the libraries were statically analyzed using a precise analysis. However, this approach does have its costs, as the summaries must be maintained in storage, preferably of a type that provides efficient access when the target software application is statically analyzed. Furthermore, as such summaries are currently prepared without advance knowledge of the specific characteristics of the various target software applications that are to be statically analyzed, or of the analyses themselves, the summaries need to be exhaustive in order to adequately anticipate different sets of such characteristics, typically resulting in a cumbersome summary generation process that generates huge summaries. Another problem is that such summaries are often overly conservative, as they need to account for all possible client behaviors.
In one aspect of the present invention, a method is provided for distributed static analysis of computer software applications, the method including: statically analyzing instructions of a computer software application; identifying at least one entry point in the computer software application; assigning a primary agent to statically analyze the computer software application from the entry point; assigning a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site; and presenting results of any of the static analyses via a computer-controlled output device.
A system and computer program product embodying the present invention are also provided.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:
FIG. 1 is a conceptual illustration of a system for distributed static analysis of computer software applications in accordance with an embodiment of the present invention;
FIG. 2 is a flowchart illustration of an exemplary method of operation of the system of FIG. 1 in accordance with an embodiment of the present invention;
FIG. 3 is an example of computer software application instructions in accordance with an embodiment of the present invention; and
FIG. 4 is a block diagram illustration of an exemplary hardware implementation of a computing system in accordance with an embodiment of the present invention.
The present invention is now described within the context of one or more embodiments, although the description is intended to be illustrative of the present invention as a whole, and is not to be construed as limiting the present invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the present invention.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system." Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical data storage device, a magnetic data storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Reference is now made to FIG. 1 which is a conceptual illustration of a system for distributed static analysis of computer software applications in accordance with an embodiment of the present invention. In the system of FIG. 1, a static analyzer 100 is configured to statically analyze the instructions of a computer software application in accordance with conventional techniques, such as where the instructions are in the form of source code or byte code. For each entry point in the computer software application identified by static analyzer 100, a primary agent manager 102 assigns a primary agent to begin statically analyzing the computer software application from the entry point and with respect thereto. An entry point is preferably an interaction interface exposed by the computer software application to sources of interaction that are external to the computer software application. Primary agent manager 102 may assign multiple primary agents to statically analyze the computer software application concurrently, with each primary agent statically analyzing the computer software application from a different entry point. Each primary agent is a computer process that is preferably executed by a single computer processor or single core of a multi-core computer processor, preferably where no two primary agents are executed by the same computer processor or core when multiple primary agents are operating concurrently. To this end, a pool 104 of primary agents may be maintained, where each primary agent waits to be assigned by primary agent manager 102 to an entry point, and where each primary agent is returned to pool 104 once it completes its static analysis of its assigned entry point.
When a primary agent encounters a call site, such as a reference to a method, procedure, or function that is external to the current method/procedure/function being analyzed, the primary agent checks whether a static analysis summary of the external method/procedure/function exists. If a summary does exist, such as where the summary was previously requested, generated, and retained in a data store of summaries 106, the requested summary is provided to the primary agent, whereupon the requesting primary agent proceeds with its analysis using the summary.
If a static analysis summary of the external method/procedure/function does not exist, the primary agent preferably suspends its analysis and issues a request for a static analysis summary of the external method/procedure/function, such as by placing the request on a designated queue of requests for static analysis summaries, such as a queue of summary requests 108. A secondary agent manager 110 assigns a secondary agent to statically analyze the called external method/procedure/function and produce an analysis summary thereof in accordance with conventional techniques. Secondary agent manager 110 may assign multiple secondary agents to statically analyze the computer software application concurrently, with each secondary agent statically analyzing a different call site Like primary agents, each secondary agent is preferably a computer process that is executed by a single computer processor or single core of a multi-core computer processor, preferably where no two secondary agents are executed by the same computer processor or core when multiple secondary agents are operating concurrently. Preferably, no two primary and/or secondary agents are executed by the same computer processor or core when multiple primary and/or secondary agents are operating concurrently, and preferably the number of primary and secondary agents is equal to the number of cores on the machine(s) available for the analysis. Secondary agents may also be maintained in a pool 112 of secondary agents. While the requesting primary agent suspends its analysis, the secondary agent may be executed by the requesting primary agent's processor or core. Once the secondary agent has produced the requested summary, the summary is preferably retained in the data store of summaries 106, and the requested summary is provided to the requesting primary agent, whereupon the requesting primary agent proceeds with its analysis using the summary.
When checking for an existing summary or making the request for a summary, the primary agent preferably specifies an abstraction of concrete values for each argument required by the call site, where an abstraction is computed based on the characteristics of the call site and the state of the computer software application when the call site is reached, where the state is determined as part of the static analysis performed by the primary agent. For example, if the call is to a method 'foo( )' that takes an argument of type 'int', and the static analysis abstraction of 'int' is 'odd' or 'even', then the request may be for a summary of the behavior of 'foo( )' given an 'odd' integer if the current state indicates that the argument will most likely be odd. If a summary exists that was previously produced with respect to at least the specified abstractions, the primary agent preferably uses the summary. Where such a summary does not exist, and is therefore produced by a secondary agent, the secondary agent preferably produces the static analysis summary only with respect to the abstractions specified by the primary agent.
Any of the elements shown in FIG. 1 are preferably executed by or otherwise made accessible to a computer 114 such as by implementing any of the elements in computer hardware and/or in computer software embodied in a physically-tangible, non-transitory, computer-readable medium in accordance with conventional techniques. The results of the static analysis performed by the system of FIG. 1 may be presented by static analyzer 100 to a user in accordance with conventional techniques via a computer-controlled output device such as a printer or computer monitor of computer 114.
Reference is now made to FIG. 2 which is a flowchart illustration of an exemplary method of operation of the system of FIG. 1 in accordance with an embodiment of the present invention. In the method of FIG. 2, static analysis is performed on the instructions of a computer software application in accordance with conventional techniques, such as where the instructions are in the form of source code or byte code (200). For each entry point in the computer software application identified during the static analysis, a primary agent is assigned to begin statically analyzing the computer software application from the entry point and with respect thereto (202). When a primary agent encounters a call site (204), such as a reference to a method, procedure, or function that is external to the current method/procedure/function being analyzed, the primary agent checks whether a static analysis summary of the external method/procedure/function exists (206). If the summary exists, such as where the summary was previously requested, generated, and retained, the summary is provided to the primary agent which proceeds with its analysis using the summary (214). If the summary does not exist, the primary agent preferably suspends its analysis (208) and issues a request for a static analysis summary of the external method/procedure/function (210), such as by placing the request on a designated queue of requests for static analysis summaries. When making the request, the primary agent preferably specifies one or more arguments based on the characteristics of the call site. A secondary agent is assigned to statically analyze the called external method/procedure/function as per the request, and produce an analysis summary thereof in accordance with conventional techniques (212). The summary is provided to the requesting primary agent which proceeds with its analysis using the summary (214). The results of the static analysis performed using the method of FIG. 2 may be presented to a user in accordance with conventional techniques via a computer-controlled output device such as a printer or computer monitor.
The system of FIG. 1 and method of FIG. 2, and particularly the interaction between primary and secondary agents, may be illustrated in the context of exemplary Java™ source code as shown in FIG. 3, where the type of static analysis being performed is taint analysis, where untrusted values are tracked to determine whether they flow into security-sensitive program points. In the example shown in FIG. 3, the values read from the 'args' array are untrusted, and the creation of a new file on the file system, accomplished by the call to 'new File( . . . )', is a security-sensitive operation. In accordance with the present invention, a primary agent is assigned to track 'args'. The primary agent encounters the flow 'args[0]--->fileName', and then determines that 'fileName' flows into the first (and only) formal argument of 'tempDirPrefix( . . . )'. At this point, the primary agent checks whether a summary exists of the flow across the site. If no summary is available, the primary agent suspends its analysis and submits a request for 'tempDirPrefix( . . . )' to be summarized assuming its first formal argument is tainted. A secondary agent is then assigned to generate the summary, resulting in the flow 'arg--->return', where 'return' denotes the return value from the call. The primary agent continues its analysis using the summary, proceeds to track 'tempFilePath', and observes that the latter variable flows into the 'File' constructor, at which point a vulnerability is flagged.
Referring now to FIG. 4, block diagram 400 illustrates an exemplary hardware implementation of a computing system in accordance with which one or more components/methodologies of the present invention (e.g., components/methodologies described in the context of FIGS. 1-3) may be implemented, according to an embodiment of the present invention.
As shown, the techniques for controlling access to at least one resource may be implemented in accordance with a processor 410, a memory 412, I/O devices 414, and a network interface 416, coupled via a computer bus 418 or alternate connection arrangement.
It is to be appreciated that the term "processor" as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry. It is also to be understood that the term "processor" may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
The term "memory" as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc. Such memory may be considered a computer readable storage medium.
In addition, the phrase "input/output devices" or "I/O devices" as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, scanner, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, printer, etc.) for presenting results associated with the processing unit.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be appreciated that any of the elements described hereinabove may be implemented as a computer program product embodied in a computer-readable medium, such as in the form of computer program instructions stored on magnetic or optical storage media or embedded within computer hardware, and may be executed by or otherwise accessible to a computer (not shown).
While the methods and apparatus herein may or may not have been described with reference to specific computer hardware or software, it is appreciated that the methods and apparatus described herein may be readily implemented in computer hardware or software using conventional techniques.
While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the present invention as a whole and is not to be construed as limiting the present invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the present invention.
1. A computer program product for distributed static analysis of computer software applications, the computer program product comprising:
a computer-readable storage medium not including signals per se; and
computer-readable program code embodied in the computer-readable storage medium, wherein the computer-readable program code is configured to:
statically analyze instructions of a computer software application,
identify at least one entry point in the computer software application,
assign, by a primary agent manager, a primary agent to statically analyze the computer software application from the entry point,
assign, by a secondary agent manager, a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site, wherein the call site comprises an external reference, and wherein the secondary agent is tasked with analyzing the external reference to produce the static analysis summary of the call site, wherein analysis of the external reference by the secondary agent is triggered by the static analysis performed by the primary agent when
i) the primary agent encounters the call site requiring static analysis,
ii) the primary agent issues a request to a summaries data store for the static analysis summary of the call site and the static analysis summary of the call site does not exist in the summaries data store, and
iii) the primary agent places a request for the static analysis summary of the call site on a queue of requests for static analysis summaries,
resume the primary agent's static analysis of the computer software application using the static analysis summary of the call site after the static analysis summary of the call site is produced,
present results of any of the static analyses via a computer-controlled output device, and wherein the assigning the primary agent and the assigning the secondary agent produce static analysis that is scalable and precise for the computer software application.
2. The computer program product of claim 1, wherein the computer-readable program code configured to assign the primary agent to statically analyze the computer software application form the entry point is further configured to:
check whether the static analysis summary of the call site exists in the summaries data store;
statically analyze the computer software application from the entry point using the static analysis summary of the call site if the static analysis summary of the call site exists; and
if the static analysis summary of the call site does not exist,
suspend the primary agent's static analysis of the computer software application,
issue the request for the static analysis summary of the call site, and
store the static analysis summary of the call site in the summaries data store.
3. The computer program product of claim 1, wherein the primary agent is a computer process that is executed by either a single computer processor or a single core of a multi-core computer processor.
4. The computer program product of claim 1, wherein the computer-readable program code configured to assign the primary agent to statically analyze the computer software application from the entry point is further configured to:
assign a plurality of primary agents to statically analyze the computer software application from a plurality of entry points of the computer software application,
wherein each of the plurality of primary agents statically analyzes a different one of the plurality of entry points, and
wherein the plurality of primary agents operate concurrently.
assign the primary agent from a pool and returning the primary agent to the pool once the primary agent completes the primary agent's static analysis of the primary agent's assigned entry point.
6. The computer program product of claim 1, wherein the secondary agent is a computer process that is executed by either a single computer processor or a single core of a multi-core computer processor.
7. The computer program product of claim 1, wherein the computer-readable program code configured to assign the secondary agent to statically analyze the call site encountered by the primary agent and produce the static analysis summary of the call site is further configured to:
assign a plurality of secondary agents to statically analyze a plurality of call sites and produce a corresponding plurality of static analysis summaries,
wherein each of the plurality of secondary agents statically analyzes a different one of the plurality of call sites, and
wherein the plurality of secondary agents operate concurrently.
assign the secondary agent from a pool and returning the secondary agent to the pool once the secondary agent completes the secondary agent's static analysis of the secondary agent's assigned call site.
9. The computer program product of claim 1, wherein the computer-readable program code configured to assign the primary agent to statically analyze the computer software application from the entry point is further configured to assign a plurality of primary agents to statically analyze the computer software application from a plurality of entry points of the computer software application,
wherein the computer-readable program code configured to assign the secondary agent to statically analyze the call site encountered by the primary agent and produce the static analysis summary of the call site is further configured to assign a plurality of secondary agents to statically analyze a plurality of call sites and produce a corresponding plurality of static analysis summaries,
wherein each of the plurality of primary agents statically analyzes a different one of the plurality of entry points,
wherein the plurality of primary agents and secondary agents operate concurrently.
10. The computer program product of claim 2 wherein when the computer-readable program code is configured to assign a primary agent to statically analyze the computer software application, the computer-readable program code is further configured to:
specify an abstraction for each argument required by the call site, wherein the abstraction is specified by the primary agent when the primary agent:
i) checks whether the static analysis summary of the call site exists, and
ii) issues the request for the static analysis summary of the call site, and
produce the static analysis summary of the call site with respect to the each specified abstraction.
11. A system for distributed static analysis of computer software applications, the system comprising:
one or more processors; and
a computer-readable storage medium comprising computer-readable program code embodied in the computer-readable storage medium, wherein the computer-readable program code is configured to:
statically analyze instructions of a computer software application;
identify at least one entry point in the computer software application;
assign, by a primary agent manager, a primary agent to statically analyze the computer software application from the entry point;
resume the primary agent's static analysis of the computer software application using the static analysis summary of the call site after the static analysis summary of the call site is produced;
present results of any of the static analyses via a computer-controlled output device, and
wherein the assigning the primary agent and the assigning the secondary agent produce static analysis that is scalable and precise for the computer software application.
12. The system of claim 11, wherein the computer-readable program code configured to assign a primary agent to statically analyze the computer software application from the entry point is further configured to:
check whether the static analysis summary exists of the call site in the summaries data store;
issue the request for a static analysis summary of the call site, and
store the static analysis summaries of the call site in the summaries data store.
13. The system of claim 11, wherein the entry point is an interaction interface exposed by the computer software application to a source of interaction that is external to the computer software application.
14. The system of claim 11, wherein the computer-readable program code configured to assign the primary agent to statically analyze the computer software application from the entry point is further configured to:
wherein the plurality of primary agents operate concurrently, and
wherein each of the primary agents are executed by a different computer processor or computer processor core.
15. The system of claim 11, wherein the call site is a reference to any of a method, a procedure, and a function that is external to a method, procedure, or function where the call site is found within the computer software application.
16. The system of claim 11, wherein the computer-readable program code configured to assign the secondary agent to statically analyze the call site encountered by the primary agent and produce the static analysis summary of the call site assign is further configured to:
wherein each of the plurality of secondary agents statically analyzes a different one of the plurality of call sites,
wherein the plurality of secondary agents operate concurrently, and
wherein each of the secondary agents are executed by a different computer processor or computer processor core.
17. The system of claim 11, wherein the computer-readable program code configured to assign the primary agent to statically analyze the computer software application from the entry point is further configured to assign a plurality of primary agents to statically analyze the computer software application from a plurality of entry points of the computer software application,
wherein the computer-readable program code configured to assign the secondary agent to statically analyze the call site encountered by the primary agent and produce the static analysis summary of the call site assign is further configured to assign a plurality of secondary agents to statically analyze a plurality of call sites and produce a corresponding plurality of static analysis summaries,
wherein the plurality of primary agents and secondary agents operate concurrently, and
wherein each of the primary agents and secondary agents are executed by a different computer processor or computer processor core.
US13/012,804 2011-01-25 2011-01-25 Distributed static analysis of computer software applications Expired - Fee Related US8856764B2 (en)
US13/012,804 US8856764B2 (en) 2011-01-25 2011-01-25 Distributed static analysis of computer software applications
US13/868,189 Continuation US8984493B2 (en) 2011-01-25 2013-04-23 Distributed static analysis of computer software applications
US13/012,804 Expired - Fee Related US8856764B2 (en) 2011-01-25 2011-01-25 Distributed static analysis of computer software applications
US9417985B2 (en) 2014-11-14 2016-08-16 Semmle Limited Distributed analysis and attribution of source code
US9823912B2 (en) * 2015-10-15 2017-11-21 Semmle Limited Data flow analysis with collapsed contexts
US10025699B2 (en) 2014-09-29 2018-07-17 Tata Consultancy Services Limited Method and system for reviewing of clustered-code analysis warnings
US8671187B1 (en) 2010-07-27 2014-03-11 Aerohive Networks, Inc. Client-independent network supervision application
US9569334B2 (en) * 2013-03-14 2017-02-14 Whitehat Security, Inc. Techniques for traversing representations of source code
US9948626B2 (en) 2013-03-15 2018-04-17 Aerohive Networks, Inc. Split authentication network systems and methods
US9690676B2 (en) * 2013-03-15 2017-06-27 Aerohive Networks, Inc. Assigning network device subnets to perform network activities using network device information
IN2013MU01201A (en) 2013-03-28 2015-04-10 Tata Consultancy Services Ltd
US9152782B2 (en) 2013-12-13 2015-10-06 Aerohive Networks, Inc. Systems and methods for user-based network onboarding
US9824214B2 (en) 2014-08-15 2017-11-21 Securisea, Inc. High performance software vulnerabilities detection system and methods
US9454659B1 (en) 2014-08-15 2016-09-27 Securisea, Inc. Software vulnerabilities detection system and methods
US9792443B1 (en) 2015-03-12 2017-10-17 Whitehat Security, Inc. Position analysis of source code vulnerabilities
US9582250B1 (en) * 2015-08-28 2017-02-28 International Business Machines Corporation Fusion recommendation for performance management in streams
US20180091541A1 (en) * 2016-09-28 2018-03-29 International Business Machines Corporation Providing efficient information tracking with dynamically selected precision
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
US6282701B1 (en) 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6542920B1 (en) * 1999-09-24 2003-04-01 Sun Microsystems, Inc. Mechanism for implementing multiple thread pools in a computer system to optimize system performance
US6721941B1 (en) 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US6745384B1 (en) * 1998-05-29 2004-06-01 Microsoft Corporation Anticipatory optimization with composite folding
US6823507B1 (en) * 2000-06-06 2004-11-23 International Business Machines Corporation Detection of memory-related errors in computer programs
US6904335B2 (en) * 2002-08-21 2005-06-07 Neal Solomon System, method and apparatus for organizing groups of self-configurable mobile robotic agents in a multi-robotic system
US20060212759A1 (en) 2005-03-18 2006-09-21 Microsoft Corporation Conformance testing of multi-threaded and distributed software systems
US20070016464A1 (en) * 2004-07-16 2007-01-18 John Yen Agent-based collaborative recognition-primed decision-making
US7177854B2 (en) * 2001-09-10 2007-02-13 Korea Advanced Institute Of Science And Technology Dynamic update cube and hybrid query search method for range-sum queries
US20070083933A1 (en) 2005-10-07 2007-04-12 Microsoft Corporation Detection of security vulnerabilities in computer programs
US7293259B1 (en) * 2003-09-02 2007-11-06 Sun Microsystems, Inc. Dynamically configuring selected methods for instrument-based profiling at application run-time
US7293260B1 (en) * 2003-09-26 2007-11-06 Sun Microsystems, Inc. Configuring methods that are likely to be executed for instrument-based profiling at application run-time
US20070288899A1 (en) * 2006-06-13 2007-12-13 Microsoft Corporation Iterative static and dynamic software analysis
US20080098207A1 (en) * 2006-10-24 2008-04-24 Alastair David Reid Analyzing diagnostic data generated by multiple threads within an instruction stream
US20080189696A1 (en) 2003-09-29 2008-08-07 International Business Machines Corp. Automatic customization of classes
US20090119549A1 (en) * 2005-01-28 2009-05-07 Vertes Marc P Method for counting instructions for logging and replay of a deterministic sequence of events
US7590978B2 (en) * 2005-04-15 2009-09-15 Microsoft Corporation Inferring object invariant method and system
US20090288075A1 (en) * 2008-05-19 2009-11-19 Yonghong Song Parallelizing non-countable loops with hardware transactional memory
US7627861B2 (en) * 2003-12-05 2009-12-01 The University Of North Carolina Methods, systems, and computer program products for identifying computer program source code constructs
US7779399B2 (en) * 2005-05-16 2010-08-17 Armorize Technologies, Inc. System and method for securing web application code and verifying correctness of software
US8006233B2 (en) * 2007-02-21 2011-08-23 International Business Machines Corporation System and method for the automatic verification of privilege-asserting and subject-executed code
US8141049B2 (en) * 2007-03-14 2012-03-20 Nec Laboratories America, Inc. System and method for scalable flow and context-sensitive pointer alias analysis
US8176085B2 (en) * 2008-09-30 2012-05-08 Microsoft Corporation Modular forest automata
US8245211B2 (en) * 2007-06-05 2012-08-14 International Business Machines Corporation Method and system for finding problems caused by access to partially uninitialized data storage which is accessed using index expressions
US8250553B2 (en) * 2006-07-27 2012-08-21 International Business Machines Corporation Method and data processing system for finding problems caused by access to uninitialized data storage in assembler programs
US8266604B2 (en) * 2009-01-26 2012-09-11 Microsoft Corporation Transactional memory compatibility management
US8484630B2 (en) * 2008-12-23 2013-07-09 International Business Machines Corporation Code motion based on live ranges in an optimizing compiler
US8527976B2 (en) * 2007-11-14 2013-09-03 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
US8661450B2 (en) * 2009-06-30 2014-02-25 International Business Machines Corporation Deadlock detection for parallel programs
US8726254B2 (en) * 2009-06-20 2014-05-13 Microsoft Corporation Embedded annotation and program analysis
US7062756B2 (en) * 2001-11-30 2006-06-13 Sun Microsystems, Inc. Dynamic object usage pattern learning and efficient caching
US7937692B2 (en) * 2005-11-30 2011-05-03 Red Hat, Inc. Methods and systems for complete static analysis of software for building a system
US7844959B2 (en) * 2006-09-29 2010-11-30 Microsoft Corporation Runtime optimization of distributed execution graph
US8356288B2 (en) * 2008-11-10 2013-01-15 Sap Ag Method and apparatus for monitoring runtime of persistence applications
US20100275186A1 (en) * 2009-04-28 2010-10-28 Microsoft Corporation Segmentation for static analysis
US8601458B2 (en) * 2009-05-14 2013-12-03 International Business Machines Corporation Profile-driven data stream processing
US20110078666A1 (en) * 2009-05-26 2011-03-31 University Of California System and Method for Reproducing Device Program Execution
US8490072B2 (en) * 2009-06-23 2013-07-16 International Business Machines Corporation Partitioning operator flow graphs
US8276148B2 (en) * 2009-12-04 2012-09-25 International Business Machines Corporation Continuous optimization of archive management scheduling by use of integrated content-resource analytic model
Adzhiev, et al., "An Agent-oriented Framework for Concurrent Engineering", 1994 IEEE; [retrieved on Jun. 23, 2013]; Retrieved from Internet ;pp. 1-4. *
Adzhiev, et al., "An Agent-oriented Framework for Concurrent Engineering", 1994 IEEE; [retrieved on Jun. 23, 2013]; Retrieved from Internet <URL:http://www2.warwick.ac.uk/fac/sci/dcs/research/em/publications/papers/downloads/040.pdf>;pp. 1-4. *
Arnaud Venet, "A Practical Approach to Formal Software Verification by Static Analysis", Ada Letters, Apr. 2008. URL:http://portal.acm.org/citation.cfm?id=1387836&dl=GUIDE&coll=GUIDE&CFID=73921262&CFTOKEN=19425395.
Calabrese, "Hierarchical-Granularity Holonic Modelling"; 2009, University of Milano; [retrieved on Nov. 28, 2013]; Retrieved from Inernet ;pp. 1-120. *
Calabrese, "Hierarchical-Granularity Holonic Modelling"; 2009, University of Milano; [retrieved on Nov. 28, 2013]; Retrieved from Inernet <URL:http://air.unimi.it/bitstream/2434/155499/2/phd—unimi—R07647.pdf>;pp. 1-120. *
David Wagner and Drew Dean, "Intrusion Detection via Static Analysis"URL:http://www.eecs.berkeley.edu/~daw/papers/ids-oakland01.pdf.
David Wagner and Drew Dean, "Intrusion Detection via Static Analysis"URL:http://www.eecs.berkeley.edu/~daw/papers/ids-oakland01.pdf; 2001.
David Wagner and Drew Dean, "Intrusion Detection via Static Analysis"URL:http://www.eecs.berkeley.edu/˜daw/papers/ids-oakland01.pdf.
David Wagner and Drew Dean, "Intrusion Detection via Static Analysis"URL:http://www.eecs.berkeley.edu/˜daw/papers/ids-oakland01.pdf; 2001.
Dr. Paul Anderson, "The Use and Limitations of Static-Analysis Tools to Improve Software Quality", STSC, Jun. 2008. URL:http://www.stsc.hill.af.mil/crossTalk/2008/06/0806Anderson.html.
Durfee, "Distributed Problem Solving and Planning", 1999 MIT press as a chapter of the book "Multiagent Systems-A modern Approach to Distributed Artificial Intelligence"; [retrieved on Jun. 25, 2013]; Retrieved from Internet ;pp. 1-45. *
Durfee, "Distributed Problem Solving and Planning", 1999 MIT press as a chapter of the book "Multiagent Systems—A modern Approach to Distributed Artificial Intelligence"; [retrieved on Jun. 25, 2013]; Retrieved from Internet <URL:http://www.sci.brooklyn.cuny.edu/˜parsons/courses/716-spring-2010/papers/durfee-dps.pdf>;pp. 1-45. *
Fischer, et al., "Holonic Multiagent Sysems: A Foundation for the Organisation of Multiagent Systems"; 2003 Springer; [retrieved on Nov. 28, 2013]; Retrieved from Internet ;pp. 71-80. *
Fischer, et al., "Holonic Multiagent Sysems: A Foundation for the Organisation of Multiagent Systems"; 2003 Springer; [retrieved on Nov. 28, 2013]; Retrieved from Internet <URL: http://link.springer.com/chapter/10.1007/978-3-540-45185-3—7>;pp. 71-80. *
Girko, Lastovetsky, "Using Static Code Analysis to Improve Performance of GridRPC Applications", 2012 IEEE; [retrieved on May 26, 2014]; Retrieved from Internet ;pp. 1113-1119. *
Girko, Lastovetsky, "Using Static Code Analysis to Improve Performance of GridRPC Applications", 2012 IEEE; [retrieved on May 26, 2014]; Retrieved from Internet <URL:http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6270761>;pp. 1113-1119. *
Hany F. EL Yamany et al., "A Multi-Agent Framework for Testing Distributed Systems", IEEE 2006. URL:http://www.computer.org/portal/web/csdl/doi/10.1109/COMPSAC.2006.98.
Knies, Adams III, "The Integrated Library Approach to Parallel Computing"; 1994 IEEE; [retrieved on May 26, 2014]; Retrieved from Internet ;pp. 253-260. *
Knies, Adams III, "The Integrated Library Approach to Parallel Computing"; 1994 IEEE; [retrieved on May 26, 2014]; Retrieved from Internet <URL:http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=365558>;pp. 253-260. *
Panait, Luke, "Cooperative Multi-Agent Learning: The State of the Art"; 2005 Springer; [retrieved on Jun. 25, 2013]; Retrieved from Internet ;pp. 387-343. *
Panait, Luke, "Cooperative Multi-Agent Learning: The State of the Art"; 2005 Springer; [retrieved on Jun. 25, 2013]; Retrieved from Internet <URL:http://jmvidal.cse.sc.edu/library/panait05a.pdf>;pp. 387-343. *
Patent Trial and Appeal Board, Ex Parte Mewherter; 2012; [retrieved on Nov. 28, 2011]; Retrieved from internal emails circulated within the patent corp of USPTO;pp. 1-20. *
Rellermdyer, et al., "R-OSGi: Distributed Applications Through Software Modularization"; 2007, IFIP International Federation for Information Processing; [retrieved on May 26, 2014]; Retrieved from Internet ;pp. 1-20. *
Rellermdyer, et al., "R-OSGi: Distributed Applications Through Software Modularization"; 2007, IFIP International Federation for Information Processing; [retrieved on May 26, 2014]; Retrieved from Internet <URL:http://dl.acm.org/citation.cfm?id=1516124>;pp. 1-20. *
Rodriguez, "A Concurrent IFDS Dataflow Analysis Algorithm Using Actors"; 2010, University of Waterloo; [retrieved on May 26, 2014]; Retrieved from Internet ;pp. 1-79. *
Rodriguez, "A Concurrent IFDS Dataflow Analysis Algorithm Using Actors"; 2010, University of Waterloo; [retrieved on May 26, 2014]; Retrieved from Internet <URL:http://plg.uwaterloo.ca/˜olhotak/pubs/thesis-j2rodrig-mmath.pdf>;pp. 1-79. *
Sherif A. Elfayoumy and James H. Graham, "An Agent-Based Architecture for Tuning Parallel and Distributed Applications Performance" URL:http:/users.crhc.illinois.edu/steve/wcbc00/wcbc-00-elg.pdf.
Sherif A. Elfayoumy and James H. Graham, "An Agent-Based Architecture for Tuning Parallel and Distributed Applications Performance", 2nd International Workshop on Cluster-Based Computing (WCBC'2000), the 2000 International Conference on Supercomputing, Santa Fe, New Mexico, May 2000.
Thies, Bodden, "RefaFlex: Safer Refactorings for Reflective Java Programs"; 2012, ACM; [retrieved on May 26, 2014]; Retrieved from Internet ;pp. 1-11. *
Thies, Bodden, "RefaFlex: Safer Refactorings for Reflective Java Programs"; 2012, ACM; [retrieved on May 26, 2014]; Retrieved from Internet <URL:http:dl.acm.org/citation.cfm?id=2338965>;pp. 1-11. *
Tristan Ravitch et al., "Automatic Generation of Library Bindings Using Static Analysis", Jun. 15-20, 2009, Dublin, Ireland. URL:http://pages.cs.wisc.edu/~liblit/pldi-2009-b/.
Tristan Ravitch et al., "Automatic Generation of Library Bindings Using Static Analysis", Jun. 15-20, 2009, Dublin, Ireland. URL:http://pages.cs.wisc.edu/˜liblit/pldi-2009-b/.
Wagner, D. et. al.; "Intrusion Detection via Static Analysis"; Proceedings of the 2001 IEEE Symposium on Security and Privacy; pp. 156-169; May 2001.
Whiteson, Stone, "Concurrent Layered Learning", 2003 ACM; [retrieved on Jun. 25, 2013]; Retrieved from Internet ;pp. 193-200. *
Whiteson, Stone, "Concurrent Layered Learning", 2003 ACM; [retrieved on Jun. 25, 2013]; Retrieved from Internet <URL:http://dl.acm.org/citation.cfm?id=860607>;pp. 193-200. *
Yamany, H. et al.; "A Multi-Agent Framework for Testing Distributed Systems", Proceedings of 30th IEEE Annual International Computer Software and Applications Conference; pp. 151-156; Sep. 2006.
US8752182B2 (en) 2014-06-10 Pinpointing security vulnerabilities in computer software applications
US20120131468A1 (en) 2012-05-24 Template for optimizing it infrastructure configuration
CN101473301A (en) 2009-07-01 Iterative static and dynamic software analysis
US8893102B2 (en) 2014-11-18 Method and system for performing backward-driven path-sensitive dataflow analysis
US8171482B1 (en) 2012-05-01 Application environment specifications for provisioning application specific runtime environments using subsets of resources required for execution
US8185874B2 (en) 2012-05-22 Automatic and systematic detection of race conditions and atomicity violations
US20130007885A1 (en) 2013-01-03 Black-box testing of web applications with client-side code evaluation
US9720798B2 (en) 2017-08-01 Simulating black box test results using information from white box testing
US8984642B2 (en) 2015-03-17 Detecting security vulnerabilities in web applications
US20150026664A1 (en) 2015-01-22 Method and system for automated test case selection
US10042668B2 (en) 2018-08-07 Concurrent execution of a computer software application along multiple decision paths
US20140143880A1 (en) 2014-05-22 Global Variable Security Analysis
JP5852676B2 (en) 2016-02-03 Method, computer program, and system for determining vulnerability of a computer software application to an elevation of privilege attack
US8387017B2 (en) 2013-02-26 Black box testing optimization using information from white box testing
US8434070B2 (en) 2013-04-30 Generating specifications of client-server applications for static analysis
JP2012133778A (en) 2012-07-12 System, method and program for run-time allocation of functions to hardware accelerator
US7634771B2 (en) 2009-12-15 Object generation in packages
US8832666B2 (en) 2014-09-09 Dynamic instrumentation
US9003239B2 (en) 2015-04-07 Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues
EP2791850B1 (en) 2019-01-23 Identifying application resources through implicit application models
JP5719487B2 (en) 2015-05-20 Method, system, and computer program product for installing an application on a runtime instance, and a computer program (application installation)
US8756572B2 (en) 2014-06-17 Debugger-set identifying breakpoints after coroutine yield points
US10198562B2 (en) 2019-02-05 Detecting and tracking virtual containers
US9678855B2 (en) 2017-06-13 Managing assertions while compiling and debugging source code
US10007596B2 (en) 2018-06-26 Generating test scripts through application integration
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PISTOIA, MARCO;TRIPP, OMER;WEISMAN, OMRI;SIGNING DATES FROM 20110121 TO 20110124;REEL/FRAME:025687/0955
2018-05-21 FEPP Fee payment procedure
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

redpajama_set_name: RedPajamaCommonCrawl


We use glue that is specifically made for eyelash extensions. It has no latex in it.
How long will my lashes last?
On average, our clients come in every 2-3 weeks for classic lashes and 3-4 weeks for volume lashes.
Because your natural eyelashes shed daily, the extension attached to it will shed also and as a result you will require touch ups in order to maintain a full look. Some clients have very thin natural lashes and will prefer to come in sooner to keep a fuller look.
Do you use real mink lashes?
No, we don't. The health of your eyes is our number one priority and because animal hair can never be 100% sterilized, it can cause allergic reactions. And because mink lashes are manually curled and with washing and handling, they lose their curl.
Can I swim, shower or exercise while wearing eyelash extensions?
Yes. The glue is waterproof and allow you to shower, swim and exercise etc. Special care is required but overall maintenance is low. We do recommend that you do not wet your eyelash extensions for 12 to 24 hours after the eyelash application.
Can I use eyelash curler with eyelash extensions?
We do not recommend using mechanical eyelash curlers on your eyelash extensions as these curlers will damage the extensions and possible your own natural lashes. The extensions do have a natural curl but if more of a curl is required, I recommend using a heated eyelash curler.
Who can't wear eyelash extensions?
Anyone who just had Lasik has to wait at least 3 months and seek their doctor's approval prior to getting eyelash extensions.
Anyone who just had an eyelift (Blepharoplasty) must wait 4 to 6 months after the operation and also need their doctor's approval.
Anyone who has medical condition related to their eyes, sight or eye area should consult their doctor first.
Anyone with very curly lashes. Eyelash extensions don't last as long on naturally curly lashes.
Are eyelash extensions safe with pregnant or breastfeeding?
Generally speaking, eyelash extensions are a safe and non-invasive cosmetic procedure. The adhesive does not touch your skin as the extensions are glued to the eyelash hairs. Allergic reactions to the adhesive are rare and reactions can be treated. In saying this, I do not recommend that pregnant women who have not had eyelash extensions before test out the procedure during their pregnancy.
- Firstly, the lash extension procedure requires you to lay flat on your back for over one hour, a position that is not recommended for women in the advanced stages of pregnancy. It also requires that you lay quite still, which can be difficult if you're heavily pregnant.
- Secondly, because pregnancy changes hormone levels which in turn can make you hypersensitive to things you've never had a problem with before. If a reaction was to occur the medication needed cannot be taken during pregnancy.
Hormones also affect lash retention. Hormones in the body can greatly affect the lifespan of your eyelash extensions and cause a surge in lash loss so your eyelash extensions might not last as long while you are pregnant and after you have a baby.
How do you disinfect your equipment?
I work hard to ensure the highest level of sanitation using medical grade sterilizers. All implements used are thoroughly cleaned using a hospital grade sterilizer. If a tool or implement cannot be thoroughly cleaned and sterilized, it will be discarded after each client or given to you fro home use.


text:
Q: Securing apache server Virtual hosts first off my set up:
Ubuntu Server 11 with full LAMP installed
Sample of my /etc/apache2/sites-available/default
NamevirtualHost *

<VirtualHost *>
ServerName www.web.com
ServerAlias www.web.com
ServerAdmin me.co.uk
DocumentRoot "/var/www/web"
DirectoryIndex index.php
Alias /pdf /var/www/web/pdf/Order_pdf
Alias /glass /var/www/web/pdf/Glass_order_pdf
ErrorLog "/var/www/logs/error.log"
CustomLog "/var/www/logs/access.log" combined
CustomLog "/var/www/logs/deflate.log" deflate
</VirtualHost>
<VirtualHost *>
ServerName www.intranet.com
ServerAlias www.intranet.com
ServerAdmin me.co.uk
DocumentRoot "/var/www/intranet"
DirectoryIndex Search.php
ErrorLog "/var/www/logs/error.log"
CustomLog "/var/www/logs/access.log" combined
CustomLog "/var/www/logs/deflate.log" deflate
</VirtualHost>

I have my router forwarding port 80 to my server and it is correctly showing www.web.com I want to somehow block any external access to the intranet site but not exactly sure how to do this, hope someone can help?
Would this be something I need to use?
<Directory "/var/www/web">
Options Indexes FollowSymLinks
Allow Override None
Order deny,alow
deny from all
allow list 192.168.1.0/24
</Directory>

A: I'm sure this has been answered elsewhere. Anyway if you want to use IP check on you intranet you can do this.
<Directory /var/www/intranet/>
   Order allow,deny
   Allow from 192.168.1.0/24
</Directory>

redpajama_set_name: RedPajamaStackExchange


All events are held in the Environmental Education Classroom at the Oakland Mills Nature Center unless otherwise noted - find all programs listed below.
Summer Americorps position open for anyone in the natural resources field OR education. Go to: https://www.iowanaturalists.org/jobs/americorps-4-h-environmental-educator for more information. Cover letter, resume, and three references are due on or before April 15, 2019.
Camping at Oakland Mills South Shore and Waterworks Campground is CLOSED for the season.
Top of the Hill is open year-round. You can now register for campsites on-line at mycountyparks.com OR walk-ins are still accepted.
Gibson Recreation area is by permit only.
The conservation office is open 11:00 am-5:00 pm Monday, Tuesday, Thursday, and Friday.
Oakland Mills Nature Center is closed for the season. It can be open weekdays by appointment only. Nature Center hosts for 2019 are needed. Contact Tony Brown at 319-537-1061 for more information.
Go to mycountyparks.com to register for camping or for any of our programs.
To register for any program, register online at mycountyparks.com.
All programs will meet at the Oakland Mills Nature Center, 2593 Nature Center Drive, Mt Pleasant, Iowa, unless otherwise noted. For more information about any of the programs, call the Henry County Conservation office at 319-986-5067 or email office@henrycountyconservation.com.
To register online, go to mycountyparks.com. Checks will no longer be accepted as a form of payment.
March 23rd 1:00 p.m. Maple Syruping powerpoint with conservation staff. Powerpoint showing how maple syrup is made and how we do things here at Oakland Mills. If weather permits, we will walk out to the Dorothy Family Maple Syrup Camp after the program. This event is open to all ages. Groups are welcome. No pre-registration is necessary. Call the conservation office at 319-986-5067 for more information or go to mycountyparks.com, Henry County, Events. FREE program.
March 30th 10:00 a.m. Ribbit and Slither, Jennifer Anderson-Cruz, naturalist and herpetologist. TOUCH A SNAKE! Learn about herpetology and see LIVE reptiles and amphibians from Iowa. All ages. Preregistration appreciated, but not necessary. FREE program.
April 14th 2:00 p.m. Car Show. Top of the Hill area, Oakland Mills County Park. Car owners are asked to preregister by April 12th for a parking spot at www.mycountyparks.com, Henry County events. FREE. On the date of the event, car owners should first check-in at the Oakland Mills Nature Center and be in place by 1:30 p.m. Car show participants and attendees are invited to stay for the 3:00 p.m. film, "River to River" in the Oakland Mills Nature Center.
April 14th 3:00 p.m. Film: "River to River: Iowa's Forgotten Highway 6" with filmmakers Kelly and Tammy Rundle. This 53-minute film rolls across Iowa– from one river to the other on Highway 6. "What do Bonnie & Clyde, Jesse James, Nancy Drew and Jack Kerouac have in common? U.S. Route 6 in Iowa takes two-lane motorists from Davenport on the Mississippi to Council Bluffs on the Missouri. Built in one day by 10,000 farmers and businesses across the state, Iowa's Route 6 is part of the second longest transcontinental highway in America.... (this film) guides viewers on a nostalgic classic car journey through yesterday's soda shops, filling stations, general stores, drive-ins, and roadside attractions. Experience the sights and sounds, the people and the places that the four-lanes have forgotten...before they are gone forever." After the film, there will be a question and answer session with the filmmakers, Kelly and Tammy Rundle. Preregistration appreciated, but not necessary for this FREE event.
May 16th 6:00 p.m. Outdoor Cooking with conservation staff. Hands-on dutch oven cooking. Cost includes sampling of all dishes prepared. Menu TBA but will include a fish fry. Plan 2 hours. Fees and preregistration are due via mycountyparks on or before May 10th to allow shopping time for recipe items. $12.00 per participant.
June 6th 7:00 p.m. Trivia is for the Birds! Night 1 with the conservation staff. Pre-register your 3-5 person team via mycountyparks on or before June 3rd. The fee of $6 per person will be donated directly to the live raptor fund here at Oakland Mills. All questions will have a nature aspect but not necessarily what you think! Be sure to brush up on general nature knowledge but don't forget about music and movies! Must be 14 years old+ to participate. Prize for the winning team. If this event is successful, we hope to continue it on a regular basis! Note: Upon registering, put your team name in the "Attendee" box at check out.
June 15th 10:00 a.m. Hello Fish! by Vance Polton, DNR Technician at Lake Darling, and Danika Cox, Assistant Naturalist for Henry County Conservation. The presentation will begin outside on the nature center patio and end with a bowfishing demonstration, weather permitting. LIVE fish from the Skunk River will be featured. No license required to try bowfishing as we will be shooting at targets but children must be accompanied by an adult to participate. Preregistration is required no later than one week in advance via mycountyparks for this FREE event.
July 20th Noon- 2:00 p.m. Kids' Day at the Henry County Fair. Hands-on activities by Henry County naturalists with Dino-mite activities! FREE program.
August 17th 10:00 a.m. Know Your Mussels- then PADDLE! with Jacklyn Gautsch, Wetlands and Shallow Lake Monitoring DNR biologist. Mussel presentation in classroom followed by a paddling adventure on the Skunk River, weather permitting. Preregistration and signed waiver is required for the canoeing portion only. Bring drinks and your lunch if you are canoeing. All children must be accompanied by an adult to get in a canoe. Limit of 4 canoes. FREE program. Note: If we have more than 4 canoes requested, then we will allow sign-up for a specific canoeing time period for later that day.
September 3rd at 6:30 p.m. 2nd Annual Photography Contest meeting with conservation staff. Photography contest and rules will be announced by the conservation staff at this program. Preregistration is required via mycountyparks by September 2nd. Attendance at this meeting is required to participate in the contest as it marks its beginning. Contest will end September 27, 2019. Category winners will be announced October 2nd and the Best in Show will be announced by October 18th. Entries will compete for Henry County Conservation free camping certificates- with the grand prize being a free HCC cabin stay. Social media and in-person nature center paper ballots will be used again for voting purposes. This FREE program is for everyone- adults and kids alike- as well as all range of abilities from amateur to professional. Note: This is not a meeting on how to use your camera.
September 12th 7:00 p.m. Trivia is for the Birds! Night 2 with the conservation staff. Pre-register your 3-5 person team via mycountyparks on or before September 9th. The fee of $6 per person will be donated directly to the live raptor fund here at Oakland Mills. All questions will have a nature aspect but not necessarily what you think! Be sure to brush up on general nature knowledge but don't forget about music and movies! Must be 14 years old+ to participate. Prize for the winning team. If this event is successful, we hope to continue it on a regular basis! Note: Upon registering, put your team name in the "Attendee" box at check out.
September 15th 2:00 p.m. Blackhawk's Final Resting Place, by Russ Fry, MA. Mr. Fry is a historian from Burlington who has written several books on local history and directed several documentaries. His description of the program is as follows: "Ma-Ka-Tai-Me-She-Kia-Kiak, the Sauk war leader known to the American settlers as Chief Black Hawk, fought and lost a war in 1832 as he tried to retake his homeland. The history books say his stolen remains were destroyed in an 1853 museum fire in Burlington, Iowa. The history books are wrong." Preregistration is appreciated, but not necessary. FREE program.
October TBA 6:00-7:30 p.m. Jurassic County Park. Annual night hike. Carnival-style games will be played to demonstrate aspects of dinosaurs and pre-historic life. All ages. Educational and fun– not scary. Kids must be accompanied by an adult. Reservations not necessary. Station prizes. Will be held at Oakland Mills County Park rain or shine. Games will be held indoors at the nature center in the event of inclement weather. FREE program.
October 28 and 29th 6:30-7:30 p.m. and 8:00-9:00 p.m. each night Escape the Nature Center Rooms. Get "locked" in the nature center, read a mysterious scenario, then follow clues to get out. Pre-register your team via mycountyparks on or before October 22nd. Be aware when you make your registration selection there are two time slots on two different nights. You will choose which date you want then the time. Both nights the room scenarios are identical. The fee of $6 per person will be donated directly to the live raptor fund here at Oakland Mills. Must be 14 years old+ to participate but at least one adult per group is required. Note: Upon registering, put your team name in the "Attendee" box at check out.
November 17th 2:00 p.m. Ladies' Day Out with conservation staff. Last year's natural beauty product program was a hit so it's back by popular demand! Enjoy an afternoon of "girl time" making at least five items to take home with you to continue the pampering. Fees and preregistration are due via mycountyparks on or before November 12th. Ages 10 through adult. Cost: $15.00 per participant.


This location does NOT accept visitors without an appointment. Please contact Summit Technical before visiting this location.
Summit Technical is in the Staffing industry with headquarters in Warwick, RI and has 5 locations.


So the rumours were just that… rumours…. Olamide won't be joining the ranks of artistes who are releasing albums this year as his major concern appears to be developing the artistes on his label.
Badoo, revealed this during an exciting chat at Vibes FM Benin, which preceded his performance in the city at the eighth leg of Star Music Trek which held on May 17 2014.
The rap star, who went on to deliver one of his finest performances on the Star Music Trek circuit has maintained his enormous drive and enthusiasm through out his shows and boasts of a recent nomination for Best Hip Hop at MAMA 2014.


Acquired by Archdiocese of Milwaukee in 1990.
First burials date to 1840s.
Saint Joseph was chosen by God the Father as the trustworthy guardian and protector of His greatest treasures: his Son Jesus and Mary, mother of Jesus and Joseph's wife. We beome children of the Father through Baptism and are placed under the protection of Joseph in life and in death as we await the resurrection.


text:
Houthis attack Saudi school, subvert education in Yemen
The militia's attempts to recruit teenagers and its attack on a Saudi school show its disregard for the lives and wellbeing of children.
By Nabil Abdullah al-Tamimi
Tribal men and young boys brandish their weapons during a gathering to show support to the Houthis in the northwestern city of Saada, on January 5, 2019. [STRINGER/AFP]
ADEN -- A bomb-laden drone launched by the Iran-backed Houthis crashed into a Saudi school on Sunday (June 13), state media said, in the group's latest attempt to attack or subvert educational institutions.
Saudi civil defence authorities said there had been no injuries as a result of the strike in the kingdom's southern Asir province, AFP reported.
But photos released by the Saudi Press Agency (SPA) showed the damaged roof of a building as well as what appeared to be broken parts of the drone.
Meanwhile, the Houthis are attacking the educational system at home, where they continue to use summer camps to groom teenagers to fight on the frontlines through ideological brainwashing, Yemeni officials told Al-Mashareq.
A school in Saudi Arabia's southern Asir province shows damage after an explosives-laden drone fired by the Iran-backed Houthis hit it on June 13. [Saudi Press Agency]
The remains of an explosive-laden drone fired into Saudi Arabia's Asir province from Yemen are seen on the floor of a school building following the June 13 attack. [Saudi Press Agency]
The Houthis have encouraged families to send their children to summer camps, which opened May 23, claiming they would help children discover their talents and develop their skills.
But the Houthis are known to use annual summer camps for sectarian mobilisation, taking advantage of the summer holiday to train children to be soldiers, said Yemeni Teachers Syndicate spokesman Yahya al-Yinai.
"At a time when international organisations are working to promote adherence to social distancing because of COVID-19, the Houthis are setting up summer camps to mobilise children and establish the culture of violence and fighting [in them]," said Fahmi al-Zubayri, an official at the Ministry of Human Rights.
This violates the rights of children, he said.
Even last summer, at the peak of the global coronavirus crisis, Houthi-run summer camps were open and children were encouraged to attend, though schools were closed to mitigate the spread of the deadly virus.
Rending the social fabric
Yemen's Deputy Minister of Human Rights Nabil Abdul Hafeez said the Houthis, through summer camps, seek "to recruit and brainwash children and send them to the battlefield".
This causes direct and serious harm to the social fabric of Yemen, he said, "and constitutes an extraordinary war crime... that everyone has a duty to oppose".
"Summer camps are one of a thousand steps the Houthis are taking to build a sectarian generation with terrorist ideology," said political analyst Mahmoud al-Taher.
"The Houthis use many 12-year olds attending these camps as fodder in their battles and return them to their families in coffins," al-Taher said, calling on Yemeni parents to not send their children to the camps.
If they do, he said, "they acquiesce to the killing of their sons in losing battles".
The militia's pursuit of a narrow, sectarian ideology "indicates it does not want peace, because peace would grant co-existence of Yemenis of all political or sectarian affiliations", he added.
Attacks on women, children
Yemen's Foreign Minister Ahmed bin Mubarak on Friday warned that the Houthis could thwart a renewed diplomatic push for peace as they scramble to seize the strategic city of Marib before discussing any ceasefire.
Bin Mubarak suggested that the Houthis' backer, Iran, had supported recent bloody attacks, alleging Tehran wants to use Yemen as a bargaining chip to maintain leverage in nuclear talks with world powers in Vienna.
The UN and US envoys to Yemen, Martin Griffiths and Tim Lenderking, have met with Omani mediators, and some officials see a diplomatic opening.
But bin Mubarak alleged the Houthis had snubbed the diplomatic outreach.
According to the Yemeni government, in recent attacks, Houthi ballistic missiles and booby-trapped drones hit civilian targets, including a gas station and a women's detention centre.
Official sources said more than 20 people were killed last week, including a child, women and medical personnel.
For bin Mubarak, the attacks were a sign the Houthis want to keep the conflict going until they seize the city of Marib, which would shift the balance of power.
The attacks showed the Houthis' complete lack of respect for the internationally-backed envoys, he said -- and he sees Tehran's hand behind them.
"I think that the Iranians don't want to see any movement in the Yemeni file before they ensure something in Vienna. We don't accept that. We don't want Yemen to be held hostage by the Iranians," he said.
Houthi summer camps darken children's future: officials
Thousands of children are sent to camps in Houthi-controlled areas, where some are indoctrinated with sectarian ideology and taught to fight.
Rights group accuses Houthi leaders of child recruitment
The report urged for Houthi leaders to be tried at the International Criminal Court for war crimes. Some 640 Houthi-recruited children, ages 13-17, were killed in the first half of the year, it said.
Houthis open summer camps despite COVID-19 spread
The camps aim to indoctrinate Yemeni children and prepare them to fight on the front lines, observers say.


text:
In West Virginia, Men In Recovery Look To Trump For A 'Helping Hand'
By Sarah McCammon,
Sarah McCammon
Published February 8, 2017 at 1:21 PM PST
A bulletin board in the detox unit at Recovery Point of Huntington, W.Va., a residential drug and alcohol treatment facility, is covered with photos of former residents who died of their addictions.
Decorations are sparse at Recovery Point, a residential treatment center in Huntington, W.Va. That's why the bulletin board covered with photos of men stands out. The men spent time here, but didn't survive their addictions. They're all dead now.
"We keep a constant reminder in here for individuals who come into our detox facility. We have, 'But for the grace of God, there go I,'" says Executive Director Matt Boggs, pointing to the words on the board.
Boggs, 35, would know. He started as a resident here five years ago, looking for a way out of addiction and homelessness.
Sarah McCammon / NPR
Matt Boggs is the executive director of Recovery Point and a 2012 graduate of the program. He says he walked into the center with a bag of dirty clothes, "sick and tired of the way I was living."
Recovery Point runs four facilities in West Virginia, offering nonmedical detox and long-term residential treatment to people struggling with drug and alcohol addiction. In Huntington, about 100 men at a time live in this former elementary school building in a working-class neighborhood.
There's plenty of demand for facilities like this one; West Virginia consistently leads the nation in drug overdose deaths. President Trump and other candidates addressed the nationwide addiction crisis many times on the campaign trail, sometimes with testimony from family members of those affected.
Now, people who have been affected by the crisis, including the residents of Recovery Point, are looking to the president for help.
Terry Lilly, 36, came to Recovery Point from Charleston, W.Va. Lilly was a computer programmer and then a manager at a nationally known company. He didn't get hooked on heroin until his 30s, when he was playing music in bars and decided to give heroin a try, out of what he describes now as "morbid curiosity."
"It scratched my itch," he says. "It helped me deal with the emotional problems that I wasn't dealing with, so it didn't take long for me to give away my career, my house, my car."
Lilly's recovery has been full of stops and starts. This time, he has been clean for four months. As he looks to the future, he's worried about politicians' talk of repealing the Affordable Care Act. He gets health insurance through the federal Medicaid program, which was expanded under the ACA and now covers more than half a million West Virginians — more than one-quarter of the state's residents.
"I'm not in a position to pay for that right now, but I have been in the past and I would like to be in the future," Lilly says. "So I really feel like this time in my life is what those programs are for, when I need a helping hand."
Medicaid doesn't pay for treatment at Recovery Point; the facility is mainly funded by grants and donations, and run in part by residents like Lilly who have already completed several months of treatment.
(Left) Terry Lilly, 36, of Charleston, W.Va., has been clean about four months. (Right) Jarrod Book, 24, of Akron, Ohio, says his heroin addiction, and the criminal justice system, brought him to Recovery Point.
But Boggs, the program's director, says Medicaid provides basic health care for many of the residents here, and essential mental health care for issues that can complicate their recovery.
If Republicans repeal Obamacare as they've promised, Boggs says he hopes there's an equivalent replacement ready to go first.
Some residents are hoping the federal government will address the challenge of re-entering society with a criminal record. For 24-year-old Jarrod Book, of Akron, Ohio, an alternative sentencing program is giving him a chance to clear his drug conviction. He says he'd like to see the new administration champion sentencing reform.
"Like nonviolent drug offenders who maybe, you know, messed up a little bit in their life," Book says. "If it wasn't for something like that, I wouldn't be here."
Book says he hopes the attention presidential candidates showered on the opioid epidemic during the campaign will help to destigmatize the problem.
Aaron Pardue, 28, of Pocahontas, Va., hopes the publicity will bring more funding for treatment in communities across the region that are overwhelmed with need.
"For me it just seems like it's a shame that it takes the politicians and the celebrities and all the bigwigs in this country, for it to start happening to them personally, before it becomes an issue for them to start dealing with it," Pardue says.
But Pardue, who has been clean for 15 months, says he can't think too much about what the politicians might do. He needs to focus on his recovery.
"I mean I haven't been living on Saturn or anything," he says. "I know what's going on, but that's one less distraction that I need right now."
Sarah McCammon worked for Iowa Public Radio as Morning Edition Host from January 2010 until December 2013.
See stories by Sarah McCammon
Sarah McCammon is a National Correspondent covering the Mid-Atlantic and Southeast for NPR. Her work focuses on political, social and cultural divides in America, including abortion and reproductive rights, and the intersections of politics and religion. She's also a frequent guest host for NPR news magazines, podcasts and special coverage.


text:
Columbus Blue Jackets Extend Oliver Bjorkstrand
January 6, 2021 at 9:33 am CDT | by Gavin Lee 2 Comments
At least one player has committed to Columbus. The Blue Jackets have announced a five-year extension for budding star Oliver Bjorkstrand, signing him through the 2025-26 season. Bjorkstrand will earn $2.5MM this season on the final year of a three-year deal signed in 2018, but gets quite the bump in 2021-22. The new deal will carry an average annual value of $5.4MM. Blue Jackets GM Jarmo Kekalainen released a statement on his young forward:
Oliver is a gifted player that has shown steady improvement throughout career to this point and we couldn't be happier that he will be a Blue Jacket for a very long time. He is a dangerous offensive player, and we believe he will be an even more impactful player for us as he continues to develop and mature in this league.
The price goes up each year for Bjorkstrand, as Aaron Portzline of The Athletic reports the full salary breakdown:
2021-22: $4.5MM
2022-23: $5.25MM
The deal buys out four years of unrestricted free agency for Bjorkstrand, who actually made his NHL debut back in the 2015-16 season. While it took him a little while to establish himself, last season was a real breakout with 21 goals and 36 points in just 49 games. It was Bjorkstrand's second straight 20+ goal season and that increased offense is exactly what the Blue Jackets are buying into with this early extension.
It's been such a struggle for the Blue Jackets to get players to commit long-term to the franchise, with Pierre-Luc Dubois the latest star player to hint that he wants out. In the wake of that news, the announcement that Bjorkstrand will be staying right through his prime years is nothing but a godsend for Columbus fans. While he may not have quite the same impact as Dubois, there's a lot to love about the 25-year-old's game.
Importantly, Columbus is also expected to be without Gustav Nyquist for the majority of the season, meaning Bjorkstrand will be even more important to the attack. He's been lining up on the team's first unit at training camp next to Dubois and Alexandre Texier, leading one to believe that the 18-minutes-a-night that he received in 2019-20 isn't likely to decrease.
For the Blue Jackets financially, this deal is more than acceptable given the amount of money that is set to come off after this season. Brandon Dubinsky, Nick Foligno, Riley Nash, and David Savard are all scheduled to become unrestricted free agents, with depth additions like Mikko Koivu and Mikhail Grigorenko only on one-year deals to begin with. With Bjorkstrand now locked up for a reasonable amount, the team can focus on their other dwindling deals, which include Seth Jones and his 2022 UFA status.
Photo courtesy of USA Today Sports Images
Columbus Blue Jackets| Newsstand| Oliver Bjorkstrand
Buffalo Sabres Add Three To Training Camp Roster
Nashville Predators Sign Luke Kunin
jdgoat
Bjorkstrand is one of the games most underrated players and I might be one of his biggest fans and even I think this is an overpay. Hopefully he continues to grow his game though, he is very good.
Donovan Voigt
Besides Anderson this was probably the biggest bargain for them
Boston Bruins Reassign Marc McLaughlin, Joona Koppanen
Chandler Stephenson Named To All-Star Game, Replacing Matty Beniers
Anton Levtchi Placed On Unconditional Waivers
Rudolfs Balcers Clears Waivers
Snapshots: Three Stars, Schenn, Thompson


Mr. Anker Tests developed by Henry Anker New! Reading Fluency Selections (see the last row, center, in blue). Teachers and Students: Please be sure to use the links in the categories below, as well as the ones above to help with your studies. These activities support Common Core State Standards, in addition to subject-specific standards and other areas worthy of learning.
English lessons and teacher resources from English-To-Go - Sample Lessons English-To-Go® resources are available for almost any topic imaginable. They are designed to provide a fun, interesting and meaningful experience for both student and teacher. Our library for teachers has a huge number of "Instant Lessons" - photocopiable lessons based on Reuters news articles from all around the world. They range from elementary to advanced and cover an enormous range of topics. The lessons have pre-reading activities, reading comprehension, writing and grammar exercises and post-reading activities, games, role plays or discussions.
Digital and Virtual Field Trips What kinds of virtual field trips are available online? What trips can I explore with my students? How can I integrate virtual field trips into my classroom? Although you'd love to take your class to Antarctica or Hawaii, it's not realistic. Instead, take your students on a virtual field trip. Use the following resources to locate virtual field trips. EAP Reading - Introduction Skimming to get an overall impression. Skimming is useful when you want to survey a text to get a general idea of what it is about. In skimming you ignore the details and look for the main ideas.
Kids' Club Skip to main content NASA Kids Club › Text Only Site Space Racers Explain Everything Reviews Explain Everything is an easy-to-use design tool that lets you annotate, animate, and narrate explanations and presentations. You can create dynamic interactive lessons, activities, assessments, and tutorials using Explain Everything's flexible and integrated design. Use Explain Everything as an interactive whiteboard using the iPad video display (via Airplay/cable).