Benchmark
Abstract class that provides helpers for TensorFlow benchmarks.
tf.compat.v1.test.Benchmark
tf.compat.v2.test.Benchmark
__init__
__init__()
Initialize self. See help(type(self)) for accurate signature.
evaluate
evaluate(tensors)
Evaluates tensors and returns numpy values.
tensors
: A Tensor or a nested list/tuple of Tensors.tensors numpy values.
is_abstract
@classmethod is_abstract(cls)
report_benchmark
report_benchmark( iters=None, cpu_time=None, wall_time=None, throughput=None, extras=None, name=None, metrics=None )
Report a benchmark.
iters
: (optional) How many iterations were runcpu_time
: (optional) Median or mean cpu time in seconds.wall_time
: (optional) Median or mean wall time in seconds.throughput
: (optional) Throughput (in MB/s)extras
: (optional) Dict mapping string keys to additional benchmark info.
Values may be either floats or values that are convertible to strings.name
: (optional) Override the BenchmarkEntry name with name
.
Otherwise it is inferred from the top-level method name.metrics
: (optional) A list of dict, where each dict has the keys below
name (required), string, metric name
value (required), double, metric value
min_value (optional), double, minimum acceptable metric value
max_value (optional), double, maximum acceptable metric valuerun_op_benchmark
run_op_benchmark( sess, op_or_tensor, feed_dict=None, burn_iters=2, min_iters=10, store_trace=False, store_memory_usage=True, name=None, extras=None, mbs=0 )
Run an op or tensor in the given session. Report the results.
sess
: Session
object to use for timing.op_or_tensor
: Operation
or Tensor
to benchmark.feed_dict
: A dict
of values to feed for each op iteration (see the
feed_dict
parameter of Session.run
).burn_iters
: Number of burn-in iterations to run.min_iters
: Minimum number of iterations to use for timing.store_trace
: Boolean, whether to run an extra untimed iteration and
store the trace of iteration in returned extras.
The trace will be stored as a string in Google Chrome trace format
in the extras field "full_trace_chrome_format". Note that trace
will not be stored in test_log_pb2.TestResults proto.store_memory_usage
: Boolean, whether to run an extra untimed iteration,
calculate memory usage, and store that in extras fields.name
: (optional) Override the BenchmarkEntry name with name
.
Otherwise it is inferred from the top-level method name.extras
: (optional) Dict mapping string keys to additional benchmark info.
Values may be either floats or values that are convertible to strings.mbs
: (optional) The number of megabytes moved by this op, used to
calculate the ops throughput.A dict
containing the key-value pairs that were passed to
report_benchmark
. If store_trace
option is used, then
full_chrome_trace_format
will be included in return dictionary even
though it is not passed to report_benchmark
with extras
.


Click here to show/hide all the Security Controls that you have selected.
| ID | Name | Component |
| {{ctr.control}} | {{ctr.controlname}} | {{getcompname(ctr.component)}} |
If there are associated metrics with your chosen Controls, for each of them you must enter the appropriate parameters.
Metrics for Component: {{com.name}} ({{com.type}})
There aren't Metrics associated with the chosen controls.
{{user_name}} {{user_surname}} {{user_id}}


{% extends 'base.html' %} {% load i18n %} {% block body %}
{% blocktrans %} We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly. {% endblocktrans %}
{% blocktrans %} If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder. {% endblocktrans %}


Gone Postal
Home
About
Save Better
What big things do you need to save for?

Add another row
Do you have any money saved already?
Calculate!
Here's what you need to save each month from now:
Date
Amount
{{item.month}}
{{item.amount}}
Get e-mail alerts to keep you on track!
@

Submit


{% extends 'base.html' %} {% block breadcrumb %}
44
Sorry about that! The site is still in development.
Try going back the homepage?


// Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Copyright 2006 Google Inc. All Rights Reserved. /** * @fileoverview Methods for annotating occurrences of query terms in text or * in a DOM tree. Adapted from Gmail code. * */ goog.provide('goog.dom.annotate'); goog.require('goog.array'); goog.require('goog.dom'); goog.require('goog.dom.NodeType'); goog.require('goog.string'); /** * Calls {@code annotateFn} for each occurrence of a search term in text nodes * under {@code node}. Returns the number of hits. * * @param {Node} node A DOM node. * @param {Array} terms An array of [searchTerm, matchWholeWordOnly] tuples. * The matchWholeWordOnly value is a per-term attribute because some terms * may be CJK, while others are not. (For correctness, matchWholeWordOnly * should always be false for CJK terms.). * @param {Function} annotateFn A function that takes * (1) the number of the term that is "hit", * (2) the HTML string (search term) to be annotated, * and returns the annotated term as an HTML string. * @param {*=} opt_ignoreCase Whether to ignore the case of the query * terms when looking for matches. * @param {Array.<string>=} opt_classesToSkip Nodes with one of these CSS class * names (and its descendants) will be skipped. * @param {number=} opt_maxMs Number of milliseconds after which this function, * if still annotating, should stop and return. * * @return {boolean} Whether any terms were annotated. */ goog.dom.annotate.annotateTerms = function(node, terms, annotateFn, opt_ignoreCase, opt_classesToSkip, opt_maxMs) { var stopTime = opt_maxMs > 0 ? goog.now() + opt_maxMs : 0; return goog.dom.annotate.annotateTermsInNode_( node, terms, annotateFn, opt_ignoreCase, opt_classesToSkip || [], stopTime, 0); }; /** * The maximum recursion depth allowed. Any DOM nodes deeper than this are * ignored. * @type {number} * @private */ goog.dom.annotate.MAX_RECURSION_ = 200; /** * The node types whose descendants should not be affected by annotation. * @type {Array} * @private */ goog.dom.annotate.NODES_TO_SKIP_ = ['SCRIPT', 'STYLE', 'TEXTAREA']; /** * Recursive helper function. * * @param {Node} node A DOM node. * @param {Array} terms An array of [searchTerm, matchWholeWordOnly] tuples. * The matchWholeWordOnly value is a per-term attribute because some terms * may be CJK, while others are not. (For correctness, matchWholeWordOnly * should always be false for CJK terms.). * @param {Function} annotateFn function(number, string) : string A function * that takes : * (1) the number of the term that is "hit", * (2) the HTML string (search term) to be annotated, * and returns the annotated term as an HTML string. * @param {*} ignoreCase Whether to ignore the case of the query terms * when looking for matches. * @param {Array.<string>} classesToSkip Nodes with one of these CSS class * names will be skipped (as will their descendants). * @param {number} stopTime Deadline for annotation operation (ignored if 0). * @param {number} recursionLevel How deep this recursive call is; pass the * value 0 in the initial call. * @return {boolean} Whether any terms were annotated. * @private */ goog.dom.annotate.annotateTermsInNode_ = function(node, terms, annotateFn, ignoreCase, classesToSkip, stopTime, recursionLevel) { if ((stopTime > 0 && goog.now() >= stopTime) || recursionLevel > goog.dom.annotate.MAX_RECURSION_) { return false; } var annotated = false; if (node.nodeType == goog.dom.NodeType.TEXT) { var html = goog.dom.annotate.helpAnnotateText_(node.nodeValue, terms, annotateFn, ignoreCase); if (html != null) { // Replace the text with the annotated html. First we put the html into // a temporary node, to get its DOM structure. To avoid adding a wrapper // element as a side effect, we'll only actually use the temporary node's // children. var tempNode = goog.dom.getOwnerDocument(node).createElement('SPAN'); tempNode.innerHTML = html; var parentNode = node.parentNode; var nodeToInsert; while ((nodeToInsert = tempNode.firstChild) != null) { // Each parentNode.insertBefore call removes the inserted node from // tempNode's list of children. parentNode.insertBefore(nodeToInsert, node); } parentNode.removeChild(node); annotated = true; } } else if (node.hasChildNodes() && !goog.array.contains(goog.dom.annotate.NODES_TO_SKIP_, node.tagName)) { var classes = node.className.split(' '); var skip = goog.array.some(classes, function(className) { return goog.array.contains(classesToSkip, className); }); if (!skip) { ++recursionLevel; var curNode = node.firstChild; var numTermsAnnotated = 0; while (curNode) { var nextNode = curNode.nextSibling; var curNodeAnnotated = goog.dom.annotate.annotateTermsInNode_( curNode, terms, annotateFn, ignoreCase, classesToSkip, stopTime, recursionLevel); annotated = annotated || curNodeAnnotated; curNode = nextNode; } } } return annotated; }; /** * Regular expression that matches non-word characters. * * Performance note: Testing a one-character string using this regex is as fast * as the equivalent string test ("a-zA-Z0-9_".indexOf(c) < 0), give or take a * few percent. (The regex is about 5% faster in IE 6 and about 4% slower in * Firefox 1.5.) If performance becomes critical, it may be better to convert * the character to a numerical char code and check whether it falls in the * word character ranges. A quick test suggests that could be 33% faster. * * @type {RegExp} * @private */ goog.dom.annotate.NONWORD_RE_ = /\W/; /** * Annotates occurrences of query terms in plain text. This process consists of * identifying all occurrences of all query terms, calling a provided function * to get the appropriate replacement HTML for each occurrence, and * HTML-escaping all the text. * * @param {string} text The plain text to be searched. * @param {Array} terms An array of * [{string} searchTerm, {boolean} matchWholeWordOnly] tuples. * The matchWholeWordOnly value is a per-term attribute because some terms * may be CJK, while others are not. (For correctness, matchWholeWordOnly * should always be false for CJK terms.). * @param {Function} annotateFn {function(number, string) : string} A function * that takes * (1) the number of the term that is "hit", * (2) the HTML string (search term) to be annotated, * and returns the annotated term as an HTML string. * @param {*=} opt_ignoreCase Whether to ignore the case of the query * terms when looking for matches. * @return {?string} The HTML equivalent of {@code text} with terms * annotated, or null if the text did not contain any of the terms. */ goog.dom.annotate.annotateText = function(text, terms, annotateFn, opt_ignoreCase) { if (opt_ignoreCase) { terms = goog.dom.annotate.lowercaseTerms_(terms); } return goog.dom.annotate.helpAnnotateText_(text, terms, annotateFn, opt_ignoreCase); }; /** * Annotates occurrences of query terms in plain text. This process consists of * identifying all occurrences of all query terms, calling a provided function * to get the appropriate replacement HTML for each occurrence, and * HTML-escaping all the text. * * @param {string} text The plain text to be searched. * @param {Array} terms An array of * [{string} searchTerm, {boolean} matchWholeWordOnly] tuples. * If {@code ignoreCase} is true, each search term must already be lowercase. * The matchWholeWordOnly value is a per-term attribute because some terms * may be CJK, while others are not. (For correctness, matchWholeWordOnly * should always be false for CJK terms.). * @param {Function} annotateFn {function(number, string) : string} A function * that takes * (1) the number of the term that is "hit", * (2) the HTML string (search term) to be annotated, * and returns the annotated term as an HTML string. * @param {*} ignoreCase Whether to ignore the case of the query terms * when looking for matches. * @return {?string} The HTML equivalent of {@code text} with terms * annotated, or null if the text did not contain any of the terms. * @private */ goog.dom.annotate.helpAnnotateText_ = function(text, terms, annotateFn, ignoreCase) { var hit = false; var resultHtml = null; var textToSearch = ignoreCase ? text.toLowerCase() : text; var textLen = textToSearch.length; var numTerms = terms.length; // Each element will be an array of hit positions for the term. var termHits = new Array(numTerms); // First collect all the hits into allHits. for (var i = 0; i < numTerms; i++) { var term = terms[i]; var hits = []; var termText = term[0]; if (termText != '') { var matchWholeWordOnly = term[1]; var termLen = termText.length; var pos = 0; // Find each hit for term t and append to termHits. while (pos < textLen) { var hitPos = textToSearch.indexOf(termText, pos); if (hitPos == -1) { break; } else { var prevCharPos = hitPos - 1; var nextCharPos = hitPos + termLen; if (!matchWholeWordOnly || ((prevCharPos < 0 || goog.dom.annotate.NONWORD_RE_.test( textToSearch.charAt(prevCharPos))) && (nextCharPos >= textLen || goog.dom.annotate.NONWORD_RE_.test( textToSearch.charAt(nextCharPos))))) { hits.push(hitPos); hit = true; } pos = hitPos + termLen; } } } termHits[i] = hits; } if (hit) { var html = []; var pos = 0; while (true) { // First determine which of the n terms is the next hit. var termIndexOfNextHit; var posOfNextHit = -1; for (var i = 0; i < numTerms; i++) { var hits = termHits[i]; // pull off the position of the next hit of term t // (it's always the first in the array because we're shifting // hits off the front of the array as we process them) // this is the next candidate to consider for the next overall hit if (!goog.array.isEmpty(hits)) { var hitPos = hits[0]; // Discard any hits embedded in the previous hit. while (hitPos >= 0 && hitPos < pos) { hits.shift(); hitPos = goog.array.isEmpty(hits) ? -1 : hits[0]; } if (hitPos >= 0 && (posOfNextHit < 0 || hitPos < posOfNextHit)) { termIndexOfNextHit = i; posOfNextHit = hitPos; } } } // Quit if there are no more hits. if (posOfNextHit < 0) break; // Remove the next hit from our hit list. termHits[termIndexOfNextHit].shift(); // Append everything from the end of the last hit up to this one. html.push(goog.string.htmlEscape(text.substr(pos, posOfNextHit - pos))); // Append the annotated term. var termLen = terms[termIndexOfNextHit][0].length; var termHtml = goog.string.htmlEscape(text.substr(posOfNextHit, termLen)); html.push(annotateFn(termIndexOfNextHit, termHtml)); pos = posOfNextHit + termLen; } // Append everything after the last hit. html.push(goog.string.htmlEscape(text.substr(pos))); return html.join(''); } else { return null; } }; /** * Converts terms to lowercase. * * @param {Array} terms An array of * [{string} searchTerm, {boolean} matchWholeWordOnly] tuples. * @return {Array} An array of * [{string} searchTerm, {boolean} matchWholeWordOnly] tuples. * @private */ goog.dom.annotate.lowercaseTerms_ = function(terms) { var lowercaseTerms = []; for (var i = 0; i < terms.length; ++i) { var term = terms[i]; lowercaseTerms[i] = [term[0].toLowerCase(), term[1]]; } return lowercaseTerms; };


As mentioned before, the vast majority of my projects are posted to Soundcloud. There I produce under the alias sYcko, producing various mashups, single tracks, and remixes.
In addition to my soundcloud projects, with the help of some friends, I also built the subwoofer I use to mix and master my music. Over the duration of a week, we constructed an 18” x 18” MDF board box for an Eminence Lab 12 Subwoofer. Following the construction of the box for the subwoofer, we built the desk I currently use. It is a 5’ wide wooden desk with aluminium accents and selving on the legs. Pictures are soon to follow.


The module used to produce this ranking employs Latent Semantic Analysis to generate unique vectors for each document. The cosine angle between your comparison document's vector and the vector of each document of your corpus is calculated, and these values are then compared. Cosine similarity measures can be between (-1, 1), and the higher the value, the closer the comparison document's vector is to that document's vector as opposed to the other documents' vectors.
{% endif %}
{% endblock %}
{% block submit %}


Durandal is distributed as a set of AMD modules intended to work with RequireJS. Below is a list of the modules that make up the framework. For a brief overview, read Understanding Durandal's Modules.
In addition to the core framework, below you will find some plugins to extend the out-of-the-box functionality.
In addition to the official documentation and plugins, below you will find some great community contributions.


NCT 127 to perform at 'Macy's Thanksgiving Day Parade'!
by germainejNCT 127 will be performing at the 'Macy's Thanksgiving Day Parade' this year!
On November 1, the NCT subunit confirmed on Twitter that they would be performing at the legendary 'Macy's Thanksgiving Day Parade' held annually on Thanksgiving Day in New York City. The parade started in 1924 and is considered a Thanksgiving tradition.
This year, the 'Macy's Thanksgiving Day Parade' airs on November 28, 2019 at 9AM EST on NBC.
Stay tuned for updates on NCT 127!


Notebooks
Story: The song of the ||noruko djo-djo
The song of the ||noruko djo-djo
Title
The song of the ||noruko djo-djo
Collection
Summary
Tamme's own song about the ||noruko djo-djo (a kind of butterfly or moth) which he identifies in the south African Museum in January 1880. The song has not been translated.
Comments
1) See also Song of the sho sho and Song of the ||ku and Song of the !kan ||ka ||karashe and The song of the ≠ne≠nebbi (woodpigeon) and The song of the sauko and The song of the mother of the little buck and The song of the ≠na≠n'arro and The song of the Ngogan-a (a little bird) and The song of the !ke tsa'ba (a bird) and The song of the ||gani (a bird) and The song of the !korro-ssin !ku (or Pit-making Bushmen) and A song of the |kam-ssin !ku (or Sun Bushmen) and The song of the !na !na'rishe (a bird), 2) This is found in Book XI & XII-3
Contributors
Date
9 January 1880
Categories
Keywords
song (of the ||noruko djo-djo) , song (invented by Tamme) , insect (the ||noruko djo-djo, a butterfly or moth) , insect (found in !kun country) , insect (a !kun song about) , ||noruko djo-djo (a butterfly or moth) , ||noruko djo-djo (its song) , butterfly (or moth) , butterfly (song of the ||noruko djo-djo) , butterfly (!kun name of) , Tamme (makes up the song of the ||noruko djo-djo) , name (!kun, a moth or butterfly called the ||noruko djo-djo)
Story Pages
9148


'sample.dat' was created in the Pictures library. The app has the Pictures library capability, and can therefore access the folder where the file was created. To retrieve the folder, click 'Get Parent'.


{{#markdown}}
One of Meteor's most powerful packages is the Meteor account system.
Right now, our app is publishing all the parties to all the clients, and all the clients can change those parties. The changes are then reflected back to all
the other clients automatically.
This is super powerful and easy, but what about security? We don't want any user to be able to change any party...
First thing we should do is to remove the 'insecure' package that automatically added to any new Meteor application.
The 'insecure' package makes the default behaviour of Meteor collections to permit all.
By removing that package the default behaviour is changed to deny all.
Execute this command in the command line:
meteor remove insecure
Now let's try to change the parties array or a specific party. Nothing's working.
Now, we will have to write an explicit security rule for each operation we want to make on the Mongo collection.
So first, let's add the 'accounts-password' Meteor package.
It's a very powerful package for all the user operations you can think of: Login, signup, change password, password recovery, email confirmation and more.
meteor add accounts-password
Now we will also add the 'accounts-ui' package. This package contains all the HTML and CSS we need for the user operation forms.
Later on in this tutorial we will replace those default account-ui forms with custom Angular forms.
meteor add accounts-ui
Now let's add the accounts-ui template ( {{> loginButtons }} ) into our app, into index.html.
To add Meteor's templates into AngularJS templates, angular-meteor provides us with the [meteor-include](/api/meteor-include) directive.
So instead of adding {{> loginButtons }} like in Meteor we will add:
__`index.html`:__
Run the code, create an account, login, logout...
Now that we have our account system, we can start defining our security rules for the parties.
Let's go to the model folder and change the file to look like this:
__`model/parties.js`:__
Parties = new Mongo.Collection("parties");
Parties.allow({
insert: function (userId, party) {
return userId && party.owner === userId;
},
update: function (userId, party, fields, modifier) {
return userId && party.owner === userId;
},
remove: function (userId, party) {
return userId && party.owner === userId;
}
});
The [collection.allow Meteor function](http://docs.meteor.com/#/full/allow) defines the permissions that the client needs to write directly to the collection (like we did until now).
In each callback of action type (insert, update, remove) the functions should return true if they think the operation should be allowed.
Otherwise they should return false, or nothing at all (undefined).
The available callbacks are:
* insert(userId, doc)
The user userId wants to insert the document doc into the collection. Return true if this should be allowed.
doc will contain the _id field if one was explicitly set by the client, or if there is an active transform. You can use this to prevent users from specifying arbitrary _id fields.
* update(userId, doc, fieldNames, modifier)
The user userId wants to update a document doc. (doc is the current version of the document from the database, without the proposed update.) Return true to permit the change.
fieldNames is an array of the (top-level) fields in doc that the client wants to modify, for example ['name', 'score'].
modifier is the raw Mongo modifier that the client wants to execute; for example, {$set: {'name.first': "Alice"}, $inc: {score: 1}}.
Only Mongo modifiers are supported (operations like $set and $push). If the user tries to replace the entire document rather than use $-modifiers, the request will be denied without checking the allow functions.
* remove(userId, doc)
The user userId wants to remove doc from the database. Return true to permit this.
In our example:
* insert - only if the user who makes the insert is the party owner.
* update - only if the user who makes the update is the party owner.
* remove - only if the user who deletes the party is the party owner.
OK, right now none of the parties has an owner so we can't change any of them.
So let's add the following simple code to define an owner for each party that gets created.
Let's take our current user's id and set it as the owner id of the party we are creating.
angular-meteor provides us with a $rootScope variable named currentUser that holds the current user record, or null if no user is logged in.
[$rootScope](https://docs.angularjs.org/api/ng/service/$rootScope) is the most upper scope in the application.
Every application has a single root scope. All other scopes are descendant scopes of the root scope.
To access $rootScope inside a controller you add it through the dependency injection.
To access $rootScope in a template you simply write $root. and then the name of the property.
Change the code for the add button in `parties-list.ng.html` to this:
So first we set the new party's owner to our current user's id and then push it to the parties collection like before.
Now, start the app in 2 different browsers and login with 2 different users.
Test editing and removing your own parties, and try to do the same for parties owned by another user.
# Social login
We also want to let users login with their Facebook and Twitter accounts.
To do this, we simply need to add the right packages in the console:
meteor add accounts-facebook
meteor add accounts-twitter
Now run the app. when you will first press the login buttons of the social login, meteor will show you a wizard that will help you define your app.
You can also skip the wizard and configure it manually like the explanation here: [http://docs.meteor.com/#meteor_loginwithexternalservice](http://docs.meteor.com/#meteor_loginwithexternalservice)
There are more social login services you can use:
* Facebook
* Github
* Google
* Meetup
* Twitter
* Weibo
* Meteor developer account
# Authentication With Routers
Now that we prevented authorized users from changing parties they don't own,
there is no reason for them to go into the party details page.
We can easily prevent them from going into that view using our routes.
angular-meteor provide us with 3 functions that help us to do that:
* [waitForUser](/api/auth) - returns a promise with the current user if it's logged in or null if it's not.
* [requireUser](/api/auth) - same as waitForUser but in case the user is not logged in it rejects the promise instead of solving it with null.
* [requireValidUser](/api/auth) - same as requireUser but gets a function as a parameter that checks if the user is valid by custom logic.
So let's add requireUser to our route in partyDetails so that it will prevent users from going inside there without logging in first.
We are going to use the [resolve](https://github.com/angular-ui/ui-router/wiki#resolve) object of ui-router and ngRoute:
__`client/routes.js`:__
.state('partyDetails', {
url: '/parties/:partyId',
templateUrl: 'client/parties/views/party-details.ng.html',
controller: 'PartyDetailsCtrl',
resolve: {
"currentUser": ["$meteor", function($meteor){
return $meteor.requireUser();
}]
}
});
Now, if a user is not logged in to the system, it won't be able to access that route.
We also want to handle that scenario and redirect the user to the main page.
on the top of the routes file, let's add these lines:
__`client/routes.js`:__
angular.module("socially").run(["$rootScope", "$state", function($rootScope, $state) {
$rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
// We can catch the error thrown when the $requireUser promise is rejected
// and redirect the user back to the main page
if (error === "AUTH_REQUIRED") {
$state.go('parties');
}
});
}]);
# Summary
Amazing, only a few lines of code and we have a secure application!
Please note it is possible for someone with malicious intent to override your route on the client (in the client/routes.js).
As that is where we are validating the user is authenticated, they can remove the check and get access.
You should never restrict access to sensitive data, sensitive areas, using the client router.
This is the reason we also made restrictions on the server using the allow/deny functionality, so even if someone gets in they cannot make updates.
While this prevents writes from happening from unintended sources, reads can still be an issue.
The next step will take care of privacy, not showing users parties they are not allowed to see.
{{/markdown}}


Number of digits:
You chosed: {{numberOfDigits}}
Memorizing time: {{memoTime}} seconds
The numer was:
The number was: {{myNumber}}
Your guess was: {{guessedNumber}}


--- layout: default --- {% include banner.html title='Submissions' subtitle='MIFF 2020' color='black' %}
Submissions for the 2020 Montgomery International Film Festival will open soon. Check back for more info.


The Swiss Family Villiger
Verse of the Week
O God, you are my God; earnestly I seek you; my soul thirsts for you;
my flesh faints for you, as in a dry and weary land where there is no water.
Psalm 63:1
Events this Week
Monday: Elias starts school!
Tuesday: Abendbrot
Wednesday: Guys' bible study at our house, laundry day
Friday: Bibelkreis
On the Menu
|
Breakfast |
Lunch |
Zvieri |
Dinner |
| Sunday |
cereal |
chicken |
cookies |
chicken salad |
| Monday |
milchbrot |
chicken salad |
cookies |
bibimbap |
| Tuesday |
bread |
grilled cheese |
cookies |
pizza |
| Wednesday |
bread |
pizza |
pie |
potato soup |
| Thursday |
bread |
tortellini |
pie |
stromboli |
| Friday |
bread |
leftovers |
pie |
sandwiches |
| Saturday |
cereal |
hamburgers |
cookies |
cereal, toast |
Chore Distribution
| Mami |
Papi |
Miri |
| Cook food |
Go to work |
Play |
| Wash dishes |
Come home |
Wash hands |
| Clean up messes |
Kiss Mami |
Take naps |
| Drink Coffee |
Work some more |
Play some more |
| Relax |
Relax |
Go to bed |


|
CS 107 - Introduction to Scientific Computation Homework #11 |
Due: Wednesday 11/20 at the beginning of class
Object-Oriented Debugging*
In this simulation assignment, you will create a non-grid-based simulation of
bugs moving in a constrained area among traps, plotting simulation states,
and tracking the population decline. While significantly different, this
assignment is based on the insect trapping research work of John A. Byers:
0. Preparatory Reading: You'll want to feel comfortable with creating
arrays of Object, so the Matlab User Guide on
Creating Object Arrays is recommended.
1. Bug: Create a Bug handle class according to these
specifications:
- Properties:
- moveSD: standard deviation of random normal distribution for movement
distance, default value .05
- x: current bug x position, 0 <= x < 1
- y: current bug y position, 0 <= y < 1
- Methods:
- Function Bug (constructor)
- return value: self
- parameter 1: moveSD: user-defined standard deviation of random normal
distribution for movement distance
- if nargin > 0, parameter 1 is copied to property moveSD
- properties x and y are assigned random numbers, 0 <= x < 1, 0 <= y
< 1
- Function move
- no return value
- parameter 1: self
- Compute a random movement distance according to a normal distribution
with mean 0 and standard deviation moveSD.
- Compute a random angle according to a uniform distribution over all
possible angles.
- Convert distance and angle to change in x and y position, and make that
change.
- If the Bug moves beyond the unit square with opposite corners (0, 0) and
(1, 1), treat the Bug as if it perfectly bounces off the sides of the
constrained space.
2. Trap: Create a Trap handle class according to these
specifications:
- Properties:
- catchRadius: the distance from the Trap within which a Bug is trapped,
default value .05
- x: Trap x position, 0 <= x < 1
- y: Trap y position, 0 <= y < 1
- Methods:
- Function Trap (constructor)
- return value: self
- parameter 1: catchRadius: user-defined distance from the Trap within
which a Bug is trapped
- if nargin > 0, parameter 1 is copied to property catchRadius
- properties x and y are assigned random numbers, 0 <= x < 1, 0 <= y
< 1
- Function canCatch
- return value: can: a Boolean (true/false) value indicating whether or
not a Bug is within the Trap's catch radius
- parameter 1: self
- parameter 2: bug: a Bug
- Compute the distance between the Trap and Bug positions, and return
whether or not this is <= catchRadius.
3. BugWorld: Create a BugWorld handle class according to these
specifications:
- Properties:
- bugs: an array of Bug objects in the BugWorld, initially a single
default (no-argument) Bug
- traps: an array of Trap objects in the BugWorld, initially a single
default (no-argument) Trap
- Methods:
- Function BugWorld (constructor)
- return value: self
- parameter 1: numBugs: the initial number of Bug objects in
BugWorld
- parameter 2: moveSD: user-defined standard deviation of random
normal distribution for movement distance for each Bug
- parameter 3: numTraps: the initial number of Trap objects in
BugWorld
- parameter 4: catchRadius: user-defined distance from each Trap
within which a Bug is trapped
- Create the given number of Bug and Trap objects in the bugs and
traps array properties according to the given constructor arguments.
- Function tick:
- return value: self
- parameter 1: self
- For each bug in bugs,
- call the Bug move method
- check each Trap to see if it catches the Bug
- if a Trap catches the Bug, remove it from the bugs array
- Function ticks:
- return value: bugNums: an array of bug population values before
and after each successive simulation tick (step)
- parameter 1: self
- parameter 2: numTicks: a given number of simulation ticks
(steps)
- Add the current Bug population to bugNums.
- Perform the given number of simulation ticks, adding the new
population to bugNums after each tick.
- Function plotWorld:
- return value: (none)
- parameter 1: self
- Clear current axes with command "cla", and turn hold on.
- Create a square axis from (0, 0) to (1, 1)
- Create two arrays of bug x and y values, respectively, and plot
them using the "scatter" command.
- For each trap, draw a circle according to the cach radius.
- Turn hold off.
You may find the following sets of test commands helpful. To visually
test the step-by-step simulation:
>> clear
>> w = BugWorld(100, .05, 10, .05);
>> w.tick(); w.plotWorld();
>> w.tick(); w.plotWorld();
... (repeat) ...
One can comment out the plotWorld "cla" command to keep previous Bug positions on the plot.
To plot the population trend over successive simulations:
>> hold on;
>> w = BugWorld(100, .05, 10, .05);
>> plot(w.ticks(1000))
>> w = BugWorld(100, .05, 10, .05);
>> plot(w.ticks(1000))
... (repeat) ...
*The author understands that the original work concerned flying insects and
that "bug" and "insect" are distinct terms, but the pun was just too good to
pass up.


.NET Foundation September 2019 Update
Here's the September 2019 .NET Foundation update. Every month, we'll give you a quick overview of the .NET Open Source landscape, including top project news, events, community links and more.
This month's update includes:
- .NET Conf 2019
- Rethinking the Project Maturity Model🤔
- Welcoming AWS as a Corporate Sponsor
- .NET Core 3.0 Released
- .NET Conf - Stats and Highlights
- .NET Conf Local Events
- 🚀 Action Group Updates 🚀
- New: .NET Videos
- .NET Foundation Project Updates
- Community Project News
- Hacktoberfest
- .NET Foundation Presentations Updates
- Meetups
As always, these are available both on our blog and via e-mail: Sign up to get the .NET Foundation Update via e-mail
.NET Conf 2019
It's a wrap on .NET Conf 2019 (September 23 - 25) and it was the largest one yet! I don't have the exact numbers available, but Javier Lozano, one of the founders of the conference assures me it was significantly larger in attendance than last year. [Note: More info on .NET Conf, including some actual stats, below.]
For those who don't know, .NET Conf is a virtual conference with speakers from all over the planet. If you missed it, all the sessions are available on YouTube!
During the conference, the .NET Foundation announced a proposal to develop a Project Maturity Model, which leads to the next update.
Rethinking the Project Maturity Model🤔
The .NET Foundation Board engaged with the community and received a ton of feedback both positive, neutral, and negative regarding the proposal mentioned above. The feedback helped us realize that we made a mistake in our approach and need to scrap the proposal and rethink the approach. Find out more in this blog post by Ben Adams, a .NET Foundation board member.
And a big thank you to everyone who commented on the proposal! Your feedback is valuable.
Welcoming AWS as a Corporate Sponsor
Also at .NET Conf, we annouced that AWS is joining our Corporate Sponsor program! The AWS team talked about why they're joining here.
.NET Core 3.0 Released
One of the highlights of .NET Conf was the release of .NET Core 3.0. Find out what's new in 3.0 here. This is a major release bump so there will be breaking changes. Even so, I for one am looking forward to upgrading my code to reap all the performance benefits.
It's an exciting time to be a .NET developer!
Phil Haack
Board Member | .NET Foundation
.NET Conf - Stats and Highlights
As Phil said above, this year's .NET Conf was the biggest yet! How big?
- Over 100K total live stream views (up 27% from last year!)
- 67K unique viewers
- 77 live sessions, including 32 in studio and the rest during a 24 hour community presented all-nighter
The session videos were all recorded and are going up on YouTube. We're still getting the community sessions posted - sorry for the delay, we've got to chop up a single 24 hour, 50GB video into dozens of individual files and get them all uploaded to YouTube. Soon!
Check out the .NET Conf 2019 Keynote, with tons of demos featuring the brand new .NET Core 3.0:
.NET Conf Local Events
We've got over 220 .NET Conf Local Events this year, running through the end of October. We sent out some exclusive .NET Conf branded swag to the events, too. Find one near you!
Post your event photos with hashtag #dotNETConf and we might include them in next month's newsletter. Don't forget to tell us where you are - we love to see updates from around the world!
🚀 Action Group Updates 🚀
Help guide our Project Maturity proposal
Want to be part of the team that guides our Project Maturity proposal? The Project Support Action Group would love your input!
😻How can the .NET Foundation help you?😻
To better understand the needs of the community, our Outreach Action Group has put together this survey. We'd love to hear how we can best help provide mentorship and resources to .NET developers. Please weigh in!
Join an Action Group
Action Groups are the best way for you to get involved in shaping the future of the .NET Foundation. If you're a .NET Foundation Member, sign up to join an action group:
New: .NET Videos
Wow! Over 80 Free videos for learning about .NET developer platform and how to use it! Grab them at https://dot.net/videos
.NET Foundation Project Updates
Polly
Polly version 7.1.1 released: bug fix for async retries with .ConfigureAwait(true)
The Polly-Contrib community continues to grow, with two new releases:
-
Polly.Contrib.WaitAndRetry (github; nuget): provides a new jitter strategy for decorrelating retries in highly concurrent scenarios, as well as a range of helper methods for common wait-and-retry scenarios such as exponential backoff. The new jitter strategy offers a smoother distribution (stronger decorrelation) than previous jitter recommendations, combined with a well-defined exponential backoff characteristic. Thanks to @george-polevoy, @grant-d and @hyrmn for making this project a reality!
-
Polly.Contrib.AzureFunctions.CircuitBreaker: is a durable, distributed circuit-breaker, implemented in the new Azure Entity Functions (preview). The distributed circuit-breaker can be consumed from within plain Azure functions and Azure orchestration functions, and is fully stateful and consistent across function invocations and function app scale-out. The circuit-breaker also exposes an external Http api, making it consumable as a general distributed circuit-breaker for apps or components outside functions. Authored by the core Polly team
Windows Community Toolkit
Announced preview of XAML controls for Microsoft Graph which work with UWP apps and in WPF/WinForms for Win32 apps via XAML Islands on .NET Core 3 and on Android and iOS with Uno Platform! GitHub repo for control preview.
6.0 Release coming in October, see the release plan here.
ReactiveUI
Version 10 of ReactiveUI that added .NET Core 3.0 WPF/Winforms and Blazor preview support. The release also offered a bunch of performance upgrades converting from Tuple to ValueTuple, and using non-reflection based Observables.
We are working on changing the way the Initialization is done within ReactiveUI v11 to make it more obvious to users how it is performed and remove reflection.
IdentityServer 3.0 released - and now part of the ASP.NET Core 3 templates
IdentityServer4 3.0 is now compatible with ASP.NET Core 3. The focus of this release was mostly to make sure everything is working with the new ASP.NET Core version, but also adds a couple of new features:
- Adding the last missing pieces for FAPI compliance
- support for the PS* and ES* family of signing algorithms
- support for
s_hash
claim
- Update to use the latest IdentityModel version
IdentityServer4 is also now included in the new Angular and React templates in Visual Studio. See here for documentation.
repo / NuGet / release notes
DotVVM 2.4 Preview 1 with .NET Core 3.0 Support
DotVVM 2.4 brings several important improvements and fixes, and is fully compatible with ASP.NET Core 3.0.
- Better PWA (Progressive Web App) support in DotVVM
- Diagnostics and debugging improvements
- Performance improvements of the ValidationSummary control
- New MultiSelect control
- and more...
And we've created a new sample app - Blazing Pizza rewritten into DotVVM - it shows the differences between Razor syntax and the MVVM approach used in DotVVM.
Cake
We're really excited by this release which has several features and improvements:
- .NET Core 3 support
- C# 8 support
- Runtime identification improvements
- Runtime compiler constants
- and more...
Full details in Cake v0.35.0 released blog post.
Pivotal: Cloud Native .NET
Pivotal has released a free guide titled Cloud-Native .NET the Right Way. Grab it here!
Community Project News
We had a suggestion to include submissions from community projects that aren't (yet 😉) a part of the .NET Foundation. Sure, why not? You can submit your project news for next month here.
BaGet
BaGet is a lightweight NuGet and Symbol server. Version 0.2.0-preview1 added BaGet.Protocol
, an easy-to-use SDK to interact with NuGet V3 servers.
For more information on BaGet, see:
Hacktoberfest
Hey, while we're talking .NET open source projects, now's a great time to contribute and get a free limited edition T-shirt in the process! Hacktoberfest is open to anyone - make four pull requests during the month of October and get a T-shirt!
.NET Foundation Presentations Updates
Want the slides from .NET Conf? You know where to find them - in our one stop shop for .NET Presentations. Grab them from https://aka.ms/dotnet-presentations.
Meetups
Our .NET Foundation sponsored .NET Meetup Pro groups are continuing to grow worldwide. Our meetups are a great place to get involved in your local community, especially now as so many are hosting .NET Conf Local Events! Here are some quick stats:
- 318 Groups
- 61 Countries
- 241K Members
Our .NET Meetup Pro group helps developers find your group, as well as get involved with local events like .NET Conf Local. If your meetup hasn't joined yet, you can right here.
.
Connect with the .NET Foundation online
The .NET Foundation is on Facebook now. Please like our page! We’ll post regular updates and interesting things happening with .NET to share.
The .NET Foundation is also on YouTube. Watch community standups and design reviews as well as code-focused shows and interviews across our multiple playlists.
Remember to Subscribe!
Please sign up to get the .NET Foundation Update via e-mail. Don’t worry, we want to keep these short, interesting, and low-noise, so we won’t overload your e-mail.


News, Updated - Options
Limit my news sources to the following ones:
Enter URL:
Add
My selected news sources:
Check Validity of Blockchain


|
filename$ - name of music file. Formats supported: raw/mod/s3m/xm/it/mid/rmi/wav/mp2/mp3/ogg/wma/asf
flags = optional playback flags |
|
This command will load and play a music file.
You can't 'preload' the audio like you can a sound sample via the LoadSound command. Every time you call the PlayMusic command, the file is reloaded and played. This means that if you use the command while some graphics are moving on-screen, you may get a slight pause when the hard drive seeks and grabs the music file. To avoid this, you might want to use the PlaySound/LoopSound commands instead. The returned value is a 'channel handle'. Various channel commands allow you to modifiy the music while it is playing in realtime. The optional flags variable can be of the following values: 1: Loop the music 2: Initially pause the music 3: Loop and pause the music If a paused flag is specified, you must use ResumeChannel to actually start the audio output. Pausing music before playback allows you to setup various channel parameters before the music actually starts playing. |
|
; Load and play the background music
chnBackground=PlayMusic("music\background.wav") |


I don't have a specific team that I follow. I take stock into the individual more so than the team. I can't be loyal to a particular team. Teams change too often to have a favorite.
Click Here to see a list of notable sports related individuals!


Web fonts are growing in popularity and use of @font-face
is on the rise. However, using web fonts comes with performance implications as font files can be quite large and some browsers block rendering while downloading them. For this reason, CSSLint will warn you when there are more than 5 web fonts in a style sheet.
Rule ID: font-faces


Configuration Utilities |
|
| Benchmark
Configuration Tools |
Description |
| Reset
DayTrader (to be done before each run) |
Reset the DayTrader runtime to a clean starting point by logging off all users, removing new registrations and other general cleanup. For consistent results this URL should be run before each Trade run. |
| Configure DayTrader run-time parameters | This link provides an interface to set configuration parameters that control DayTrader run-time characteristics such as using EJBs or JDBC. This link also provides utilities such as setting the UID and Password for a remote or protected database when using JDBC. |
| (Re)-create DayTrader Database Tables and Indexes | This link is used to (a) initially create or (b) drop and re-create the DayTrader tables. A DayTrader database should exist before doing this action, the existing DayTrader tables, if any, are dropped, then new tables and indexes are created. Please stop and re-start the Daytrader application (or your application server) after this action and then use the "Repopulate DayTrader Database" link below to repopulate the new database tables. |
| (Re)-populate DayTrader Database | This link is used to initially populate or re-populate the DayTrader database with fictitious users (uid:0, uid:1, ...) and stocks (s:0, s:1, ...). First all existing users and stocks are deleted (if any). The database is then populated with a new set of DayTrader users and stocks. This option does not drop and recreate the Daytrader db tables. |
| Test DayTrader Scenario | This links pops up a browser to manually step through a DayTrader scenario by hitting "Reload" on your browser |
| DayTrader Version | DayTrader application version and change history information |


Vendor Name:
IDEA COUTURE INC.
Reference Number:
6018057
Contract Date:
2015-08-12
Description of Work:
0491 Management Consulting
Contract Period:
2015-08-12 to 2016-31-03
Delivery Date:
2016-31-03
Original Contract Value:
$23,730.00
Current Contract Value:
$23,730.00
Comments:
This contract was sole-sourced.
Additional Comments:
Organizational Design Consulting Services
Former Public Servant in Receipt of a Pension under the Public Service Superannuation Act:
No


WE'RE GONNA DO WHAT THEY SAY CAN'T BE DONE
10-4 Good City is focused on turning the best ideas of What If Greenville into actions. Small events and large projects alike, 10-4 Good City is the first step on those journeys.
Improving sidewalk infrastructure in Greenville is a popular 'What If' topic (1 2 3 4 5 6). We personally can't create new sidewalks or fix old ones. So, we're doing our best to map and categorize the sidewalks that need repair in Greenville. We need your help to make our map better. Sign up for updates. We're going to annouce more about this in January.
We’re going to start with smaller projects that can be achieved in a day. The more volunteers we have, the more can get done. Sign up to volunteer below.
The more people that know, the better off we are. Please feel free to share 10-4 Good City with all your friends, family and enemies.
If there's an idea that you’re ready to turn into a project, let’s talk. Although we're here to help, we’re looking for idea champions who can maintain a project.


Classes, codecs and utilities for bitmap images.
Contains extensions to the java.awt.image package. This
package provides convenient methods, some utility classes and image
codec classes. These generally bypass broken methods in Java2D or
provide tweaked implementations.


At SpeedGoat we want to work with our collaborators. One of our biggest challenges is understand the dynamic schedules and needs of our collaborators. To this end, we have invested in managing our projects transparently in Asana. Our goal here is to help increase transparency, communication and organization related to projects.
Our collaborations are first organized by Teams, which typically reference an agency or entity. For example, there is a team for everyone from Idaho and another for folks from South Dakota. Within each team we will create Projects.
Projects come in two forms, those with definitive start and end dates and those that are persistent. Specific contracts to build a model or some workflow are good examples of a project with definitive start and end dates. On the other hand, each team always has at least two persistent projects named Feature Requests and Bug Tracking, described in more detail below. Clicking on a project will expose the board related to that topic or work. Within this page the user will see a series of tabs at the top of the screen. The Board view is our favorite, here you will find columns such as To Do, Backlog, Prioritized, In Progress, and Done. These columns provide a quick visual check of the state of tasks within the project.
A task is a self contained unit of requested work. Each task is represented as a card on the Board view and these cards can be moved around the board by clicking and dragging. This is where our collaborators play a key role, we want participation and encourage folks to move cards, set due dates and leave comments within each task to help keep everything on track. We are not asking for you to manage our projects, we are asking for participation in the planning process so we can meet your needs. To create a new task users should first find the Template task, which is usually at the top left of the board. Placing your mouse over this card will cause three dots to appear and clicking on those dots will provide options including the ability to duplicate a task. The image below gives you an idea of what it will look like in the board:
We encourage users to duplicate a template because the templates have text and fields that are necessary for us to understand the feature, bug, or task. For a complete how to on tasks please click on this link. You can’t really break anything, so feel free to try it out click on some things and create a task or two.
Your board will always have a Feature Requests project. This is the place for inspiration, new ideas, discussion and planning new features, analyses or other cool ideas that you have. Need a new report, want more data checks or want a new plot then create a feature request. Feature requests are not special except they typically represent small changes to software or analyses and do not require new contracts or months of work. Regardless of the size of the idea we suspect that most large projects will begin life as a feature request. When creating a feature request it is important to duplicate the template in the Backlog column. The template contains a lot of information to help you put your desires in terms we can understand and act on. We often get told how to do, but more often we need to be told what and why. The feature request template task is shown below:
When creating a task please take the time to read the text and then replace it with your reponse. Aside form the text please notice the tags such as priority and module. At the top of the task you can also propose a Due Date to help us understand not only the priority, but the timeline required.
The Bug Tracking board provides a place to discuss unexpected software behavior. A bug is anytime the software does something unexpected, fails outright or does not otherwise produce the desired result. To fix a bug we need to understand not only what happened, but how the bug was produced and ideally we would be able to reproduce the error. If we can reproduce the error we can generally fix it in short order, but if we can’t make the error happen there isn’t much we can do. To help us better understand the bug you have detected please try to duplicate the bug template task shown below, read the text and replace the text with your thoughts.
It should be clear after comparing the bug report to a feature request that very different information is required in each scenario and these templates attempt to help guide your through this process.
Our Asana boards are private to those individuals involved in a contract/relationship. We do not invite people to your board, you do. You can expect that members of the SpeedGoat team have access to your board and then one or two individuals are generally invited to the board from the agency. At this point board members can invite new people to the board. It is worth noting that access is not to all Projects within a Team by default. Team members can invite other team members or invite individuals to one project at a time. A detailed explanation of team permissions can be found here.
The help documentation for Asana can be found at https://asana.com/guide.
Developed by Josh Nowak, SpeedGoat


How does life look through the 'pleasure, passion and purpose' lens?
Pleasure: This is usually the shortest lived, unsustainable type of happiness. It only lasts as long as the stimulus lasts.
Passion: This is more sustainable than 'pleasure', and is sometimes described as 'flow'. Flow is best created when the degree of difficulty is high enough to challenge the person but not so high that it overwhelms them.
Higher Purpose: This type of happiness is the longest lasting, especially if it has an altruistic intention. It can also have a flow-on effect. As we get better at doing work that originates from our higher purpose we get into the 'flow' more often, and since we become good at it, and enter the state of flow often, it may allow us to experience 'pleasure' at certain times as well.
What are your core values, and what do you stand for?
My core values heavily steer towards growth and contribution, in that order. I like learning and bettering myself, and I also like to provide a benefit to others from my learning, knowledge and effort.
I stand for high integrity, alignment with my higher purpose, helping/giving to others, growth and achievement.
How were the resilience ideas and meditation exercises?
The resilience ideas were great because they broke down the principle into inner calm, emotional resilience and cognitive resilience. I liked the emotional reslience meditation. I think if it was done often/ popularized, it would free people from the shackles of 'fear-of-failure' or 'grasping-for-success'.


Log In
Forgot password?
Sign in
Close
  Home
  Find donation
  Insert donation
  Last requests
  Last Donations
  Profile
  Your companies
  Your results
Become donor
Settings
Policy
Esci


Ther are too much files in project. Can you reduce?
No.
You can do that.
Steps are:
Keep next two files: color.hpp and color.pp2f.hpp and delete others.
In color.hpp add line #define COLOR_USE_PP2FILE before #if defined COLOR_USE_PP2FILE
or define macro COLOR_USE_PP2FILE to be visible before include of color.hpp.


Saskatchewan premier has three items on wish list for meeting with Trudeau
by The Canadian Press, StaffOTTAWA -- Saskatchewan Premier Scott Moe has three things on his wish list when he talks with Prime Minister Justin Trudeau in a meeting set for today in Ottawa.
Moe wants to see overseas oil markets opened by completing pipelines, the reworking the equalization formula, and a one-year hold on the federal carbon tax in Saskatchewan so officials can re-evaluate the province's climate change strategies.
Moe made the demands in a statement the day after the Oct. 21 election that returned the Liberals to power with a minority mandate and no seats in Alberta or Saskatchewan.
He's reiterated them ever since as part of a new deal he says is needed with Ottawa.
Moe has said actions speak louder than words if Trudeau wants to improve relations with Western Canada.
Manitoba Premier Brian Pallister had his own meeting with Trudeau in Ottawa on Friday and suggested he could help broker a truce with anti-carbon-tax conservative premiers such as Moe and Alberta's Jason Kenney.
Talk of western separatism has increased since the federal election, but Moe has said he believes Saskatchewan should be in a strong and united Canada.
This report by The Canadian Press was first published Nov. 12, 2019.


BIGNASim: A noSQL database structure and analysis portal for nucleic acids simulation data
This tutorial shows how to build a meta-trajectory containing a particular nucleotidic fragment with BIGNASim portal. The first step in this tutorial consists on accessing the search section of the portal from the main menu:
The search section contains three different possibilities (see this help searching section for more details):
To generate a meta-trajectory, we will use the Search by Sequence Fragment section of the search engine. The Search by Base-Pair Step field can also be used if the particular sequence fragment we are interested in is precisely a base-pair step. Searching for the tetramer CTAG, with 1 nucleotide of flanking region, to avoid terminal parts, we obtain 36 different simulations. The majority of these simulations have 500ns, but the important information here is that the sum of all the trajectories go up to 19µs . BIGNASim offers the possibility to generate a meta-trajectory combining all these different simulation trajectories. It is built getting the atomic information (3D-coordinates and topology) of the selected nucleotidic fragment. In this case, a meta-trajectory for the CTAG tetramer, representing 19µs of simulation data will be generated. For that, the first thing we need is to select all the trajectories obtained in the search. That implies two different steps, first show all the results in the browse page, selecting an appropiate number of rows to be displayed in the selector placed in the top-left corner of the screen:
Then, we select all the simulations (or just the ones we are interested in), clicking at the respective checkboxes. A single click to the checkbox placed in the top-left corner of the table, next to the Id. title will automatically select all trajectories. This can also be done with a button placed at the bottom of the browse page named Mark All.
Once we have the desired trajectories selected, the next step is clicking at the Retrieve Metatrajectory button placed at the top-right part of the screen (next to the Cassandra's logo, representing an eye).
The next step for generating the meta-trajectory is to define a desired frame step. In this case, we want to extract 100 snapshots as representatives of each trajectory. For that, we type in the Frame input section: 1:5000:50 (for snapshot 1 to snapshot 5000, every 50 snapshots). At this step, we can choose between downloading the new generated trajectory or send it directly to the NAFlex nucleic acid flexibility server. As this trajectory is going to be quite big, we will download it to work in our own machines. The download section offers different possible trajectory formats. We will choose the one by default, DCD binary, because is one of the most lighweight formats, and it will accelerate the process.
And now we need to add the asynchronous download management... :(


| A₁A₁B₁B₁ | |
| A₁A₂B₁B₁ | |
| A₂A₂B₁B₁ | |
| A₁A₁B₁B₂ | |
| A₁A₂B₁B₂ | |
| A₂A₂B₁B₂ | |
| A₁A₁B₂B₂ | |
| A₁A₂B₂B₂ | |
| A₂A₂B₂B₂ | |
| Total |
| Value | Agree? | |
| X 2 A₁A₂ (df=1) = | ||
| X 2 B₁B₂ (df=1) = | ||
| X 2 Indep. (df=3) = | ||
| X 2 Lin. (df=1) = | ||
| X 2 Cont. (df=1) = | ||
| RF(r) = | ||
| Distance(cM) = | ||
| Phase = |
Segregation of Locus A₁A₂
| A₁A₁ | A₁A₂ | A₂A₂ | |
| Observed | |||
| Expected |
Segregation of Locus B₁B₂
| B₁B₁ | B₁B₂ | B₂B₂ | |
| Observed | |||
| Expected |
Results


- getCity() - Method in class com.example.lab3_restapi.UserPreferences
-
Retrieve the user's city for which to fetch weather forecasts.
- getCityLocation(Context, String) - Static method in class com.example.lab3_restapi.FetchData
-
Lookup latitude and longitude coordinates for the location provided.
- getCitySuggestions(Context, String) - Static method in class com.example.lab3_restapi.FetchData
-
Provide up to five matches from the Geocoder library for the location provided (useful if user misspells the name of the location for example).
- getCurrentWeatherData() - Method in class com.example.lab3_restapi.APIData
-
Data for the Live tab.
- getDailyWeatherData(int) - Method in class com.example.lab3_restapi.APIData
-
Data for the individual day tabs.
- getDirectionFromAngle(double) - Method in class com.example.lab3_restapi.fragments.WeatherFragment
-
Convert an angle in degree to a cardinal direction.
- getHourlyWeatherData(int) - Method in class com.example.lab3_restapi.APIData
-
Data for the Today tab with one forecast per hour.
- getIconID(Context, String) - Method in class com.example.lab3_restapi.fragments.WeatherFragment
-
Retrieve a weather icon ID from the drawable folder using the icon's name.
- getItemCount() - Method in class com.example.lab3_restapi.fragments.WeatherCollectionAdapter
-
Inherited method to get the number of fragments currently held.
- getMaxHourlyForecast() - Method in class com.example.lab3_restapi.UserPreferences
-
Retrieve the limit for the number of hourly forecast displayed in the Today tab.
- getRefreshInterval() - Method in class com.example.lab3_restapi.UserPreferences
-
Retrieve the duration between two calls to the API for new data.
- getSpeedUnit() - Method in class com.example.lab3_restapi.UserPreferences
-
Get the velocity unit associated with the current unit system set by the user (km/h or mph).
- getTempUnit() - Method in class com.example.lab3_restapi.UserPreferences
-
Get the temperature unit associated with the current unit system set by the user (K, °C or °F).
- getUnits() - Method in class com.example.lab3_restapi.UserPreferences
-
Retrieve the unit system to use for displaying weather data.


fullPage.js
Javascript only version
No need for jQuery
5 Kb gzipped!!
Improve the loading time of your site!
Slides too!
More slides!
Compatible
IE 8+ support.
Compatible
IE 8+ support.
Compatible
IE 8+ support.


A lot of it has to do with history and context. When there is a giant wildfire in the forest, no one asks, "Gee what was so special and flammable about that first branch that caught fire? Because surely if it weren't for that particular branch, there would have been no wildfire!" That would be sillly. Instead you ask, "What were the conditions in the forest that day that allowed any branch to catch fire and cause such a huge conflagration? And furthermore, given those conditions, what kind of branch could be eligible to start a fire?" Javascript's creator was smart...and lucky...and he was smart enough to know what would be "lucky". He saw an opportunity, he saw a void, and he saw what it would take to fill it.
Javascript was developed by Brendan Eich while he was working for Netscape. It was first released in 1995, so this was when Netscape was a popular browser. As one of the most popular browsers, Netscape was positioned to heavily influence the programming community with its choice of languange.
Soon Microsoft adopted it as the language for their web browser, Internet Explorer. So at this point those were the two major browser competitors fighting over the web--Netscape and Internet Explorer. So a lot of programmers turned to the language since it would be something that both of the most popular browsers could understand.
The most popular browsers today all still support javascript, and allow you to debug in it. But these historical settings that allow for JS to be very popular are obviously just as much an effect of Javascript's ubiquity as they are cause. The Web's present day landscape is heavily influenced by Javascript's preexisting popularity.
Javascript was designed to be a lightweight interpreted language so that it would appeal to non-professional programmers as well as proessional ones. By "interpreted language" we mean that you don't need to compile each program into machine-language instructions beforehand. Instead, the interpreter can just do all that in one step, both running the program and translating each part into a rudimentary language that cane be read by the machine. For this reason it was at first frowned upon by snooty legitimate developers, but it ultimately helped make the language so successful.
It is object oriented which is also an advantage. In an object oriented language, you can make any thing you want to do in the code an object, and can therefore make it repeatable. You can make a function an opject and call it again later on a totally different element, whereas in structured programming, the content of any function has to happen in full in the code each time you use it.
Javascript is super robust, allowing a developer to make pages that interact with the user, collect information, and manipulate the browser itself. Its object oriented and very good at carrying out huge tasks without taking a big toll on load time. The language has nothing to do with Java, it's name was simply a marketing ploy to capitalize on the already established reputation of Java.
Compared to newer language's like Ruby, it can seem very syntax-sensitive. You need a lot of symbols and they need to be jsut so, whereas Ruby can connect more dots for you in its interpreter.
Javascript is wearer on backend stuff. It cannot access backend databases without a server side script. Similarly, you can't write to a file on the backend without running an AJAX request to run a server side script to write to the file on the server side.
Javascript can't do multithreading. Multithreading is the ability of a computer program to handle more than one request or user at a time without needing to run another instance of the program. So you can easily understand how you would want your program to handle multithreading, since conceptually, anything who's burden correllates directly to how much you are using it is not good in computer science. You want things that burdened multiplicatively with each user/request, but just increase by a small increment instead.


Represents a clickable element to trigger a specific action.
Before configuring the component, list all types of buttons you have in your application. Here some examples (non-exhaustive):
Each type of button can have several states (non-exhaustive and some could be non-relevant in your case):
:disabled
)[aria-pressed]
).error
).success
).warning
):hover
):active
):focus
)⚠ Technically, these states could be mixed in between the manual state and the browser state. When implementing styles and behavior, be aware of these edge cases. For instance, while your button is pressed (with toggle button), the user can active it too. The choice of which style overrides the other is up to you.
The difference between type and state could not be obvious. However, there is a fundamental difference.
A type of button cannot change during the use of the application. The next button will always be the next button. It cannot transform into a previous or share button.
However, its state can change. The next button can be disabled while the form is invalid. Then it becomes active and once the form sent, be error or success depending on the result.
Said simply: the type never change but the state does.
We determined two categories for buttons: text-button
and icon-button
.
The first one will be used for text buttons with an optional icon and the other for icon-only buttons.
This choice could be convenient or not to you.
To add types in the text categories, go to button/api.ts
and change textButtonTypes
.
For the icon category, the code directly uses iconTypes
from icon/api.ts
.
To add states in all categories, go to button/api.ts
and change states
.
To change the style of the button, look at AtomoTextButton.renderStyles
and AtomoIconButton.renderStyles
.
Available css variables are the following:
--cursor
--border-radius
--padding
--font-weight
--font-size
--transition
--{type}-background
: Background color in normal state--{type}-color
: Text color in normal state--{type}-border
: Border in normal state--{type}-background-{state}
: Background color in {state} state--{type}-color-{state}
: Text color in {state} state--{type}-border-{state}
: Border in {state} stateUpdate the code with your own needs for more control.
If you want to use or update the component, think about:
If you want to use or update the component, think about:
title
attribute could be enough using firefox dev tools but need confirmation)
disabled
, type
)
Like done with atomo-button
, you can have one button component per category.
For instance, you can have a text-button
and an icon-button
.
Each category will render the button in some way that could be very different from one another.
It will differs from type
which styles will be small enough.
For instance, the icon-button
could hide the label (but keep it for accessibility reasons) and have
a circular form.
Then the type could define the shown icon and its background-color.
On the contrary, the text-button
could always show the label, have an optional icon and have a
rectangular form.
Then the type could define the color and background-color and the icon to show.
Usage of specific names like submis
or cancel
gives more information of how to use them.
Use them and multiply them, it will simplify the decision of a type or state for future developer.
Framework often use terms like primary
and secondary
.
If they have meanings for you, keep them.
Otherwise, do not hesitate to change them to names that have meaning for your project.
If you give this possibility, developers will use it and duplicate logic. Also, it will bring inconsistency in you application.
If a button need a specific style, check if it enters in a defined category and if a type can be defined. In the other case, check if it is a new category and other buttons enter into it.
Prefer checking with a designer before adding a type of button. It could be a mistake or a new notion that could be made explicit.
Do not use a button
that should behave like a link (
).
A button means doing an action and a link means going to a page.
An action can redirect to a page but as a side effect of the action, not as the objective.
If you need a link rendered as a button, create a new component using to use html
.
Whether you define this component as a button or a link is your choice.
However, the technical element should remains semantically valid.


var johnCarter = new Movie() { Title = "John Carter" };
johnCarter.DirectorId = andrewStantonId;
context.Movies.Add(johnCarter);
//after it's added, change the status of the reference
context.Entry(johnCarter.Director).State = EntityState.Unchanged;
context.SaveChanges();
var johnCarter = new Movie() { Title = "John Carter" };
johnCarter.DirectorId = andrewStantonId;
context.Movies.Add(johnCarter);
//after it's added, change the status of the reference
MarkNavigationPropertiesUnchanged(johnCarter);
context.SaveChanges();
private static void MarkNavigationPropertiesUnchanged<T>(DbContext context, T entity) where T : class { var objectContext = ((IObjectContextAdapter)context).ObjectContext; var objectSet = objectContext.CreateObjectSet<T>(); var elementType = objectSet.EntitySet.ElementType; var navigationProperties = elementType.NavigationProperties; //the references var references = from navigationProperty in navigationProperties let end = navigationProperty.ToEndMember where end.RelationshipMultiplicity == RelationshipMultiplicity.ZeroOrOne || end.RelationshipMultiplicity == RelationshipMultiplicity.One select navigationProperty.Name; //NB: We don't check Collections. EF wants to handle the object graph. var parentEntityState = context.Entry(entity).State; foreach (var navigationProperty in references) { //if it's modified but not loaded, don't need to touch it if (parentEntityState == EntityState.Modified && !context.Entry(entity).Reference(navigationProperty).IsLoaded) continue; var propertyInfo = typeof(T).GetProperty(navigationProperty); var value = propertyInfo.GetValue(entity, null); context.Entry(value).State = EntityState.Unchanged; } }
This code only fixes the references to single entities (like movie.Director) - not collections (like director.Movies). It's possible to discover and iterate the collections to change their status, but you'll likely get exceptions from EF because its model is broken.


Graysville High School
Basketball Team
Graysville High School
Basketball Team - 1950-51
In
1950-51 the Graysville High School was still functioning and producing good
basketball teams. However, the wheels
of consolidation were already at work. Skyvue High School opened around 1958 in Stafford,
Ohio. It brought together the Lewisville, Graysville, and Bethel High
Schools into a single facility at Stafford. The Stafford school, however,
was an old school. After several attempts to pass a levy to build a new
school it finally passed and a new school was built on Hartshorn Ridge.
It opened in January 1966 and retained the name of Skyvue. A student and
subsequent teacher at Skyvue recalls, "I was a junior in high school
then. The first day back to school after Christmas vacation we were taken
to the old building at Stafford to get our belongings then we were taken to the
new school. That was pretty exciting. The 1966 graduating class was
the first to graduate from the new building. Then in 1994 Skyvue High
School became Skyvue Elementary School and the high school students went to
Monroe Central."
Members
of the 1950 - 1951 basketball team above are as follows:
Back
Row -- from left to right
Coach
Ralph Ullman, Lynn Whitacre, Dale Antill, Edgar Cline, Clyde Weckbacher, Gene
Patterson
Front
Row -- from left to right
Jim
Piatt, Junior Lisk, Ernest White, Jim Christy, Denzil Weckbacher
In
the Fall of 2002, Ralph Ullman provided the following additional
information: "Later Coach Ralph
Ullman became Principal of Skyvue High School. His 1965 Christmas was spent moving into the
new building. Ralph and Vera have two
children: Larry, a retired teacher and Karen Marks, a teacher at Caldwell,
Ohio. Ralph's wife Vera is the daughter
of Glenn and Mary Piatt. Glenn was a
teacher in Monroe County schools for 53 years.
Glenn and Mary both lived to be 100 years old and were married for 80
years."


flibs/datastructures(n) 1.0 "flibs"
flibs/datastructures - Unordered sets
TABLE OF CONTENTS
SYNOPSIS
DESCRIPTION
ROUTINES
COPYRIGHT
The sets.f90 source file allows you to implement
unordered sets of any (derived) type without having to
edit the supplied source code. To this end a simple technique is used,
which is best illustrated by an example:
| |
!
! The data that will be stored in the sets
!
type MYDATA
integer :: value
end type MYDATA
!
! As derived types are compared, we need to define
! how to compare them
!
interface operator(.eq.)
module procedure mydata_isequal
end interface
contains
logical function mydata_isequal( v1, v2 )
type(MYDATA), intent(in) :: v1
type(MYDATA), intent(in) :: v2
mydata_isequal = v1%value .eq. v2%value
end function mydata_isequal
end module MYDATA_MODULE
module MYDATA_SET_STRUCTS
use MYDATA_MODULE, SET_DATA => MYDATA
include "data_for_sets.f90"
end module MYDATA_SET_STRUCTS
module MYDATA_SETS
use MYDATA_SET_STRUCTS
include "sets.f90"
end module MYDATA_SETS
|
The above code defines a module MYDATA_MODULE with the derived
type that is to be stored in the sets. The name of that derived
type can be anything.
It also defines a module MYDATA_SET_STRUCTS which prepares the
underlying data structure. The reason for this two-layer process is that
you need to be able to define the name of the modules that are involved
yourself. (Otherwise it would be impossible to use two or more
sets holding different types of data in one program.
It finally defines a module MYDATA_SETS which will be the
module that holds the functionality to use unordered sets:
-
The module MYDATA_MODULE is used, but the derived type
MYDATA is renamed to the (fixed) name SET_DATA. (This
is the name used in the generic source file.)
-
The source code for the actual routines is simply included via the
INCLUDE statement.
-
Nothing more is required, we can close the source text for the module.
To use a single type of sets in a program, we can just use the
MYDATA_SETS module. If you need more than one type of data in sets,
then apply the same renaming trick on using the specific set
modules.
In fact the example in the source file "two_lists.f90" shows the general
technique of how to accomplish this.
The source file sets.f90 provides the following
routines:
- call set_create( dataset )
-
Create a new empty set.
- type(SET) dataset
-
The variable that will be used for accessing the set
- call set_destroy( dataset )
-
Destroy the set. All elements contained in it will be destroyed as
well.
- type(SET) dataset
-
The set to be destroyed
- size = set_size( dataset )
-
Function to return the number of elements in the set.
- type(SET) dataset
-
The set in question
- call set_add( dataset, elem )
-
Insert a new element in the set. If the element is already present,
nothing is done.
- type(SET) dataset
-
The dataset to add the element to.
- type(SET_DATA), intent(in) elem
-
The element to be stored
- call set_delete_element( dataset, elem )
-
Delete the given element from the set.
- type(SET) dataset
-
The list in question
- type(SET_DATA) elem
-
The element to be deleted
- has = set_haselement( dataset, elem )
-
Returns whether or not the given element is in the set.
- type(SET) dataset
-
The set in question
- type(SET_DATA) elem
-
The element to be checked
- has = elem .elementof. dataset
-
Returns whether or not the given element is in the set.
(The operator version)
- type(SET) dataset
-
The set in question
- type(SET_DATA) elem
-
The element to be checked
- equal = set_equal( set1, set2 )
-
Returns whether or not the two sets contain the same elements.
- type(SET) set1
-
The first set
- type(SET) set2
-
The second set
- equal = set1 .eq. set2
-
Returns whether or not the two sets contain the same elements.
(The operator version)
- notequal = set_notequal( set1, set2 )
-
Returns whether or not the two sets do not contain the same elements.
(The operator version)
- type(SET) set1
-
The first set
- type(SET) set2
-
The second set
- notequal = set1 .ne. set2
-
Returns whether or not the two sets do not contain the same elements.
(The operator version)
- has = set_hassubset( dataset, subset )
-
Returns whether or not one set is contained in the other set.
- type(SET) dataset
-
The set that may hold the second one
- type(SET) subset
-
The set that may be a subset of the fist
- has = subset .subsetof. dataset
-
Returns whether or not one set is contained in the other set.
(The operator version)
- type(SET) subset
-
The set that may be a subset of the other
- type(SET) dataset
-
The set that may hold the first one
- newset = set_union( set1, set2 )
-
Returns the union of two sets.
- type(SET) set1
-
The first set
- type(SET) set2
-
The second set
- newset = set1 .union. set2
-
Returns the union of two sets - operator version.
- newset = set_intersection( set1, set2 )
-
Returns the intersection of two sets.
- type(SET) set1
-
The first set
- type(SET) set2
-
The second set
- newset = set1 .intersect. set2
-
Returns the intersection of two sets - operator version.
- newset = set_exclusion( set1, set2 )
-
Returns a copy of the first set with the elements of the second set
excluded.
- type(SET) set1
-
The first set
- type(SET) set2
-
The second set
- newset = set1 .intersect. set2
-
Returns a copy of the first set with the elements of the second set
excluded - operator version.
Notes:
-
The sets can only store data of the same derived type. In that sense
the code is not generic.
-
Currently, the sets can only store derived types that do not require
an explicit destruction. If you want to store a derived type with
pointers to allocated memory, you can do that however, by supplying an
assignment operator. This would lead to a memory leak though. It is best
to wait for the next version which will allow such derived types to be
stored.
Copyright © 2006 Arjen Markus <arjenmarkus@sourceforge.net>


https://www.thesubtlety.com/post/patching-boto3-useragent/
Boto3 User-Agent
AWS GuardDuty can alert on Kali uname, which is used by certain automated AWS scanners. If you are testing with kali, ensure that tools are 'patched' or you run through a proxy to conceal the User-Agent. The main issue is in the boto3 library that many tools use.
botocore/session.py calls platform.release()
Can implement in pacu.py with monkeypatch (pip install pytest):
from _pytest.monkeypatch import MonkeyPatch
monkeypatch = MonkeyPatch()
def my_user_agent(self):
return "Boto3/1.9.89 Python/2.7.12 Linux/4.2.0-42-generic"
monkeypatch.setattr(botocore.session.Session, 'user_agent', my_user_agent)
Alternatively, Pacu has a PacuProxy feature or send things through Burp or other proxy and auto edit requests.


[1] the primary location used in the film ``/`` next year ''/'' with alan alda and burstyn and the film ``/`` same time ''/'' with alan alda and burstyn .
[2] heritage house eventually partitioned the cottage in half and a second bathroom to the opposite end .


Jake Fromm, Brother Tyler Share Heartfelt Moment After Game
by Tzvi MachlinGeorgia quarterback Jake Fromm led his the Bulldogs to victory once again last weekend. Unfortunately, his team’s win came at the expense of Auburn tight end Tyler Fromm, his younger brother.
But the two Fromm brothers showed no animosity at all after the rivalry game.
They met on the field after the game was over and exchanged jerseys before hugging and returning to their lockers.
Jake Fromm went 13-of-28 for 110 yards but three touchdown passes in the win. It was his third straight game with multiple touchdown passes without an interception.
As for Tyler Fromm, he did not play in Saturday’s game, and is still waiting to make his college football debut.
Even though Jake is a junior, this may be the last time that the Fromm brothers play on the same field again.
Though Auburn and Georgia are slated to play each other next year, Jake is expected to enter the NFL Draft this fall.
But if Tyler can assert himself as an elite tight end in college football, maybe they’ll see each other again on the field at the professional level.


Phone numbers
问题描述 :
In the present world you frequently meet a lot of call numbers and they are going to be longer and longer. You need to member such a kind of numbers. One method how to do it in an easy way is to assign letters to digits as shown in the following picture:
1 ij 2 abc 3 def
4 gh 5 kl 6 mn
7 prs 8 tuv 9 wxy
0 oqz
This way every word or a group of words can be assigned a unique number, so you can remember words instead of call numbers. It is evident that it has its own charm if it is possible to find some simple relationship between the word and the person itself. So you can earn that the call number 941837296 of a chess playing friend of yours can be read as WHITEPAWN, and the call number 2855304 of your favourite teacher is read BULLDOG.
Write a program to find the shortest sequence of words (i.e. one having the smallest possible number of words) which corresponds to a given number and a given list of words. The correspondence is described by the picture above.
输入:
The first line of input contains the call number, the transcription of which you have to find. The number consists of at most 100 digits. The second line contains the total number of the words in the dictionary (maximum is 50000). Each of the remaining lines contains one word, which consists of maximally 50 small letters of the English alphabet. The total size of the input doesn’t exceed 300KB.
输出:
The only line of output contains the shortest sequence of words which has been found by your program. The words are separated by single spaces. If there is no solution to the input data, the line contains text `No solution.’. If there are more solutions having the minimum number of words, you can choose any single one of them.
样例输入:
7325189087 5 it your reality real our
样例输出:
reality our
解题代码:
//* @author: ccQ.SuperSupper import java.io.*; import java.util.*; class word{ String str,num; public void change(){ } } public class Main { static final int N = 100+10,M = 50000+10; static Map mymap = new HashMap(); static int DP[] = new int[N],pre[] = new int[N],n,m; static String str[] = new String[M],num,temp,Ans[] = new String[N]; public static void main(String[]args)throws Exception{ int i; Scanner cin = new Scanner(System.in); //Scanner cin = new Scanner(new FileInputStream("input.txt")); while(cin.hasNext()){ num = cin.next(); n = cin.nextInt(); m = num.length(); mymap.clear(); for(i=0;i< n;++i){ str[i] = cin.next(); temp = change(str[i]); mymap.put(temp, i); } solve(); } } static void solve(){ int i,j,k; String tmp; for(i=0;i<=m;++i){ DP[i] = -1; pre[i] = -1; } DP[0] = 0; for(i=1;i<=m;++i){ for(j=0;j< i;++j){ tmp = num.substring(j, i); if(mymap.containsKey(tmp)){ k = (Integer)mymap.get(tmp); if(DP[j]>-1 && (DP[i]==-1 || DP[i]>DP[j]+1)){ DP[i] = DP[j]+1; pre[i] = k; } } } } if(DP[m]==-1) System.out.println("No solution."); else{ k = 0; j = m; while(j>0){ Ans[k++] = str[pre[j]]; j -=str[pre[j]].length(); } for(i=k-1;i>=0;--i){ if(i!=k-1) System.out.print(" "); System.out.print(Ans[i]); } } } static String change(String world){ String ans=""; int i,len = world.length(); for(i=0;i< len;++i){ ans+=change(world.charAt(i)); } return ans; } static char change(char c){ if(c=='i' || c=='j') return '1'; if(c>='a' && c<='c') return '2'; if(c>='d' && c<='f') return '3'; if(c>='g' && c<='h') return '4'; if(c=='k' || c=='l') return '5'; if(c=='m' || c=='n') return '6'; if(c=='p' || c=='r' || c=='s') return '7'; if(c=='t' || c=='u' || c=='v') return '8'; if(c=='w' || c=='x' || c=='y') return '9'; if(c=='o' || c=='q' || c=='z') return '0'; return '0'; } }
(adsbygoogle = window.adsbygoogle || []).push({});
else if也是要比较两次
不错，感谢分享。
必须试过啊
博主您好，这是一个内容十分优秀的博客，而且界面也非常漂亮。但是为什么博客的响应速度这么慢，虽然博客的主机在国外，但是我开启VPN还是经常响应很久，再者打开某些页面经常会出现数据库连接出错的提示
嗯，尽量吧。题目太多了，很多解题报告是用程序自动发布的，所以就只有代码了
int L[m+1][n+1];这样定义出错，这个在gcc上可以编译通过 在VS上不行 应该改为new 或者vector
很棒的网站，加油！⛽
学习了。找到这题
后面的掩码变量部分乍一看比较难理解，其实就是把32位按照一个整体来看待。
第二个是python代码啊。。