|
JWTXX
C++ library for JWT
|
All classes, functions and constants are here. More...
Namespaces | |
| Validate | |
| Validation functions are here. | |
Classes | |
| class | Error |
| Base class for all exceptions in the library. More... | |
| class | JWT |
| Main class to work with JWT. More... | |
| class | Key |
| Represents signature algorithm Signs tokens and verifies token signatures. More... | |
| class | ValidationResult |
| Represents the result of validation. If validation is successfull an object of this class is equivalent to 'true' boolean value. Otherwise it is equivalent ot 'false' and contains an error message. More... | |
Typedefs | |
| typedef std::unordered_map< std::string, std::string > | Pairs |
| Header and claim container. | |
| typedef std::function< ValidationResult(const Pairs &)> | Validator |
| Validation function for claims. | |
| typedef std::vector< Validator > | Validators |
| A list of validators. | |
Enumerations | |
| enum | Algorithm { Algorithm::HS256, Algorithm::HS384, Algorithm::HS512, Algorithm::RS256, Algorithm::RS384, Algorithm::RS512, Algorithm::ES256, Algorithm::ES384, Algorithm::ES512, Algorithm::none } |
| JWT signature algorithms. More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &stream, const Algorithm &alg) |
| Puts algorithm name to a stream. More... | |
| void | enableOpenSSLErrors () noexcept |
| Enable OpenSSL human-readable error messages. You only need to call it once, in the beginning of your program. | |
| std::string | algToString (Algorithm alg) noexcept |
| Converts algorithm code into a string representation. More... | |
| Algorithm | stringToAlg (const std::string &value) |
| Converts algorithm name into algorithm code. More... | |
All classes, functions and constants are here.
|
strong |
JWT signature algorithms.
|
noexcept |
Converts algorithm code into a string representation.
| alg | algorithm code. |
| std::ostream & JWTXX::operator<< | ( | std::ostream & | stream, |
| const Algorithm & | alg | ||
| ) |
Puts algorithm name to a stream.
| stream | the stream; |
| alg | the algorithm. |


I just posted my roughly-annual entry to our family blog—with pictures and lots of little updates from the year.


Collection of tools to work with basketball data. Functions available are related to friendly web scraping and visualization. Data were obtained from <http://www.euroleague.net/>, <http://www.eurocupbasketball.com/> and <http://www.acb.com>, following the instructions of their respectives robots.txt files. Tools for visualization include a population pyramid, 2D plots of archetypoids and the rest of players, percentile circular plots, plots to analyze monthly evolution, heatmaps, shooting barplots, four factor plots and maps of players' nationalities.
| Version: | 1.1.3 |
| Depends: | R (≥ 3.4.0) |
| Imports: | Anthropometry, plyr, dplyr, ggplot2, ggthemes, grid, hrbrthemes, httr, lubridate, magrittr, purrr, reshape2, rvest, rworldmap, scales, stringi, stringr, tidyr, xml2 |
| Suggests: | knitr |
| Published: | 2018-09-24 |
| Author: | Guillermo Vinue |
| Maintainer: | Guillermo Vinue <Guillermo.Vinue at uv.es> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://www.R-project.org, https://www.uv.es/vivigui, https://www.uv.es/vivigui/AppEuroACB.html |
| NeedsCompilation: | no |
| Materials: | NEWS |
| CRAN checks: | BAwiR results |
| Reference manual: | BAwiR.pdf |
| Vignettes: |
Visualization of European basketball data |
| Package source: | BAwiR_1.1.3.tar.gz |
| Windows binaries: | r-devel: BAwiR_1.1.3.zip, r-release: BAwiR_1.1.3.zip, r-oldrel: BAwiR_1.1.3.zip |
| OS X binaries: | r-release: BAwiR_1.1.3.tgz, r-oldrel: BAwiR_1.1.3.tgz |
| Old sources: | BAwiR archive |
Please use the canonical form https://CRAN.R-project.org/package=BAwiR to link to this page.


This repository contains custom View classes for the template frameworks listed below. You can use any of these custom View classes by either requiring the appropriate class in your Slim Framework bootstrap file and initialize your Slim application using an instance of the selected View class or using Composer (the recommended way).
Slim Views only officially support the following views listed below.
Install in your project by running the following composer command:
$ php composer require slim/views
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim(array(
'view' => new \Slim\Views\Smarty()
));
To use Smarty options do the following:
$view = $app->view();
$view->parserDirectory = dirname(__FILE__) . 'smarty';
$view->parserCompileDirectory = dirname(__FILE__) . '/compiled';
$view->parserCacheDirectory = dirname(__FILE__) . '/cache';
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim(array(
'view' => new \Slim\Views\Twig()
));
To use Twig options do the following:
$view = $app->view();
$view->parserOptions = array(
'debug' => true,
'cache' => dirname(__FILE__) . '/cache'
);
In addition to all of this we also have a few helper functions which are included for both view parsers. In order to start using these you can add them to their respective view parser as stated below:
$view->parserExtensions = array(
new \Slim\Views\TwigExtension(),
);
$view->parserExtensions = array(
dirname(__FILE__) . '/vendor/slim/views/Slim/Views/SmartyPlugins',
);
These helpers are listed below.
Twig
Inside your Twig template you would write:
{{ urlFor('hello', {"name": "Josh", "age": "19"}) }}
You can easily pass variables that are objects or arrays by doing:
Hello {{ name }}
If you need to specify the appname for the getInstance method in the urlFor functions, set it as the third parameter of the function in your template:
Hello {{ name }}
Smarty
Inside your Smarty template you would write:
{urlFor name="hello" options="name.Josh|age.26"}
or with the new array syntax:
{urlFor name="hello" options=["name" => "Josh", "age" => "26"]}
You can easily pass variables that are arrays as normal or using the (.):
Hello {$name}
If you need to specify the appname for the getInstance method in the urlFor functions, set the appname parameter in your function:
Hello {$name}
Twig
Inside your Twig template you would write:
{{ siteUrl('/about/me') }}
Smarty
Inside your Smarty template you would write:
{siteUrl url='/about/me'}
Twig
Inside your Twig template you would write:
{{ baseUrl() }}
Smarty
Inside your Smarty template you would write:
{baseUrl}
Twig
Inside your Twig template you would write:
{{ currentUrl() }}
Smarty
Inside your Smarty template you would write:
{currentUrl}
MIT Public License


- saveNewContactInformation() - Method in class com.cybersix.markme.fragment.AccountSettingsFragment
-
- saveRecordChanges(String, String, String, BodyLocation, int) - Method in class com.cybersix.markme.controller.RecordController
-
- saveRecordChanges(String, String, String, BodyLocation, int) - Method in class com.cybersix.markme.model.DataModel
-
- saveState() - Method in class com.cybersix.markme.SlidingImageAdapter
-
- scale(double, Bitmap) - Method in class com.cybersix.markme.actvity.LiveCameraActivity
-
Scales down by the requested percentage while maintaining aspect ratio.
- scaleImage(Bitmap) - Method in class com.cybersix.markme.actvity.LiveCameraActivity
-
Performs the following functions in order to cutdown on the image size:
1.
- scheduleNotification(Context, long, int) - Method in class com.cybersix.markme.actvity.ProblemCreationActivity
-
- searchProblems() - Method in class com.cybersix.markme.fragment.ProblemListFragment
-
- searchRecords() - Method in class com.cybersix.markme.fragment.RecordListFragment
-
- setBodyLocation(BodyLocation) - Method in class com.cybersix.markme.model.RecordModel
-
sets body location
- setBodyPart(EBodyPart) - Method in class com.cybersix.markme.model.BodyLocation
-
- setCaptureButton(View) - Method in class com.cybersix.markme.controller.CameraPreview
-
Sets the onClick parameter of the button to "capture" or "take a photo" in the current
camera device by invoking capture().
- setClient() - Method in class com.cybersix.markme.io.ElasticSearchIO
-
Create a singleton of the JestDroidClient.
- setComment(String) - Method in class com.cybersix.markme.model.RecordModel
-
sets comment
- setDescription(String) - Method in class com.cybersix.markme.model.ProblemModel
-
sets the description
- setDescription(String) - Method in class com.cybersix.markme.model.RecordModel
-
sets the description
- setEmail(String) - Method in class com.cybersix.markme.model.UserModel
-
- setEmailView(TextView) - Method in class com.cybersix.markme.observer.UserObserver
-
- setFragment(Fragment) - Method in class com.cybersix.markme.controller.NavigationController
-
- setFullScreen(Activity) - Static method in class com.cybersix.markme.utils.GuiUtils
-
- setLabel(String) - Method in class com.cybersix.markme.model.RecordModel
-
sets the label
- setMapLocation(LatLng) - Method in class com.cybersix.markme.model.RecordModel
-
set map location
- setModel(UserModel) - Method in class com.cybersix.markme.controller.UserProfileController
-
- setModifierButton(View) - Method in class com.cybersix.markme.observer.UserObserver
-
- setOnCaptureListener(CameraPreview.OnCaptureListener) - Method in class com.cybersix.markme.controller.CameraPreview
-
Sets mCaptureListener to the supplied listener.
- setOnModifierPressed(View.OnClickListener) - Method in class com.cybersix.markme.observer.UserObserver
-
- setPatientId(String) - Method in class com.cybersix.markme.model.ProblemModel
-
- setPatients(ArrayList<Patient>) - Method in class com.cybersix.markme.model.CareProvider
-
- setPhone(String) - Method in class com.cybersix.markme.model.UserModel
-
- setPhoneView(TextView) - Method in class com.cybersix.markme.observer.UserObserver
-
- setPhotoBack(Bitmap) - Method in class com.cybersix.markme.model.UserModel
-
Sets new back photo
- setPhotoFront(Bitmap) - Method in class com.cybersix.markme.model.UserModel
-
Sets new front photo
- setProblemId(String) - Method in class com.cybersix.markme.model.ProblemModel
-
- setProblemId(String) - Method in class com.cybersix.markme.model.RecordModel
-
- setProblems(ArrayList<ProblemModel>) - Method in class com.cybersix.markme.model.Patient
-
- setRecordId(String) - Method in class com.cybersix.markme.model.RecordModel
-
- setRecords(ArrayList<RecordModel>) - Method in class com.cybersix.markme.model.ProblemModel
-
Sets all of the records
- setSelectedItem(int) - Method in class com.cybersix.markme.controller.NavigationController
-
Progmatically selects an item on the navigation bar with the given resource Id.
- setSelectedItem(int, Bundle) - Method in class com.cybersix.markme.controller.NavigationController
-
Progmatically selects an item on the navigation bar with the given resource Id.
- setSelectedPatient(Patient) - Method in class com.cybersix.markme.model.DataModel
-
- setSelectedProblem(int) - Method in class com.cybersix.markme.controller.ProblemController
-
- setSelectedProblem(int) - Method in class com.cybersix.markme.model.DataModel
-
- setStarted(Date) - Method in class com.cybersix.markme.model.ProblemModel
-
- setTimestamp(Date) - Method in class com.cybersix.markme.model.RecordModel
-
sets the timestamp
- SettingsFragment - Class in com.cybersix.markme.fragment
-
- SettingsFragment() - Constructor for class com.cybersix.markme.fragment.SettingsFragment
-
- setTitle(String) - Method in class com.cybersix.markme.model.ProblemModel
-
sets the title
- setTitle(String) - Method in class com.cybersix.markme.model.RecordModel
-
sets the title
- setToggleViewButton(View) - Method in class com.cybersix.markme.controller.CameraPreview
-
Sets the onClick parameter of the button to switch the next camera device by
invoking nextDevice().
- setup() - Method in class com.cybersix.markme.BodyActivityTest
-
- setup() - Method in class com.cybersix.markme.MapActivityTest
-
- setup() - Method in class com.cybersix.markme.ProblemListIntentTesting
-
- setup() - Method in class com.cybersix.markme.RecordActivityTest
-
- setup() - Method in class com.cybersix.markme.RecordControllerTest
-
- setupUI() - Method in class com.cybersix.markme.fragment.PatientListFragment
-
- setUser(UserModel) - Method in class com.cybersix.markme.actvity.MainActivity
-
- setUser(String) - Method in class com.cybersix.markme.actvity.MainActivity
-
- setUser(String) - Method in class com.cybersix.markme.fragment.TransferAccountFragment
-
- setUserId(String) - Method in class com.cybersix.markme.model.UserModel
-
- setUsername(String) - Method in class com.cybersix.markme.controller.UserProfileController
-
- setUsername(String) - Method in class com.cybersix.markme.model.UserModel
-
- setUsernameView(TextView) - Method in class com.cybersix.markme.observer.UserObserver
-
- SignupActivity - Class in com.cybersix.markme.actvity
-
- SignupActivity() - Constructor for class com.cybersix.markme.actvity.SignupActivity
-
- SignupActivityTest - Class in com.cybersix.markme
-
- SignupActivityTest() - Constructor for class com.cybersix.markme.SignupActivityTest
-
- signupActivityTestRule - Variable in class com.cybersix.markme.SignupActivityTest
-
- SlideShowActivity - Class in com.cybersix.markme
-
- SlideShowActivity() - Constructor for class com.cybersix.markme.SlideShowActivity
-
- SlidingImageAdapter - Class in com.cybersix.markme
-
- SlidingImageAdapter(Context) - Constructor for class com.cybersix.markme.SlidingImageAdapter
-
- start() - Method in class com.cybersix.markme.controller.CameraPreview
-
Starts the camera service in the given texture view.
- stop() - Method in class com.cybersix.markme.controller.CameraPreview
-
Stops the camera service in the given texture view.
- switchToFragment(Class<? extends Fragment>) - Method in class com.cybersix.markme.controller.NavigationController
-
Switches the current fragment, if it exists, with a new fragment.
- switchToFragment(Class<? extends Fragment>, Bundle) - Method in class com.cybersix.markme.controller.NavigationController
-
Sends the given bundle to the newly switched Fragment.


Click to Start
Hello World!!!
Here is Pengyu's Story
24 Years old
Work Experience:
QA Intern at Optimal Payments PLC
from Sep. 2014 to Dec. 2014.
Web Developer at University of Ottawa
from May 2014 to Aug. 2014.
Education:
Master of Computer Science
University of Ottawa (2013 - 2015)
Bachelor of Engineering, Computer Science & Technology
Tianjin University of Science and Technology (2009 - 2013)
Living in Ottawa, ON, Canada
Skills including:
C/C++ - Java - PHP - iOS
Android - HTML - SQL etc.
Interests:
Movie - Reading - Music
:)
Stay Hungry Stay Foolish!


One Way Binding Example
Slide me!
Edit me!
x:
y:
The value of x is {{data.x}} and y is {{data.y}}.
Source Code


Play Along
Touch/Mouse and drag to play along with the probabilistic backtrack. X = pitch, Y = modulation.


Store Location's Estimated Sales
ADD A NEW LOCATION
Location Name
Minimum Customers per Hour
Maximum Customers per Hour
Average Cookies Sold per Hour
Creat New Location


riding has got to be one of my favorite things to do here in Colorado. i started riding about two years ago when i first moved here from Louisiana!


Preparation time
overnight
Cooking time
over 2 hours
Serves
Serves 4
A restaurant-style meal from chef Paul Ainsworth.
For the garlic oil, heat the vegetable oil to 80C. Pour over the garlic leaves in a blender and blend on highest speed for 30 seconds. Pour into an ice bain-marie and chill. Hang in a chinois lined with paper towels so no particles can get through. Leave overnight. The oil should have all gone through and be clear.
For the oyster wild garlic mayonnaise, it is important to have all your ingredients chilled and chill the bowl of your food processor too. Place the oyster and egg yolk in the food processor and begin to blend. When smooth add a splash of lemon juice and a pinch of salt, slowly begin to add the garlic oil, let it emulsify then slowly drizzle the oil in until the mayonnaise is thick. Adjust the seasoning with lemon juice and salt to taste. Set aside in the fridge.
For the crab, the most humane way to kill the crab is to put it to sleep in the freezer for about one hour before cooking. Alternatively you can pierce its underside with a sharp knife. Place all of the other ingredients, except the crab, into a large pan with 3 litres/5¼ pints water and bring to the boil to make the bouillon. Submerge the crab in the boiling bouillon, place the lid on and once it comes back to the boil remove the lid and cook for 14 minutes. Remove the crab and chill quickly in the refrigerator.
When ready to pick, remove the kegs and claws then take the body out of the shell, crack open all the legs and claws removing all white meat, then carefully pop out the joints from the body and pick the white meat out. Save the shells for making a sauce. Carefully pick through the crab for shell and cartilage in an ice cold tray. Store the crab meet in a bowl that is on ice.
For the leeks, put the salt, butter, thyme, garlic and pepper into 200ml/7fl oz water. Bring to the boil and simmer until emulsified. Use a large pan so the leeks will be only 1 layer thick. Check for seasoning, add in the leeks and evenly disperse. Cook until tender and chill quickly, spread out evenly, in the refrigerator.
For the crab bisque, heat the oil in a pan and gently fry the diced vegetables in olive oil in a pan. Add in herbs, spices, salt and saffron and cook but don’t burn the spices. Once you have good colour on the vegetables add the tomato purée and cook for a couple of minutes, then add the chopped fresh tomatoes. Deglaze the pan with brandy then add the roasted crab shells. Mix well with the vegetables. Transfer to a pressure cooker. Cover with crab or fish stock and pressure cook for 30 minutes.
Sieve off the liquid and heat the liquid in a pan to reduce it until you have a strong roasted crab flavoured stock that will be a deep brown colour. Finish with butter, lemon juice and a little oyster mayonnaise for flavour but do not boil at this stage as you will loose the body of the sauce.
For the turbot, preheat the oven to 180c/160C fan/ Gas 4. Season the turbot well all over with salt and place dark skin side down into a pre heated non-stick pan with olive oil. Colour the fish on all sides then add the butter. Baste the fish in the nut-brown butter then remove on to a non-stick baking tray. With the remaining butter in the pan add the lemon juice, mix, then pour over the fish. Bake in oven for a few minutes until the thermometer reads 45/46C on the bone. Leave to rest before serving.
To serve, warm your leeks in a little crab stock and finish with lemon juice to taste, and some chervil and chives. Placed into small copper pans or a serving dish.
Finish your fresh crab with lime zest, fresh lemon and lime juice, chopped oyster leaf, chervil and chives and salt, if needed. Then place on top of the leeks.
Finish the crab and leeks off with a salad of crispy seaweed, oyster leafs, fennel tops, piped dollops of oyster wild garlic mayonnaise, wild garlic flowers and garlic oil.
Place you cooked turbot into the centre of the plate (this is your show stopper). Finish with a swirl of garlic oil around the fish then pour the hot bisque sauce through the oil, finish with extra sauce on the side.


My Team
Joe Weasel
Manager
ID: 3
Email:
<EMAIL_ADDRESS>Office number: 23
Jason Weasel
Engineer
ID: 5
Email:
<EMAIL_ADDRESS>GitHub:
JasonWeas
Nick Ruin
Engineer
ID: 7
Email:
<EMAIL_ADDRESS>GitHub:
Knick
Beto Baum
Engineer
ID: 9
Email:
<EMAIL_ADDRESS>GitHub:
Betooo1
Jack Weasel
Intern
ID: 11
Email:
<EMAIL_ADDRESS>School: Jack University


We do not see the lottery situation of unresponsive verifiers as a problem that needs to be fixed. If an individual is following the current rules to be in the lottery, then that person should stay in the lottery. The proof of diversity has not been compromised. IPv4 addresses are still scarce, there is no evidence that a single entity controls greater than 50% of the lottery, and there is certainly no evidence that a single entity has gained an appreciable portion of the cycle.
Also, it is important to note that even an elimination of the scarcity of IPv4 addresses would not compromise the proof of diversity. It would only necessitate finding a new source of scarcity for admission into the cycle. The proof of diversity is a provable (and disprovable) system regarding the evolution of a malleable democracy, and it could be based on any scarce resource as a factor for admission, including KYC (know your customer) to provide for a one-person, one-ticket probability of entrance. As many community members will remember, the initial entrance scheme was a FIFO entrance queue, not a lottery, and this was still (minimally) sufficient to support the proof.
As we have stated many times, we hope to see competing implementations of Nyzo arise. We are glad to see verifiers running code that we have not written. We think this is a huge step forward in the progression of Nyzo.
We also recognize the value of improving the default solution that is present in our version of the code. We think that the linear IP ideas presented in Open-Nyzo/Nyzo-Q are especially suited to improving diversity.
NTTP-7: we propose changing the lottery calculation space from verifier identifier to IP address
This dramatic of a change should not be performed without thorough consideration. As our implementation of Nyzo is currently dominant in the cycle, we should assume that the changes we make will have a significant impact on the behavior of the cycle in the near future.
We cannot and do not know the effort expended to obtain current positions in the lottery. However, two assumptions are reasonable:
These two items are related, and "other forms of diversity" is deliberately vague. It is reasonable to assume, due to the complex history of IP address allocation, that favoring dissimilarity among IP addresses will favor dissimilarity among the people who are able to enter the cycle. To the extent possible, we want the Nyzo cycle to be as diverse as those using Nyzo for transactions. As we hope for every person on this planet to use Nyzo in some fashion, this requires an exceptionally diverse cycle.
So, while this change will possibly disfavor some people who have a large number of lottery positions, we feel that it is justified and fair because this relative disfavor will be more than offset by the increase in overall value of the system due to increased diversity.
In fact, we assert that diversity is so important to Nyzo that increasing diversity always increases the trustworthiness of the system so significantly that it actually benefits those who have less control of the system due to increased diversity. An example we have presented many times to illustrate this is that of the Genesis cycle: we controlled 100% of it, and Nyzo was valueless because we controlled 100% of it.
We recommend awarding a bounty to the creator of Open-Nyzo/Nyzo-Q in relation to this issue. The address id__87aN7L5sP8ka77khzwXdN3vYDqhmIsb3GaxEaXWQG-1vqKT~jfaV was provided for a potential bounty.
This NTTP, changing the lottery calculation space from verifier identifier to IP address, will be implemented if ∩14,700 is sent to address id__88Mc9LBXMD9EKvzPQC5~Gyfhwz3JTgtw5U25mvfyx.DCMNkh_NT7.
16 days
A ∩14,700 payment was sent to id__88Mc9LBXMD9EKvzPQC5~Gyfhwz3JTgtw5U25mvfyx.DCMNkh_NT7 at block 8846221. At this time, impelementation of NTTP-5 was in progress. Implementation of NTTP-5 completed on 2020-09-21. We plan to implement and release the code for NTTP-7 by 2020-10-07.
The software changes were implemented in version 605, released 2020-10-04.


Dropwit
Enter your username and password
Username
Password
Login
Remember me
Forgot
password?
Don't have an account?
Sign up here.


Room Id
Peer Name
Message
Response
Create room
Join room
Leave room
Destroy room
Send message
List rooms
List peers


... Your Browser does not support frames :-(
Science Fair 2001
Amazing Mazes
Andrew Bridges
7th grade
Good Shepherd Lutheran School
Collinsville, IL
Foreward |
Abstract |
Run the Applet |
Acknowlegement
Purpose & Hypothesis |
Review of Literature |
Procedure |
Results |
Conclusion |
Reference List
Appendix A: Software Design |
Appendix B: Source Code |
Appendix C: JavaDoc


This tool build lines based on the original base points dataset and the output displaced points. This is more for testing, but can be used as an easy visualisation of how far points have moved.
The base point dataset. Note that not all the points in this dataset are required to be in the output so you can use the base dataset to link to displaced points which were the subset of the input.
The ID field from the base layer that is used to link to the displaced points.
The layer of displaced points generated from the input layer. All points in this layer should also be present in the base layer. If they are not IDs will be written as warnings in the log.
The ID field from the displaced points to link to the original base dataset. Allowing for different ID fields gives the tool a bit more utility, and allows for you to make updates to the displaced points layer.
A polyline dataset with points built from the points in the base layer to the corresponding points in the output layer. The points are attributed with the ID of the shared points.


List Assist
Mark All As Completed
Order By:
Entry
Deadline
{{ x.name }} : {{x.details}} | {{x.deadline | date: 'EEE, MMMM d h:mm a'}}
Details
Deadline
Alarm
{{alert.msg}}
{{alert.msg}}


USD/CNH: Offshore Yuan resilient to reports predicting ZIRP in China
by Omkar Godbole- CNH is gaining ground despite analysts predicting zero interest rate policy in China.
- Phase two of the US-China trade deal is looking unlikely.
- Yuan is showing resilience amid signs of risk-on in financial markets.
China's offshore Yuan (CNH) is showing no signs of stress despite reports stating that China should prepare for the zero interest rate policy (ZIRP).
China's demands for liquidity are growing, foreign capital keeps flowing in amid the slowdown in the real economy, making the country seemingly approaching a zero rates monetary condition, according to Global Times article based on a report by Beijing-based private strategic think tank Anbound.
Meanwhile, the article also quotes Zhu Haibin, Chief China Economist at JPMorgan, as saying that China is likely to become the next zero interest rate country, as country's non-financial corporate debt ratio is too high, and interest rates are too high and the repayment burden of existing debt has squeezed out the effective demand for new credit.
The offshore Yuan, however, is pushing higher against the greenback despite the talk of ZIRP in China. The USD/CNH pair is currently trading at 7.0314, representing marginal losses on the day, having hit a high of 7.0403 in the early Asian session.
Yuan is also showing resilience to news reports stating that the "phase two" trade deal between the United States and China is looking less likely with the two countries struggling to strike a preliminary "phase one" agreement.
The uptick in CNH is accompanied by signs of risk-on in the related markets. At press time, the futures on the S&P 500 are trading 0.28% higher on the day. Meanwhile, oil benchmarks are trading flat-to-positive.
Technical levels
USD/CNH
| Overview | |
|---|---|
| Today last price | 7.036 |
| Today Daily Change | -0.0070 |
| Today Daily Change % | -0.10 |
| Today daily open | 7.043 |
| Trends | |
|---|---|
| Daily SMA20 | 7.026 |
| Daily SMA50 | 7.0725 |
| Daily SMA100 | 7.0458 |
| Daily SMA200 | 6.923 |
| Levels | |
|---|---|
| Previous Daily High | 7.0486 |
| Previous Daily Low | 7.0262 |
| Previous Weekly High | 7.0536 |
| Previous Weekly Low | 7.0046 |
| Previous Monthly High | 7.1705 |
| Previous Monthly Low | 7.0295 |
| Daily Fibonacci 38.2% | 7.04 |
| Daily Fibonacci 61.8% | 7.0347 |
| Daily Pivot Point S1 | 7.0299 |
| Daily Pivot Point S2 | 7.0169 |
| Daily Pivot Point S3 | 7.0075 |
| Daily Pivot Point R1 | 7.0523 |
| Daily Pivot Point R2 | 7.0616 |
| Daily Pivot Point R3 | 7.0747 |


Raunak Sharma
Trying to figure out the source code by
looking at how the dots connect.
In case you ever want to say hi :
RÉSUMÉ
PROJECTS


Hi! I'm Thiago L. de O. Sotto, a passionate Software Developer student from Brazil who lives in Quatis, Rio de Janeiro. I am a systems development analysis student. To improve myself I have taken courses at UDEMY.
Looking for my first opportunity as an intern or junior.


If you are seeing this message you may be using an unsupported browser.
Open Sessions does not currently work on Internet Explorer 10, Internet Explorer 11 and other older browsers. Please download Google Chrome to use opensessions.io.
If you still see this message while using Google Chrome, please contact us.


--- title: FAQ heading: Got questions? We have answers. description: Learn more about our service pricing_table: - name: Starter color: '#4a4a4a' features: - text: $30 per package highlight: true - text: Under 10 packages shipped highlight: false - text: New forwarder highlight: false - text: Second-tier forwarder highlight: false - text: Second-tier support highlight: false - text: '-' highlight: false call_to_action: link: /sign-up/ text: Become a forwarder - name: Professional color: '#4c7be5' features: - text: $50 per package highlight: true - text: Over 10 packages shipped highlight: false - text: Experienced highlight: false - text: Priority forwarder highlight: false - text: Priority support highlight: false - text: Eligible for referral bonuses highlight: false call_to_action: link: /sign-up/ text: Begin as a Starter faq: - question: Where do I sign up? answer: >- Simply click the "Sign up" button at the top of the website and submit your application. However, please understand that your approval is not guaranteed. - question: Why do shoppers use your service? answer: >- Our customers use our service when they're shopping across the border and the retailer can't physically ship to them, or when they're away from home (out of town, on holiday, etc.) and would like to safeguard their package. Not everybody has access to a PO Box, so we help shoppers overcome that issue. - question: 'For domestic orders, why not just use a PO Box?' answer: >- Not everybody has access to a PO Box. Also, regarding storing packages in the post office, they are notorious for losing packages, so shoppers come to us time and time again for a reliable delivery of their orders. - question: 'How does this work, exactly?' answer: >- 1. We'll connect you with a shopper and they'll ship their goods to your home address. 2. You'll then ship their package to the shopper's requested address, and 3. You'll be paid generously for it. - question: What will I need to do this job? answer: 'Just a printer to print shipping labels, as well as scissors and tape.' - question: Will I have to pay for shipping? answer: >- You'll never have to pay for anything. All shipping costs will always be covered by us, and prepaid labels will always be provided for you. Simply drop off the package or call for package pickup. Most post offices offer this service for free! - question: How long does this job take? answer: >- 30 minutes, or up to 1 hour per drop-off. It's actually quite a quick and easy job. Just ship our shopper's order and get paid for it. - question: Why is the pay so high? answer: >- In order to ensure the highest quality of service as well as to discourage theft, we pay each and every single forwarder with a starting salary of $30 per package shipped. - question: Can I check the contents of the package I'll be shipping? answer: >- Absolutely! All our items are shipped from major retailers such as Walmart, Target, Best Buy, etc. as well as major suppliers, so they are fully compliant with the law – you're welcome to see for yourself. - question: My package came under a different person's name. answer: >- Your package(s) will always come under your shopper's name so you won't confuse one package with another, when shipping multiple packages at once. - question: Is there a dashboard to keep track of my packages? answer: >- We are currently working on this functionality. This should be done by the end of Q1 2021. Stay tuned. - question: What are the consequences of package theft? answer: >- A police investigation & debt collection agency involvement. We will criminally prosecute any and all malicious users of the service. - question: I don't see my question on here. Who do I contact? answer: >- No problem! Contact us at<EMAIL_ADDRESS>with any questions or concerns you have for us. ---


Bootstrap 3 Show Many Slide One Carousel
Find out more about
this code sample
.
Second carousel test


# Create HTTP Web Server The Node.js framework is mostly used to create server based applications. The framework can easily be used to create web servers which can serve content to users. There are a variety of modules such as the "http" and "request" module, which helps in processing server related requests in the web server space. --- ## Node as web server using HTTP Let's look at an example of how to create and run our first Node js application. Our application is going to create a simple server module which will listen on port no 7000. If a request is made through the browser on this port no, then server application will send a 'Hello' World' response to the client. --- ## Example: Node as web server using HTTP ```js var http=require('http') var server=http.createServer((function(request,response) { response.writeHead(200, {"Content-Type" : "text/plain"}); response.end("Hello World\n"); })); server.listen(7000); ``` --- ## Explanation: Node as web server using HTTP ![Node as web server using HTTP](https://www.guru99.com/images/NodeJS/010716_0600_NodejsHttpT1.png) --- ## Handling GET Requests in Node.js Making a GET Request to get the data from another site is relatively very simple in Node.js. To make a Get request in the node, we need to first have the request module installed. This can be done by executing the following line in the command line ```bash npm install request ``` --- ## Example: Handling GET Requests in Node.js ```js var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); }); ``` --- ## Explanation: Handling GET Requests in Node.js ![Handling GET Requests in Node.js](https://www.guru99.com/images/NodeJS/010716_0600_NodejsHttpT4.png) --- ## The End


back
visit source
Please wait
downloading rss-feeds
Not all feeds could be downloaded,
please check the urls of following channels


ES6 import test
In order to run this in browser, run "npx serve" first
and then open localhost:5000 in browser instead of
chrome index.html or open index.html
or
chrome http://localhost:5000 in windows or
open http://localhost:5000 in macosx
detail check https://www.sitepoint.com/using-es-modules/


Features
Tempora similique excepturi obcaecati, maiores nostrum esse illo in soluta at saepe perspiciatis eos quasi laudantium sunt ad quaerat?
Read MoreLorem ipsum dolor sit amet, consectetur adipisicing
elitr eiciendis autem aperiam.
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Aenean commodo ligula eget dolor.
Aenean massa.
Lorem ipsum dolor sit amet proin gravida nibh vel velit
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.
Your project looks great on any device. Content can be easily read and a user understands freely what you wanted to say him or her.

Read MoreClaritas est etiam processus dynamicus, qui sequitur mutationem consuetudium.
Read MoreClaritas est etiam processus dynamicus, qui sequitur mutationem consuetudium.
Read MoreClaritas est etiam processus dynamicus, qui sequitur mutationem consuetudium.
Read MoreClaritas est etiam processus dynamicus, qui sequitur mutationem consuetudium.
Read MoreA better way to present your app using fully featured appsperia template.
Now available on the App Store and Play Store!
Lorem ipsum dolor sit amet proin gravida nibh vel velit roin gravida nibh vel velit


"""
Defines :class:`Population`.
"""
import itertools as it
import os
from os.path import join
import numpy as np
import json
from glob import iglob
import multiprocessing as mp
import psutil
from .molecular import Molecule
from .utilities import dedupe
from .optimization.optimization import (_optimize_all_serial,
_optimize_all)
[docs]class Population:
"""
A container for :class:`.Molecule` objects.
:class:`Population` instances can be nested.
In addtion to holding :class:`.Molecule` objects, the
:class:`Population` class can be used to create large numbers of
these instances through the :meth:`init\_` class methods.
:class:`.Molecule` instances held by a :class:`Population` can have
their structures optimized in parallel through the
:meth:`optimize` method.
The only operations directly implemented by this class are those
relevant to its role as a container. It supports all expected and
necessary container operations such as iteration, indexing,
membership checks (via the ``is in`` operator) as would be
expected. Details of the various implementations and a full list of
supported operations can be found by examining the included
methods.
Attributes
----------
populations : :class:`list` of :class:`Population` instances
A list of other instances of the :class:`Population` class.
This allows the implementation of subpopulations or
evolutionary islands. This attribute is also used for grouping
molecules within a given population for organizational
purposes.
members : :class:`list` of :class:`.Molecule` instances
Held here are the members of the population which are not held
within any subpopulations. This means that not all members of a
population are stored in this attribute. To access all members
of a population the generator :meth:`all_members` should be
used.
"""
def __init__(self, *args):
"""
Intializes a population.
Parameters
----------
*args : :class:`.Molecule`, :class:`Population`
A population is initialized with the :class:`.Molecule` and
:class:`Population` instances it should hold. These are
placed into the :attr:`members` or :attr:`populations`
attributes, respectively.
"""
self.populations = []
self.members = []
for arg in args:
if isinstance(arg, Population):
self.populations.append(arg)
elif isinstance(arg, Molecule):
self.members.append(arg)
else:
raise TypeError(('Must use Population and Molecule '
'objects for initialization.'))
[docs] @classmethod
def init_all(cls,
macromol_class,
building_blocks,
topologies,
processes=None,
duplicates=False):
"""
Creates all possible molecules from provided building blocks.
Parameters
----------
macromol_class : :class:`type`
The class of the :class:`.MacroMolecule` objects being
built.
building_blocks : :class:`list`
A :class:`list` of the form
.. code-block:: python
building_blocks = [[StructUnit2(), StructUnit2(), ...],
[StructUnit3(), StructUnit3(), ...],
[StructUnit2(), StructUnit2(), ...]]
To assemble a new :class:`.MacroMolecule`, a
:class:`.StructUnit` is picked from each of the sublists
in `building_blocks`. The picked :class:`.StructUnit`
instances are then supplied to the macromolecule:
.. code-block:: python
macro_mol = MacroMolecule([pick1, pick2, pick3],
Topology())
The order of picked :class:`.StructUnit` instances
corresponds to the order of the sublists.
topologies : :class:`list` of :class:`.Topology`
The topologies of macromolecules being made.
processes : :class:`int`, optional
The number of parallel processes to create when building
the molecules.
duplicates : :class:`bool`, optional
If ``False``, duplicate structures are removed from
the population.
Returns
-------
:class:`Population`
A population holding all possible macromolecules from
assembled from `databases`.
"""
args = []
for *bbs, topology in it.product(*building_blocks, topologies):
args.append((bbs, topology))
with mp.Pool(processes) as pool:
mols = pool.starmap(macromol_class, args)
# Update the cache.
for i, mol in enumerate(mols):
# If the molecule did not exist already add it to the
# cache.
if mol.key not in macromol_class.cache:
macromol_class.cache[mol.key] = mol
# If the molecule did exist already, use the cached
# version.
else:
mols[i] = macromol_class.cache[mol.key]
p = cls(*mols)
if not duplicates:
p.remove_duplicates()
return p
[docs] @classmethod
def init_diverse(cls,
macromol_class,
building_blocks,
topologies,
size):
"""
Assembles a population of :class:`.MacroMolecule`.
All molecules are held in the :attr:`members`.
From the supplied sublists of building blocks, a random
molecule is selected to initialize a :class:`.MacroMolecule`
per sublist. The next molecule selected from the same sublist
is the one most with the most different Morgan fingerprint. The
next molecule is picked at random again and so on. This is done
until `size` :class:`.MacroMolecule` instances have been
formed.
Parameters
----------
macromol_class : :class:`type`
The class of :class:`.MacroMolecule` to be assembled.
building_blocks : :class:`list`
A :class:`list` of the form
.. code-block:: python
building_blocks = [[StructUnit2(), StructUnit2(), ...],
[StructUnit3(), StructUnit3(), ...],
[StructUnit2(), StructUnit2(), ...]]
To assemble a new :class:`.MacroMolecule`, a
:class:`.StructUnit` is picked from each of the sublists
in `building_blocks`. The picked :class:`.StructUnit`
instances are then supplied to the macromolecule:
.. code-block:: python
macro_mol = MacroMolecule([pick1, pick2, pick3],
Topology())
The order of picked :class:`.StructUnit` instances
corresponds to the order of the sublists.
topolgies : :class:`iterable` of :class:`.Topology`
An iterable holding topologies which should be randomly
selected during initialization of :class:`.MacroMolecule`.
size : :class:`int`
The size of the population to be initialized.
Returns
-------
:class:`.Population`
A population filled with generated molecules.
"""
pop = cls()
# Shuffle the sublists.
for db in building_blocks:
np.random.shuffle(db)
# Go through every possible macromolecule.
for *bbs, top in it.product(*building_blocks, topologies):
# Generate the random macromolecule.
macro_mol = macromol_class(bbs, top)
if macro_mol not in pop:
pop.members.append(macro_mol)
if len(pop) == size:
break
# Make an iterators which goes through all rdkit molecules
# in the sublists.
mol_iters = [(struct_unit.mol for struct_unit in db) for
db in building_blocks]
# Make a dictionary which maps every rdkit molecule to its
# StructUnit, for every sublist in building_blocks.
mol_maps = [{struct_unit.mol: struct_unit for struct_unit in db}
for db in building_blocks]
# Get the most different StructUnit to the previously
# selected one, per sublist. Take index of 1 because the
# index of 0 will the molecule itself.
diff_mols = [bb.similar_molecules(mols)[1][1] for
bb, mols in zip(bbs, mol_iters)]
diff_bbs = [mol_map[mol] for
mol_map, mol in zip(mol_maps, diff_mols)]
macro_mol = macromol_class(diff_bbs, top)
if macro_mol not in pop:
pop.members.append(macro_mol)
if len(pop) == size:
break
assert len(pop) == size
return pop
[docs] @classmethod
def init_from_files(cls, folder, moltype, glob_pattern='*'):
"""
Creates a population from files in `folder`.
Parameters
----------
folder : :class:`str`
The path to a folder holding molecular structure files
used to initialize :class:`~.Molecule` objects held by
the population.
moltype : :class:`type`
An initializer for the molecular structure files. For
example, :class:`.StructUnit` or :class:`.StructUnit2`.
If `folder` contains ``.json`` dump files of
:class:`.MacroMolecule` then :meth:`.Molecule.load` could
also be used.
glob_pattern : :class:`str`, optional
A glob used for selecting specific files within `folder`.
Returns
-------
:class:`Population`
A population made from files in `folder`.
"""
return cls(*(moltype(x) for x in
iglob(join(folder, glob_pattern))))
[docs] @classmethod
def init_random(cls,
macromol_class,
building_blocks,
topologies,
size):
"""
Assembles a population of :class:`.MacroMolecule`.
All molecules are held in :attr:`members`.
From the supplied building blocks a random molecule is selected
per sublist to for a :class:`.MacroMolecule`. This is done
until `size` :class:`.MacroMolecule` have been formed.
Parameters
----------
macromol_class : :class:`type`
The class of :class:`.MacroMolecule` to be assembled.
building_blocks : :class:`list`
A :class:`list` of the form
.. code-block:: python
building_blocks = [[StructUnit2(), StructUnit2(), ...],
[StructUnit3(), StructUnit3(), ...],
[StructUnit2(), StructUnit2(), ...]]
To assemble a new :class:`.MacroMolecule`, a
:class:`.StructUnit` is picked from each of the sublists
in `building_blocks`. The picked :class:`.StructUnit`
instances are then supplied to the macromolecule:
.. code-block:: python
macro_mol = MacroMolecule([pick1, pick2, pick3],
Topology())
The order of picked :class:`.StructUnit` instances
corresponds to the order of the sublists.
topolgies : :class:`iterable` of :class:`.Topology`
An iterable holding topologies which should be randomly
selected during initialization of :class:`.MacroMolecule`.
size : :class:`int`
The size of the population to be initialized.
Returns
-------
:class:`.Population`
A population filled with random cages.
"""
pop = cls()
# Shuffle the sublists.
for db in building_blocks:
np.random.shuffle(db)
# Go through every possible macromolecule.
for *bbs, top in it.product(*building_blocks, topologies):
# Generate the random macromolecule.
macro_mol = macromol_class(bbs, top)
if macro_mol not in pop:
pop.members.append(macro_mol)
if len(pop) == size:
break
assert len(pop) == size
return pop
[docs] def add_members(self, population, duplicates=False):
"""
Adds :class:`.Molecule` instances into :attr:`members`.
The :class:`.Molecule` instances held within `population`, are
added into :attr:`members`. Any nesting is removed. This is
because all :class:`.Molecule` instances are added into
:attr:`members` directly, regardless of how nested they are
within `population`.
Parameters
----------
population : :class:`iterable` of :class:`.Molecule`
:class:`.Molecule` instances held by this container are
added into :attr:`members`.
duplicates : :class:`bool`, optional
Indicates whether multiple instances of the same molecule
are allowed to be added. Note, the sameness of a molecule
is judged by :meth:`.Molecule.same`.
When ``False`` only molecules which are not already
held by the population will be added. ``True`` allows more
than one instance of the same molecule to be added.
Returns
-------
None : :class:`NoneType`
"""
if duplicates:
self.members.extend(mol for mol in population)
else:
self.members.extend(mol for mol in population if
mol not in self)
[docs] def add_subpopulation(self, population):
"""
Appends a copy of `population` to :attr:`populations`.
Only a copy of the `population` container is made. The
molecules it holds are not copies.
Parameters
----------
population : :class:`Population`
The population to be added as a subpopulation.
Returns
-------
None : :class:`NoneType`
"""
pop = self.__class__(*population.members)
for sp in population.populations:
pop.add_subpopulation(sp)
self.populations.append(pop)
[docs] def all_members(self):
"""
Yields all molecules in the population and its subpopulations.
Yields
------
:class:`.Molecule`
The next :class:`.Molecule` instance held within the
population or its subpopulations.
"""
# Go through `members` attribute and yield ``Molecule``
# instances held within one by one.
for ind in self.members:
yield ind
# Go thorugh `populations` attribute and for each
# ``Population`` instance within, yield ``Molecule``
# instances from its `all_members` generator.
for pop in self.populations:
yield from pop.all_members()
[docs] def assign_names_from(self, n, overwrite=False):
"""
Give each member of the population a name starting from `n`.
Notes
-----
This method modifies the :attr:`.Molecule.name` attribute of
:class:`.Molecule` instances held by the population.
Parameters
----------
n : :class:`int`
A number. Members of this population are given a unique
number as a name, starting from this number and incremented
by one between members.
overwrite : :class:`bool`, optional
If ``True``, existing names are replaced.
Returns
-------
:class:`int`
The value of the last name assigned, plus 1.
"""
for mem in self:
if not mem.name or overwrite:
mem.name = str(n)
n += 1
return n
[docs] def dump(self, path):
"""
Dumps the population to a file.
The population is dumped in the JSON format in the following
way. The population is represented as a list,
.. code-block:: python
[mem1.json(), mem2.json(), [mem3.json(), [mem4.json()]]]
where each member of the population held directly in the
`members` attribute is placed an an element in the list. Any
subpopulations are held as sublists.
Parameters
----------
path : :class:`str`
The full path of the file to which the population should
be dumped.
Returns
-------
None : :class:`NoneType`
"""
with open(path, 'w') as f:
json.dump(self.to_list(), f, indent=4)
[docs] @classmethod
def from_list(cls, pop_list, member_init):
"""
Initializes a population from a :class:`list` representation.
Parameters
----------
pop_list : :class:`list`
A :class:`list` which represents a population. Like the
ones created by :meth:`to_list`. For example in,
.. code-block:: python
pop_list = [{...}, [{...}], [{...}, {...}], {...}]
``pop_list`` represents the population, sublists represent
its subpopulations and the :class:`dict` ``{...}``
represents the members.
member_init : :class:`function`
The initialization function for the population's members.
It converts the member represenations in `pop_list` into
desired objects.
Returns
-------
:class:`Population`
The population represented by `pop_list`.
"""
pop = cls()
for item in pop_list:
if isinstance(item, dict):
pop.members.append(member_init(item))
elif isinstance(item, list):
pop.populations.append(cls.from_list(item, member_init))
else:
raise TypeError(('Population list must consist only'
' of strings and lists.'))
return pop
[docs] def has_structure(self, mol):
"""
Returns ``True`` if molecule with `mol` structure is held.
Parameters
----------
mol : :class:`.Molecule`
A molecule whose structure is being evaluated for presence
in the population.
Returns
-------
:class:`bool`
``True`` if a molecule with the same structure as `mol`
is held by the population.
"""
return any(x.same(mol) for x in self)
[docs] @classmethod
def load(cls, path, member_init):
"""
Initializes a :class:`Population` from one dumped to a file.
Parameters
----------
path : :class:`str`
The full path of the file holding the dumped population.
member_init : :class:`function`
The initialization function for the population's members.
It converts the member representations in the file to
:class:`.Molecule` objects. For example
:meth:`.Molecule.from_dict` when loading ``.json`` files
generated by :meth:`dump`.
Returns
-------
:class:`Population`
The population stored in the dump file.
"""
with open(path, 'r') as f:
pop_list = json.load(f)
return cls.from_list(pop_list, member_init)
[docs] def max(self, key):
"""
Calculates the maximum in the population given a key.
This method applies ``key(member)`` on every member of the
population and returns the maximum of returned values.
For example, if the maximum molecular cavity in the
population is desired:
.. code-block:: python
population.max(lambda macro_mol: macro_mol.cavity_size())
Parameters
----------
key : :class:`function`
A function which should take a :class:`.Molecule` instance
as its argument and returns a numerical value.
Returns
-------
:class:`float`
The maximum of the values returned by the function `key`
when it is applied to all members of the population.
"""
return np.max([key(member) for member in self], axis=0)
[docs] def mean(self, key):
"""
Calculates the mean in the population given a key.
This method applies ``key(member)`` on every member of the
population and returns the mean of returned values.
For example, if the mean of molecular cavities in the
population is desired:
.. code-block:: python
population.mean(lambda macro_mol: macro_mol.cavity_size())
Parameters
----------
key : :class:`function`
A function which should take a :class:`.Molecule` instance
as its argument and returns a numerical value.
Returns
-------
:class:`float`
The mean of the values returned by the function `key` when
it is applied to all members of the population.
"""
return np.mean([key(member) for member in self], axis=0)
[docs] def min(self, key):
"""
Calculates the minimum in the population given a key.
This method applies ``key(member)`` on every member of the
population and returns the minimum of returned values.
For example, if the minimum molecular cavity in the
population is desired:
.. code-block:: python
population.min(lambda macro_mol: macro_mol.cavity_size())
Parameters
----------
key : :class:`function`
A function which should take a :class:`.Molecule` instance
as its argument and returns a numerical value.
Returns
-------
:class:`float`
The minimum of the values returned by the function `key`
when it is applied to all members of the population.
"""
return np.min([key(member) for member in self], axis=0)
[docs] def optimize(self, func_data, processes=psutil.cpu_count()):
"""
Optimizes the structures of molecules in the population.
The molecules are optimized serially or in parallel depending
if `processes` is ``1`` or more. The serial version may be
faster in cases where all molecules have already been
optimized. This is because all optimizations will be skipped.
In this case creating a parallel process pool creates
unncessary overhead.
Notes
-----
This function modifies the structures of molecules held by the
population. This means their :attr:`.Molecule.mol` attributes
are modified.
Parameters
----------
func_data : :class:`.FunctionData`
Holds the name and arguments of an optimization function
defined in :mod:`~stk.optimization`. The function is used
to optimize the molecules in the population.
processes : :class:`int`
The number of parallel processes to create. Optimization
will run serially if ``1``.
Returns
-------
None : :class:`NoneType`
"""
if processes == 1:
_optimize_all_serial(func_data, self)
else:
_optimize_all(func_data, self, processes)
[docs] def remove_duplicates(self,
between_subpops=True,
key=id,
top_seen=None):
"""
Removes duplicates from the population and preserves structure.
The question of which molcule is preserved when duplicates are
removed is difficult to answer. The iteration through a
population is depth-first, so a rule such as "the molecule in
the topmost population is preserved" is not the case here.
Rather, the first molecule found is preserved.
However, this question is only relevant if duplicates in
different subpopulations are being removed. In this case it is
assumed that it is more important to have a single instance
than to worry about which subpopulation it is in.
If the duplicates are being removed from within subpopulations,
each subpopulation will end up with a single instance of all
molecules held before. There is no "choice".
Parameters
----------
between_subpops : :class:`bool`, optional
When ``False`` duplicates are only removed from within a
given subpopulation. If ``True``, all duplicates are
removed, regardless of which subpopulation they are in.
key : :class:`callable`, optional
Two molecules are considered the same if the values
returned by ``key(molecule)`` are the same.
Returns
-------
None : :class:`NoneType`
"""
# Whether duplicates are being removed from within a single
# subpopulation or from different subpopulations, the duplicate
# must be removed from the `members` attribute of some
# ``Population`` instance. This means ``dedupe`` can be run
# on the `members` attribute of every population or
# subpopulation. The only difference is that when duplicates
# must be removed between different subpopulations a global
# ``seen`` set must be defined for the entire top level
# ``Population`` instance. This can be passed each time dedupe
# is being called on a subpopulation's `members` attribute.
if between_subpops:
if top_seen is None:
seen = set()
if isinstance(top_seen, set):
seen = top_seen
self.members = list(dedupe(self.members, seen, key))
for subpop in self.populations:
subpop.remove_duplicates(True, key, seen)
# If duplicates are only removed from within the same
# subpopulation, only the `members` attribute of each
# subpopulation needs to be cleared of duplicates. To do this,
# each `members` attribute is deduped recursively.
if not between_subpops:
self.members = list(dedupe(self.members, key=key))
for subpop in self.populations:
subpop.remove_duplicates(False, key)
[docs] def remove_members(self, key):
"""
Removes all members where ``key(member)`` is ``True``.
The structure of the population is preserved.
Parameters
----------
key : :class:`callable`
A callable which takes 1 argument. Each member of the
population is passed as the argument to `key` in turn. If
the result is ``True`` then the member is removed from the
population.
Returns
-------
None : :class:`NoneType`
"""
self.members = [ind for ind in self.members if not key(ind)]
for subpop in self.populations:
subpop.remove_members(key)
[docs] def to_list(self):
"""
Converts the population to a list representation.
The population and any subpopulations are represented as lists
(and sublists), while members are represented by their JSON
dictionaries (as strings).
Returns
-------
:class:`str`
A JSON string representing the population.
"""
pop = [x.json() for x in self.members]
for sp in self.populations:
pop.append(sp.to_list())
return pop
[docs] def write(self, dir_path, use_name=False):
"""
Writes the ``.mol`` files of members to a directory.
Parameters
----------
dir_path : :class:`str`
The full path of the directory into which the ``.mol`` file
is written.
use_name : :class:`bool`, optional
When ``True`` the :attr:`.Molecule.name` attribute of the
members is used to make the name of the ``.mol`` file. If
``False``, the files are just named after the member's
index in the population.
Returns
-------
None : :class:`NoneType`
"""
# If the directory does not exist, create it.
if not os.path.exists(dir_path):
os.mkdir(dir_path)
for i, member in enumerate(self):
if use_name:
fname = join(dir_path, '{}.mol'.format(
member.name))
else:
fname = join(dir_path, '{}.mol'.format(i))
member.write(fname)
def __iter__(self):
"""
Allows populations to be iterated through,
When :class:`Population` instances are iterated through, they
yield :class:`.Molecule` instances from the :meth:`all_members`
generator.
Returns
-------
:class:`generator`
The :meth:`all_members` generator.
"""
return self.all_members()
def __getitem__(self, key):
"""
Allows indexing to select members of the population.
Molecules held by the :class:`Population` instance can be
accessed by their index. Slices are also supported. These return
a new :class:`Population` instance holding the members with the
requested indices. Using slices will return a flat
:class:`Population` instance, meaing no nesting is preserved.
The index corresponds to the order of members in
:meth:`all_members`.
Parameters
----------
key : :class:`int`, :class:`slice`
An :class:`int` or :class:`slice` can be used depending on
if a single members needs to be returned or a cllection of
them.
Returns
-------
:class:`.Molecule`
If the supplied `key` is an :class:`int`. Returns the
:class:`.Molecule` instance with the corresponding index
from :meth:`all_members`.
:class:`Population`
If the supplied `key` is a :class:`slice`. The returned
:class:`Population` instance holds members at the given
indices in :meth:`all_members`.
Raises
------
:class:`TypeError`
If the supplied `key` is not an :class:`int` or
:class:`slice`.
"""
# Determine if provided key was an ``int`` or a ``slice``.
# If ``int``, return the corresponding ``Molecule``
# instance from the `all_members` generator.
if isinstance(key, int):
return list(self.all_members())[key]
# If ``slice`` return a ``Population`` of the corresponding
# ``Molecule`` instances.
if isinstance(key, slice):
mols = it.islice(self.all_members(),
key.start, key.stop, key.step)
pop = self.__class__(*mols)
return pop
# If `key` is not ``int`` or ``slice`` raise ``TypeError``.
raise TypeError("Index must be an integer or slice, not"
" {}.".format(type(key).__name__))
def __len__(self):
"""
Returns the total number of members in the population.
Returns
-------
:class:`int`
The number of members held by the population, including
those held within its subpopulations.
"""
size = len(self.members)
stack = list(self.populations)
while stack:
subpop = stack.pop()
stack.extend(subpop.populations)
size += len(subpop.members)
return size
def __sub__(self, other):
"""
Removes members of `other` from the population.
Subtracting one population from another,
.. code-block:: python
pop3 = pop1 - pop2
returns a new population, ``pop3``. The returned population
contains all molecules in ``pop1`` excep those also found in
``pop2``. This refers to all molcules, including those held
within any subpopulations. The returned population is flat.
This means any nesting in ``pop1`` is not preserved.
Parameters
----------
other : :class:`Population`
A collection of :class:`.Molecule` instances to be removed
from the population, if held by it.
Returns
-------
:class:`Population`
A flat population of :class:`.Molecule` instances which
are in the population but not in `other`.
"""
new_pop = self.__class__()
new_pop.add_members(mol for mol in self if mol not in other)
return new_pop
def __add__(self, other):
"""
Joins two populations.
Parameters
----------
other : :class:`Population`
A population to be joined with.
Returns
-------
:class:`Population`
A new :class:`Population` instance which holds two
subpopulations and no direct members. The two
subpopulations are the two :class:`Population` instances on
which the ``+`` operator was applied.
"""
return self.__class__(self, other)
def __contains__(self, item):
return any(item is mol for mol in self.all_members())
def __str__(self):
output_string = (" Population " + str(id(self)) + "\n" +
"--------------------------\n" +
"\tMembers\n" + " ---------\n")
for mol in self.members:
output_string += "\t" + str(mol) + "\n"
if len(self.members) == 0:
output_string += "\tNone\n\n"
output_string += (("\tSub-populations\n" +
" -----------------\n\t"))
for pop in self.populations:
output_string += str(id(pop)) + ", "
if len(self.populations) == 0:
output_string += "None\n\n"
output_string += "\n\n"
for pop in self.populations:
output_string += str(pop)
return output_string
def __repr__(self):
return str(self)


Committee Members
Posted on September 7, 2015
Committee Members
Auxiliary Emergency Fund: Lorna Golson
Chairman of Pages: Joyce Elliott
Chairman of Pages Assistant: Pam Clark
Chaplain: Vickie Klinkhammer
Children and Youth: Mary Sypherd
Community Service: Jn Schaffer
Convention Chairman: Darla Davidson
Convention Committee: Lu Rolfes
Distinguished Guest Chairman: Michele Long
Distinguished Guest Committee : Fran Kirk
Finance Committee: Jayne Soppe, Linda Sue Mullen
Girls State Director: Mary Andersen
Girls State Board Member: Bev Copple, Ann Rehbein
Governing Documents: Marilyn Block
Historian: Rhonda Sieffering
Junior Activities: Donna Flewelling
Junior Camp Director: Kathy Wilkerson
Leadership: Sharon Anderson
Membership Chairman: Kim Dixon
Membership Committee: Dawn Aberle, Mary Bryan
Merit Award Judge: Lillian McGivern, Norma Hawkins
National Security: Susan Selk
Parliamentarian: Mary Jo Berning
Past Presidents/Cavalcade of Memories: Diana Shadduck
Public Relations: Jackie Westover
Veterans Affairs & Rehabilitation Chairman: Mary Sebben
Veterans Affairs & Rehabilitation Service to Veterans: Doris Jackson
Veterans Affairs & Rehabilitation Coordinator: Mary Littrell


% content_for :content do %>
The page you were looking for doesn't exist.
You may have mistyped the address or the page may have moved.


|
YAGP 0.2
|
Represents a record for an individual (GEDCOM INDI). More...
Inherits SharpGEDParser.Model.GEDCommon, SharpGEDParser.Model.NoteHold, SharpGEDParser.Model.SourceCitHold, and SharpGEDParser.Model.MediaHold.
Properties | |
| List< string > | AliasLinks [get] |
| A list of cross-reference strings for aliases. More... | |
| List< AssoRec > | Assocs [get] |
| A list of associations for the person. More... | |
| List< IndiEvent > | Attribs [get] |
| The individual's attributes. More... | |
| List< SourceCit > | Cits [get] |
| Any Source citations associated with the record. More... | |
| List< IndiEvent > | Events [get] |
| The events associated to an individual. More... | |
| string | FullName [get] |
| The individual's full name, using the first (preferred) name record. More... | |
| string | FullSex [get, set] |
| The value imported from the GEDCOM file representing the person's sex. More... | |
| bool | HasName [get] |
| Does the person have any name records? | |
| List< LDSEvent > | LDSEvents [get] |
| Any LDS (Mormon) events. More... | |
| List< IndiLink > | Links [get] |
| The list of family links for the person. More... | |
| bool | Living [get, set] |
| Is the individual alive? More... | |
| List< MediaLink > | Media [get] |
| Any Multimedia objects associated with the record. More... | |
| List< NameRec > | Names [get] |
| The collection of an individual's names. More... | |
| List< Note > | Notes [get] |
| Any NOTEs associated with the record. More... | |
| string | Restriction [get, set] |
| Any restriction notice applied to the record. More... | |
| char | Sex [get, set] |
| The GEDCOM-standard indication of the person's sex. More... | |
| List< Submitter > | Submitters [get] |
| The list of submitter cross-references for the person. More... | |
| override string | Tag [get] |
| GEDCOM Tag value. More... | |
| Properties inherited from SharpGEDParser.Model.GEDCommon | |
| StringPlus | AFN [get, set] |
| An AFN (ancestral file number) associated with the record. | |
| bool | AnyErrors [get] |
| Are there any errors associated with this record? Returns true if yes. | |
| bool | AnyREFNs [get] |
| Returns true if there are any REFNs associated to the record. | |
| int | BegLine [get, set] |
| The first line of the record in the original GEDCOM. | |
| ChangeRec | CHAN [get] |
| Any change record (CHAN). | |
| int | EndLine [get, set] |
| The last line of the record in the original GEDCOM. | |
| List< UnkRec > | Errors [get] |
| Problems, other than 'unknown'/'custom' tags at this or_children level. | |
| string | Ident [get, set] |
| The record's id. | |
| List< StringPlus > | REFNs [get] |
| Any user reference numbers associated with the record. Will be null if none. | |
| StringPlus | RFN [get, set] |
| An RFN (something file number) associated with the record. | |
| string | RIN [get, set] |
| Any RIN. | |
| abstract string | Tag [get] |
| The record's GEDCOM tag. | |
| string | UID [get] |
| An UID (universal identifier) associated with the record. | |
| List< UnkRec > | Unknowns [get] |
| Unknown and custom tags encountered at this level. | |
| Properties inherited from SharpGEDParser.Model.NoteHold | |
| List< Note > | Notes [get] |
| Any NOTE references associated with a record. More... | |
| Properties inherited from SharpGEDParser.Model.SourceCitHold | |
| List< SourceCit > | Cits [get] |
| Any source citations associated to a record. More... | |
| Properties inherited from SharpGEDParser.Model.MediaHold | |
| List< MediaLink > | Media [get] |
| Any media records associated to the record. More... | |
Represents a record for an individual (GEDCOM INDI).
|
get |
A list of cross-reference strings for aliases.
Will be an empty list if none.
An alias is a pointer to another record which may be the same person as this individual.
|
get |
A list of associations for the person.
Will be an empty list if none.
|
get |
The individual's attributes.
Will be an empty list if there are none.
Attributes include the GEDCOM tags NATI, OCCU, FACT, etc.
|
get |
Any Source citations associated with the record.
An empty list if none.
|
get |
The events associated to an individual.
Will be an empty list if there are none.
Events include the GEDCOM tags BIRT, DEAT, CHR, BURI, etc.
|
get |
The individual's full name, using the first (preferred) name record.
Will be an empty string if the person has no name data.
Example: The GEDCOM record of "1 NAME John Doe /Jones/ Jr." will be returned by this property as "John Doe Jones Jr.".
|
getset |
The value imported from the GEDCOM file representing the person's sex.
Will be null if "M", "F". Otherwise, may be any string.
|
get |
Any LDS (Mormon) events.
|
get |
The list of family links for the person.
Will be an empty list if there are none. The list contains both 'child-of' and 'spouse-in' links.
|
getset |
Is the individual alive?
Often used for restricted records, when the person's birth/death information is not available.
|
get |
Any Multimedia objects associated with the record.
An empty list if none.
|
get |
The collection of an individual's names.
Will return an empty list if none.
See NameRec for more details.
|
get |
Any NOTEs associated with the record.
An empty list if none.
|
getset |
Any restriction notice applied to the record.
Will be an empty string if none. The GEDCOM standard values are "confidential", "locked" or "privacy".
|
getset |
The GEDCOM-standard indication of the person's sex.
Values are limited to the GEDCOM standard 'M','F', and 'U'.
|
get |
The list of submitter cross-references for the person.
Will be an empty list if there are none. The list contains SUBM, ANCI and DESI references.
|
get |
GEDCOM Tag value.


Whats new
Version History
What is armidale?
Software License
Features
Screen shots
Installation
Using the launcher
Demo Applications
Known Problems
Installation
armidale architecture
A Simple application
Command line programs
javadoc API documentation
Ant build targets
Adding new widgets
To do list


for
Loops continued, and Arrays)
(Attention: These are the class notes for the Lambda School pre-course instruction workshop. This is meant to serve as an accompaniment to the class)
In this lesson we will cover:
for
Loops with arrays
In the previous lesson we discussed the 3 basic data types (strings,
numbers, and booleans), and how to assign those data types to variables.
We discussed how a variable can only point to a single string, number, or
boolean. In many cases though we want to be able to point to a collection
of data types. For example what if we wanted to keep track of every
student’s name in this class using a single variable,
studentsNames
. We can do that using Arrays. We can think of
arrays as storage containers for collections of data. Building an array is
simple, declare a variable and set it to []. We can then add however many
strings, numbers, or booleans as we want to the container (comma
separated), and access those items whenever we want.
Just like the String data type has a built in .length
method,
so does the array. In fact the array has a lot of useful built in methods
(we will be discussing those in later lessons). Just like the string
.length
counts the characters, array
.length
will return the number of items in an array:
We can access an item at anytime in an array, we just need to call the item by its position in the array. Items are given a numerical position (index) according to where it is in the array, in order. An array’s numerical order ALWAYS starts at 0, so the first item is in the 0 index, the second in the 1 index, the third in the 2, and so on (this can be tricky at first, but just remember arrays always start at 0).
In order to access the item, we will type the name or the array variable, followed by brackets containing the numerical assignment.
To dynamically access the last item in the array, we will use the
.length
method. In our studentsNames
array, the
length is 4. We know the first item is always going to be 0, and every
item after is shifted over one number. So in our example the last item has
an index of 3. Using our length property we will show how it is done when
we don’t know the number of items in an array:
const studentsNames = ['Dan', 'Maria', 'Sara', ... ,'Raj'];
console.log(studentNames[studentNames.length - 1]); // 'Raj'
We can assign and reassign any index in the array using the bracket/index and an =.
const studentsNames = ["Dan", "Maria", "Sara", "Raj"];
studentNames[0] = "Ryan";
console.log(studentNames); // ['Ryan', 'Maria', 'Sara', 'Raj']
Two more very useful built in array methods are .push
and
.pop
. These methods refer to the adding and removing of items
from the array after it’s initial declaration.
.push
adds an item to the end of the array, incrementing it’s
length by 1. (.push
returns the new length)
const studentsNames = ["Dan", "Maria", "Sara", "Raj"];
studentNames.push("Ryan");
console.log(studentNames); // ['Dan', 'Maria', 'Sara', 'Raj', 'Ryan']
.pop
removes the last item in the array, decrementing the
length by 1. (.pop
returns the “popped” item)
const studentsNames = ["Dan", "Maria", "Sara", "Raj"];
studentNames.pop();
console.log(studentNames); // ['Dan', 'Maria', 'Sara']
.unshift
and .shift
are exactly like
.push
and .pop
, except they operate on the first
item in the array. .unshift(item)
will put a new item in the
first position of the array, and .shift()
will remove the
first item in the array.
const studentsNames = ["Dan", "Maria", "Sara", "Raj"];
studentNames.unshift("Ryan");
console.log(studentNames); // ['Ryan', 'Dan', 'Maria', 'Sara', 'Raj']
studentNames.shift();
console.log(studentNames); // ['Dan', 'Maria', 'Sara', 'Raj']
Because Javascript is not a strongly typed language, arrays do not need to be typed either. Arrays in Javascript can contains multiple different data types in the same array.
Most of the time, for loops are used to iterate over all of the items in
an array. Using the index access technique we can access each item in the
array. To do this, we use the .length
method as the stopping
point for the loop.
const studentsNames = ["Dan", "Maria", "Sara", "Raj"];
for (let i = 0; i < studentNames.length; i++) {
console.log(studentNames[i]);
}
// 'Dan'
// 'Maria'
// 'Sara'
// 'Raj'


Petrie ITIS
A simple wrapper to query the Integrated Taxonomic Information System (ITIS) database and format the result for Petrie using the ITIS API endpoints.
Usage
const ITISSearcher = require('petrie-itis');
const nepenthes = new ITISSearcher('nepenthes');
This queries the ITIS database, and caches the formatted data. There is a refresh
convenience method to query the database again in case there was a network error.
Getting started
YARN:
yarn add petrie petrie-itis
NPM:
npm install petrie petrie-itis
Contributing
Feel free to clone the repo and make a PR!
git clone git@github.com:nebulousdog/petrie-itis.git
Tests
Run tests with yarn test
.
License
MIT


In situ TEM characterization of the CCNE nanocable during lithiation and delithiation. ( a) Schematic of the in situ TEM device. ( b) Time-lapse TEM images of single CCNE nanocable during lithiation and delithiation. ( c) Thickness variation curves of the CCNE nanocable during lithiation−delithiation cycles. Scale bar in b, 400 nm.


Bender, quit destroying the universe! You don’t know how to do any of those. Perhaps, but perhaps your civilization is merely the sewer of an even greater society above you!
I don’t ‘need’ to drink. I can quit anytime I want! Hello, little man.  Kids have names? You won’t have time for sleeping, soldier, not with all the bed making you’ll be doing.
 Maybe I love you so much I love you no matter who you are pretending to be. Who said that? SURE you can die!
Who are those horrible orange men? Son, as your lawyer, I declare y’all are in a 12-piece bucket o’ trouble. But I done struck you a deal: Five hours of community service cleanin’ up that ol’ mess you caused.
Fetal stemcells, aren’t those controversial?  Fatal. Bender! Ship! Stop bickering or I’m going to come back there and change your opinions manually! Interesting. No, wait, the other thing: tedious.
Then throw her in the laundry room, which will hereafter be referred to as “the brig”. Kids have names? Come, Comrade Bender! We must take to the streets!  Have you ever tried just turning off the TV, sitting down with your children, and hitting them?
Who are those horrible orange men? Son, as your lawyer, I declare y’all are in a 12-piece bucket o’ trouble. But I done struck you a deal: Five hours of community service cleanin’ up that ol’ mess you caused.


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| Axis.ts |
|
87.16% | 95/109 | 77.42% | 48/62 | 94.44% | 17/18 | 88% | 88/100 |
| Canvas.ts |
|
92.31% | 12/13 | 100% | 0/0 | 87.5% | 7/8 | 92.31% | 12/13 |
| Graph.ts |
|
71.62% | 106/148 | 49.02% | 25/51 | 66% | 33/50 | 71.53% | 98/137 |
| GraphComponent.ts |
|
77.78% | 7/9 | 75% | 3/4 | 66.67% | 2/3 | 77.78% | 7/9 |
| Grid.ts |
|
96% | 48/50 | 76.92% | 10/13 | 94.12% | 16/17 | 95.74% | 45/47 |
| Popup.ts |
|
60% | 21/35 | 25% | 1/4 | 53.33% | 8/15 | 60.61% | 20/33 |
| Scale.ts |
|
79.12% | 72/91 | 56% | 28/50 | 61.29% | 19/31 | 78.95% | 60/76 |
| Scales.ts |
|
90.2% | 46/51 | 77.27% | 17/22 | 92.86% | 13/14 | 93.33% | 42/45 |
| Series.ts |
|
72.28% | 73/101 | 60% | 30/50 | 79.17% | 19/24 | 73.63% | 67/91 |
| SeriesPlot.ts |
|
84.75% | 100/118 | 67.61% | 48/71 | 95.24% | 20/21 | 85.05% | 91/107 |
| SeriesPlotCartesian.ts |
|
95.24% | 60/63 | 72.22% | 26/36 | 94.74% | 18/19 | 98.25% | 56/57 |
| SeriesPlotNumeric.ts |
|
97.78% | 44/45 | 88.89% | 16/18 | 93.33% | 14/15 | 97.67% | 42/43 |
| SeriesPlotOrdinal.ts |
|
92.14% | 129/140 | 91.18% | 31/34 | 81.36% | 48/59 | 99.12% | 113/114 |
| SeriesPlotPolar.ts |
|
85.71% | 30/35 | 56.25% | 9/16 | 60% | 6/10 | 89.29% | 25/28 |
| SeriesPlotScaled.ts |
|
98.51% | 66/67 | 96.97% | 32/33 | 100% | 16/16 | 98.36% | 60/61 |
| Settings.ts |
|
92.79% | 103/111 | 77.65% | 66/85 | 80.65% | 25/31 | 91.67% | 88/96 |
| Title.ts |
|
96% | 24/25 | 100% | 2/2 | 88.89% | 8/9 | 95.83% | 23/24 |
| index.ts |
|
100% | 14/14 | 100% | 0/0 | 100% | 0/0 | 100% | 14/14 |