hydrus.data package¶
Submodules¶
hydrus.data.crud module¶
Basic CRUD operations for the server.
sqlalchemy.orm.with_polymorphic : Load columns for inheriting classes. Ref : http://docs.sqlalchemy.org/en/latest/orm/query.html
sqlalchemy.exists : A convenience method that turns a query into an EXISTS subquery of the form EXISTS (SELECT 1 FROM … WHERE …). Ref : http://docs.sqlalchemy.org/en/latest/orm/query.html
sqlalchemy.orm.exc.NoResultFound : A database result was required but none was found. Ref : http://docs.sqlalchemy.org/en/latest/orm/exceptions.html?highlight=result%20found#sqlalchemy.orm.exc.NoResultFound
sqlalchemy.orm.session.Session : Manages persistence operations for ORM-mapped objects. Ref : http://docs.sqlalchemy.org/en/latest/orm/session_api.html?highlight=session#module-sqlalchemy.orm.session
hydrus.data.db_models.Graph : Model for a graph that store triples of instance from the other models to map relationships. hydrus.data.db_models.BaseProperty : Model for Basic Property. hydrus.data.db_models.RDFClass : Model for Classes specifically RDF-OWL or RDF-HYDRA classes. hydrus.data.db_models.Instance : Model for Object/Resource. Instances are instances of some kind/classes that are served through the API. hydrus.data.db_models.Terminal : Model for Terminals which are numbers or string that can be referenced by a Property. hydrus.data.db_models.GraphIAC : Graph model for Instance >> AbstractProperty >> Class. hydrus.data.db_models.GraphIIT : Graph model for Instance >> InstanceProperty >> Terminal. hydrus.data.db_models.GraphIII : Graph model for Instance >> InstanceProperty >> Instance.
Ref : ./db_models.py
hydrus.data.exceptions : Contains all exceptions . typing : Module which provides support for type hints .
-
hydrus.data.crud.
delete
(id_: str, type_: str, session: sqlalchemy.orm.scoping.scoped_session) → None¶ Delete an Instance and all its relations from DB given id [DELETE]. :param id_: id of object to be deleted :param type_: type of object to be deleted :param session: sqlalchemy scoped session
- Raises:
- ClassNotFound: If type_ does not represent a valid/defined RDFClass. InstanceNotFound: If no instace of type type_ with id id_ exists.
-
hydrus.data.crud.
delete_multiple
(id_: List[int], type_: str, session: sqlalchemy.orm.scoping.scoped_session) → None¶ To delete multiple rows in a single request :param id_: list of ids for objects to be deleted :param type_: type of object to be deleted :param session: sqlalchemy scoped session
-
hydrus.data.crud.
delete_single
(type_: str, session: sqlalchemy.orm.scoping.scoped_session) → None¶ Delete instance of classes with single objects. :param type_: type of object to be deleted :param session: sqlalchemy scoped session :return: None
- Raises:
- ClassNotFound: If type_ does not represt a valid/defined RDFClass. InstanceNotFound: If no Instance of the class exists.
-
hydrus.data.crud.
get
(id_: str, type_: str, api_name: str, session: sqlalchemy.orm.scoping.scoped_session, path: str = None) → Dict[str, str]¶ Retrieve an Instance with given ID from the database [GET]. :param id_: id of object to be fetched :param type_: type of object :param api_name: name of api specified while starting server :param session: sqlalchemy scoped session :param path: endpoint :return: response to the request
- Raises:
- ClassNotFound: If the type_ is not a valid/defined RDFClass. InstanceNotFound: If no Instance of the ‘type_` class if found.
-
hydrus.data.crud.
get_collection
(API_NAME: str, type_: str, session: sqlalchemy.orm.scoping.scoped_session, paginate: bool, page_size: int, search_params: Dict[str, Any] = None, path: str = None) → Dict[str, Any]¶ Retrieve a type of collection from the database. :param API_NAME: api name specified while starting server :param type_: type of object to be updated :param session: sqlalchemy scoped session :param paginate: Enable/disable pagination :param page_size: Number maximum elements showed in a page :param search_params: Query parameters :param path: endpoint :return: response containing a page of the objects of that particular type_
- Raises:
- ClassNotFound: If type_ does not represent a valid/defined RDFClass.
-
hydrus.data.crud.
get_last_modification_job_id
(session: sqlalchemy.orm.scoping.scoped_session) → str¶ Get job id of most recent modification record stored in the db. :param session: sqlalchemy session :return: job id of recent modification.
-
hydrus.data.crud.
get_modification_table_diff
(session: sqlalchemy.orm.scoping.scoped_session, agent_job_id: str = None) → List[Dict[str, Any]]¶ Get modification table difference. :param session: sqlalchemy session. :param agent_job_id: Job id from the client. :return: List of all modifications done after job with job_id = agent_job_id.
-
hydrus.data.crud.
get_single
(type_: str, api_name: str, session: sqlalchemy.orm.scoping.scoped_session, path: str = None) → Dict[str, Any]¶ Get instance of classes with single objects. :param type_: type of object to be updated :param api_name: api name specified while starting server :param session: sqlalchemy scoped session :param path: endpoint :return: response containing information about a single object
- Raises:
- ClassNotFound: If type_ does not represt a valid/defined RDFClass. InstanceNotFound: If no Instance with type type_ exists.
-
hydrus.data.crud.
insert
(object_: Dict[str, Any], session: sqlalchemy.orm.scoping.scoped_session, link_props: Dict[str, Any] = {}, id_: Union[str, NoneType] = None) → str¶ Insert an object to database [POST] and returns the inserted object. :param object_: object to be inserted :param link_props: Hydra link properties in the object. :param session: sqlalchemy scoped session :param id_: id of the object to be inserted (optional param) :return: ID of object inserted
- Raises:
ClassNotFound: If object_[“@type”] is not a valid/defined RDFClass. InstanceExists: If an Instance `id_ already exists. PropertyNotFound: If any property name of object_ other than @type or @context
is not a valid/defined property.- NotInstanceProperty: If any property of object_ is a dictionary but
- not an Instance property
- NotAbstractProperty: If any property of object_ is a
- valid/defined RDFClass but is not a dictionary neither an Abstract Property
-
hydrus.data.crud.
insert_iac
(object_: Dict[str, Any], prop_name: str, instance: hydrus.data.db_models.Instance, property_: hydrus.data.db_models.BaseProperty, session: sqlalchemy.orm.scoping.scoped_session) → hydrus.data.db_models.GraphIAC¶ Insert a GraphIAC triple in the database. :param object_: Object body. :param prop_name: Property name. :param instance: Instance for the newly added object. :param property_: Predicate in the new triple being inserted. :param session: sqlalchemy session.
Returns: GraphIAC triple.
-
hydrus.data.crud.
insert_iii
(object_: Dict[str, Any], prop_name: str, instance: hydrus.data.db_models.Instance, property_: hydrus.data.db_models.BaseProperty, session: sqlalchemy.orm.scoping.scoped_session) → hydrus.data.db_models.GraphIII¶ Insert a GraphIII triple in the database. :param object_: Object body. :param prop_name: Property name. :param instance: Instance for the newly added object. :param property_: Predicate in the new triple being inserted. :param session: sqlalchemy session.
Returns: GraphIII triple. Raises: NotInstanceProperty
-
hydrus.data.crud.
insert_iii_with_link
(instance_id: str, property_: hydrus.data.db_models.BaseProperty, property_value: str, session: sqlalchemy.orm.scoping.scoped_session)¶ Inserts GraphIII triple to store a relation defined with hydra:Link. :param instance_id: Id of the instance being inserted :param property_: Property being used as predicate in the new triple. :param property_value: Value of the property being inserted. :param session: sqlalchemy session :return:
-
hydrus.data.crud.
insert_iit
(object_: Dict[str, Any], prop_name: str, instance: hydrus.data.db_models.Instance, property_: hydrus.data.db_models.BaseProperty, session: sqlalchemy.orm.scoping.scoped_session) → hydrus.data.db_models.GraphIIT¶ Insert a GraphIIT triple in the database. :param object_: Object body. :param prop_name: Property name. :param instance: Instance for the newly added object. :param property_: Predicate in the new triple being inserted. :param session: sqlalchemy session.
Returns: GraphIIT triple. Raises: NotInstanceProperty
-
hydrus.data.crud.
insert_modification_record
(method: str, resource_url: str, session: sqlalchemy.orm.scoping.scoped_session) → int¶ Insert a modification record into the database. :param method: HTTP method type of related operation. :param resource_url: URL of resource modified. :param session: sqlalchemy session. :return: ID of new modification record.
-
hydrus.data.crud.
insert_multiple
(objects_: List[Dict[str, Any]], session: sqlalchemy.orm.scoping.scoped_session, link_props_list: List[Dict[str, Any]] = [], id_: Union[str, NoneType] = '') → List[str]¶ Adds a list of object with given ids to the database :param objects_: List of dict’s to be added to the database :param session: scoped session from getSession in utils :param link_props_list: List of link properties for each object being inserted. :param id_: optional parameter containing the ids of objects that have to be inserted :return: Ids that have been inserted
- Raises:
ClassNotFound: If any dict of objects_ is not a valid/defined RDFClass. InstanceExists: If an Instance with same id already exists. PropertyNotFound: If for any dict in ‘objects_’ if any property is not
a valid/defined property.- NotAnInstanceProperty: If any property of a dict in object_ is a dictionary but
- not an Instance property
- NotAnAbstractProperty: If any property of a dict in object_ is a
- valid/defined RDFClass but is not a dictionary neither an Abstract Property
-
hydrus.data.crud.
insert_single
(object_: Dict[str, Any], session: sqlalchemy.orm.scoping.scoped_session) → Any¶ Insert instance of classes with single objects. :param object_: object to be inserted :param session: sqlalchemy scoped session :return:
- Raises:
- ClassNotFound: If type_ does not represt a valid/defined RDFClass. Instance: If an Instance of type type_ already exists.
-
hydrus.data.crud.
update
(id_: str, type_: str, object_: Dict[str, str], session: sqlalchemy.orm.scoping.scoped_session, api_name: str, link_props: Dict[str, Any] = {}, path: str = None) → str¶ Update an object properties based on the given object [PUT]. :param id_: if of object to be updated :param type_: type of object to be updated :param object_: object that has to be inserted :param session: sqlalchemy scoped session :param api_name: api name specified while starting server :param link_props: Link properties of the object being updated. :param path: endpoint :return: id of updated object
-
hydrus.data.crud.
update_single
(object_: Dict[str, Any], session: sqlalchemy.orm.scoping.scoped_session, api_name: str, link_props: Dict[str, Any], path: str = None) → int¶ Update instance of classes with single objects. :param object_: new object :param session: sqlalchemy scoped session :param api_name: api name specified while starting server :param link_props: Link properties of the object being updated :param path: endpoint :return: id of the updated object
- Raises:
- ClassNotFound: If object[‘@type’] does not represt a valid/defined RDFClass. InstanceNotFound: If no Instance of the class exists.
hydrus.data.crud_helpers module¶
-
hydrus.data.crud_helpers.
apply_filter
(object_id: str, search_props: Dict[str, Any], triples: hydrus.data.db_models.Graph, session: sqlalchemy.orm.scoping.scoped_session) → bool¶ Check whether objects has properties with query values or not. :param object_id: Id of the instance. :param search_props: Dictionary of query parameters with property id and values. :param triples: All triples. :param session: sqlalchemy scoped session. :return: True if the instance has properties with given values, False otherwise.
-
hydrus.data.crud_helpers.
attach_hydra_view
(collection_template: Dict[str, Any], paginate_param: str, result_length: int, page_size: int, iri: str, offset: int = None, page: int = None, last: int = None) → None¶ Attaches hydra:view to the collection template. :param collection_template: the collection template. :param paginate_param: type of paginate parameter used. :param result_length: length of the result set. :param page_size: size of the page. :param iri: IRI of the collection with query parameters except “page”, “pageIndex” and “offset”. :param offset: offset used for pagination, None if not used. :param page: page number used for pagination, None if not used. :param last: Page number of the last page only used when “page” or “pageIndex”
is used for pagination, None otherwise.
-
hydrus.data.crud_helpers.
calculate_page_limit_and_offset
(paginate: bool, page_size: int, page: int, result_length: int, offset: int, limit: int) → Tuple[int, int]¶ Calculate page limit and offset for pagination. :param paginate: Showing whether pagination is enable/disable. :param page_size: Number maximum elements showed in a page. :param page: page number. :param result_length: Length of the list containing desired elements. :param offset: offset value. :param limit: page limit. :return: page limit and offset.
-
hydrus.data.crud_helpers.
parse_search_params
(search_params: Dict[str, Any], properties: hydrus.data.db_models.BaseProperty, session: sqlalchemy.orm.scoping.scoped_session) → Dict[str, Any]¶ Parse search parameters and create a dict with id of parameters as keys. :param search_params: Dictionary having input search parameters. :param properties: All properties. :param session: sqlalchemy session. :return: A dictionary having property ids as keys.
-
hydrus.data.crud_helpers.
pre_process_pagination_parameters
(search_params: Dict[str, Any], paginate: bool, page_size: int, result_length: int) → Tuple[[int, int], int]¶ Pre-process pagination related query parameters passed by client. :param search_params: Dict of all search parameters. :param paginate: Indicates if pagination is enabled/disabled. :param page_size: Maximum element a page can contain. :param result_length: Length of the list of containing desired items. :return: returns page number, page limit and offset.
-
hydrus.data.crud_helpers.
recreate_iri
(API_NAME: str, path: str, search_params: Dict[str, Any]) → str¶ Recreate the IRI with query arguments :param API_NAME: API name specified while starting the server. :param path: endpoint :param search_params: List of query parameters. :return: Recreated IRI.
hydrus.data.db_models module¶
Models for Hydra Classes.
-
class
hydrus.data.db_models.
AbstractProperty
(**kwargs)¶ Bases:
hydrus.data.db_models.BaseProperty
Model for Abstract Properties. Abstract Properties are properties that are used as predicate between two RDF-OWL classes. >>> prop1 = BaseProperty(‘hasWeight’) >>> prop2 = BaseProperty(‘hasCost’) Example of a triple:
RDFClass(‘A’) Property(‘isSubSystemOf’) RDFClass(‘B’)-
id
¶
-
name
¶
-
type_
¶
-
-
class
hydrus.data.db_models.
BaseProperty
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for Basic Property.
-
id
¶
-
name
¶
-
type_
¶
-
-
class
hydrus.data.db_models.
Graph
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for a graph that store triples of instance from the other models to map relationships.
-
id
¶
-
type
¶
-
-
class
hydrus.data.db_models.
GraphCAC
(**kwargs)¶ Bases:
hydrus.data.db_models.Graph
Graph model for Class >> AbstractProperty >> Class.
-
id
¶
-
object_
¶
-
predicate
¶
-
subject
¶
-
type
¶
-
-
class
hydrus.data.db_models.
GraphIAC
(**kwargs)¶ Bases:
hydrus.data.db_models.Graph
Graph model for Instance >> AbstractProperty >> Class.
-
id
¶
-
object_
¶
-
predicate
¶
-
subject
¶
-
type
¶
-
-
class
hydrus.data.db_models.
GraphIII
(**kwargs)¶ Bases:
hydrus.data.db_models.Graph
Graph model for Instance >> InstanceProperty >> Instance.
-
id
¶
-
object_
¶
-
predicate
¶
-
subject
¶
-
type
¶
-
-
class
hydrus.data.db_models.
GraphIIT
(**kwargs)¶ Bases:
hydrus.data.db_models.Graph
Graph model for Instance >> InstanceProperty >> Terminal.
-
id
¶
-
object_
¶
-
predicate
¶
-
subject
¶
-
type
¶
-
-
class
hydrus.data.db_models.
Instance
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for Object/Resource. Instances are instances of some kind/classes that are served through the API.
-
created
¶
-
id
¶
-
last_modified
¶
-
type_
¶
-
-
class
hydrus.data.db_models.
InstanceProperty
(**kwargs)¶ Bases:
hydrus.data.db_models.BaseProperty
Model for Instance Properties. Instance Properties are properties that are used as predicate when the subject is an Instance. >>> prop1 = BaseProperty(‘hasWeight’) >>> prop2 = BaseProperty(‘hasCost’)
-
id
¶
-
name
¶
-
type_
¶
-
-
class
hydrus.data.db_models.
Modification
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for sync related state-changing modifications.
-
job_id
¶
-
method
¶
-
resource_url
¶
-
-
class
hydrus.data.db_models.
Nonce
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for storing nonce for the users.
-
id
¶
-
timestamp
¶
-
-
class
hydrus.data.db_models.
RDFClass
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for Classes. Classes are RDF-OWL or RDF-HYDRA classes.
-
id
¶
-
name
¶
-
-
class
hydrus.data.db_models.
Terminal
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Base
Model for Terminals. Terminals are numbers or string that can be referenced by a Property. They can be only
objects in a triple.>>> t = Terminal(value=85, unit='cubic centimeters') >>> t1 = Terminal(value='Cubesat', unit='standard')
-
id
¶
-
unit
¶
-
value
¶
-
hydrus.data.doc_parse module¶
Parser for Hydra APIDocumentation creates Classes and Properties.
-
hydrus.data.doc_parse.
get_all_properties
(classes: List[Dict[str, Any]]) → Set[str]¶ Get all the properties in the APIDocumentation.
-
hydrus.data.doc_parse.
get_classes
(apidoc: Dict[str, Any]) → List[Dict[str, Any]]¶ Get all the classes in the APIDocumentation.
-
hydrus.data.doc_parse.
insert_classes
(classes: List[Dict[str, Any]], session: sqlalchemy.orm.scoping.scoped_session) → Union[typing.Any, NoneType]¶ Insert all the classes as defined in the APIDocumentation into DB.
- Raises:
- TypeError: If session is not an instance of scoped_session or Session.
-
hydrus.data.doc_parse.
insert_properties
(properties: Set[str], session: sqlalchemy.orm.scoping.scoped_session) → Union[typing.Any, NoneType]¶ Insert all the properties as defined in the APIDocumentation into DB.
hydrus.data.exceptions module¶
Exceptions for the crud operations.
-
exception
hydrus.data.exceptions.
ClassNotFound
(type_: str) → None¶ Bases:
Exception
Error when the RDFClass is not found.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
IncompatibleParameters
(params: List[str]) → None¶ Bases:
Exception
Error when two or more query parameters are incompatible with each other.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
InstanceExists
(type_: str, id_: Union[str, NoneType] = None) → None¶ Bases:
Exception
Error when the Instance already exists.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
InstanceNotFound
(type_: str, id_: Union[str, NoneType] = None) → None¶ Bases:
Exception
Error when the Instance is not found.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
InvalidSearchParameter
(param: str) → None¶ Bases:
Exception
Error when client uses invalid query parameter for searching.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
NotAbstractProperty
(type_: str) → None¶ Bases:
Exception
Error when the property is not an Abstract property.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
NotInstanceProperty
(type_: str) → None¶ Bases:
Exception
Error when the property is not an Instance property.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
OffsetOutOfRange
(offset: str) → None¶ Bases:
Exception
Error when the offset provided by client is out of range
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
PageNotFound
(page_id: str) → None¶ Bases:
Exception
Error when the page is not found.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
-
exception
hydrus.data.exceptions.
PropertyNotFound
(type_: str) → None¶ Bases:
Exception
Error when the Property is not found.
-
get_HTTP
() → hydra_python_core.doc_writer.HydraError¶ Return the HTTP response for the Exception.
-
hydrus.data.stale_records_cleanup module¶
-
hydrus.data.stale_records_cleanup.
remove_stale_modification_records
(session: sqlalchemy.orm.scoping.scoped_session, stale_records_removal_interval: int = 900)¶ Remove modification records which are older than last 1000 records. :param session: sqlalchemy session. :param stale_records_removal_interval: Interval time to run the removal job.
hydrus.data.user module¶
File operations for User authorization.
-
hydrus.data.user.
add_token
(request: werkzeug.local.LocalProxy, session: sqlalchemy.orm.session.Session) → str¶ Create a new token for the user or return a valid existing token to the user.
-
hydrus.data.user.
add_user
(id_: int, paraphrase: str, session: sqlalchemy.orm.session.Session) → None¶ Add new users to the database.
- Raises:
- UserExits: If a user with id_ already exists.
-
hydrus.data.user.
authenticate_user
(id_: int, paraphrase: str, session: sqlalchemy.orm.session.Session) → bool¶ Authenticate a user based on the ID and his paraphrase.
- Raises:
- UserNotFound: If a user with id_ is not a valid/defined User
Check if the request object has the correct authorization.
-
hydrus.data.user.
check_nonce
(request: werkzeug.local.LocalProxy, session: sqlalchemy.orm.session.Session) → bool¶ check validity of nonce passed by the user.
-
hydrus.data.user.
check_token
(request: werkzeug.local.LocalProxy, session: sqlalchemy.orm.session.Session) → bool¶ check validity of the token passed by the user.
-
hydrus.data.user.
create_nonce
(session: sqlalchemy.orm.session.Session) → str¶ Create a one time use nonce valid for a short time for user authentication.
-
hydrus.data.user.
generate_basic_digest
(id_: int, paraphrase: str) → str¶ Create the digest to be added to the HTTP Authorization header.


Largest Marathons for 1955
137 Polytechnic 18 Jun Chiswick ENG 73 Kosice 16 Oct Kosice SVK 59 West German Championship 06 Aug Frankfurt am Main GER 50 n/a 13 Nov Tbilisi GEO 35 Asahi Shimbun 11 Dec Fukuoka JPN 13 Beppu Mainichi 13 Feb Beppu JPN 8 Estonian Championship 04 Sep Tartu EST 8 French Championship 18 Sep Chambéry FRA 6 AAA 27 Feb Port of Spain TRI 3 Newfoundland Provincial Championships 26 Sep Saint John's NF CAN 10 2 Southland Jan Invercargill NZLLast Updated on
07 Jan 2016


{{ pipelineAsJSON }}
{{ lastExecutedQuery }}
Query executed but translation not configured for this backend


Abstract:
KB completion can be viewed as answering structured queries against a KB. Since answering the queries requires more than simply retrieving known facts, answering these queries requires some non-trivial processing, and hence is broadly similar to logical inference in a conventional symbolic KB. KB question-answering (KBQA) also answers queries against a KB, but in this case the queries are unstructured text queries. So both KBQA and KBC use some analog of "reasoning" over a KB. This raises the question: what can we learn about KBQA and KBC from the classical AI subfield of knowledge representation (KR)? In KR the central question is how to represent knowledge in a form that supports efficient, expressive reasoning. In my talk I will try to revisit this question in the context of modern neural learning methods, and tie the themes explored in classical KR to recently-proposed methods for KBC and KBQA.
Bio:
Bio:


Sometimes you put the image all by itself in a paragraph. If we knew CSS, we could center the image in the page. Don't be tempted use the center tag as it is deprecated.
Images can be right in the middle of text like a character. And we can even make an image a clickable link to another page.


--- layout: default title: "GitHub Membership" date: 2014-03-23 15:30:00 ---
Those of you that have filled out the GitHub Survey on Canvas have been added to the MSAN 622 Organization on GitHub.
Your membership to this organization is private by default. You may change this to public by logging into GitHub, visiting https://github.com/orgs/msan622/members, and clicking the "make public" link next to your account. If you want to see what is visible to the general public, log out of GitHub and then visit this page.


‘We figured things out’: England’s Sterling draws line under Gomez clash
LONDON, Nov 12 — England’s Raheem Sterling has conceded that emotions got the better of him in a bust-up with team mate Joe Gomez at the national training camp but said he was ready to move on after being dropped by the Football Association.
The Daily Mail reported that Manchester City winger Sterling had clashed with Liverpool’s Gomez after the England team got together at their Burton on Trent training centre yesterday —less than 24 hours after City lost 3-1 at Liverpool.
“Both Joe and I have had words and figured things out and moved on. We are in a sport where emotions run high and I am man enough to admit when emotions got the better of me.
“...This is why we play this sport because of our love for it - me and @joegomez5 are good we both understand it was a 5-10 second thing... it’s done, we move forward and not make this bigger than it is.
“Let’s get focus on our game on Thursday,” Sterling said on his Instagram account.
The FA has decided to drop Sterling from Thursday’s Euro 2020 qualifier against Montenegro as a result of a “disturbance” in a private team area.
Sterling, who has scored 12 goals in 55 England appearances, has been one of the first-team regulars under manager Gareth Southgate and scored twice in the recent 6-0 win to Bulgaria.
Last season, he was named Footballer of the Year by the Football Writers’ Association after scoring 25 goals in all competitions as City won a domestic treble of the Premier League title, League Cup and FA Cup. — Reuters


GENERAL TESTS (no cutter in yet!)
Check These
- Check GREEN BUTTON on tool (#2)
- Check RED BUTTON (#4)
- Check LID (#3 should come on when lid opens)
- Check Z-Zero Clip (#1 when clip touches Zeroing-plate)
Put in Cutter, Set Z, and Adjust Plate
Now we're ready to insert the V-bit, Zero it, and adjust the Zero plate offset measurement.
First Put in the V-bit cutter.
Then we'll do the Z-Zero routine, just click button here.
Next we'll maske sure the plate height is correct.
Now Ready to Do Test Cut
This routine will automatically put the test file at the back of the sample board.
Test Preparation:
- Switch the router to ON, and set speed 4 on the router dial.
- Dust ?
- Close the hood
- Now you're about to run the same test file the customers will cut in the front of the panel ...
Select and Print Labels [use SnagIt]
To Print Label: Start SnagIt and capture label area, then send to printer (Ctl-P).
Copy and paste serial number and order info into spreadsheet if we've decided to track this way.
This is your Handibot's serial number and temporary name. Select it in the Wifi manager of your PC or mobile device for AccessPoint link directly to your tool.
Use the "FabMo Minder" from docs.handibot.com for identifying your Handibot after you have put it on a network.


POWER Function
Syntax
The POWER function is an exponential function that raises a numeric expression to
the power of a second numeric expression. For example, 2 to the third power is
calculated as power(2,3)
, with a result of 8.
POW | POWER (expression1, expression2)
POW and POWER are synonyms.
Arguments
- expression1
-
Numeric expression to be raised. Must be an integer, decimal, or floating-point data type.
- expression2
-
Power to raise expression1. Must be an integer, decimal, or floating-point data type.
Return Type
POWER returns a DOUBLE PRECISION number.
Examples
In the following example, the POWER function is used to forecast what ticket sales will look like in the next 10 years, based on the number of tickets sold in 2008 (the result of the subquery). The growth rate is set at 7% per year in this example.
select (select sum(qtysold) from sales, date where sales.dateid=date.dateid and year=2008) * pow((1+7::float/100),10) qty2010; qty2010 ------------------<PHONE_NUMBER>88594 (1 row)
The following example is a variation on the previous example, with the growth rate at 7% per year but the interval set to months (120 months over 10 years):
select (select sum(qtysold) from sales, date where sales.dateid=date.dateid and year=2008) * pow((1+7::float/100/12),120) qty2010; qty2010 -----------------<PHONE_NUMBER>8046 (1 row)


AxiomCoders Template Editor has ability to manage Data Streams and columns so you can easy link dynamic object to corresponding data name.
AxiomCoders Template Editor can manage Data Streams in the following way:


Terms of Service
Last updated: October 24, 2018
1. Introduction
1.1 Please read this document carefully, as it sets out the terms and conditions on which Moon Pay Limited (referred to as "Moonpay") will provide services to you through our websites, APIs, or mobile applications.
1.2 In this document, references to we/our/us are to Moonpay. Any references to Customer/you/your are references to you as a customer of Moonpay and user of our services. Any references to the "Service" includes websites, APIs, or mobile applications
1.3 This Agreement will govern the use of the Services provided by Moonpay. By using the Services you agree to be bound by the terms and conditions set out on this webpage (the "Agreement"). This Agreement will come into effect when you confirm electronically that you agree to it. We recommend that you retain a copy of this Agreement and transaction records.
1.4 The services that are provided can only be used in a limited way as they only allow the Customer to acquire goods or services.
1.5 The risk of loss in trading or holding Bitcoin or any other cryptocurrency can be substantial. You should therefore carefully consider whether trading or holding Bitcoin or any other cryptocurrency is suitable for you in light of your financial condition. In considering whether to trade or hold bitcoin, you should be aware that the price or value of Bitcoin or any other cryptocurrency can change rapidly, decrease, and potentially even fall to zero.
1.6 Use of cryptocurrency may be illegal in some jurisdictions. It is your responsibility to know the regulatory requirements concerning transactions with cryptocurrency in your jurisdiction before using the Services.
1.7 For the purposes of this Agreement a "Business Day" is any day which is not a Saturday, Sunday or public holiday in Malta and which the banks are open for business in Valletta.
2. Services provided to you
2.1 Moonpay provides the following services to you through our API:
2.1.1 allowing you to purchase any Cryptocurrency that can be purchased with Moonpay through our partners' mobile applications or websites.
2.2 Together, the services set out in clause 2.1.1 are referred to in this Agreement as the "Services".
2.3 Moonpay may also offer additional services to those listed above in clause 2.1.1 from time to time. Such additional services shall be provided under terms and conditions separate to this Agreement.
3. Customer registration process
3.1 To be eligible to become a Customer you must:
3.1.1 be at least 18 years old; and
3.1.2 have capacity to enter into legally binding contracts.
3.2 To become a Customer you must also provide Moonpay with the information that is requested as part of the account opening process. This includes the information to satisfy "know your customer" and anti-money laundering checks. Failure to provide any information that Moonpay reasonably requests from you pursuant to applicable money laundering laws and regulations after you have become a Customer shall be grounds for the suspension of the provision of Services to you (including access to your account) under clause 5 and/or the termination of this Agreement under clause 21. The nature and extent of the information you are required to provide may differ, for example, based on the Services provided to you under this Agreement and/or the means of payment you use.
4. Cryptocurrency purchase
4.1 You will be able to purchase Cryptocurrencies from us through our partners mobile applications and websites subject to the applicable fees displayed during the purchase flow. The price, exchange rate and amount of the Cryptocurrency that you wish to purchase will be confirmed at the time that you place an order for a Cryptocurrency Purchase.
4.2 Acceptance by us of an order for a Cryptocurrency Purchase does not guarantee that you will receive the corresponding amount of Cryptocurrency. The Cryptocurrency Purchase is conditional upon actual receipt by us of the funds from your credit or debit card, as well as payment of any applicable fees.
4.3 Subject to clause 4.2 and the transaction being honoured by the Customer’s bank, card provider or other relevant party, Cryptocurrency Purchases shall be credited to any Cryptocurrency wallet as soon as possible once the Cryptocurrency Purchase has been confirmed by the Cryptocurrency network. Once submitted to a Cryptocurrency network, a Cryptocurrency Purchase will be unconfirmed for a period of time pending sufficient confirmation of the transaction by the Cryptocurrency network. Cryptocurrency transactions that are in a pending state will not be credited to the wallet.
5. Suspension of services
5.1 Moonpay may withhold or suspend any Services (including your access to the Account) or any part of its functionality, where:
5.1.1 it knows or reasonably suspects that the providing one or more Services:
5.1.2 you fail to provide on request such documentation as Moonpay (or any third party whose services we use in providing the Services to you under this Agreement) reasonably requires in order to comply with its obligations under applicable money laundering laws and regulations or otherwise to ensure the verification of your identity and/or funding sources to Moonpay satisfaction;
5.1.3 any Cryptocurrency Purchase is significantly larger in size;
5.1.4 Moonpay reasonably believes that it is necessary or desirable to do so in order to protect the security of the Account, including circumstances where any Account Details may have been lost or stolen; or
5.1.5 it is obliged to do so as a result of any law or regulation or the direction of any competent authority or regulatory body.
5.2 In the case of any such withholding or suspension described in this clause 5, Moonpay shall make reasonable efforts to inform you about the withholding or suspension, provided that such disclosure:
5.2.1 is not in breach of any applicable law or regulation and does not contravene the instruction of any competent authority or regulator; and
5.2.2 would not compromise Moonpay's reasonable security measures.
5.3 Moonpay shall not be liable to you for any losses you may suffer as a result of any reasonable action it takes to suspend the Account or withhold settlement of a Cryptocurrency Purchase in accordance with this clause 5.
5.4 Where the reasons for Moonpay's actions under this clause 5 cease to exist, Moonpay may, at its discretion, either reinstate access to the Account and the Services and/or issue the Customer with new Account Details.
6. Fees
6.1 All fees payable under this Agreement are displayed during the purchase flow and shall be paid in Euro or any other currency that is agreed between Moonpay and the Customer.
7. Data protection law
7.1 We are committed to keeping your personal information safe. We process personal information in accordance with applicable data protection legislation. Please read our Privacy Policy to understand how we use and protect the information you provide us.
8. Confidentiality
8.1 In this clause, "Confidential Information" means any information that is clearly labelled or identified as confidential or ought reasonably be treated as being confidential. Confidential Information excludes any information which:
8.1.1 is or becomes publicly known other than through a breach of this Agreement;
8.1.2 was in the receiving party’s lawful possession before the disclosure;
8.1.3 is lawfully disclosed to the receiving party by a third party without restriction on disclosure;
8.1.4 is independently developed by the receiving party and that independent development can be shown by written evidence; or
8.1.5 is required to be disclosed by law, by any court of competent jurisdiction or by any regulatory or administrative body.
8.2 Each party will hold the other’s Confidential Information in confidence and not make the other’s Confidential Information available to any third party unless that third party is subject to an equivalent duty of confidentiality. Neither party will use the other’s Confidential Information for any purpose other than the implementation of this Agreement.
8.3 Each party will take all reasonable steps to ensure that the other’s Confidential Information to which it has access is not disclosed or distributed by its employees, agents or independent contractors in breach of the terms of this Agreement.
8.4 This clause 8 will survive termination of this Agreement for a period of 3 years.
9. Warranties and representations
9.1 By agreeing to this Agreement, you represent, warrant and undertake to us that:
9.1.1 you have full power and authority to enter into this Agreement;
9.1.2 you understand and acknowledge that we do not warrant that any of the Services available through our API are suitable or appropriate for your needs and that you must take your own independent legal and other advice on such Services;
9.1.3 you are entering into this Agreement as principal and not on behalf of any third party;
9.1.4 you will not violate any applicable laws by entering into this Agreement or receiving the Services provided under it;
9.1.5 funds or Cryptocurrencies transferred to the Wallet or any Sub-Wallet have been acquired lawfully;
9.1.6 you understand and acknowledge that while we make reasonable endeavours to ensure the accuracy of the information that we provide, and which in turn, is provided to you, neither we nor any of our directors, employees or agents make any representation or warranty, express or implied, as to the accuracy or completeness of such information;
9.1.7 any information provided by you to Moonpay under this Agreement is true, complete, accurate, up to date and not misleading; and
9.1.8 you shall provide all assistance reasonably requested by Moonpay to enable Moonpay to comply with its obligations under this Agreement.
9.2 Moonpay warrants, represents and undertakes that it shall provide the Services with reasonable care and skill.
9.3 Moonpay makes no representation or warranty that the Services are applicable or appropriate for use by customers in all jurisdictions and it is your responsibility to ensure compliance with the laws of any relevant jurisdiction outside Malta in connection with the provision of the Services.
10. Limitation of liability
10.1 This clause 10 sets out Moonpay's entire financial liability (including any liability for the acts or omissions of its employees, agents and sub-contractors) to the Customer:
10.1.1 arising under or in connection with this Agreement;
10.1.2 in respect of any use made by the Customer of the Services or any part of them; and
10.1.3 in respect of any representation, misrepresentation (whether innocent or negligent), statement or tortious act or omission (including negligence) arising under or in connection with this Agreement.
10.2 Except as expressly and specifically provided in this Agreement, Moonpay disclaims all warranties and conditions express or implied, including, but not limited to, implied warranties of satisfactory quality and fitness for a particular purpose, in relation to the Services, their use and the results of such use.
10.3 All warranties, representations, conditions and all other terms of any kind whatsoever implied by statute or common law are excluded from this Agreement to the fullest extent permitted by applicable law.
10.4 Whilst Moonpay takes every care to ensure that the standard of the Website remains high and to maintain the continuity of it, the Internet is not always a stable medium, and errors, omissions, interruptions of service and delays may occur at any time. As a result, we do not accept any ongoing obligation or responsibility to operate the Moonpay API.
10.5 Moonpay disclaims all liability associated with the use of Cryptocurrency, including:
10.5.1 unknown inherent technical defects;
10.5.2 regulatory or legislative changes; and
10.5.3 currency fluctuation.
10.6 Nothing in this Agreement excludes the liability of Moonpay:
10.6.1 for death or personal injury caused by Moonpay negligence;
10.6.2 for fraud, fraudulent misrepresentation or fraudulent misstatement; or
10.6.3 any statutory liability not capable of limitation.
10.7 Subject to clause 10.6, Moonpay will not be liable whether in tort (including for negligence or breach of statutory duty), contract, misrepresentation (whether innocent or negligent), restitution or otherwise for any loss of profits, loss of business, loss or corruption of data, depletion of goodwill and/or similar losses, or pure economic loss, or for any special, punitive, indirect or consequential loss costs, damages, charges or expenses however arising under this Agreement or for any loss, damage or corruption of any Cryptocurrency as a result of the instructions, acts or omissions of the Customer. This shall include any losses attributable to a failure by the Customer to keep secure any security or other information relating to the Wallet and access to it.
11. Right of withdrawal
11.1 You have 14 (fourteen) calendar days to exercise your right of withdrawal from this Agreement, without having to justify any reason or pay any penalty. This withdrawal period begins on the day after the date that your application is accepted by us.
11.2 We will not normally provide the Services during the withdrawal period. Any Services which are fully performed before a withdrawal cannot be reversed.
11.3 You must notify your withdrawal request to us within the allotted period by email to<EMAIL_ADDRESS>11.4 If you exercise your right of withdrawal, this Agreement will be terminated at no cost to you (subject to any Exchange Fees and Withdrawal Fees required to effect your withdrawal).
12. Term and Termination
12.1 This Agreement will commence in the manner set out in clause 1.1 and will continue unless either party notifies the other of termination, in writing, in accordance with this Agreement.
12.2 This Agreement can be terminated immediately by the Customer providing written notice to Moonpay.
12.3 This Agreement can be terminated with immediate effect by Moonpay if:
12.3.1 it suspects that the Customer is in breach of any of its warranties and representations in clause 18;
12.3.2 the Customer is in material breach of this Agreement;
12.3.3 the Customer fails on request to provide such information or documentation as Moonpay (or any third party whose services we use in providing the Services to you under this Agreement) may reasonably request in order to ensure compliance with applicable money laundering laws and regulations or otherwise to ensure the verification of your identity and/or funding sources to Moonpay satisfaction;
12.3.4 the Customer ceases trading (or threatens to cease trading); is subject to an order for winding up; has an administrator or liquidator appointed (or such appointment is entitled or is requested in good faith); is the subject of a bankruptcy petition or order; becomes insolvent; is incapable of paying its debts as they fall due; makes any arrangement with its creditors for the payment of its debts.
12.5 Any termination is without prejudice to either party’s accrued rights or remedies.
12.6 The accrued rights and remedies of the parties, and clauses 8, 9 and 12.5, will survive termination of this Agreement for any reason.
13. Force majeure
13.1 No party will be in breach of this Agreement nor liable for any failure to perform its obligations under this Agreement if that failure results from circumstances beyond its reasonable control.
14. Notices
14.1 We may (where allowed to do so by law) communicate with you by posting information in your Account or on the Website, in which case the information will be treated as received by you when it is posted by us.
14.2 We may also contact you at the postal or email address you provide us with when applying to open your Account. Notices sent by email will be deemed to have been received at the time of transmission as shown by the sender’s records (or if sent outside business hours, at 9 am on the first Business Day following despatch). Notice sent by post will be deemed to have been received on the second business day after posting.
15. Complaints
15.1 For any complaint relating to the Services, you are advised to contact<EMAIL_ADDRESS>16. General
16.1 A waiver of any right under this Agreement is only effective if it is in writing.
16.2 If any provision (or part of a provision) of this Agreement is found to be invalid, unenforceable or illegal, the other provisions (or parts of any provisions) will remain in force. Nothing in this Agreement shall be deemed, or is intended to be deemed, nor shall it cause, either you or Moonpay to be treated as the agent of the other.
16.3 This Agreement constitutes the entire agreement between the parties and supersedes any previous agreement between them.
16.4 The Customer will not assign, transfer, charge, sub-contract or deal in any other manner with all or any of its rights or obligations under this Agreement, without the prior written consent of Moonpay. However, we may assign, transfer or sub-contract our respective rights and obligations under this Agreement upon providing you with 30 days’ notice in writing.
16.5 This Agreement does not confer any rights on any person or party (other than the parties to this Agreement and (where applicable) their successors and permitted assigns) pursuant to the Contracts (Rights of Third Parties) Act 1999.
16.6 Moonpay may amend this Agreement as it sees fit. Moonpay may make all amendments to the Agreement by posting the revised Agreement on the Website or by emailing it to you, indicating when the revised Agreement becomes effective. Moonpay will take all reasonable steps to notify you of each amendment in advance of it taking effect, however, where permitted and necessary due to circumstances, we may indicate that an amendment shall be effective immediately. Copies of the current version of the Agreement will be made available on the Website.
16.7 This Agreement will be governed by, and construed in accordance with, the laws of Malta and, subject to any overriding legal requirements, the parties irrevocably submit to the exclusive jurisdiction of the Maltese Courts. This Agreement and any information or notifications that you or we are to provide should be in English.
16.8 If you have any feedback, questions, or complaints, you may contact us via our customer support webpage orsupport@moonpay.io.


Talkit++
Talkit++ is an iOS application that allows a blind user to interact with an augmented 3D printed model. To begin exploring a model, a blind user sticks a sticker on her fingernail, and slides the tracker on the printed scaffold. Using a RGB camera, Talkit locates the model by sensing the tracker, and finds the user’s finger by tracking the sticker. Talkit++ speaks audio information when the user puts the finger with the sticker on an annotated element on the model.
Abstract
Tactile models are important learning materials for visually impaired students. With the adoption of 3D printing technologies, visually impaired students and teachers will have more access to 3D printed tactile models.
We designed Talkit++, an iOS application that plays audio and visual content as a user touches parts of a 3D print. With Talkit++, a visually impaired student can explore a printed model tactilely, and use finger gestures and speech commands to get more information about certain elements in the model.
Talkit++ detects the model and finger gestures using computer vision algorithms, simple accessories like paper stickers and printable trackers, and the built-in RGB camera on an iOS device. Based on the model’s position and the user’s input, Talkit++ speaks textual information, plays audio recordings, and displays visual animations.
Demo
Related papers & publications
Presented on ASSETS’17, Markit and Talkit, a Low-Barrier toolkit to augment 3D printed models


Voting - RJ
Check Polls
Check My Polls
New Poll
Profile
Log Out
FCC - Voting
Below are polls hosted by fcc-voting.
Select a poll to see the results and vote.


Nyzo version 600 (commit on GitHub) implements selective processing of blocks sent in NewBlock9 messages.
This version affects only the verifier. No other modes receive NewBlock9 messages.
The changes in this version are due to a report by a member of the community. This member provided an explanation and script showing that it was easy to cause excess work for a verifier with large blocks on incoming NewBlock9 messages. We encourage the cycle to reward the report appropriately. The reporter provided the following address for receiving a bounty:
In MeshListener.response(), incoming NewBlock9 content objects are now checked for proper type before processing. This does not affect behavior significantly, but it does avoid exceptions and null responses when the incoming block is not processed.
A new constructor was added to Message. This new constructor allows the valid value to be specified instead of requiring its computation in the constructor.
In Message.fromBytes(), the source-node identifier is now read before processing content. Note that integrity of the blacklist is preserved. While the signature is not verified before blacklisting, the blacklist indexes on IP address, and UDP messages are excluded from this process.
The content of the message is now processed only when the message signature is valid. This also avoids processing of content when an invalid message type is sent from an out-of-cycle verifier. The piéce de rèsistance of these changes, though, is the extraction of the source-node identifier before processing of content, and the sending of that identifier to the processContent() method.
The Message.processContent() method now accepts the source-node identifier, and it now passes that identifier to the NewBlockMessage.fromByteBuffer() method. As the fromByteBuffer() methods are convention, not interface definitions, no further changes are required for this additional argument.
In the ShortLong class, a new static method was created to, essentially, deserialize a long value to a ShortLong object. To reduce code duplication, this method is now used by the other static methods that build ShortLong objects.
In NewBlockMessage, restraint is now applied in processing the payload of the message. Before, all incoming blocks were processed. Now, all blocks with invalid heights are immediately excluded, and large blocks are only accepted from in-cycle verifiers.
In SignatureUtil, an overload of signatureIsValid() was added to allow validating signatures for signed data that does not fill an entire source array. This allows for signatures of incoming messages to be validated without creating copies of parts of the byte arrays that contain the messages. The old overload of signatureIsValid(), using the entire array of signed bytes, now passes through to the new overload.


Calculating...
The goal of this page is to verify that the two default font stacks in FontWatchRunner have different widths on a given platform when rendering the default test string. The pairs of headings below should render in different fonts and the results above should indicate that they all have different widths.


Browse Classes
Our expert instructors conduct classes literally anywhere. Take a yoga class on a mountaintop. Do boot camp on the beach. Go to an abandoned mansion for mat pilates. The options are limitless.
Register/Cancel Classes
Signing up for classes is easy. And you can cancel and reschedule classes with little to no cancellation fee.
Become Your Own Boss
Instead of needing a gym to attract clients, instructors can be their own boss and set up their fitness classes with a minimal start up fee.


Road and bridge projects are expected to make up one of the biggest chunks of the jobs created in the stimulus package. Below, you’ll find a chart of more than 5,800 projects that have been approved by the U.S. Department of Transportation. Once given the green light, states can put the projects out to bid, contract them and begin construction work. So far, about 2,300 projects are under way.
Help us find out how much progress has been made on these projects by participating in our Stimulus Spot Check.
For more on the stimulus, check out our blog and resource page.
| State | Urban Area | Project Description | Improvement Type | ARRA Funds Obligated |
|---|---|---|---|---|
| MARYLAND | Safety & Resurfacing | Pavement Improvement | $1,669,548 | |
| MARYLAND | Safety & Resurfacing | Pavement Improvement | $2,133,956 | |
| MARYLAND | Geometric Improvements | Pavement Improvement | $835,824 | |
| MARYLAND | MD 26 @ KLEE MILL RD / MD 850 - WIDEN & RESURFACE | Pavement Improvement | $2,432,740 | |
| MARYLAND | Geometric Improvements | Pavement Improvement | $1,284,501 | |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $2,107,066 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $2,011,527 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $953,783 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $3,849,356 |
| MARYLAND | Safety & Resurfacing | Pavement Improvement | $986,514 | |
| MARYLAND | Safety & Resurfacing | Pavement Improvement | $841,137 | |
| MARYLAND | 4 Line Divided Highway Construct | Pavement Widening | $7,351,494 | |
| MARYLAND | BALTIMORE,MD | Resurfacing | Pavement Improvement | $928,143 |
| MARYLAND | BALTIMORE,MD | Resurfacing | Pavement Improvement | $2,528,090 |
| MARYLAND | BALTIMORE,MD | Resurfacing | Pavement Improvement | $1,340,347 |
| MARYLAND | BALTIMORE,MD | Bridge Rehabilitation | Bridge Improvement | $7,269,104 |
| MARYLAND | BALTIMORE,MD | Rehabitation | Pavement Improvement | $7,572,091 |
| MARYLAND | Safety and Resurfacing | Pavement Improvement | $1,690,416 | |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $11,529,372 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Intersection Reconstruction | Pavement Improvement | $1,678,058 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $3,023,705 |
| MARYLAND | WASHINGTON (DC-MD-VA) | MD 28: @ MD 586 ( INTERSECTION MODIFICATIONS ) | Pavement Improvement | $1,471,290 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety and Resurfacing | Pavement Improvement | $4,488,347 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety and Resurfacing | Pavement Improvement | $2,630,027 |
| MARYLAND | WASHINGTON (DC-MD-VA) | Safety & Resurfacing | Pavement Improvement | $2,632,686 |
| MARYLAND | WASHINGTON (DC-MD-VA) | MD 212 @ ALLVIEW DRIVE / EVANS TRAIL - WIDEN & RESURFACE | Pavement Improvement | $1,744,696 |
| MASSACHUSETTS | The project will begin at the Adams/Cheshire town boundary (MM 66.3) and will end just north of Commonwealth Avenue (MM 67.8) for a project length of approximately 1.5 miles. MassHighway will resurfac | Pavement Improvement | $2,199,456 | |
| MASSACHUSETTS | TAUNTON | This project consists of the maintenance resurfacing and drainage improvements on a portion of State-Owned Route 18/28 in the Towns of Bridgewater and Middleborough. The project extends form Bridgewat | Pavement Improvement | $2,923,530 |
| MASSACHUSETTS | FALL RIVER (RI) | Project ERP-001S(899) Fall River / Freetown Rte 24 Interchange Access Improvements, Executive Park Dr, South Main St, DESIGN/BUILD | Pavement Improvement | $70,172,997 |
| MASSACHUSETTS | HYANNIS | The purpose of this project is to resurface the Bourne Route 6 Scenic Highway from the intersection with Nightingale Pond Road to just east of the intersection with Bourndale Road. | Pavement Improvement | $1,805,110 |
| MASSACHUSETTS | NEW BEDFORD | The proposed project consists of resurfacing and related work on Route 6 in the Town of Westport. Beginning west of the DartmouthlWestport Town Line at Sta. 1+30± (Westbound Milemarker 20.9±) & Sta. 1 | Pavement Improvement | $5,857,100 |
| MASSACHUSETTS | This resurfacing project consists of 2" milling and resurfacing on a section Rte 122 and a section of Rte 62 in Barre. Section 1 is state-owned and begins just west of the intersection of Rte 122 and | Pavement Improvement | $2,795,740 | |
| MASSACHUSETTS | The purpose of this project is to perform resurfacing and related work on the state owned sections of Route 6A in Barnstable. Also included in the project is the resurfacing of existing sidewalks wit | Pavement Improvement | $3,701,540 | |
| MASSACHUSETTS | This is a State Highway resurfacing project including new pavement, guardrail, painting and signage. | Pavement Improvement | $1,796,330 | |
| MASSACHUSETTS | BOSTON-LAWRENCE-HAVERHILL(MA-NH-RI) | This is a State Highway resurfacing project including new pavement, guardrail, painting and signage. | Pavement Improvement | $4,959,250 |
| MASSACHUSETTS | PROVIDENCE-PAWTUCKET-WARWICK (RI) | Work on this project consists of milling and resurfacing of Route 6 in Swansea from the Somerset Town Line to the Rehoboth Town Line. Repair of frost heaves and the reconstruction of existing sidewal | Pavement Improvement | $4,440,310 |
| MASSACHUSETTS | The work for this project shall consist of milling and resurfacing Route 6A in Dennis from the Yarmouth Town Line to the Brewster Town Line, a distance of approximately 4.3 miles. | Pavement Improvement | $1,703,730 | |
| MASSACHUSETTS | This is a Pavement Preservation Project for Route 24 in Avon and Stoughton. | Pavement Improvement | $5,071,620 | |
| MASSACHUSETTS | BOSTON-LAWRENCE-HAVERHILL(MA-NH-RI) | PROJECT ERP-001S(931), Burlington-Lexington-Reading-Woburn, Rte I-95 Traffic Sign Replacement. | Safety/Traffic Management | $3,774,620 |
| MASSACHUSETTS | Project consists of 2" milling and resurfacing on a section of Route 32 (Main Street). The section begins at the WareÐNew Braintree TL MM 22.383 and proceeds northerly past the New Braintree-Hardwick | Pavement Improvement | $622,600 | |
| MASSACHUSETTS | FITCHBURG-LEOMINSTER | ERP-001S(933)X, Gill-Erving-Orange-Wendell: Route 2 Resurfacing and Related Work | Pavement Improvement | $3,988,870 |
| MASSACHUSETTS | ERP-001S(934)X, Easthampton-Greenfield-Northampton-Southampton-Westfield: Resurfacing & related work on Routes 5 and 10. | Pavement Improvement | $4,243,640 | |
| MASSACHUSETTS | This project will commence at Route 140 in Shrewsbury and continue in a westerly direction to Massasoit Road in Worcester, a distance of approximately 3.5 miles. | Pavement Improvement | $3,453,780 | |
| MASSACHUSETTS | The focus of the Northfield Street Improvement Project is to reconstruct sidewalks on Main Street and Parker Avenue in Northfield from a point north of the intersection with River Street continuing no | Pavement Improvement | $1,685,890 | |
| MASSACHUSETTS | PITTSFIELD | Reconstruction of State Highway from the Route 7 intersection north for approximately 1.25 miles to the end of the State Highway just south of the intersection with Route 183. Included in the work is | Pavement Improvement | $4,490,240 |
| MASSACHUSETTS | Milling and resurfacing of Milestone Road beginning at the limit of State Highway just west of rotary that intersects Orange St., Sparks Ave., and Old South Rd., proceeding easterly and ending at the | Pavement Improvement | $5,601,520 | |
| MASSACHUSETTS | PROJECT ERP-001S(942)X, Belchertown-Ware, Rte 9 Resurfacing & related work | Pavement Improvement | $4,833,910 | |
| MASSACHUSETTS | PROJECT ERP-001S(945)X Cheshire, resurfacing & related work Rte 8 | Pavement Improvement | $1,265,387 | |
| MASSACHUSETTS | The proposed project consists of roadway modifications and the reconstruction of Route 27, Pleasant Street, West Street and Westgate Mall Road. Vehicular operations are anticipated to be improved as | Pavement Improvement | $4,867,672 | |
| MASSACHUSETTS | PROJECT ERP-001S(947)X, New Ashford - Lanesborough, Rte 7 Resurfacing & related work | Pavement Improvement | $2,406,702 | |
| MASSACHUSETTS | BOSTON-LAWRENCE-HAVERHILL(MA-NH-RI) | The Project limits are Route 2 in Harvard from the vicinity of the Littleton Road Bridge over Route 2 easterly about 1 mile to the Littleton Town Line, then continuing another 3.4 miles to the Boxboro | Pavement Improvement | $5,646,160 |
| MASSACHUSETTS | The project involves roadway and sidewalk rehabilitation on town-owned Elm Street in the Town of Hatfield, and includes coldplaning, roadway reclamation, hot mix asphalt paving, replacement of sidewal | Pavement Improvement | $1,114,560 | |
| MASSACHUSETTS | BOSTON-LAWRENCE-HAVERHILL(MA-NH-RI) | The proposed expansion of the Newburyport Park & Ride facility will add 105 parking spaces. Work will include the construction of a soil nail retaining wall, upgrades to the existing lighting, as well | Safety/Traffic Management | $3,587,090 |
| MASSACHUSETTS | This project consists of demolishing and replacing the Red Bridge Road Bridge over the Utilities Canal in Wilbraham. The new bridge will be a superstructure replacement constructed on an improved alig | Bridge Improvement | $2,499,054 | |
| MASSACHUSETTS | FITCHBURG-LEOMINSTER | The proposed project consists of resurfacing and related work on Route 6 in the Town of Westport. Beginning west of the DartmouthlWestport Town Line at Sta. 1+30± (Westbound Milemarker 20.9±) & Sta. 1 | Pavement Improvement | $7,898,960 |
| MASSACHUSETTS | SPRINGFIELD-CHICOPEE-HOLYOKE (CT) | This multi-use recreational rail trail project starts at Ferry Street in Easthampton and ends at Earle Street in Northampton, for a total length of 4,400 Meters. It links the Manhan Bike Trail in Eas | Transportation Enhancements | $4,707,800 |
| MASSACHUSETTS | ERP-001S(964)X, Westford: Intersection and signal improvements at Route 110 (Littleton) and Route 225 ( Concord Road). | Pavement Improvement | $4,123,590 | |
| MICHIGAN | SOUTH LYON-HOWELL-BRIGHTON | Design & construction of ITS | Safety/Traffic Management | $632,422 |
| MICHIGAN | resurface | Pavement Improvement | $200,000 | |
| MICHIGAN | Crack Relief Layer and Resurf | Pavement Improvement | $3,402,383 | |
| MICHIGAN | HMA Crush and Shape | Pavement Improvement | $1,566,004 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $93,591 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $93,591 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $33,120 | |
| MICHIGAN | Major Rehabilitation | Pavement Improvement | $20,616,393 | |
| MICHIGAN | HOLLAND | Install new cable barrier rail | Safety/Traffic Management | $667,076 |
| MICHIGAN | Renovate Rest Area | Other | $2,230,143 | |
| MICHIGAN | Deep Overlay | Bridge Replacement | $395,635 | |
| MICHIGAN | Resurface | Pavement Improvement | $120,000 | |
| MICHIGAN | Crush & Shape, Resurface | Pavement Improvement | $772,026 | |
| MICHIGAN | Chip Seal | Pavement Improvement | $526,311 | |
| MICHIGAN | Pave existing Carpool Lots | Other | $74,596 | |
| MICHIGAN | Scour countermeasures | Pavement Improvement | $65,189 | |
| MICHIGAN | HMA Resurfacing | Pavement Improvement | $249,791 | |
| MICHIGAN | HMA Resurfacing | Pavement Improvement | $1,827,957 | |
| MICHIGAN | BAY CITY | Trenching & HMA shldr paving | Pavement Improvement | $4,284,067 |
| MICHIGAN | BAY CITY | Safety Improvement | Pavement Improvement | $480,000 |
| MICHIGAN | BENTON HARBOR | Reconstruction | Pavement Improvement | $309,925 |
| MICHIGAN | BENTON HARBOR | Install median barrier | Safety/Traffic Management | $3,684,997 |
| MICHIGAN | BENTON HARBOR | Chip and seal | Pavement Improvement | $89,104 |
| MICHIGAN | SOUTH BEND-MISHAWAKA, IN-MI | Chip and seal | Pavement Improvement | $69,565 |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $91,801 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $90,283 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $77,658 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $85,200 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $55,000 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $80,000 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $85,500 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $57,378 | |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $231,918 |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $289,898 |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $440,648 |
| MICHIGAN | Sidewalk | Pavement Improvement | $241,521 | |
| MICHIGAN | Resurface | Pavement Improvement | $550,473 | |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $454,396 |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $242,065 |
| MICHIGAN | Resurface | Pavement Improvement | $145,000 | |
| MICHIGAN | BATTLE CREEK | Resurface | Pavement Improvement | $330,773 |
| MICHIGAN | SOUTH BEND-MISHAWAKA, IN-MI | Chip and seal | Pavement Improvement | $45,000 |
| MICHIGAN | SOUTH BEND-MISHAWAKA, IN-MI | Chip and seal | Pavement Improvement | $12,150 |
| MICHIGAN | Resurface | Pavement Improvement | $50,000 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $90,555 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $74,416 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $78,150 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $32,550 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $83,025 | |
| MICHIGAN | Resurface | Pavement Improvement | $20,000 | |
| MICHIGAN | Mill and HMA Overlay | Pavement Improvement | $739,969 | |
| MICHIGAN | Pere Marquette HMA Paving | Pavement Improvement | $795,008 | |
| MICHIGAN | LANSING | Concrete pavement restoration | Pavement Improvement | $1,995,030 |
| MICHIGAN | mill and fill existing surface | Pavement Improvement | $183,166 | |
| MICHIGAN | LANSING | Resurface and sidewalk repair | Pavement Improvement | $264,000 |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $376,613 |
| MICHIGAN | Sealcoat existing surface | Pavement Improvement | $86,880 | |
| MICHIGAN | Mill and fill existing surface | Pavement Improvement | $148,645 | |
| MICHIGAN | Reconstruct | Pavement Improvement | $49,866,926 | |
| MICHIGAN | Resurface | Pavement Improvement | $275,443 | |
| MICHIGAN | Paver Placed Surface Seal | Pavement Improvement | $353,401 | |
| MICHIGAN | I-75 3000 feet south of NYC RR to 3000 feet north of M-93 Crush and shape with HMA resurfacing | Pavement Improvement | $4,672,879 | |
| MICHIGAN | Reconstruct existing | Pavement Improvement | $1,443,886 | |
| MICHIGAN | Center left turn lane | Pavement Improvement | $349,479 | |
| MICHIGAN | Resurface | Pavement Improvement | $265,000 | |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $619,427 |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $252,388 |
| MICHIGAN | LANSING | Reconstuction | Pavement Improvement | $239,876 |
| MICHIGAN | COLD MILL & RESURFACE | Pavement Improvement | $2,095,377 | |
| MICHIGAN | Streetscape Enhancement | Pavement Improvement | $724,434 | |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $143,922 |
| MICHIGAN | Resurface | Pavement Improvement | $155,000 | |
| MICHIGAN | Resurface | Pavement Improvement | $354,458 | |
| MICHIGAN | Epoxy overlay and painting | Bridge Improvement | $157,518 | |
| MICHIGAN | Mill & HMA Overlay with Joints | Pavement Improvement | $5,323,046 | |
| MICHIGAN | Resurface existing Lots | Pavement Improvement | $101,873 | |
| MICHIGAN | FLINT | Reconst, Pavt Reprs & Bridges | Other | $787,000 |
| MICHIGAN | FLINT | Pavement repair | Pavement Improvement | $1,536,295 |
| MICHIGAN | FLINT | Pavement repair | Pavement Improvement | $1,385,335 |
| MICHIGAN | Rubblization and resurfacing | Pavement Improvement | $624,753 | |
| MICHIGAN | FLINT | Preventative Maintenance | Pavement Improvement | $300,000 |
| MICHIGAN | Resurface | Other | $387,200 | |
| MICHIGAN | HMA cold mill and resurface | Pavement Improvement | $2,301,024 | |
| MICHIGAN | Reconstruct | Other | $210,000 | |
| MICHIGAN | Pavement Markings | Safety/Traffic Management | $277,500 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $75,478 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $47,283 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $94,491 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $92,897 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $84,359 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $93,945 | |
| MICHIGAN | HMA Overlay with Joint Repairs | Pavement Improvement | $360,562 | |
| MICHIGAN | HMA Overlay | Pavement Improvement | $360,386 | |
| MICHIGAN | Construct bicycle lanes | Pavement Improvement | $183,626 | |
| MICHIGAN | HMA Overlay | Pavement Improvement | $471,311 | |
| MICHIGAN | Resurface | Pavement Improvement | $90,000 | |
| MICHIGAN | Resurface | Pavement Improvement | $115,000 | |
| MICHIGAN | Resurface | Pavement Improvement | $90,000 | |
| MICHIGAN | Non-Motorized Shoulders | Pavement Improvement | $144,689 | |
| MICHIGAN | Non-Motorized Shoulders | Pavement Improvement | $312,800 | |
| MICHIGAN | Resurface | Pavement Improvement | $432,603 | |
| MICHIGAN | Non-Motorized Shoulders | Pavement Improvement | $334,306 | |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $86,778 |
| MICHIGAN | Chip and seal | Pavement Improvement | $94,500 | |
| MICHIGAN | Chip and seal | Pavement Improvement | $94,500 | |
| MICHIGAN | LANSING | Restore and Rehabilitate | Pavement Improvement | $452,978 |
| MICHIGAN | LANSING | Reconstruct | Pavement Improvement | $803,286 |
| MICHIGAN | Chip seal | Pavement Improvement | $61,220 | |
| MICHIGAN | LANSING | Restore and rehabilitate | Pavement Improvement | $498,062 |
| MICHIGAN | LANSING | Cold Mill & HMA Resuf | Pavement Improvement | $3,761,780 |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $770,470 |
| MICHIGAN | LANSING | Resurface | Pavement Improvement | $538,495 |
| MICHIGAN | Coldmill/Joints/Resurface | Pavement Improvement | $1,016,539 | |
| MICHIGAN | Cold mill and resurface | Pavement Improvement | $265,000 | |
| MICHIGAN | ASCRL and HMA Overlay | Pavement Improvement | $9,955,449 | |
| MICHIGAN | Reconstruct | Pavement Improvement | $706,824 | |
| MICHIGAN | JACKSON | Resurface | Pavement Improvement | $318,413 |
| MICHIGAN | JACKSON | Resurface | Pavement Improvement | $378,047 |
| MICHIGAN | JACKSON | Reconstruction | Pavement Improvement | $657,922 |
| MICHIGAN | KALAMAZOO | Const SPUI, widen, soundwall | Pavement Widening | $47,717,637 |
| MICHIGAN | KALAMAZOO | Reconstruction | Pavement Improvement | $900,000 |
| MICHIGAN | KALAMAZOO | Reconstruction | Pavement Improvement | $665,676 |
| MICHIGAN | KALAMAZOO | RCNST | Pavement Improvement | $1,045,676 |
| MICHIGAN | KALAMAZOO | Reconstruction | Pavement Improvement | $515,457 |
| MICHIGAN | Reconstruction | Pavement Improvement | $517,985 | |
| MICHIGAN | KALAMAZOO | Resurface | Pavement Improvement | $531,000 |
| MICHIGAN | KALAMAZOO | Restoration and Rehabilitation | Pavement Improvement | $216,540 |
| MICHIGAN | KALAMAZOO | Mill and resurface | Pavement Improvement | $199,402 |
| MICHIGAN | KALAMAZOO | Resurface | Pavement Improvement | $270,000 |
| MICHIGAN | KALAMAZOO | Resurface | Pavement Improvement | $330,193 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $524,026 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $1,005,938 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $122,184 |
| MICHIGAN | GRAND RAPIDS | Repair/resurface | Pavement Improvement | $275,118 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $761,000 |
| MICHIGAN | GRAND RAPIDS | Deep Overlay, Pin and Hangers | Bridge Improvement | $1,740,844 |
| MICHIGAN | GRAND RAPIDS | Reconstruct | Pavement Improvement | $1,460,000 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $70,136 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $76,696 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $79,502 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $79,502 |
| MICHIGAN | GRAND RAPIDS | Reconstruct | Pavement Improvement | $332,036 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $1,100,000 |
| MICHIGAN | GRAND RAPIDS | Resurface | Pavement Improvement | $670,308 |
| MICHIGAN | GRAND RAPIDS | Reconstruct | Pavement Improvement | $300,000 |
| MICHIGAN | GRAND RAPIDS | Deep ovly, P/H, substr rep, pt | Bridge Improvement | $520,718 |
| MICHIGAN | Deploy misc ITS technologies | Safety/Traffic Management | $780,037 | |
| MICHIGAN | GRAND RAPIDS | Integrate ITS Devices | Safety/Traffic Management | $280,000 |
| MICHIGAN | Jt Rprs, Substr Repr, bm rprs | Bridge Improvement | $582,404 | |
| MICHIGAN | GRAND RAPIDS | Madison Avenue and Hall Street Hall St from Jefferson Ave Ornamental street lighting, street trees, benches,bulb outs, ENH 07109 | Pavement Improvement | $929,170 |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $91,940 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $93,367 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $89,005 | |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $73,501 | |
| MICHIGAN | HMA paving of gravel lot | Pavement Improvement | $51,794 | |
| MICHIGAN | Resurface existing Lot | Pavement Improvement | $21,075 | |
| MICHIGAN | Reconstruct | Other | $240,000 | |
| MICHIGAN | Chip Seal | Pavement Improvement | $874,819 | |
| MICHIGAN | East bound passing relief lane | Pavement Widening | $1,735,083 | |
| MICHIGAN | Milling and single course HMA | Pavement Improvement | $3,334,687 | |
| MICHIGAN | New Carpool Lot | Pavement Improvement | $191,801 | |
| MICHIGAN | Resurface | Other | $23,000 | |
| MICHIGAN | SOUTH LYON-HOWELL-BRIGHTON | Resurface road | Pavement Improvement | $1,577,000 |
| MICHIGAN | HMA MILL&FILL | Pavement Improvement | $2,864,179 | |
| MICHIGAN | Resurface | Pavement Improvement | $400,284 | |
| MICHIGAN | DETROIT,MI | Resurface road | Pavement Improvement | $628,581 |
| MICHIGAN | mill and HMA resurfacing | Pavement Improvement | $497,713 | |
| MICHIGAN | DETROIT,MI | Resurface road | Pavement Improvement | $450,000 |
| MICHIGAN | DETROIT,MI | Resurface | Pavement Improvement | $565,287 |
| MICHIGAN | Bituminous Resurfacing | Pavement Improvement | $1,848,504 | |
| MICHIGAN | Resurface Rural Roads | Pavement Improvement | $322,092 | |
| MICHIGAN | DETROIT,MI | Reconstruct | Pavement Improvement | $2,800,000 |
| MICHIGAN | DETROIT,MI | Bituminous overlay. | Pavement Improvement | $4,605,766 |
| MICHIGAN | Hot In-Place With Ultra-Thin | Pavement Improvement | $362,028 | |
| MICHIGAN | Resurface | Pavement Improvement | $80,000 | |
| MICHIGAN | Concrete Joint Repair | Pavement Improvement | $507,651 | |
| MICHIGAN | Mill and HMA Overlay | Pavement Improvement | $552,119 | |
| MICHIGAN | Reconstruction and Overlay | Pavement Improvement | $2,475,018 | |
| MICHIGAN | Resurface | Pavement Improvement | $743,345 | |
| MICHIGAN | Reconstruct | Pavement Improvement | $465,000 | |
| MICHIGAN | Cold Mill and Resurface | Pavement Improvement | $463,039 | |
| MICHIGAN | HMA Overlay | Pavement Improvement | $495,508 | |
| MICHIGAN | Cold Mill & HMA Resurface | Pavement Improvement | $869,577 | |
| MICHIGAN | deck ptch, jts,P/H, substr rpr | Bridge Improvement | $809,063 | |
| MICHIGAN | Resurface | Pavement Improvement | $95,900 | |
| MICHIGAN | Painting and Guardrails | Pavement Improvement | $122,015 | |
| MICHIGAN | Penetrating Healer Sealer | Bridge Improvement | $476,980 | |
| MICHIGAN | MONROE | Resurface | Pavement Improvement | $179,884 |
| MICHIGAN | MONROE | Resurface | Pavement Improvement | $204,090 |
| MICHIGAN | Single Course Chip Seal | Pavement Improvement | $403,967 | |
| MICHIGAN | Resurface | Pavement Improvement | $150,000 | |
| MICHIGAN | HMA Overlay | Pavement Improvement | $914,809 | |
| MICHIGAN | Coldmill & Resurface/Chipseal | Pavement Improvement | $809,317 |
Source: FDIC


Ann Marie Zaya
Created Line graph which iterates over the time
Observing U.S. financial data from pre-recession to present day, we will be analyzing changes in the S&P 500 stock composition, changes in the Treasury yield curve, and changes in investor sentiment among prominent Twitter users in the financial community
Created Line graph which iterates over the time
Created Line graph, and Histograms
Created Server, and Database
Created HTML
Created Word Cloud


JTA president wants nurses in every primary school
President of the Jamaica Teachers’ Association Owen Speid is insisting that primary schools need to be provided with school nurses.
“The dengue virus is spiralling out of control,” Speid told The Gleaner on Monday.
“Almost every day we are getting reports that children are going out with the dengue – whether they are dying or they are getting real sick. I think it is the right time for the Government to look at putting school nurses in, so that at least there is a medical person who can help to identify [symptoms],” he said.
It is suspected that some 80 persons have died of dengue since the start of the year.
Speid said young children attending the just over 700 primary schools are sometimes unable to express how they are feeling.
Currently, guidance counsellors or teachers provide basic first-aid assistance to students.