Start Time: 2017-10-05 19:14:15
Duration: 0:00:22.003992
Status: Pass 12 Failure 19 Error 7
| Test Group/Test case | Count | Pass | Fail | Error | View |
| tests.iam.IamAudit.IamAudit | 13 | 4 | 2 | 7 | Detail |
testPasswordPolicyRequiresUpperCaseLetters |
error
ft1.1: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 36, in testPasswordPolicyRequiresUpperCaseLetters self.assertTrue(self._getPasswordPolicyField('RequireUppercaseCharacters'), "Password policy does not mandate upper case characters in password.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testAccessKeysAreRotated |
pass | ||||
testPasswordPolicyRequiresMinimumLength |
error
ft1.3: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 49, in testPasswordPolicyRequiresMinimumLength self.assertGreaterEqual(self._getPasswordPolicyField('MinimumPasswordLength'), requirePasswordLength, "Password policy does not mandate required minimum length of password.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testPasswordPolicyRequiresSymbols |
error
ft1.4: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 42, in testPasswordPolicyRequiresSymbols self.assertTrue(self._getPasswordPolicyField('RequireSymbols'), "Password policy does not mandate symbols in password.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testMfaEnabledForConsoleUsers |
fail
ft1.5: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 17, in testMfaEnabledForConsoleUsers self.assertEqual([], iamUsersWithoutMfa, "User(s) with console passwords without MFA: %s." % self._users(iamUsersWithoutMfa)) AssertionError: User(s) with console passwords without MFA: <root_account>,chenna. |
||||
testUnusedCredentialsAreDeactivated |
pass | ||||
testPoliciesAreNotAttachedToUsers |
fail
ft1.7: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 72, in testPoliciesAreNotAttachedToUsers self.assertEqual([], usersWithAttachedPolicies, "User(s) with policies attached to them: %s." % self._users(usersWithAttachedPolicies)) AssertionError: User(s) with policies attached to them: chenna. |
||||
testPasswordPolicyEnsuresPasswordExpiry |
error
ft1.8: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 57, in testPasswordPolicyEnsuresPasswordExpiry self.assertLessEqual(self._getPasswordPolicyField('MaxPasswordAge', 1000) , requiredPasswordExpirationPeriod, "Password policy does not mandate minimum password expiry time.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testPasswordPolicyPreventsPasswordReuse |
error
ft1.9: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 53, in testPasswordPolicyPreventsPasswordReuse self.assertGreaterEqual(self._getPasswordPolicyField('PasswordReusePrevention', 0), requiredPasswordsToRemember, "Password policy does not mandate minimum password re-use prevention.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testPasswordPolicyRequiresNumbers |
error
ft1.10: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 45, in testPasswordPolicyRequiresNumbers self.assertTrue(self._getPasswordPolicyField('RequireNumbers'), "Password policy does not mandate numbers in password.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
testRootAccountLoginIsAvoided |
pass | ||||
testRootAccountHasNoActiveAccessKeys |
pass | ||||
testPasswordPolicyRequiresLowerCaseLetters |
error
ft1.13: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 39, in testPasswordPolicyRequiresLowerCaseLetters self.assertTrue(self._getPasswordPolicyField('RequireLowercaseCharacters'), "Password policy does not mandate lower case characters in password.") File "/Users/chennasbrain/aws-security-test/tests/iam/IamAudit.py", line 75, in _getPasswordPolicyField passwordPolicy = IAM().getPasswordPolicy() File "/Users/chennasbrain/aws-security-test/aws/api/IAM.py", line 14, in getPasswordPolicy return self.iam.get_account_password_policy() File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 312, in _api_call return self._make_api_call(operation_name, kwargs) File "/Library/Python/2.7/site-packages/botocore-1.7.24-py2.7.egg/botocore/client.py", line 601, in _make_api_call raise error_class(parsed_response, operation_name) NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetAccountPasswordPolicy operation: The Password Policy with domain name<PHONE_NUMBER>65 cannot be found. |
||||
| tests.networking.NetworkingAudit.NetworkingAudit | 5 | 2 | 3 | 0 | Detail |
testSshNotOpenFromInternet |
fail
ft2.1: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/networking/NetworkingAudit.py", line 9, in testSshNotOpenFromInternet self.assertEqual([], sshOpenSecurityGroups, "Security group(s) with SSH allowed from Internet[vpcId:groupId]: %s." % self._vpcIdsGroupIds(sshOpenSecurityGroups)) AssertionError: Security group(s) with SSH allowed from Internet[vpcId:groupId]: vpc-b46e16cd:sg-6c20c91c,vpc-b46e16cd:sg-7f9a790f,vpc-b46e16cd:sg-b8f517c8,vpc-b46e16cd:sg-d9bd74a9. |
||||
testRdpNotOpenFromInternet |
pass | ||||
testPortsOpenFromTheInternet |
pass | ||||
testDefaultSecurityGroupsNotOpenFromInternet |
fail
ft2.4: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/networking/NetworkingAudit.py", line 24, in testDefaultSecurityGroupsNotOpenFromInternet self.assertEqual([], defaultSecurityGroupsOpenFromInternet, "Default Security group(s) with access allowed from Internet[vpcId:groupId]: %s." % self._vpcIdsGroupIds(defaultSecurityGroupsOpenFromInternet)) AssertionError: Default Security group(s) with access allowed from Internet[vpcId:groupId]: vpc-b46e16cd:sg-7f9a790f. |
||||
testMainRouteTableIsPrivate |
fail
ft2.5: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/networking/NetworkingAudit.py", line 31, in testMainRouteTableIsPrivate self.assertEqual([], nonPrivateMainRouteTables, "Main Route table(s) with routes other than default local route: %s" % self._vpcIdsRtbIds(nonPrivateMainRouteTables)) AssertionError: Main Route table(s) with routes other than default local route: vpc-b46e16cd:rtb-97b5a1ef |
||||
| tests.log.LoggingAudit.LoggingAudit | 7 | 5 | 2 | 0 | Detail |
testCloudTrailLogsS3BucketHasAccessLoggingEnabled |
pass | ||||
testCloudTrialsLogsAreIntegratedWithCloudWatch |
pass | ||||
testCloudTrailValidationIsEnabled |
pass | ||||
testCloudtrailEnabledForAllRegions |
fail
ft3.4: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/log/LoggingAudit.py", line 16, in testCloudtrailEnabledForAllRegions self.assertEqual(trailEnabledForAllRegions, True, "No multi-region trail defined.") AssertionError: No multi-region trail defined. |
||||
testCloudTrailLogsAreEncrypted |
pass | ||||
testCloudTrailLogsS3BucketIsNotPublic |
pass | ||||
testCustomerCreatedCMKKeysAreRotationEnabled |
fail
ft3.7: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/log/LoggingAudit.py", line 63, in testCustomerCreatedCMKKeysAreRotationEnabled self.assertEqual([], keysWithoutRotationEnabled, "CMK key(s) without rotation enabled: %s." % self._getCMKKeyIds(keysWithoutRotationEnabled)) AssertionError: CMK key(s) without rotation enabled: 2e3fa2e0-f3b3-42d1-a74d-67b69dce088b. |
||||
| tests.monitoring.MonitoringAudit.MonitoringAudit | 13 | 1 | 12 | 0 | Detail |
testMetricFilterAndAlarmExistForVpcChanges |
fail
ft4.1: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 157, in testMetricFilterAndAlarmExistForVpcChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForNetworkAclChanges |
fail
ft4.2: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 118, in testMetricFilterAndAlarmExistForNetworkAclChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForRouteTableChanges |
fail
ft4.3: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 144, in testMetricFilterAndAlarmExistForRouteTableChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForS3PolicyChanges |
fail
ft4.4: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 92, in testMetricFilterAndAlarmExistForS3PolicyChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testSNSTopicsHaveAppropriateSubscribers |
pass | ||||
testMetricFilterAndAlarmExistForSecurityGroupChanges |
fail
ft4.6: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 105, in testMetricFilterAndAlarmExistForSecurityGroupChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForLoginWithoutMfa |
fail
ft4.7: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 27, in testMetricFilterAndAlarmExistForLoginWithoutMfa self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForConsoleAuthFailure |
fail
ft4.8: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 79, in testMetricFilterAndAlarmExistForConsoleAuthFailure self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForNetworkGatewayChanges |
fail
ft4.9: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 131, in testMetricFilterAndAlarmExistForNetworkGatewayChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForUnauthorizedApiCalls |
fail
ft4.10: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 14, in testMetricFilterAndAlarmExistForUnauthorizedApiCalls self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForRootLogin |
fail
ft4.11: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 40, in testMetricFilterAndAlarmExistForRootLogin self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForIamPolicyChanges |
fail
ft4.12: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 53, in testMetricFilterAndAlarmExistForIamPolicyChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
testMetricFilterAndAlarmExistForCloudtrailConfigChanges |
fail
ft4.13: Traceback (most recent call last): File "/Users/chennasbrain/aws-security-test/tests/monitoring/MonitoringAudit.py", line 66, in testMetricFilterAndAlarmExistForCloudtrailConfigChanges self.assertNotEqual([], trails, "No trails defined.") AssertionError: No trails defined. |
||||
| Total | 38 | 12 | 19 | 7 |


About This plug-in
DumpYard JQuery plug-in is like a recycle bin for web pages, fully written in JQuery and advance JavaScript by Akshya Kumar Dash. This free plug-in is released under the MIT license, so you're pretty much free... Have fun with it :)
What can it do?
This will store the values of input DOM elements on the event set by developer.
- All information is stored at bowser local storage (i.e. HTML LocalStorage)
- It Will help the user to retrieve the input data that she/he has used in past
- User will not loose information even if she/he closes the browser
- It can be a best helper for application tester to track the testing inputs
Comments


I am claiming payment in accordance with the terms of the Pharmacy Quality Scheme, as set out in the Drug Tariff. I declare that the information in this submission form is correct and complete and that I have the evidence to support it.
We'll send an email to<EMAIL_ADDRESS>If you would like a copy sent to another email address, please enter it below.


{% extends "questionnaire/q_base_narrow.html" %} {% load i18n %} {% load account socialaccount %} {% load q_tags %} {% block user %} {% endblock %} {# /user #} {% block content %}
Please use this form to create a user account for the ES-DOC Questionnaire.
Already have an account? Then please sign in.
For the best experience, please use Firefox or Chrome. These are the browsers we support.


| Vendor name: | DEPARTMENT OF CRIMINOLOGY AND |
|---|---|
| Reference number: | 7085468 |
| Contract date: | 2005-04-05 |
| Description of work: | 859 - Other business services not elsewhere specified |
| Contract period: | 2005-04-05 to 2005-03-31 |
| Delivery date: | 2005-03-31 |
| Contract value: | Original contract value: $154,356.85 |
| Comments: |


The survey results will have a significant impact on the roadmap of the PlatformIO solutions, helping ensure that we stay focused on the most important features and main priorities for our users. Also, the survey results give us deeper insight into:
This survey is completely anonymous. It won't take more than 3 minutes to complete, so if you have a small amount of spare time please fill it out.
Thank you for your time!


Web Programming Assignment
Admin interface
View and edit venues and their events
Venues
Nº
Name
Postcode
Town
URL
Icon
Add new venue
Name
Postcode
Town
URL
Icon
Add venue
New message
×
Nº
Title
Blurb
Date
URL
venue_id
Add new event
Title
Blurb
Date
URL
Add event


If you or someone you care about has suffered from a slip-and-fall accident, you know how serious the consequences can be. Traumatic brain injuries, spinal cord damage, and broken bones are just some of the common injuries caused by seemingly simple slip-and-fall accidents.
If negligence is to blame, you may be able to improve your chances for recovering through a personal injury claim. Whether the resulting injuries are minor or severe, with a skilled attorney on your side, it is possible to obtain compensation for the cost of medical care, lost wages, and even pain and suffering related to the accident.
It is important to at least consider your options after you or a loved one has been injured by the reckless actions or wrongdoing of another. To make an informed decision, please contact Goldman Accident Lawyers as soon as possible after a slip and fall. We have years of experience fighting on behalf of clients that have been injured through no fault of their own.
A slip and fall or trip and fall injury occurs when your foot makes contact with an uneven, slippery, unstable or loose surface that causes you to lose your balance and fall down. Types of slip and fall injuries include:
A few items that you as an injury victim can collect that may help us win compensation for injuries and damages after a slip and fall include:


Finds toolbar item with id and returns it or its index.
get([id], [returnIndex])
| id |
string, id of the toolbar item (optional) |
| returnIndex |
boolean, if true returns index in the items array (optional) |
Returns object or integer or null.
Description
The first argument id is the id of the toolbar item you used when you created toolbar items. The
.items array holds all created toolbar items. If toolbar item was not found it
will return null.
The second optional argument returnIndex indicates if you want the toolbar item or its index in the
.items array.
If you have toolbar defined in the following way:
You can get toolbar item:
You can also get toolbar menu item:


I am a Physics major who graduated from Illinois Institute of Technology. I am a math and science tutor.
This is my website!
Click to learn more about me.
See John's Resume.
Feel free to contact John.


{% if choice_of_the_day|length == 1 %}
Choice of the Day: {{ choice_of_the_day.0 }}
Supported by: {{ supporters|join:", " }}
{% elif choice_of_the_day|length >= 1 %}
head to head race between: {{ choice_of_the_day|join:", " }}
{% else %}
There is no Choice of the Day
{% endif %}


{% extends 'tpo/base.html' %} {% load static %} {% block content %}
The departments equip students with the best possible trades of an engineer through their rigorous regime of classes and laboratoray sessions for five days a week. The academic session is divided in two semesters with 100 working days in odd semester and 80 working days in even semester. Growth of the students is constantly monitored by "Class Tests" and regular "Assignments". To continue the momentum of studies each semester has two "Mid semester test" whose marks add up and decide the overall performance of a particular student.
As an indication of academic excellence achieved by Institute of Technology, four of its Engineering Departments are recognized by UGC as Center of Advanced Study; two others are recognized for Special Assistance Programme. In addition, six departments have also received UGC support under the COSIST programme and eight departments have received support under
The Institute through its demanding curriculum has made it mandatory for all students to pursue an Industrial Internship Programs in their third year accompained by the Industrial Tour to the various department concerned industries. All the laboratories of the institute are equipped with modern instruments and machinery to equip students with the fundamental knowledge pertaining to their respective streams. All the departments are equiped with the latest and world class technology through their "Sophisticated Instrument Laboratories".
Various Seminars and Guest lectures are organised by the institute to gear up the students for the outside world and to help them keep pace with the changing scenario in industries and research.Professional Communication is a necessary part of the student curriculum.


In the nearby future, here you will find a demonstration of my .NET code parser tool whose source code I've put in the turmerik repo. That is, you will find code files parsed using my own tool and rendered back as html (yes, similar to what github code online browser itself offers out of the box, but without navigation, just color highlight for the source code). All I've written so far for that parser can be found here.


Germany won the World Cup for the fourth time in history! It is also the first World Cup they won after the reunification!
Germany finished the qualification stage with 7 points: two wins (4-0 Portugal, 1-0 United States) and one draw (2-2 Ghana). They knocked out Algeria with the difference of one goal (2-1). In the quarter-finals they outperformed France (1-0) and came to the semi-final stage where they played against Brazil, previous five-time World Cup winner. The game ended in an unexpected way where Brazil lost to Germany 1-7. In the final, Germany defeated Argentina for the fourth time in the past 14 years during the World Cup knockout stage (1-0).
Coach Löw recruited a very similar team as four years prior. From the map, we can see the state North Rhine-Westphalia contributed a lot of good football players who eventually were selected to perform on the international stage. Both Mesut Özil and Manuel Neuer come from Gelsenkirchen. Julian Draxler grew up in Gladbeck, Kevin Großkreutz in Dortmund, and Mats Hummels in Bergisch Gladbach. Shkodran Mustafi was born in Bad Hersfeld, Hesse, to an Albanian family originally from Gostivar, Macedonia. The 2014 team consisted of at least six players with multicultural backgrounds and they won the World Cup for the first time after reunification. The cooperation they presented on the pitch earned compliments from all over the world. Fans today still talk about the huge win they had against Brazil!
The German national team celebrated winning of the World Cup in Berlin!


Script Error
Could not run scripts.
Possible reasons:
No Internet Connection
Error Loading Libraries
Errors in Scripts
« Menu
Control + M
Volume
Area
Coordinates
Control + M
Alticator Geometritizor
▶ Calculate
Control + Enter
Draw Lines
The coordinates are between
-100
and
100
.
From:
To:
Colour:
Results
Click
Calculate
on the top right to see results


There are often no solutions.
Except this time.
To use
The Problem
, got to the
www
directory.
Note: You must be running The Problem in a PHP-capable server (e.g. XAMPP)


Koch Foods announces $55M grain facility in Alabama
ATTALLA, Ala. (AP) - An Illinois-based food processing company has announced plans to expand its Alabama presence by building a $55 million grain storage and distribution facility in Attalla.
Al.com reports Koch Foods officials and Gov. Kay Ivey attended a groundbreaking ceremony for the 130-acre (53-hectare) mill on Tuesday. The company expects to employ about 30 people there when it opens in two years. The governor’s office says Koch will begin interviewing production workers in early 2021.
The Alabama Department of Commerce says Koch employs 3,000 people across four processing facilities in the state. Most recently, an $80 million expansion of its Gadsden, Alabama, plant in 2018 added 200 new jobs. The governor’s office says that project made the Etowah County operation one of the largest poultry processing plants in the country.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


JUST STARTING THIS
Will add to this FAQ as time goes on...
The /var/log/allsky.log file is gone? How do I get it back?
- Try restarting the software:
sudo systemctl restart allsky
. - If that doesn't help, restart the software that controls the log files:
sudo systemctl restart syslog
. - If that doesn't help, reboot the Pi.
- If that doesn't help, wait until tomorrow - sometimes the log file mysteriously reappears after midnight. Note this is NOT an Allsky problem since it also happens with other services.
After starting Allsky, all I get is "Allsky software is starting up"
Most likely Allsky is dropping all images for being overly dark or overly bright due to inappropriate settings.
Check the log to see what it says by running tail -f /var/log/allsky.log
in a terminal window.
If you are using manual exposure/gain try adjusting those values.
If you are using auto exposure/gain, the starting values are what you specified as the manual values, and it may take several exposures for the software to home in on the best exposure. While it's doing that, you'll see the "Allsky software is starting up" message. This is normal. If, however the message remains after several minutes follow the instructions here and submit the log file.
You can also temporarily set REMOVE_BAD_IMAGES~/allsky/config/config.sh to see what the incorrectly exposed images look like - this might give you an idea as to the problem.
There is a long delay between when my pictures are saved
The time between when one picture ends and another starts is determined by these settings in the WebUI:
- Delay (daytime or nighttime).
- Max Auto-Exposure (daytime or nighttime), even if you are using manual exposure.
- Consistent Delays Between Images.
- If Consistent Delays Between Images is "Yes",
then the total delay is:
Delay + Max Auto-Exposure. - If Consistent Delays Between Images is "No", then the total delay is simply the Delay.


Report
{now}
Executed: {count_total} (100%)
Succeeded: {count_success} ({percentage_success})
Failed: {count_failure} ({percentage_failure})
File
Status
Duration
{rows}


來杯拿鐵
Link
MATH
boom
catGO
polygon
Hello,word!
"qretryy
Learn more>>
one
"txtpar"
View detils
two
"txtpar"
View detils
Headling
"txtpar"
View detils
2018/11/13~20 creat


Anil Ambani resigns as director of Reliance Communications
Highlights
• Ambani along with Chhaya Virani, Ryna Karani, Manjari Kacker, Suresh Rangachar have resigned as directors of RCom.
• RCom, which is currently going through insolvency process, has posted a consolidated loss of ₹30,142 crore for July-September 2019
Important updates in your mailbox
Subscribe
Subscribed Failed...
Subscribed Successfully...
NEW DELHI : Anil Ambani has resigned as director of Reliance Communications, the debt-ridden company said in a filing on Saturday.
According to the filing, Ambani along with Chhaya Virani, Ryna Karani, Manjari Kacker, Suresh Rangachar have resigned as directors of RCom.
"Your good office may also note that Shri Manikantan V., has also tendered his resignation as a director and Chief Financial Officer of the Company earlier. The aforementioned resignations shall be put up to the committee of creditors of the Company for their consideration," the filing added.
RCom, which is currently going through insolvency process, has posted a consolidated loss of ₹30,142 crore for July-September 2019 due to provisioning for liabilities after the Supreme Court ruling on statutory dues.


Class: ActionDispatch::Journey::Formatter
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Namespace Children | |
|
Classes:
| |
| Inherits: | Object |
| Defined in: | actionpack/lib/action_dispatch/journey/formatter.rb |
Overview
Class Method Summary
- .new(routes) ⇒ Formatter constructor
Instance Attribute Summary
- #routes readonly
Instance Method Summary
- #clear
- #generate(name, options, path_parameters)
- #build_cache private
- #cache private
- #extract_parameterized_parts(route, options, recall) private
- #match_route(name, options) private
-
#missing_keys(route, parts)
private
Returns an array populated with missing keys if any are present.
- #named_routes private
- #non_recursive(cache, options) private
- #possibles(cache, options, depth = 0) private
Constructor Details
.new(routes) ⇒ Formatter
Instance Attribute Details
#routes (readonly)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 11
attr_reader :routes
Instance Method Details
#build_cache (private)
[ GitHub ]#cache (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 213
def cache @cache ||= build_cache end
#clear
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 103
def clear @cache = nil end
#extract_parameterized_parts(route, options, recall) (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 108
def extract_parameterized_parts(route, , recall) parameterized_parts = recall.merge( ) keys_to_keep = route.parts.reverse_each.drop_while { |part| !( .key?(part) || route. .key?(part)) || ( [part].nil? && recall[part].nil?) } | route.required_parts parameterized_parts.delete_if do |bad_key, _| !keys_to_keep.include?(bad_key) end parameterized_parts.each do |k, v| if k == :controller parameterized_parts[k] = v else parameterized_parts[k] = v.to_param end end parameterized_parts.compact! parameterized_parts end
#generate(name, options, path_parameters)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 59
def generate(name, , path_parameters) = .dup path_params = .delete(:path_params) || {} = path_params.merge( ) constraints = path_parameters.merge( ) missing_keys = nil match_route(name, constraints) do |route| parameterized_parts = extract_parameterized_parts(route, , path_parameters) # Skip this route unless a name has been provided or it is a # standard Rails route since we can't determine whether an options # hash passed to url_for matches a Rack application or a redirect. next unless name || route.dispatcher? missing_keys = missing_keys(route, parameterized_parts) next if missing_keys && !missing_keys.empty? params = .delete_if do |key, _| # top-level params' normal behavior of generating query_params # should be preserved even if the same key is also a bind_param parameterized_parts.key?(key) || route.defaults.key?(key) || (path_params.key?(key) && ! .key?(key)) end defaults = route.defaults required_parts = route.required_parts route.parts.reverse_each do |key| break if defaults[key].nil? && parameterized_parts[key].present? next if parameterized_parts[key].to_s != defaults[key].to_s break if required_parts.include?(key) parameterized_parts.delete(key) end return RouteWithParams.new(route, parameterized_parts, params) end unmatched_keys = (missing_keys || []) & constraints.keys missing_keys = (missing_keys || []) - unmatched_keys MissingRoute.new(constraints, missing_keys, unmatched_keys, routes, name) end
#match_route(name, options) (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 135
def match_route(name, ) if named_routes.key?(name) yield named_routes[name] else routes = non_recursive(cache, ) supplied_keys = .each_with_object({}) do |(k, v), h| h[k.to_s] = true if v end hash = routes.group_by { |_, r| r.score(supplied_keys) } hash.keys.sort.reverse_each do |score| break if score < 0 hash[score].sort_by { |i, _| i }.each do |_, route| yield route end end end end
#missing_keys(route, parts) (private)
Returns an array populated with missing keys if any are present.
# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 174
def missing_keys(route, parts) missing_keys = nil tests = route.path.requirements_for_missing_keys_check route.required_parts.each { |key| case tests[key] when nil unless parts[key] missing_keys ||= [] missing_keys << key end else unless tests[key].match?(parts[key]) missing_keys ||= [] missing_keys << key end end } missing_keys end
#named_routes (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/journey/formatter.rb', line 131
def named_routes routes.named_routes end


Contact Us +91<PHONE_NUMBER> |<EMAIL_ADDRESS>Health Plus
Hospital
HOME
ABOUT US
SERVICE
DOCTORS
CONTACT US
Our Respected Doctors Team
Serve Better
Dr. James
Dr. Mia Malkova
Dr. Roley Ferguson
Dr. Lana Rhodes
Dr. Kim
Dr. James
Dr. Sutherland
Dr. Shasha Grey
© Health Plus Hospital, site designed & developed by Suraj Kumar Singh


Clinical decision making in the field is both difficult and inefficient.
Community health workers don't have a good way of knowing which vaccines to bring with them to immunization camps, which makes it difficult to get every child their required vaccine on time.
Many mothers don't understand the importance of vaccines and choose not to take their children to immunization clinics.
Many times mothers also forget about camps or do not realize the number of shots required for full immunization.
NGOs are missing real-time, actionable data. Current data collection methods are outdated and time-consuming.
This means that NGOs can't tell which babies are missing their vaccines, and also can't judge the efficacy of intervention methods.
We are more than a data collection company.
Khushi Baby is a complete vaccination tracking system that connects individual
patients in ultra-rural communities with NGO's, governemnts
and other organizations.
Click the tabs to see what we do.
Khushi Baby is currently piloting our innovation with Seva Mandir, a non-profit community service organization based in Udaipur, Rajasthan, India. We are currently conducting a randomized control trial and have plans for expansions all over India and the world in the future. If you like what we do and think we could work together, why not become a partner?
The Khushi Baby system is currently rolled out to over 100 camps in northern India. The map shows a selection of some of our camps that immunize the largest number of children. For a full list of camps and more details please visit the Seva Mandir website.
If you have any further questions please view our FAQ or if you need to get in touch with us please don't hesitate to contact.
We currently reach 5000 children in 100 camps- but we want to reach them all. That's right, every child in both the developing and developed world. We believe in our system and know it can save lives. Unfortunately, however, technology has costs that we sometimes just can't afford. Which is where you come in. Do you think every child deserves a chance at a life free from vaccine-preventable diseases? Do you like what we do? Want to lend a hand? We love, need, and appreciate your contributions.
Anything helps but here are some suggested categories.


| Name | Description | Type | Mandatory | Length | Scale | Selection values | Name (known in REST) | Available since release | Introduced by which team | Introduced for which project | Additional remarks |
| ItemCode | Source Itemcode | String | 128 | 0 | ItemCode | 250 | SIS | RD.SYN.250.SIS | The current Item code user would like to recode | ||
| NewCode | Target Itemcode | String | 128 | 0 | NewCode | 250 | SIS | RD.SYN.250.SIS | The new item code user intend to recode to |
There is no output property defined for ItemRecode action
There is no obsolete input property for ItemRecode action
There is no obsolete output property for ItemRecode action


Ruben Lee Pacheco
Republican
Platform Lead, New Direction Trust Company
Regis University- Political Science and Spanish Major
80030
I have not been an active donor during this period.
I was the President of Westminster Public Schools School Board until November 30, 2015. I have also served as a scholarship interviewer for the Westminster Public Schools Foundation.
I was a state director for the Libre Initiative during 2012 election. I was a candidate for the Colorado House of Representatives in 2006. I was a founding member of the Colorado Hispanic Republicans. I was the District 35 GOP Chairman from 2008-2010. I was a member of the Westminster Public Schools School Board from 2011-2015, serving as President from 2013-2015, and a member of the Ed. Foundation Board from 2013-2015
As a lifelong Coloradoan I believe that it is important to have a diversity of voices in the room. I have watched the demographics of the state change and I have seen that there are areas that could be represented better. I also believe that a good citizen should remain engaged in whatever way one can, including providing analysis and input on the lines that define our districts and ultimately our representaton.
I believe greatly in the voice each memebr of a group being taken into consideration when making big decisions, I have always leaned on what is the best for the community as a whole keeping all stakeholders in mind. Through my experience in leadership positions politically and socially, I have learned the importance of making a decision that may not always benefit me directly but is better for the whole. I believe strongly in the ideas of being a man in service of others and really making decisions on how we, as a whole, ought to live and practice compromise when needed.
In my day job, I am tasked with taking data and interpreting it to assist my organization to develop best business practices, training our staff to use a computer accounting system and understand processes to keep them within the regulations and rules of the IRS. As a former school board member, I was atsked with making decisions for a group of 10,000 students while being the best advocate and cheerleader for my students, their families and my community, sometimes debating and discussing issues for hours to come to a solution that was acceptable to all involved always keeping in mind tah tthe decisions affected more than the population fo the room and with consequences that may not appear for years.
male


Action : Adding a text to a printing
This action helps to put text into a page of a print stream previously created with the action New printing.
Parameters
| Parameters | Descriptions |
|---|---|
| Variable with the stream to print | Must be equal to a variable (not array) whose value is a print stream (the stream has been created and obtained by the action New printing). |
| Text to add | Allows you to enter text to add to the printing sheet. |
| Text color | Sets the color the text will take. This color can be stored in a variable or sets in the parameter. Make sure the value you define either a Color (System.Drawing.Color) |
| Page number on which must it add the text | Must be equal to the number of the page flow to which the text will be added. |
| Set the X position on the page | Must be equal to the horizontal position of the text on the page. |
| Set the Y position on the page | Must be equal to the vertical position of the text on the page. |
Mistake not to commit : For the parameters "Text to add", "Page number on which must it add the text", "Set the X position on the page" and "Set the Y position on the page", you can not use the resources of the project type and Picture type Other. Single resource of type text can be used.
Mistake not to commit : If you use variables in parameter "Text to add", "Page number on which must it add the text", "Set the X position on the page" or and "Set the Y position on the page", make sure that the type of value of each of these variables is text (String), or a numeric value (Integer, Decimal, Double). Indeed, only text can be used in these settings.
Note : To check the type of a value, use the action Get the type of a variable, in General category.
Return value
No value is returned by this action
Code Visual Basic.Net generated by SoftwareZator
If the parameter "Variable with the stream to print" is equal to "Your_Stream", that the parameter "Text to add" is equal to "Hello world" that the text color is black, that the page number is 1, the "X position on the page" is equal to 50, and the "Y position on the page" is equal to 100, the generated code will be as follows :
Your_Stream.AddText(New System.Drawing.Point(50, 100), "Hello world", System.Drawing.Color.FromArgb(255, 0, 0, 0), 1)
Runtime errors
Sometimes a computer program encounters a problem during execution. Often, an error message is displayed. The table below allows you to determine why the error you encounter appears and how to correct it :
| Errors types | Descriptions | Resolve |
|---|---|---|
| System.ArgumentOutOfRangeException | This error occurs when the value of the parameter "Page number on which must it add the text" is less than 1. The problem is that you try to insert a text on a page whose index does not exist. | To correct this error, verify that the page number is supperior or equal to 1. |
Characteristic
| Type | Informations |
|---|---|
| Required level | Beginner |
| Category | Printing |
| Type of return value | {Nothing} |
| Works in the functions | Yes |
| Works in reporting zone | No |
| This action may receive children actions | No |


|
| Contents | |
| About This Patch |
If you've been authoring using a version of Music Object before 3.1.0 and would now like to upgrade to the latest version, there may be some features of the older version of Music Object that you were using that are no longer supported in the recent version. Several changes to the API were made between version 3.0.0 and version 3.1.0. You should consult the Music Object Version History to find out more about the changes in version 3.1.0 and how they may affect your code.
If you find that your code will, indeed, be affected by the changes in the API, then you have two options...
Of course, if none of the changes between versions 3.0.x and 3.1.0 affect your code, then you can make the switch to 3.1.0 without worries.
Among the things that this patch does,...
| Getting This Patch |
To get the "music-object-p-pre310.js" JavaScript file that implements this patch, simply right-click on this link (click-and-hold for Mac users). Then, from the menu that pops up, select the 'Save Link As...' or 'Save Target As...' option and save the file as "music-object-p-pre310.js" into an appropriate folder of the local copy of your Web site.
In case you have problems saving the file using the above link, the "music-object-p-pre310.js" file can also be found inside the documentation's "javascript" folder, along with the "music-object.js" file.
| Dependencies |
In order to use this patch, the following JavaScript files must first be sourced in...
For more information on using patches, consult the section About Music Object Patches.


--- layout: post title: Ahh yes. Using my iPad on the airplane. Pure bliss. date: 2010-04-16 00:11:29.000000000 -07:00 type: post published: true status: publish categories: [] tags: [] meta: {} author: ---
Except US Airways has no inflight wifi :/. iBooks it is.
Sent via iPidgeon


Shagun and Rajeshwari in lead
by Special CorrespondentFormer National champion Shagun Chowdhary and Rajeshwari Kumari were in joint lead with 71 out of 75 after three rounds in women’s trap on the opening day of the 63rd National shotgun championship at the Dr. Karni Singh Range, Tughlakabad, on Sunday.
While Shagun had rounds of 25, 21 and 25, Rajeshwari was more steady with a series of 24, 23 and 24.
The two were followed by former national champion Shreyasi Singh (70), Pragati Dubey (69), Bhavna Chaudhary (68) and the World Cup silver medallist Seema Tomar (67).
Incidentally, Shagun and Shreyasi were the only shooters to have perfect rounds. sDefending champion Varsha Varman’s below-par show following rounds of 21, 16 and 20 saw her placed 32nd with a total of 57.
Another former National champion, Manisha Keer, shot 21, 20 and 21 for the 20th spot with a total of 62.
Among the other prominent shooters, Varsha Tomar and Sushma Singh, a champion pistol shooter, had shot 58.
Shefali Rajak led with 65, following rounds of 22, 22 and 21, among the junior women. She was followed by Suhanya Singh (64) and three others — Sabeera Haris, Kirti Gupta and Varda Sharma on 63.
Two more rounds on the morrow will be followed by the finals for junior women and women.


Basic sdl-dialog demo -- with opened="true"
Header
This is a test of the emergency broadcast system. This is only a test...
Cancel
Accept


13-year-old boy killed as fifth week of violence begins in Chile
23 people have now been killed during weeks of unrest in the country.
by AFPA 13-YEAR-OLD boy has become the latest victim of violent unrest in Chile as the country enters its fifth week of protests.
23 people have now been killed during weeks of looting and demonstrations across the South American nation.
Furious Chileans have been protesting against social and economic inequality since 18 October, and against an entrenched political elite that comes from a small number of the wealthiest families in the country.
The crisis is the worst in three decades of Chilean democracy and has led to around 2,000 injuries, including some 280 people who have suffered eye damage from shotgun pellets.
Not even an agreement on a political roadmap that will see Chile draft a new constitution has been able to defuse tensions or stop the bloodshed.
The 13-year-old boy who died yesterday was run over by a van during protests in Arica, about 2,100km north of the capital Santiago, an interior ministry official said.
Thousands of people gathered again on Friday in Plaza Italia, the centre of the demonstrations in Santiago and the site of weekly rallies that have seen massive turnout since the social upheaval broke out.
“We cannot ease up. We have to keep expressing ourselves because we have not achieved anything, because the repression continues and also [the government] keeps signing fake agreements, like the peace deal,” Claudia Ortolani, a young protester, said.
Nearby, hooded men squared off against police, who broke up the crowd with tear gas and water cannons.
Meanwhile, about a hundred people protested outside the Costanera Centre, the largest mall in South America, as around twenty riot police guarded the entrance to the building.
Violence rages
While protests earlier in the week had not been huge, outbursts of violence multiplied in the capital’s metro area on Thursday and Friday.
The anger in the streets had eased after last week’s agreement by Congress to draft a new constitution.
But with people back on the streets in force again, President Sebastian Pinera’s government appealed for calm once more.
Interior Minister Gonzalo Blumel issued a “deep and sincere call to all political forces” to end the unrest.
But in Quilicura, north of Santiago, a shopping centre was set on fire and looted by a crowd while in Puente Alto, another working-class area, a petrol station, a police headquarters and businesses were attacked.
In the northern city of Antofagasta, a motorist injured five people when he ran down protesters, while a supermarket was ransacked.
Looting, barricades and fires were also recorded in the port of Valparaiso and the city of Vina del Mar, and in Concepcion in the south.
“This situation … affects our offer to take charge,” said police general Enrique Basseletti, after complaints from people irate that they had not seen police on their streets.
On Thursday, authorities arrested 700 people in the unrest. That followed the police decision to suspend the use of birdshot against protesters, following an outcry over eye injury victims.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Defining.20graphs.20in.20Lean.html ---
I definite a function on the certain domain as follow
def V: set ℕ := {1,2,3,4} def g [has_one V][has_add V](e:V× V ): ℕ := match e with |(1,2) :=2 |(2,1) :=2 |_ :=0 end
I received the following message
equation compiler failed (use 'set_option trace.eqn_compiler.elim_match true' for additional details)
and
invalid function application in pattern, it cannot be reduced to a constructor (possible solution, mark term as inaccessible using '.( )') 1
What is error?
V
is not an inductive type.
you can't match it
you can't just "make it work" by using [has_one V] [has_add V]
I need make V
as an inductive type, not is subset of \N
depends on your purpose
I would just use if-then-else
I need V is subset of \N
how are we use V
is an inductive type and subset of \N
def g : V \times V \to nat := \lam x, if x.1 * x.2 = 2 then 2 else 0
Something like that?
inductive def V : \N \to Prop | one : 1 \to V | two : 2 \to V | three : 3 \to V | four : 4 \to V
@Johan Commelin It is ok but if I have function has domain is random and large. It is not good to make function when use if - then-else
maybe you should tell us what you want to do
I want to make function with card V=100 and valued is random
randomness doesn't exist
(in Lean)
randomness doesn't exist, period
What do you mean with "valued is random", do you mean that V
is an arbitrary subset of \N
?
a random variable is neither random nor a variable
(I guess the quantum mechanics course is next year Kenny, right?)
yes
alright
Kenny will choose not to follow QM...
lol
Hoang, ok, and what should your function do with V
?
You want a function V \to \N
, is that right?
yes is randomness doesn't exist
I want find example function g
def G (e:ℕ× ℕ ): ℕ := match e with |(1,2) :=2 |(2,1) :=2 |(1,3) :=2 |(3,1) :=2 |(2,4) :=1 |(4,2) :=1 |(3,4) :=1 |(4,3) :=1 |_ :=0 end
it is ok but I want to certain domains V
Maybe you should define your function on all of nat x nat
and then just ignore its values on the elements you don't like
Ok, so define the function on \N \times \N
, and then restrict to V
i'll say it isn't even a function
Kenny, did you read that translation of the article by Aristotle?
This is a standard trick in this game: for example the square root function in Lean is defined on all the reals, and returns the square root of x if x>=0 but just returns something random if x < 0
what about it
something random <-- Kevin
you are just making noise Kenny, not contributing, that's what about it
yes I want it
When I thought more like a mathematician, I really thought I wanted the square root function to be only defined on the non-negative reals
I want same as @Kevin Buzzard
I don't even know what function he wants to build. My understanding is that he wants some kind of a function defined on N x N, and then he just randomly gives some values in the two examples he gave us
but after building such a function myself, and then discovering how hard it was to use it, I started coming round to the methods which Mario and others were preaching.
he wants an arbitrary function N x N -> N, that's all I can make of it
right, so let's listen to him and find out more.
In fact, I have function with certain properties. I want example from such function
what properties?
What do you mean by "example"? You mean an example of the function, or example of a value, or example of a definition, or... ? When you say "I have function" -- you mean you have the definition of the function already? In Lean or on paper? Or you just have some properties which you want the function to satisfy?
We are still trying to understand your question.
I think one property of the function Hoang wants is the type: ℕ × ℕ → ℕ
.
Or perhaps the type should have subsets of ℕ
?
{ns : ℕ × ℕ // p ns} → ℕ
for some p : ℕ × ℕ → Prop
?
graph is connected
I want check the definition of graph is correct
I think g is graph
What does this have to do with nat?
variables {α : Type } variable graph: α × α → ℕ
I think functiongraph
is graph
Is alpha the vertices of the graph? What is nat doing there?
yes
What is a graph? For me it is vertices and edges, and there is no ℕ
def G (e:ℕ× ℕ ): ℕ := match e with |(1,2) :=2 |(2,1) :=2 |(1,3) :=2 |(3,1) :=2 |(2,4) :=1 |(4,2) :=1 |(3,4) :=1 |(4,3) :=1 |_ :=0 end
is example of graph
What is a graph for you?
vertices def V: set ℕ := {1,2,3,4}
so every graph is countable
I do not know
I have that definition of connected graph. I want check such definition in lean which I make is true or fail. I make an example of such definition
I make example of graph
def G (e:ℕ× ℕ ): ℕ := match e with |(1,2) :=2 |(2,1) :=2 |(1,3) :=2 |(3,1) :=2 |(2,4) :=1 |(4,2) :=1 |(3,4) :=1 |(4,3) :=1 |_ :=0 end ```` it is ok. but
def V: set ℕ := {1,2,3,4}
def G (e:V× V ): ℕ :=
match e with
|(1,2) :=2
|(2,1) :=2
|(1,3) :=2
|(3,1) :=2
|(2,4) :=1
|(4,2) :=1
|(3,4) :=1
|(4,3) :=1
|_ :=0
end
is it not run
Aah
this is the konigsberg graph?
rofl
yes
even more rofl
I would use custom inductive types for all of it
no
inductive vertices | north_shore | west_island | ...
@Hoang Le Truong -- he is saying that you should make your own type called graph
and I would definitely agree with him
inductive edges : vertices -> vertices -> Type | bridge1 : edges north_shore west_island ...
yes I agree
It's self documenting and clear and unambiguous
and then you could formalise what it means for a graph to be connected
(for all vertices v1 and v2 there's a path from v1 to v2)
and then you could prove it in this case just by a case by case check
But for a big graph, it is not so clear that Lean is the tool for this.
This gets complicated for large graphs, but you will want to switch to a different encoding anyway in that case
You might want to read about what algorithms are used to prove a graph is connected, and implement one of those, but probably you would not get good performance in comparison with a tool like python
For fabs this is not a big problem
If you were, say, trying to work with the graphs in the four color theorem this kind of encoding is far too dense
Yes I begin graph in general. after I restrict example
Mario I'm surprised you haven't implemented graphs in mathlib. It's just the sort of thing a computer scientist would like to do, I would have thought.
The problem (which I have had also in metamath) is that "graph" means something different every time it is used
and the different theories are hard to fit in the same framework
even though everyone pretends it is easy
I wondered if this was why. You need directed and undirected graphs, graphs where you're allowed/not allowed to have an edge from v to v, graphs where you are/are not allowed to have more than one edge from v to w, and that's before we've even started worrying about whether all graphs are finite etc
Of course, I go this way.
Now I work only the above graph G
So maybe one way of proceeding is that you decide exactly what is a graph for you, and then make your own type, and then make a term of that type corresponding to Koenigsberg, and make a general definition for connected, and then prove that Koenigsberg is connected.
And those "not allowed" things are not just constraints, they change the encoding completely, i.e. if there are no multiple edges you can have a relation instead of a set of edges with dom/cod; if it is undirected then maybe you want a function on unordered pairs, if you have hyperedges then maybe each edge maps to a set of vertices which may or may not have size 2, ...
I agree that this is what Hoang should do, and it's what I did for Koenigsberg in Metamath
I can now envisage a 2500-line graph.lean which carefully does every single possibility ;-)
just define things that make sense for undirected multigraphs
and forget about all the other crazy stuff until the next project
I begin graph directed multiple degree have loop graph
After I restrict to undirected multiphaps
Now I only work on a above G
. I have two way to define G
. I want to known what is good.
Hoang, that was a bit of an XY problem: https://mywiki.wooledge.org/XyProblem
I suggest you start a new topic titled "Defining graphs in Lean"
It would have helped a lot if you had mentioned the word "graph" in the first few posts. Instead of just "function with properties"
How to change "function on certain domain " to Defining graphs in Lean
Ok I changed it
I have two way to define
G
. I want to known what is good.
I am a mathematician, and I find myself asking this question often in Lean. I think it is a very difficult and delicate question, and sometimes the computer scientist experts here answer things like "it depends on why you want this structure". My advice to you is to go ahead and formalise it in one way, and then post your actual working code and ask for comments.
I have two ways to define G
. one is
inductive vertices | a | b | c | d def g (e:vertices× vertices ): ℕ := match e with |(vertices.a,vertices.b) :=2 |(vertices.b,vertices.a) :=2 |(vertices.a,vertices.c) :=2 |(vertices.c,vertices.a) :=2 |(vertices.b,vertices.d) :=1 |(vertices.d,vertices.b) :=1 |(vertices.c,vertices.d) :=1 |(vertices.d,vertices.c) :=1 |_ :=0 end
and another is
def G (e:ℕ × ℕ ): ℕ := match e with |(1,2) :=2 |(2,1) :=2 |(1,3) :=2 |(3,1) :=2 |(2,4) :=1 |(4,2) :=1 |(3,4) :=1 |(4,3) :=1 |_ :=0 end
what is way in Lean good
No, that is not the definition of a graph
It is only 1 very specific example.
First you should decide if you want a general definition, or only the Koenigsberg example.
I want a general definition and after apply to example
So then, give a general definition, and not an example.
Can you first give a definition without using Lean? Just write down an informal definition here.
An Euler walk in an undirected graph is a walk that uses each edge exactly once.
this is a general definition. I formed it in Lean. Now I want to apply it to exactly example to check the definition Euler walk is correct or wrong in lean.
How did you put that statement into Lean?
yes
Please show it to us.
We can not help you with defining your Koenigsberg example if we don't know how you put "undirected graph" in Lean.
```definition undirected_graph ( graph:α × α → ℕ ): Prop :=
∀ u v:α, graph(u,v)=graph(v,u)
definition undirected_graph ( graph:α × α → ℕ ): Prop := ∀ u v:α, graph(u,v)=graph(v,u)
Right, so for your example, you need the following ingredients: a type alpha
, a function alpha \times alpha \to nat
and a proof that your graph is undirected.
There is no reason at all to take a subset of nat for alpha.
You could define an inductive type for the four vertices.
And it will allow you to define your function encoding the graph with matching.
Like Mario wrote above: inductive vertices | north_shore | west_island | ...
Thank you for that. I understood
So, that is the same thing as your first method, except Mario's suggestion is more readable
(For people who have walked through Koenigsberg...; or those who looked at the map on Wikipedia...)
Ok, so, afterwards you have to prove that the thing is undirected, and then you have to show us the formalisation of "Euler walk"
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


This example outlines the typical structure of a HTML document.
This p node has the attribute id. There should be one <html>, one <head> and one <body> nodes.


SLTV: ‘There Is A Certain Way Orlando Pirates Must Lose Matches’
12 Nov 2019, 10:36
by
Soccer Laduma


--- layout: post title: My private library (a part of it) date: '2012-10-11T20:48:00.000+02:00' author: Luca Ferrari tags: - riflessioni modified_time: '2012-10-11T20:48:00.085+02:00' thumbnail: http://1.bp.blogspot.com/-ShA7dQO4VN8/UHRxX_Ylw7I/AAAAAAAAAqw/-V_vky00DW4/s72-c/libreria-geek.jpg blogger_id: tag:blogger.com,1999:blog-1836481905487384887.post-7309817528152479733 blogger_orig_url: http://fluca1978.blogspot.com/2012/10/my-private-library-part-of-it.html permalink: /:year/:month/:day/:title.html ---


GIVEAWAY!!!
1. Please suscribe to my YouTube channel! Thanks for the support!
2. Enter your email and Instagram username
3. Hit submit!!!
Send


--- layout: post title: DARPA Spectrum Challenge category: posts published: true ---
Along with several colleagues at GTRI, I have spent the last year working on GNU Radio-based waveforms for the DARPA Spectrum Challenge competition. The final tournament was last week and we finished in a respectable 2nd place in the competitive competition. You can find the full results at MarmotE's website.
We developed two waveforms, one based on differential OFDM for the cooperative tournament, and another based on direct sequence spread spectrum for the competitive tournament. Both waveforms dynamically adjust to their environment based on sensed information. The video below shows our cooperative entry (the red team) and how it dynamically adapts to the blue team's static spectrum allocation. You can see that the sensing robustly minimizes wasted white space to maximize the joint spectral efficiency.


Before Change
specs = self.injectables_specs_for_key(key)
specs_len = len(specs)
if specs_len == 0:
return None
if specs_len != 1:
raise self.TooManySpecsForKey("injectables spec mapping for key included {} elements, "
"expected 1".format(specs_len))
return specs[0]
After Change
:API: public
warn_or_error(
removal_version="1.27.0.dev0",
deprecated_entity_description="injectables_spec_for_key()",
hint="Use `injectables_spec_for_key()` instead. The API is the same as "
"before. This change is to prepare for Pants eventually supporting file system specs, "
"e.g. `./pants cloc foo.py`. In preparation, we renamed `Spec` to `AddressSpec`."
)
return self.injectables_address_spec_for_key(key)


Summary
- Worked as an QA engineer for more than 2 and half years. 2 years of experience in Automation testing
- Test scenario, cases identifications and writing
- Working in agile team with daily scrum call
- Bug reporting with JIRA and ALM tools
- Handling a team of QA engineers for common goals
Educational qualifications
- B.Tech from ...
- 10+2 from ...
- 10th from ...
Previous projects
- KPMG for
- Freelancing
Technical Skills
- Languages:
- C. C++, Java, Python, SQL
- Tools:
- Selenium, Eclipse, Pycharm, VS code, jenkins
- Reporting:
- JIRA, ALM
- Utility tools:
- MS Office, skype, Open office
- Operating systems:
- Windows, Linux
- Others:
- CICD, Github, git


RESOURCES FOR REUSE
Recycling and reuse can help business and individuals save money while decreasing their ecological footprint. Proper waste disposal can also help the community. Businesses can donate old materials and products to schools, creative art centers, or any number of reuse organizations. This tool can help you find the best way to dispose of waste in the city of Seattle.


The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees
The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees
The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees
The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees
The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees
The hitmans bodyguard
By Bynder from Netherland
August 17 2017 Nominees


"REHOBOTH "broad places. (1.) A well in Gerar dug by Isaac (Genesis 26:22), supposed to be in Wady er-Ruheibeh, about 20 miles south of Beersheba. (2.) An ancient city on the Euphrates (Genesis 36:37; 1 Chronicles 1:48),“Rehoboth by the river.”(3.) Named among the cities of Asshur (Genesis 10:11). Probably, however, the words “rehoboth’ir” are to be translated as in the Vulgate and the margin of A.V., “the streets of the city,” or rather “the public square of the city”, i.e., of Nineveh.
"REHOBOTH "broad places. (1.) A well in Gerar dug by Isaac (Genesis 26:22), supposed to be in Wady er-Ruheibeh, about 20 miles south of Beersheba.
(2.) An ancient city on the Euphrates (Genesis 36:37; 1 Chronicles 1:48),“Rehoboth by the river.”(3.) Named among the cities of Asshur (Genesis 10:11). Probably, however, the words “rehoboth’ir” are to be translated as in the Vulgate and the margin of A.V., “the streets of the city,” or rather “the public square of the city”, i.e., of Nineveh.


RT @XplodingUnicorn: 5-year-old: What do you want for Mother’s Day?
Wife: For you to be nice to your sisters all day.
5:
Wife:
5: I dre…
5/8/2016, 9:57:42 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @XplodingUnicorn: 5-year-old: What do you want for Mother’s Day?
Wife: For you to be nice to your sisters all day.
5:
Wife:
5: I dre…
5/8/2016, 9:57:42 AM
Favs: 0
Retweets: 0
link


Avenger Themed Food
selected categories = {{s_selectedCats}}, selected subcategories = {{s_selectedSubcats}}


Welcome to Elefriends from Mind Charity on Vimeo.
80,000+ members, with around 50 new joining every day
15% of new users post at least two messages
85% of users say Elefriends has helped them better manage their mental health
Voted by the Guardian as one of the top five mental health apps
I designed the initial prototype wireframes and tested the assumptions through a series of co-design workshops with vulnerable service users.
I coded the initial working prototype to validate early ideas.
I pulled together and managed an Agile development team to scale up the initial idea from website concept to two apps (iOS and Android).
I led the ongoing service design and optimisation through usability testing and implementation of a measurement strategy.
I regularly presented progress to stakeholders and funders.
I used a collaborative, dynamic planning process – prioritising the work that needed to be done against capacity and capability of our multi-disciplinary teams.
I also took responsibility for the technical approach, ensuring best practice, such as implementing AI machine learning to automatically moderate distressing images.
In a recent survey, 86% of people who use Elefriends said they now felt better able to manage their mental health. Many said they felt more conﬁdent talking about their experiences and getting access to the right support


JavaScript, jQuery, ES6, AJAX, HTML, CSS, Node, Express, React, Vue ... and whatever's in your stack that I haven't learned yet. I learn new tools and frameworks quickly.
UX strategy, documentation, writing, proofreading, editing, fact-checking, marketing strategy, research, art direction, editorial project management, coaching writers, Adobe Creative Suite
I'm very comfortable with Git and can write legible pull requests and commit messages. But more importantly, I know how to collaborate across cross-functional teams and problem-solve on the fly.
I recently completed a certificate in JavaScript programming at the University of Washington. I love writing code and stories, building great user experiences, and learning new tools. I'm also an experienced communicator in digital and print media with a background in higher education marketing.
Find out more about my work on LinkedIn, Github, Twitter, or my personal site.


EastEnders SPOILERS: Louise is having a girl called Peggy!
Paying tribute to soap baby's legendary great-great grandmother
by Entertainment DailyLouise Mitchell is going to have a girl named Peggy in EastEnders, it has been reported.
Soap bosses have decided to pay tribute to Dame Barbara Windsor's character Peggy Mitchell by naming her great-great granddaughter after her.
Actress Barbara has retired after developing Alzheimer's Disease, but her husband Scott has told how her face lit up when he told her about baby Peggy.
 What a lovely tribute.
Read more: EastEnders' Max Bowden brings his nan and aunt to Albert Square
"It made her quite emotional and I have been reminding her each time we watch the show every night.
"Each time her whole face lights up."
Barbara last played Peggy in 2016 after telling then-boss Dominic Treadwell-Collins that she wanted to say a final goodbye to the legendary character.
In the show Peggy was facing a slow death by cancer but decided to take her own life to end her suffering.
Read more: EastEnders fans beg Jack Branning to bring down Leo Cameron
It brought to an end one of the most dramatic characters in soap history and her new namesake is also starting as she means to go on.
Teen Louise is pregnant with boyfriend Keanu Taylor's baby, unaware that he is also the father of her step-mum Sharon's baby.
Sharon has gone to extreme lengths to hide the secret, but it's all set to explode at Christmas.
- EastEnders airs Monday and Friday at 8pm and Tuesday and Thursday at 7.30pm on BBC One
What do you think about the name? Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know what you think!


Flights, Baggage, and Loyalty all with a Smile
${label}:
Home
Flights
Checkin
Login
Logout
Account
Support


No donations yet.
No |
Donor Name |
Donor Type |
|
Phone No |
Payment Date |
Ammount |
Delete |
|---|---|---|---|---|---|---|---|
{{i+1}} |
{{p.donor.donorName}} |
{{p.donor.userType.type}} |
{{p.donor.donorEmail}} |
{{p.donor.donorPhone}} |
{{p.creationDate | date:'mediumDate'}} |
{{p.amount}} |
|


This tutorial will teach you all the required technologies and skills to build and deploy a website using Docker and Azure Cloud using nothing more than the command line.
The tutorial will assume you have solid foundational knowledge of the following:
If you do not have knowledge of one, or more, of them, click the link to be redirected to the corresponding tutorial for it. Otherwise, continue to the tutorial below.
At this point, you should have your project's root directory, and both a file called README.md and another directory called public_html that contains your HTML files in the root directory.
This section will teach you how to edit the index.html file using vi.
Open the index.html in vi using the command vi public_html/index.html in your terminal. Copy the HTML template from below. The template has Bootstrap added to it, ready to use. Go back to the terminal, hit i to enter insert mode, and paste it in. Make any changes you want. When you are done, hit esc and then enter :wq to write the changes to the file and quit. You have succesfully edited your HTML file!
<!doctype html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link
<EMAIL_ADDRESS>rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous"
>
<title>Hello, world!</title>

Hello, world!

At this point, be sure to stage your changes and commit them. If you'd like to see your webpage in the browser, enter start public_html/index.html into the terminal.
This section of the tutorial is going to go over creating the necessary Docker files in order to set up an Apache Docker container.
FROM httpd:2.4
COPY ./public_html/ /usr/local/apache2/htdocs/
At this point, your Dockerfile is complete.
Now we are going to create the docker-compose file. This file is used to create and start a container.
version: "3.2"
services:
apache:
build: .
ports:
- "8080:80"
volumes:
- ./public_html/:/usr/local/apache2/htdocs/
At this point, be sure to stage and commit your changes.
Remember, you are still working in a different branch than your main branch. We are now going to merge the two branches.
In order to complete the rest of the tutorial, ensure you have the following requirements completed.
The first thing you need to do is to login to Azure. Do this by entering docker login azure into the terminal.
This should either open up a browser automatically that will allow you to login to your Azure account, or you will have to manually enter the URL output from the terminal into a browser and enter the code from the terminal into the page.
Once you are logged in you can close the browser window.
Docker has the concept of a context. You can think of a context as a place where you can run docker containers. In this tutorial, we use our local context and thew new ACI context.
Let's first take a look at what contexts we currently have on the local machine. Run the docker context list command in the terminal to see a list of contexts.
You should, at least, have one context already. This is the default context that points to your local Docker engine labeled "moby". The "*" by the context names indicates the active context.
Let's now create an ACI context that we will use to run containers. Run the docker context create aci azurecloud. The first thing the cli will ask is what subscription you would like to use. If you only have one then docker will use that one. It will then ask you to select the resource group you want to use. Choose the "create new resource group" option.
Enter docker context list into the terminal to see a list of all contexts. You should see the one that you just created listed.
Make sure that you're using the local Docker context. Enter docker context use default into the terminal to ensure that you're using the default context.
We can now build and start the application using the docker-compose up --build command. Navigate to http://localhost:8080 to see the webpage.
Ensure you are logged into your Docker Hub account by entering docker login into the terminal and follow the prompts.
Now that the image is on Docker Hub, we can compose and run it on ACI.
Note: If you didn't name your ACI context azurecloud, substitute it with whatever you named it. If you are unsure, check the list of contexts by entering docker context list into the terminal.


cmake-compile-features(7)¶
Contents
Introduction¶
Project source code may depend on, or be conditional on, the availability of certain features of the compiler. There are three use-cases which arise: Compile Feature Requirements, Optional Compile Features and Conditional Compilation Options.
While features are typically specified in programming language standards, CMake provides a primary user interface based on granular handling of the features, not the language standard that introduced the feature.
The CMAKE_C_KNOWN_FEATURES
and
CMAKE_CXX_KNOWN_FEATURES
global properties contain all the
features known to CMake, regardless of compiler support for the feature.
The CMAKE_C_COMPILE_FEATURES
and
CMAKE_CXX_COMPILE_FEATURES
variables contain all features
CMake knows are known to the compiler, regardless of language standard
or compile flags needed to use them.
Features known to CMake are named mostly following the same convention
as the Clang feature test macros. The are some exceptions, such as
CMake using cxx_final
and cxx_override
instead of the single
cxx_override_control
used by Clang.
Compile Feature Requirements¶
Compile feature requirements may be specified with the
target_compile_features()
command. For example, if a target must
be compiled with compiler support for the
cxx_constexpr
feature:
add_library(mylib requires_constexpr.cpp)
target_compile_features(mylib PRIVATE cxx_constexpr)
In processing the requirement for the cxx_constexpr
feature,
cmake(1)
will ensure that the in-use C++ compiler is capable
of the feature, and will add any necessary flags such as -std=gnu++11
to the compile lines of C++ files in the mylib
target. A
FATAL_ERROR
is issued if the compiler is not capable of the
feature.
The exact compile flags and language standard are deliberately not part of the user interface for this use-case. CMake will compute the appropriate compile flags to use by considering the features specified for each target.
Such compile flags are added even if the compiler supports the
particular feature without the flag. For example, the GNU compiler
supports variadic templates (with a warning) even if -std=gnu++98
is
used. CMake adds the -std=gnu++11
flag if cxx_variadic_templates
is specified as a requirement.
In the above example, mylib
requires cxx_constexpr
when it
is built itself, but consumers of mylib
are not required to use a
compiler which supports cxx_constexpr
. If the interface of
mylib
does require the cxx_constexpr
feature (or any other
known feature), that may be specified with the PUBLIC
or
INTERFACE
signatures of target_compile_features()
:
add_library(mylib requires_constexpr.cpp)
# cxx_constexpr is a usage-requirement
target_compile_features(mylib PUBLIC cxx_constexpr)
# main.cpp will be compiled with -std=gnu++11 on GNU for cxx_constexpr.
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
Feature requirements are evaluated transitively by consuming the link
implementation. See cmake-buildsystem(7)
for more on
transitive behavior of build properties and usage requirements.
Requiring Language Standards¶
In projects that use a large number of commonly available features from
a particular language standard (e.g. C++ 11) one may specify a
meta-feature (e.g. cxx_std_11
) that requires use of a compiler mode
aware of that standard. This is simpler than specifying all the
features individually, but does not guarantee the existence of any
particular feature. Diagnosis of use of unsupported features will be
delayed until compile time.
For example, if C++ 11 features are used extensively in a project’s header files, then clients must use a compiler mode aware of C++ 11 or above. This can be requested with the code:
target_compile_features(mylib PUBLIC cxx_std_11)
In this example, CMake will ensure the compiler is invoked in a mode
that is aware of C++ 11 (or above), adding flags such as
-std=gnu++11
if necessary. This applies to sources within mylib
as well as any dependents (that may include headers from mylib
).
Availability of Compiler Extensions¶
Because the CXX_EXTENSIONS
target property is ON
by default,
CMake uses extended variants of language dialects by default, such as
-std=gnu++11
instead of -std=c++11
. That target property may be
set to OFF
to use the non-extended variant of the dialect flag. Note
that because most compilers enable extensions by default, this could
expose cross-platform bugs in user code or in the headers of third-party
dependencies.
Optional Compile Features¶
Compile features may be preferred if available, without creating a hard
requirement. For example, a library may provides alternative
implementations depending on whether the cxx_variadic_templates
feature is available:
#if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
template<int I, int... Is>
struct Interface;
template<int I>
struct Interface<I>
{
static int accumulate()
{
return I;
}
};
template<int I, int... Is>
struct Interface
{
static int accumulate()
{
return I + Interface<Is...>::accumulate();
}
};
#else
template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
struct Interface
{
static int accumulate() { return I1 + I2 + I3 + I4; }
};
#endif
Such an interface depends on using the correct preprocessor defines for the
compiler features. CMake can generate a header file containing such
defines using the WriteCompilerDetectionHeader
module. The
module contains the write_compiler_detection_header
function which
accepts parameters to control the content of the generated header file:
write_compiler_detection_header(
FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
PREFIX Foo
COMPILERS GNU
FEATURES
cxx_variadic_templates
)
Such a header file may be used internally in the source code of a project, and it may be installed and used in the interface of library code.
For each feature listed in FEATURES
, a preprocessor definition
is created in the header file, and defined to either 1
or 0
.
Additionally, some features call for additional defines, such as the
cxx_final
and cxx_override
features. Rather than being used in
#ifdef
code, the final
keyword is abstracted by a symbol
which is defined to either final
, a compiler-specific equivalent, or
to empty. That way, C++ code can be written to unconditionally use the
symbol, and compiler support determines what it is expanded to:
struct Interface {
virtual void Execute() = 0;
};
struct Concrete Foo_FINAL {
void Execute() Foo_OVERRIDE;
};
In this case, Foo_FINAL
will expand to final
if the
compiler supports the keyword, or to empty otherwise.
In this use-case, the CMake code will wish to enable a particular language
standard if available from the compiler. The CXX_STANDARD
target property variable may be set to the desired language standard
for a particular target, and the CMAKE_CXX_STANDARD
may be
set to influence all following targets:
write_compiler_detection_header(
FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
PREFIX Foo
COMPILERS GNU
FEATURES
cxx_final cxx_override
)
# Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
# which will expand to 'final' if the compiler supports the requested
# CXX_STANDARD.
add_library(foo foo.cpp)
set_property(TARGET foo PROPERTY CXX_STANDARD 11)
# Includes foo_compiler_detection.h and uses the Foo_FINAL symbol
# which will expand to 'final' if the compiler supports the feature,
# even though CXX_STANDARD is not set explicitly. The requirement of
# cxx_constexpr causes CMake to set CXX_STANDARD internally, which
# affects the compile flags.
add_library(foo_impl foo_impl.cpp)
target_compile_features(foo_impl PRIVATE cxx_constexpr)
The write_compiler_detection_header
function also creates compatibility
code for other features which have standard equivalents. For example, the
cxx_static_assert
feature is emulated with a template and abstracted
via the <PREFIX>_STATIC_ASSERT
and <PREFIX>_STATIC_ASSERT_MSG
function-macros.
Conditional Compilation Options¶
Libraries may provide entirely different header files depending on requested compiler features.
For example, a header at with_variadics/interface.h
may contain:
template<int I, int... Is>
struct Interface;
template<int I>
struct Interface<I>
{
static int accumulate()
{
return I;
}
};
template<int I, int... Is>
struct Interface
{
static int accumulate()
{
return I + Interface<Is...>::accumulate();
}
};
while a header at no_variadics/interface.h
may contain:
template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
struct Interface
{
static int accumulate() { return I1 + I2 + I3 + I4; }
};
It would be possible to write a abstraction interface.h
header
containing something like:
#include "foo_compiler_detection.h"
#if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
#include "with_variadics/interface.h"
#else
#include "no_variadics/interface.h"
#endif
However this could be unmaintainable if there are many files to abstract. What is needed is to use alternative include directories depending on the compiler capabilities.
CMake provides a COMPILE_FEATURES
generator expression
to implement
such conditions. This may be used with the build-property commands such as
target_include_directories()
and target_link_libraries()
to set the appropriate buildsystem
properties:
add_library(foo INTERFACE)
set(with_variadics ${CMAKE_CURRENT_SOURCE_DIR}/with_variadics)
set(no_variadics ${CMAKE_CURRENT_SOURCE_DIR}/no_variadics)
target_include_directories(foo
INTERFACE
"$<$<COMPILE_FEATURES:cxx_variadic_templates>:${with_variadics}>"
"$<$<NOT:$<COMPILE_FEATURES:cxx_variadic_templates>>:${no_variadics}>"
)
Consuming code then simply links to the foo
target as usual and uses
the feature-appropriate include directory
add_executable(consumer_with consumer_with.cpp)
target_link_libraries(consumer_with foo)
set_property(TARGET consumer_with CXX_STANDARD 11)
add_executable(consumer_no consumer_no.cpp)
target_link_libraries(consumer_no foo)
Supported Compilers¶
CMake is currently aware of the C++ standards
and compile features
available from
the following compiler ids
as of the
versions specified for each:
AppleClang
: Apple Clang for Xcode versions 4.4 though 9.2.Clang
: Clang compiler versions 2.9 through 6.0.GNU
: GNU compiler versions 4.4 through 8.0.MSVC
: Microsoft Visual Studio versions 2010 through 2017.SunPro
: Oracle SolarisStudio versions 12.4 through 12.6.Intel
: Intel compiler versions 12.1 through 17.0.
CMake is currently aware of the C standards
and compile features
available from
the following compiler ids
as of the
versions specified for each:
- all compilers and versions listed above for C++.
GNU
: GNU compiler versions 3.4 through 8.0.
CMake is currently aware of the C++ standards
and
their associated meta-features (e.g. cxx_std_11
) available from the
following compiler ids
as of the
versions specified for each:
Cray
: Cray Compiler Environment version 8.1 through 8.5.8.PGI
: PGI version 12.10 through 17.5.XL
: IBM XL version 10.1 through 13.1.5.
CMake is currently aware of the C standards
and
their associated meta-features (e.g. c_std_99
) available from the
following compiler ids
as of the
versions specified for each:
- all compilers and versions listed above with only meta-features for C++.
TI
: Texas Instruments compiler.
CMake is currently aware of the CUDA standards
from the following compiler ids
as of the
versions specified for each:
NVIDIA
: NVIDIA nvcc compiler 7.5 though 9.1.


Double linked list for collisions into hashtables. More...
Go to the source code of this file.
Typedefs | |
| typedef tommy_node * | tommy_list |
| Double linked list type. | |
Functions | |
| void | tommy_list_init (tommy_list *list) |
| Initializes the list. | |
| tommy_node * | tommy_list_head (tommy_list *list) |
| Gets the head of the list. | |
| tommy_node * | tommy_list_tail (tommy_list *list) |
| Gets the tail of the list. | |
| void | tommy_list_insert_head (tommy_list *list, tommy_node *node, void *data) |
| Inserts an element at the head of a list. | |
| void | tommy_list_insert_tail (tommy_list *list, tommy_node *node, void *data) |
| Inserts an element at the tail of a list. | |
| void * | tommy_list_remove_existing (tommy_list *list, tommy_node *node) |
| Removes an element from the list. | |
| void | tommy_list_concat (tommy_list *first, tommy_list *second) |
| Concats two lists. | |
| void | tommy_list_sort (tommy_list *list, tommy_compare_func *cmp) |
| Sorts a list. | |
| tommy_bool_t | tommy_list_empty (tommy_list *list) |
| Checks if empty. | |
| void | tommy_list_foreach (tommy_list *list, tommy_foreach_func *func) |
| Calls the specified function for each element in the list. | |
| void | tommy_list_foreach_arg (tommy_list *list, tommy_foreach_arg_func *func, void *arg) |
| Calls the specified function with an argument for each element in the list. |
Double linked list for collisions into hashtables.
This list is a double linked list mainly targetted for handling collisions into an hashtables, but useable also as a generic list.
The main feature of this list is to require only one pointer to represent the list, compared to a classic implementation requiring a head an a tail pointers. This reduces the memory usage in hashtables.
Another feature is to support the insertion at the end of the list. This allow to store collisions in a stable order. Where for stable order we mean that equal elements keep their insertion order.
To initialize the list, you have to call tommy_list_init(), or to simply assign to it NULL, as an empty list is represented by the NULL value.
tommy_list list; tommy_list_init(&list); // initializes the list
To insert elements in the list you have to call tommy_list_insert_tail() or tommy_list_insert_head() for each element. In the insertion call you have to specify the address of the node and the address of the object. The address of the object is used to initialize the tommy_node::data field of the node.
struct object { tommy_node node; // other fields int value; }; struct object* obj = malloc(sizeof(struct object)); // creates the object obj->value = ...; // initializes the object tommy_list_insert_tail(&list, &obj->node, obj); // inserts the object
To iterate over all the elements in the list you have to call tommy_list_head() to get the head of the list and follow the tommy_node::next pointer until NULL.
tommy_node* i = tommy_list_head(&list); while (i) { struct object* obj = i->data; // gets the object pointer printf("%d\n", obj->value); // process the object i = i->next; // go to the next element }
To destroy the list you have to remove all the elements, as the list is completely inplace and it doesn't allocate memory. This can be done with the tommy_list_foreach() function.
// deallocates all the objects iterating the list tommy_list_foreach(&list, free);
| typedef tommy_node* tommy_list |
Double linked list type.
| void tommy_list_init | ( | tommy_list * | list | ) |
Initializes the list.
The list is completely inplace, so it doesn't need to be deinitialized.
| tommy_node* tommy_list_head | ( | tommy_list * | list | ) |
Gets the head of the list.
| tommy_node* tommy_list_tail | ( | tommy_list * | list | ) |
Gets the tail of the list.
| void tommy_list_insert_head | ( | tommy_list * | list, |
| tommy_node * | node, | ||
| void * | data | ||
| ) |
Inserts an element at the head of a list.
| node | The node to insert. |
| data | The object containing the node. It's used to set the tommy_node::data field of the node. |
| void tommy_list_insert_tail | ( | tommy_list * | list, |
| tommy_node * | node, | ||
| void * | data | ||
| ) |
Inserts an element at the tail of a list.
| node | The node to insert. |
| data | The object containing the node. It's used to set the tommy_node::data field of the node. |
| void* tommy_list_remove_existing | ( | tommy_list * | list, |
| tommy_node * | node | ||
| ) |
Removes an element from the list.
You must already have the address of the element to remove.
| node | The node to remove. The node must be in the list. |
| void tommy_list_concat | ( | tommy_list * | first, |
| tommy_list * | second | ||
| ) |
Concats two lists.
The second list is concatenated at the first list.
| first | The first list. |
| second | The second list. After this call the list content is undefined, and you should not use it anymore. |
| void tommy_list_sort | ( | tommy_list * | list, |
| tommy_compare_func * | cmp | ||
| ) |
Sorts a list.
It's a stable merge sort with O(N*log(N)) worst complexity. It's faster on degenerated cases like partially ordered lists.
| cmp | Compare function called with two elements. The function should return <0 if the first element is less than the second, ==0 if equal, and >0 if greather. |
| tommy_bool_t tommy_list_empty | ( | tommy_list * | list | ) |
Checks if empty.
| void tommy_list_foreach | ( | tommy_list * | list, |
| tommy_foreach_func * | func | ||
| ) |
Calls the specified function for each element in the list.
You can use this function to deallocate all the elements inserted in a list.
tommy_list list; // initializes the list tommy_list_init(&list); ... // creates an object struct object* obj = malloc(sizeof(struct object)); ... // insert it in the list tommy_list_insert_tail(&list, &obj->node, obj); ... // deallocates all the objects iterating the list tommy_list_foreach(&list, free);
| void tommy_list_foreach_arg | ( | tommy_list * | list, |
| tommy_foreach_arg_func * | func, | ||
| void * | arg | ||
| ) |
Calls the specified function with an argument for each element in the list.


REGENECARE HA- lidocaine hydrochloride gel
MPM Medical, Inc.
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
For the temporary relief of pain and itching associated with
For external use only
If swallowed, get medical help or contatct a Poison Control Center right away
Avoid contact with the eyes
If condition worsens, or if symptoms persist for more than 7 days or clear up and occur again within a few days, discontinue use of this product and consult with a doctor
Do not use in large quantities, particularly over raw surfaces or blistered areas
Adults and children 2 years of age and older: Apply to affected area not more than 3 to 4 times daily.
Children under 2 years of age: Consult a physician prior to use.
|
REGENECARE HA
lidocaine hcl gel | ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
|
| Labeler - MPM Medical, Inc. (119643406) |
| Establishment | |||
| Name | Address | ID/FEI | Business Operations |
|---|---|---|---|
| Biomed Laboratories, LLC | 055329696 | manufacture(66977-107) |