<EMAIL_ADDRESS>|
(079) 40054178
Home
About Us
Products
LEATHER-FUR-WOOL & NYLON DYES
TEXTILE DYES
PAPER DYES
Applications
Customer care
Contact us
Our Products
Applications
LEATHER-FUR-WOOL DYES & NYLON
TEXTILE DYES
PAPER DYES


The Akan people of Ghana frequently name their children after the day of the week they were born and the order in which they were born. These "day names" have further meanings concerning the soul and character of the person. Middle names have considerably more variety and can refer to their birth order, twin status, or an ancestor's middle name. Would you like to know yours!!


The plot shows the monthly observations of temperature anomalies (in °C), that is, deviations from the mean temperature per month from the reference period 1951-1980. The limits of the x-axis are set as 2015 to 2020 by default, but the plot contains data from 1880 to the present. You may use the plot controls in the upper right corner to alter the view of the data, e.g. press autoscale see all of the data and reset axes to go back to the default view.
The data has been obtained from the NASA GISTEMP v3 pages (data sets: Land-Ocean Temperature Index Global-mean monthly, seasonal, and annual means and Northern Hemisphere-mean monthly, seasonal, and annual means).
The plot also contains a one year forecast that has been generated using a SARIMA model trained on the historical data (1880-01-01 to 2019-02-01). The forecasted mean values are shown together with their 95%-confidence intervals (shaded areas). A SARIMA model was chosen due to the nature of the data, being a time-series with seasonal variation which the model can take into account.
The models that fit each time-series best were chosen through gridsearch. Different configurations of the hyperparameters were evaluated through cross-validation, and the models with the lowest mean squared error were chosen.
Even though the models were chosen in this manner, there are no guarantees that the forecasted values will be realized in the future. The confidence intervals shows the ranges in which the future values will most like be. The confidence intervals in this case are quite wide, suggesting uncertanty in the forecast. To improve the forecast we could try to include more data, and features other than the historical temperature data. We could also try using other models.


Dogs IRL
Logout
About Us
The Park
Profile
Your pet's name:
URL of pet picture:
Boy or Girl?
Boy Doggo
Girl Doggo
How old is your pup?
Bad dog
GOOD PUP
Wiry
Floofy
Lazy bones
Ball of energy
No snuggles
Loves snuggles
Very picky
Will eat anything
Total coward
Fears nothing
Create New Pet Card!


--- title: "Going offline" tags: [ git, web, computers, linux ] date: "2008-02-09 18:15" mood: "cheerful" picture: "hacker glider" options: "preformatted backdated" itemid: "3006" layout: post ---
Excellent post by Don Marti on becoming more productive by going offline. Git (distributed version control, basically syncing on steroids), ikiwiki (offline-rendered wiki), blosxom (offline-rendered blog), and more. It's related to a lot of what I've been saying about keeping control of your own data. In essence, what you want to do is to separate writing from publishing.


A 50 yard thunderbolt (it gets longer the more people who tell me about it) clinched a 1-0 victory in the FA Cup replay at Eastwood. We're now at home to Gresley next Saturday in the 3rd Qualifying Round


Urban Legend A review by Joe Chamberlain
Starring Jared Leto; Alicia Witt; Rebecca Gayheart & Michael Rosenbaum
I didn't go into Urban Legend expecting a whole lot. I figured that I was about to see your standard slasher film that would be watchable but certainly not something that was going to be very memorable. Well, I was very happily proven wrong. Apparently, films such as Scream; I Know What You Did Last Summer and Halloween: H20 have raised the bar when it comes to the quality of the once low budget, poorly acted slasher film. Don't get me wrong, Urban Legend still has its share of blood and guts which it relies of quite heavily in places for shock value, but the writing and acting are surprisingly pretty good. Continuing the trend of the afore mentioned Scream, Urban Legend doesn't take itself too seriously and pays homage to some of the horror films that have come before it. Much like Scream, it also pays tribute to pop culture with a number of inside jokes.
So enough analytical stuff, what's the movie about? Like all good slasher films, Urban Legend has a killer who takes pride in his work. This particular homicidal maniac has decided to pattern his killing spree after popular urban legends. He recreates them in a particularly ghoulish and bloody way, much to the dismay of the students at a small New England university. Now I certainly wouldn't be doing my job if I didn't mention that Urban Legends doesn't have too many real scary moments. In most cases you can figure out what is going to happen before it actually does. Although, surprisingly that fact doesn't really take too much away from the movie.
The young cast is first rate. Alicia Witt plays a college student around whom most of this killing seems to be centered. Rebecca Gayheart, is her best friend. Both actresses do a good job in their first major starring roles. They are joined by none other than Robert "Freddy Kruger" Englund as a professor who teaches a course on urban legends. Rounding out the cast is Joshua Jackson from TV's Dawson's Creek. Much of what makes the cast look so good is the first rate writing. While it is not up to the quality of Scream, it is certainly a far cry from the Halloween and Friday The 13Th movies of days gone by. Urban Legend also is a very nice looking film, it doesn't have the claustrophobic feel of some older horror films.
Urban Legend is far from the scariest film that you will ever see, but it does have its moments. If you are in the mood for edge-of-your-seat terror, this isn't the film that is going to give it to you. If, on the other hand you are interested in watching something a little lighter, with a few scary scenes mixed in, Urban Legend should fit the bill nicely.
7/10
Visit The Movie Guy http://members.tripod.com/~MovieGuy/index.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Course materials for ESIR2 students
ESIR2-SI-S7-VV
Lectures
Professor: Benoit Combemale
Except the introduction, all lectures will rely on pre-recorded videos* that you can watch asynchronously, at the latest during the slot scheduled in your agenda. The last 30 minutes of each lecture slot will be dedicated to office hours (on the Teams’ group dedicated to the course), where we can discuss on questions you have on the lecture.
If you need reminders on object-oriented programming, please, go through the videos of chapters #1, #2 and #3.
| Date | Lecture | Material | Comment |
|---|---|---|---|
| Dec. 10th, 2020 (8h-10h) | Introduction | welcome and introduction to modeling | synchronous introduction on Teams (team VV2020) |
| Dec. 10th, 2020 (10h-12h) | SOLID | videos (chapter #4) | asynchronous videos and office hours on Teams (11h00-12h) |
| Dec. 14th, 2020 (8h-10h) | GRASP | videos (chapter #5) | asynchronous videos and office hours on Teams (9h00-10h) |
| Dec. 14th, 2020 (10h-12h) | Design patterns | videos (chapters #6 and #7) | asynchronous videos and office hours on Teams (11h00-12h) |
| Jan. 6th, 2021 (10h-12h) | Design patterns | videos (chapters #6 and #7) | asynchronous videos and office hours on Teams (11h00-12h) |
| Jan. 11th, 2021 (14h-16h) | Métriques, Visualisation and Refactoring | videos (chapter #8) | asynchronous videos and office hours on Teams (15h00-16h) |
* For this part of the course, we will use the pre-recorded videos provided by Prof. Sébastien Mosser at UQAM.
Labs
Professors: Benoit Combemale and Stéphanie Challita
| Date | Labs | Material | Comment |
|---|---|---|---|
| Dec. 17th, 2020 (10h-12h) | Médiathèque | sujet | |
| Jan. 4th, 2021 (14h-16h) | Médiathèque | correction | deadline: 08/01/21 |
| Jan. 4th, 2021 (16h-18h) | Mini-editeur | sujet | |
| Jan. 6th, 2021 (14h-18h) | Mini- editeur | ||
| Jan. 11th, 2021 (16h-18h) | Mini-editeur | correction | deadline: 29/01/21 |
Your professors will be online during the labs. Interact with them through the team VV2020 on Teams.
Further material
- Slides on the UML language
- The Refcardz UML cheetsheet and the UML Diagrams website
- The Refcardz on Design Patterns
- Catalog of design pattern implementations: by Refactoring.Guru and S. Mosser
- Looking for good books? You may have a look to the textbooks Introduction to Software Design with Java, and UML@Classroom ( website). Here is also a currated list of must-read professional books.
ESIR2-SI-S8-MDI (part 1, incl. SI+IN)
Lectures
Professor: Benoit Combemale
Except the introduction during the first lecture, all lectures will rely on pre-recorded videos* that you can watch asynchronously, at the latest during the slots scheduled in your agenda.
| Date | Lecture | Material | Comment |
|---|---|---|---|
| Feb. 1st, 2021 (10h-12h) | Tools for (Java) Development Industrialization | slides | synchronous introduction on Teams (team MDI2020) |
| – | Gestion de dépendance et build | video, et démo Maven | asynchronous videos and office hours on Teams |
| – | Gestion de version | video, avec Subversion et Git, et démo Git | asynchronous videos and office hours on Teams |
| – | Intégration continue | video, et démo Jenkins | asynchronous videos and office hours |
| – | Méthodes agiles | video | asynchronous videos and office hours on Teams |
* For this part of the course, we will use pre-recorded videos provided by Prof. Olivier Barais and Prof. Johann Bourcier.
Labs
Professors: Benoit Combemale and Stéphanie Challita
The labs will consist in implementing the proposed tutorial, and the evaluation will consist in a final demonstration with Q&A (~10min, during the last lecture on Feb. 23rd, 2021, 10h15-12h15). We will be online during the labs. Interact with us through the team MDI2020 on Teams.
Tentative timeline for the tutorial:
- [Part 1-4] Maven ~4h (requires lecture on Gestion de dépendance et build)
- [Part 5] Git ~2h (requires lecture on Gestion de version)
- [Part 6] Sonar ~1h (requires lecture on Intégration continue)
- [Part 7] Jenkins ~2h (requires lecture on Intégration continue)
- [Part 8] Gitlab ~3h (requires lecture on Intégration continue)
Further material
- GIT cheat sheet by GitHub
- The Refcardz on Git, Maven and Jenkins
ESIR2-SI-S8-MDI (part 2)
Lectures
Professor: Benoit Combemale
| Date | Lecture | Material | Comment |
|---|---|---|---|
| Feb. 24th, 2021 (10h-12h) | Introduction | slides | synchronous introduction on Teams (team MDI2020) |
| Feb. 24th, 2021 (10h-12h), cond. | Software testing at glance | slides | synchronous on Teams (team MDI2020) |
| Mar. 08th, 2021 (08h-10h) | Static analysis | slides | on campus |
| Mar. 08th, 2021 (10h-12h) | Dynamic testing | slides | on campus |
| Mar. 16th, 2021 (10h-12h) | Integration testing | slides | synchronous on Teams (team MDI2020) |
| Mar. 16th, 2021 (10h-12h), cond. | Test qualification and main criteria | slides | synchronous on Teams (team MDI2020) |
| Mar. 16th, 2021 (10h-12h), cond. | Mutation testing, and Test automation | slides | synchronous on Teams (team MDI2020) |
Conferences
| Date | Title | Material | Comment |
|---|---|---|---|
| Mar. 23rd, 2021 (10h-12h) | Model-Based Testing | slides | synchronous on Teams (team MDI2020) |
| Mar. 26th, 2021 (08h-10h) | GUI Testing | slides | synchronous on Teams (team MDI2020) |
| Apr. 02nd, 2021 (08h-10h) | Security Testing | slides | synchronous on Teams (team MDI2020) |
| Apr. 07th, 2021 (14h-16h) | Performance Testing | slides | synchronous on Teams (team MDI2020) |
Labs
Professors: Benoit Combemale and Gwendal Jouneaux
- Practical Session #1 (4h)
- Practical Session #2 (4h)
- Practical Session #3 (4h)
Optional labs: if you want to experiment property-based testing and GUI testing, you may optionally have a look to Lab #4 and Lab #5, respectively.
Evaluation
| Date | Lecture | Material | Comment |
|---|---|---|---|
| Apr. 08th, 2021 (10h-12h) | Evaluation | n/a | synchronous on Teams (team MDI2020) |
Further material
- The textbook of the course
- Refcardz on Junit & Easymock, Mockito and Selenium.
ESIR2-SI-S8-AL: Software Architecture
Professors: Johann Bourcier and Benoit Combemale
Lectures
Except the introduction, all lectures will rely on pre-recorded videos that you can watch asynchronously.
Lecture #1, Apr. 01st, 2021 (08h-10h):
Lecture #2, Apr. 01st, 2021 (10h-12h):
- Approche orientée Service - les concepts
- Approche orientée Service - Les technologies
- Architecture orientée Message : MOM - principes
Lecture #3, Apr. 07th, 2021 (08h-10h):
- Introduction to cloud computing
- Introduction to cloud-native applications
- Introduction to micro-services
Lecture #4, Apr. 12th, 2021 (14h-16h):
Lectures #5 and #6 (conferences), Apr. 12th, 2021 (16h-18h) and Apr. 20th, 2021 (08h-10h):
- De Java à un exécutable natif : GraalVM et Quarkus changent la donne (Emmanuel Bernard)
- Quarkus: Comment faire une appli Java Cloud Native avec Graal VM (E. Bernard, C. Escoffier)
Labs
Based on the aforementioned lectures, you might train yourself (individually) on Docker and Quarkus using the following tutorials:
Then, you have to constitute a project team of 5 people. Each team has to select a monolith application (to be validated with your professors) and to propose a microservicization of this application. For this purpose, you have to investigate the various tradeoffs (modularization, stateless vs stateful, orchestration vs. choreography, etc.), and to propose the new architecture of the application.
As a possible application, you might check-out the Remote meetings planning project, understand the application code and its underlying architecture (cf. the videos available on the readme), and make sure it works in development settings (i.e. on localhost).
For the evaluation, you will have to present your proposed architecture, and to discuss the various tradeoffs. You are not ask to provide any implementation that will be realized during the following project.
Evaluation
| Date | Lecture | Material | Comment |
|---|---|---|---|
| May 07th, 2021 (08h-10h) | Evaluation | n/a | synchronous on Teams (team AL2020) |
Further material
ESIR2-SI-S8-Projet: Software Development Project
Professors: Johann Bourcier, Stéphanie Challita and Benoit Combemale
todo…


 The women break and burn pieces of reed in the fire.
Comments
1) |han≠kass'o observed this practice himself, 2) p.7826v: see The power of cutting possessed by the reed and quartz, 3) This story is found in Book VIII-21
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
October 1878
Categories
Custom and daily life, Healing and ailing, Artefact and dress
Keywords
healing (a reed 'cuts' a cold) , healing (and curing) , healing (using a reed necklace) , healing (of children) , healing (of colds) , illness (a reed 'cuts' a cold) , illness (a child's cold) , illness (the healing of) , illness (a reed necklace used to cure a little child's) , child (its cold is cured using a reed necklace) , necklace (used in curing a child's cold) , necklace (of reed, used to cure a child's cold) , necklace (the making of) , necklace (women make) , necklace (made of reed is wound around a child's neck) , reed (used in a necklace) , reed (used to cure a child's cold) , reed (-pieces are burnt in the fire) , reed (are threaded on a ligament) , reed (made into a necklace) , reed ('cuts' a cold) , reed (the healing properties of) , reed (necklace of, used as a remedy)
Story Pages
7826-7827


?SMITHSONIAN
INSTITUTION
From
THE
UNITED
STATES
NATIONAL
HERBARIUM
BIOLOGICAL
EXPLORATION
CONDUCTED
BY
DR.
L.
ABBOTT
Vicinity
of
Mission,
Fonds
Varettes
meters
Ç
_
j
_
u
&X1U
8.UQV0
altitude
about
1,000
NEW
YORK
BOTANICAL
GARDEN
E.
C.
LEONARD,
Collector
01529656
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Things You Can Buy:
Stress Balls
Price: 10 Table Bucks
Buy
Medium Size Fusion Cubes
Price: 15 Table Bucks
Buy
Putty Stress Balls
Price: 20 Table Bucks
Buy


Export Item Renderer for use in Repeat Grid
Export as string converts the element into a string.
View the source code to see the element markup
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
The grid item renderer below is using the export as string option and then that HTML is repeated in a grid
Grid inside of a Group
Item
1.00
Item
1.00
Item
1.00
Item
1.00


1000000000000000000 Wei = 1 Ether (18 zeroes)
In this case the contract owner himself generates tokens for the ether
After that, the owner will have a 100.50 *
50<PHONE_NUMBER>00000000 / 1<PHONE_NUMBER>00000000 = 10050 (display as 100.50)
Contract will receive 50 ether


Until Freedom is an intersectional social justice organization rooted in the leadership of diverse people of color to address systemic and racial injustice.
At Until Freedom, we believe that those closest to the pain are closest to the solution, therefore, we focus on investing in those who are the most directly impacted by cyclical poverty, inequality, and state violence.
We are a clearinghouse for advocates, new & budding activists, seasoned community organizers, students, movement lawyers, entertainers and artists, policy experts, formerly & currently incarcerated individuals, and survivors of gun violence to work linearly to uplift all of our people.
Everyone is worthy, everyone is needed to win.
We seek to fulfill our mission through:
Campaign development with tangible demands - when presented with a tragedy, a case of injustice, or bad policy we have the ability to build a multi-faceted and multi-pronged campaign that includes digital communications, messaging, a power analysis, and winnable asks.
Rapid response and triage - we have the training and ability to quickly mobilize contacts, organizers, faith leaders, and organizations.
Training and resource development with a focus on underserved communities - we have expertise on a wide range of issues and have a track record of providing sought out workshops and trainings in organizing 101, building your brand, how to use social media effectively, media 101, financial literacy, crisis communications, and management, amongst other topics and subjects.
Media advocacy - effectively using the media to raise awareness on important issues impacting Black and brown communities through editorial board meetings, opinion pieces, relationship building
Partnerships with influencers to uplift campaigns and stories - we act as a clearinghouse for influencers and artists on issue campaigns and provide resources and information so they can amplify important community-led solutions
Faith-based outreach and engagement


Kuer Associates has carved out its own distinctive niche in the profession of advocacy within just a few years of its establishment. It is the only law firm which specializes in corporate and banking related matters as well as criminal law and is located at the inter-junction of the posh areas of New Patliputra Colony and Boring Road at Patna. It provides quality services in all of its areas of practice which include corporate law, criminal law, family law, property law, constitutional law, intellectual property rights, environmental law, medical law and arbitration.
The firm proudly boasts of its dedicated team of well qualified and technically trained lawyers, who are always eager to find out the best remedy available for their clients.
At Kuer Associates, we focus on providing high quality services in a manner which best suits our clients’ interests and is also time efficient. Our three pronged approach involves: Understanding Client’s Issues; Providing Exceptional Services; and Time Efficiency. This has been the key behind our solid roster of faithful clients.


Front-end development has become too big, too important, too complex and too expensive to be treated as a mere sub-part of the web development pipeline. In order to break free from survival mode and move toward “continuous innovation” we need... Read more...


Find the source code below:
https://github.com/jvdvleuten/angular-button-spinnerThis is a simple directive (765 bytes when minified) to add a spinner while loading some data for user feedback. It uses font-awesome to render the spinner by default, but you can customize all classes as can be seen below.
It can be used on every element (e.g.
, <button>
), as an attribute.
Best results are obtained when used in combination with font-awesome and bootstrap. I recommend using it in combination with ng-disable to prevent firing multiple requests.
Spin me, try me out now!
Spin me, try me out now! Such wow, many spin, much awesome
Look below for more examples
bower install angular-button-spinner --save
angular.module('MyApp', ['angular-button-spinner']);
In order to use the default icon, or the fa-icons in the examples, please install font-awesome as well.
button-spinner="loading" (required)
Base attribute for the directive to work
loading: scope variable that toggles the spinnerspinner-icon="classnames"
Customize the spinning icon
loading: classname(s) seperated with a space (e.g.: "fa fa-spinner fa-spin")button-append="classnames"
Appends an icon when not spinning
classnames: classname(s) seperated with a space (e.g.: "fa fa-chevron-right")button-prepend="classnames"
Prepends an icon when not spinning.
Note: When spinning, the spinning icon will be in place of the prepend icon.
Save
Save
Save
Save
Next
Next
Save
Save
Save
SaveNext
NextSave
Save
The example controller controls the loading variable in the scope. It resets after 2 seconds.
angular.module('MyApp').controller('MyController', ['$scope','$timeout', function ($scope, $timeout) { $scope.loading = false; $scope.toggleLoading = function() { $scope.loading = true; $timeout(function() { $scope.loading = false; }, 2000); }; } ]);


Notifies your app when the user is idle.
When the user is idle you can do things like preload some code-split bundles, download images that haven't been scrolled to, etc.
npm install react-idle
# or
yarn add react-idle
And then import it:
// using es modules
import Idle from 'react-idle'
// common.js
const Idle = require('react-idle').default
// AMD
// I've forgotten but it should work.
Or use script tags and globals.

And then grab it off the global like so:
const Idle = ReactIdle.default
// import { Idle } from 'react-idle'
const { default: Idle } = ReactIdle
ReactDOM.render((
<Idle
onChange={({ inactive }) => console.log({ inactive })}
render={({ inactive }) =>

{inactive
? "You are idle."
: "Stop doing stuff for 1 second."
}

}
/>
), DOM_NODE)
render
Whatever you'd like to render in response to changes in user activity.
// import { Idle } from 'react-idle'
const { default: Idle } = ReactIdle
ReactDOM.render((
<Idle render={({ inactive }) =>

{inactive
? "*whistles*"
: "Woah what now?"
}

}/>
), DOM_NODE)
timeout
How long before notifying that the user is inactive in milliseconds.
// import { Idle } from 'react-idle'
const { default: Idle } = ReactIdle
ReactDOM.render((
<Idle
timeout={2000}
render={({ inactive }) =>

{inactive
? "You are idle."
: "Stop doing stuff for 2 seconds."
}

}
/>
), DOM_NODE)
onChange
Called whenever the user's activity state changes, a great time to change the owner component's state, or to kick off some imperative work like pre-fetching code-split bundles or images.
// import { Idle } from 'react-idle'
const { default: Idle } = ReactIdle
class App extends React.Component {
state = {
cornifyLoaded: false
}
preloadCornify = () => {
const script = document.createElement('script')
script.onload = () => this.setState({ cornifyLoaded: true })
script.src = 'http://www.cornify.com/js/cornify.js'
document.body.appendChild(script)
}
cornify = () => {
window.cornify_add()
}
render() {
return (

{this.state.cornifyLoaded === false && (
<Idle timeout="1000" onChange={({ inactive}) => {
if (inactive) {
this.preloadCornify()
}
}}/>
)}
<button
disabled={!this.state.cornifyLoaded}
onClick={this.cornify}
>Make Some Happiness</button>

)
}
}
ReactDOM.render(<App/>, DOM_NODE)
events
The window events to listen for activity, defaults to [ "mousemove", "mousedown", "keydown", "touchstart", "scroll" ]
.
Released under MIT license.
Copyright © 2017-present React Training LLC


--- layout: home title: Y Naught subtitle: Learning Math by mistakes and missteps ---
This is a place to explore Mathematics by learning with our mistakes. My aim is to study different fields of Mathematics and share my experiences with you. However, I am not going to omit all the mess that happens between each theorem and its book-like proof. In every step I want you to see every single bit of bad ideas and mistakes in order to understand why something isn't the case. More importantly, I want you to know the answers to some of the "why not?" that happen in the process of doing Math.
Let us begin! This is Y Naught.


Ernest Adu signs long term deal at Inter Allies
Defender Ernest Adu has signed a long term contract with Ghana Premier League side Inter Allies ahead of the upcoming season.
The player, who spent last season on loan at Division One side Asokwa Deportivo, returns to the club to ink a long term deal.
Adu is expected to be a key member of the Eleven is to One Lads ahead of the season, which begins next month.
“I’m very happy to be here at Allies. It’s a beautiful club and I am ready for this new challenge,” he told Interallies.com.
“I thank everyone who made this move possible and grateful for the confidence shown in me.”
The Eleven is to One lads have been active in the off-season, having signed Kingsley Braye from Cape Coast strikers, Kofi Frimpong and Issah Mahmud from Asokwa Deportivo and are looking at inking a deal with former forward Isaac Osae
The Ghana Football Association announced on Wednesday, the new season will begin on December 21, 2019.


This is a sub-structure in CSL_Aif2PdCommonSetup. This structure is used for configuring the routing parameters of protocol decoder. More...
#include <csl_aif2.h>
Data Fields | |
| Uint8 | RouteTs |
| Uint8 | RouteType |
| Uint16 | RouteAddr |
| Uint8 | RouteLink |
| CSL_Aif2RouteMask | RouteMask |
This is a sub-structure in CSL_Aif2PdCommonSetup. This structure is used for configuring the routing parameters of protocol decoder.
| Uint16 CSL_Aif2PdRoute::RouteAddr |
OBSAI address field in header
| Uint8 CSL_Aif2PdRoute::RouteLink |
Link number for which to apply this routing rule
| CSL_Aif2RouteMask CSL_Aif2PdRoute::RouteMask |
controls how many OBSAI time stamp bits to use in the reception routing.
| Uint8 CSL_Aif2PdRoute::RouteTs |
OBSAI time stamp in header. Used to extend addressing by using the TS field The number of bits of TS to compare is controlled via the ctrl field.
| Uint8 CSL_Aif2PdRoute::RouteType |
OBSAI type field in header


--- date: 2010-02-15T00:00:00Z published: true title: Web Numbr | Track numbers from anywhere on the web url: /2010/02/15/web-numbr-track-numbers-from-anywhere-on-the-web/ ---
Extract any number from any webpage and graph how it changes over time
Cool little service.


A product name is required
You have to pick a category for the product is required
You can't leave the review field empty


--- layout: post title: Free eBook on developing with the Microsoft Stack date: '2009-07-10T09:33:00.001+01:00' author: solrevdev tags: modified_time: '2009-07-10T09:33:28.977+01:00' blogger_id: tag:blogger.com,1999:blog-31446756.post-532515417342671712 blogger_orig_url: http://www.solrevdev.com/2009/07/free-ebook-on-developing-with-microsoft.html ---


(a) SEM micrograph and (b) EDX spectra analysis of the Na 3AlF 6:60% Cr 3+ phosphors heat-treated at 700 °C for 36 h. (c) Comparative emission spectra and (d) decay curves of the Na 3AlF 6:60% Cr 3+ before (green dotted curve) and after (red dotted curve) heat treatment.


|
STEP 9: Using the sonifyFormsWithHandlers Method
|
Up until now in this tutorial we've shown how a form can be sonified by explicitly adding event handlers to all of the elements of the form. Now, in a complex form, not only can this add quite a bit of HTML and JavaScript code to your page, but it also creates a fair amount of work for you. What if there were a wondrous and magical way to sonify a form without even touching the form's HTML? Too good to be true, right? Well, get ready to act pleasantly surprised.
At this point we'll depart into some wicked DOM (Document Object Model) Voodoo and make our lives one whole helluva lot easier. "Document Object Model?" you ask. Well, if you've ever coded an image rollover behavior for a page in a Web site, then you've already been exposed to the DOM. Basically, browsers expose all the HTML elements on a page to the JavaScript scripting environment. This is referred to as "reflection", since the HTML elements on a page are "reflected" to JavaScript in the form of objects.
Now, because elements of an HTML page can be accessed using JavaScript, it becomes possible to write JavaScript code to automatically scan for specific types of elements on an HTML page and, if desired, actually modify the properties of any elements. This principle can be applied quite effectively to form elements, where it is possible using JavaScript to scan a document for all form elements and add event handlers as needed to sonify the elements.
We're not going to get into the frightening details of how this is done, because Beatnik, Inc. has already gone to the trouble of creating just the code needed to automatically sonify all elements of all forms on any HTML page. This code is neatly packaged into the Music Object Extension - Wizards module. What we will be looking at is how to use the methods provided in this extension to conveniently sonify forms in various ways. We will be continuing with the same form as we've used in the earlier steps of this tutorial, and we will show how the same results from the earlier steps can be achieved with less work using "Music Object Extension - Wizards".
In this first step using the extension, we will use Groovoids to achieve the same level of sonification as we saw in the earlier step Adding the Submit and Reset Button Sounds. And we will achieve these same results with much less sonification code, thanks to the Music.sonifyFormsWithHandlers static method found in this extension.
The Music.sonifyFormsWithHandlers method lets you sonify all the elements of all forms on any HTML page using handlers. All you need to do is supply the method with the desired handlers that are to be executed for each type of form element event that can occur. For this method, handlers must be string parameters containing the JavaScript code that is to be executed when a specific event occurs. For instance, in this page's example we have used the handler
Now try out the form below. Interact with it. It should sound remarkably familiar.
There are many form element events that can be sonified automatically using the Music.sonifyFormsWithHandlers method, and a parameter is provided for each of these events, as follows...
In this example we have used almost all of the above parameters to sonify the form. Now, take a look at the HTML source code for this example to see how the Music.sonifyFormsWithHandlers method of Music Object Extension - Wizards has been used...
<TITLE>Sonified Forms Example</TITLE>    <FORM NAME="productForm" METHOD=GET ACTION="thanks.html">

    Blue Bass & the Neurotic Fishes
   -- Merchandise --

   1. Select your poison...
 <INPUT TYPE=checkbox NAME=tshirt> T-shirt ($15.95)

 Color	  <SELECT NAME=tshirtColor> <OPTION>Oil Slick Black <OPTION>Spiritual White <OPTION SELECTED>Blood Clot Red <OPTION>Summer Sky Blue <OPTION>Underwater Aqua <OPTION>Radioactive Green <OPTION>Militia Khaki <OPTION>Neon Pink </SELECT>

 Size	  <INPUT TYPE=radio NAME=tshirtSize>Small <INPUT TYPE=radio NAME=tshirtSize CHECKED>Medium <INPUT TYPE=radio NAME=tshirtSize>Large <INPUT TYPE=radio NAME=tshirtSize>X-Large <INPUT TYPE=radio NAME=tshirtSize>XX-Large

 <INPUT TYPE=checkbox NAME=mug> Commemorative Reunion Mug ($19.95) - with printed mugshot of a band member of your choice

 Band Member	  <SELECT NAME=mugPicture> <OPTION SELECTED>Blue Bass (lead vocals & bass guitar) <OPTION>Alec Littlefish (lead guitar & vocals) <OPTION>Joe "The Octopus" Malone (drums & percussion) <OPTION>Humphrey Proudfin (keyboards & vocals) <OPTION>Gill Stronglung (harmony vocals) <OPTION>Neville "The Blowfish" Ohrensborg (sax & horns) </SELECT>

 Mug Size	  <SELECT NAME=mugSize> <OPTION>Diet Size (9 Fl.Oz.) <OPTION SELECTED>Average Stomach (12 Fl.Oz) <OPTION>Big Mama (20 Fl.Oz) </SELECT>

 Albums ($15.95 each)
 <INPUT TYPE=checkbox NAME=album1989> Underwater Blues (released 1989)
 <INPUT TYPE=checkbox NAME=album1991> The Suffocating Sky (released 1991)
 <INPUT TYPE=checkbox NAME=album1992> Suckerfish Rising (released 1992)
 <INPUT TYPE=checkbox NAME=album1994> Psychedelic Abyss (released 1994)
 <INPUT TYPE=checkbox NAME=album1997> The Little Fish That Could (released 1997)
 <INPUT TYPE=checkbox NAME=album1998> Have You Eaten Fish Today (new release)

   2. Pay for the poison...

 Type of Credit Card	  <INPUT TYPE=radio NAME=creditCardType>American Express <INPUT TYPE=radio NAME=creditCardType CHECKED>VISA <INPUT TYPE=radio NAME=creditCardType>Mastercard

 *Name on Credit Card	 <INPUT TYPE=text SIZE=30 NAME=creditCardName>

 *Credit Card Number	 <INPUT TYPE=text SIZE=30 NAME=creditCardNumber>

 Expiration Date	  <SELECT NAME=creditCardExpirationYear> <OPTION SELECTED>1998 <OPTION>1999 <OPTION>2000 <OPTION>2001 <OPTION>2002 <OPTION>2003 <OPTION>2004 </SELECT> <SELECT NAME=creditCardExpirationMonth> <OPTION SELECTED>01 Jan <OPTION>02 Feb <OPTION>03 Mar <OPTION>04 Apr <OPTION>05 May <OPTION>06 Jun <OPTION>07 Jul <OPTION>08 Aug <OPTION>09 Sep <OPTION>10 Oct <OPTION>11 Nov <OPTION>12 Dec </SELECT>

   3. Deliver the poison...

 Shipping & Handling Option	  <SELECT NAME=shippingOption> <OPTION>US Mail (7 day delivery) <OPTION SELECTED>UPS (2 day delivery) <OPTION>Fedex (overnight delivery) </SELECT>

 *Name	 <INPUT TYPE=TEXT NAME=shippingAddressName SIZE=40>

 *Address Line 1	 <INPUT TYPE=TEXT NAME=shippingAddressLine1 SIZE=40>

 Address Line 2	 <INPUT TYPE=TEXT NAME=shippingAddressLine2 SIZE=40>

 *City	 <INPUT TYPE=TEXT NAME=shippingAddressCity SIZE=40>

 *State (or Province, or Region)	 <INPUT TYPE=TEXT NAME=shippingAddressState SIZE=40>

 *Zip Code (or Postal Code)	 <INPUT TYPE=TEXT NAME=shippingAddressZip SIZE=40>

 *Country	 <INPUT TYPE=TEXT NAME=shippingAddressCountry SIZE=40 VALUE="USA">

  <INPUT TYPE=reset VALUE="Reset and start over"> 	  <INPUT TYPE=submit NAME=submitButton VALUE="BUY the poison NOW!!!">

  </FORM>   |
In the source code listing above, all the code needed for sonification of the form is highlighted in red. One of the first things you should notice, towards the top of the source code, is how the JavaScript file "music-object-x-wizards.js" that implements Music Object Extension - Wizards has been sourced into the page immediately following the sourcing in of the "music-object.js" file. It is important that Music Object extensions always be sourced after the core "music-object.js" file has first been sourced in, otherwise the extensions will not work.
Towards the bottom of the source code listing you will see the block of code (highlighted in red) that is responsible for actually sonifying the form. Three key things are taking place in this block of code...
IMPORTANT : It's very important that the methods inside the "Music Object Extension - Wizards" module only be called once a document has finished loading in, as calling these methods while a document is still loading may, in some cases, cause unpredictable results.
Now, remember the long list of parameters we discussed earlier? This is an example of those parameters in action. Wherever there is a form element event to be sonified you will see a string parameter containing a JavaScript statement that plays a Groovoid through the Music Object instance "formSounds". And wherever a form element event is not to be sonified you will see an empty string.
In case you're finding it a little hard to map the parameter values in this method call to the parameters we discussed earlier, consider the following table...
|
A Beatnik Player instance is embedded for the Music Object instance "formSounds" using the stubEmbed method.
Now, if you want to quickly go back and revisit the earlier step Adding the Submit and Reset Button Sounds, you may truly come to appreciate the power and convenience of Music Object extensions. Not only is the form sonification using this new approach easier, but it also is far less intrusive in the actual HTML source of your Web pages.
While the Music.sonifyFormsWithHandlers method is convenient, we didn't just stop there. In the next step of this tutorial you'll see how the Music.sonifyFormsWithGroovoids method makes things even easier still...


|
FuelSDK-CSharp
|
Additional Inherited Members | |
| Public Member Functions inherited from FuelSDK.Soap | |
| FuelSDK.CreateResponse | Create (FuelSDK.CreateRequest request) |
| FuelSDK.RetrieveResponse | Retrieve (FuelSDK.RetrieveRequest1 request) |
| FuelSDK.UpdateResponse | Update (FuelSDK.UpdateRequest request) |
| FuelSDK.DeleteResponse | Delete (FuelSDK.DeleteRequest request) |
| FuelSDK.QueryResponse | Query (FuelSDK.QueryRequest1 request) |
| FuelSDK.DescribeResponse | Describe (FuelSDK.DescribeRequest request) |
| FuelSDK.ExecuteResponse1 | Execute (FuelSDK.ExecuteRequest1 request) |
| FuelSDK.PerformResponse | Perform (FuelSDK.PerformRequest request) |
| FuelSDK.ConfigureResponse | Configure (FuelSDK.ConfigureRequest request) |
| FuelSDK.ScheduleResponse | Schedule (FuelSDK.ScheduleRequest request) |
| FuelSDK.VersionInfoResponse1 | VersionInfo (FuelSDK.VersionInfoRequest request) |
| FuelSDK.ExtractResponse | Extract (FuelSDK.ExtractRequest1 request) |
| FuelSDK.GetSystemStatusResponse | GetSystemStatus (FuelSDK.GetSystemStatusRequest request) |


\usepackage[vmargin=1in,hmargin=1in]{geometry}
taxize
is a taxonomic toolbelt for R. taxize
wraps APIs for a large suite of taxonomic databases availab on the web.
taxize
First, install and load taxize
into the R session.
install.packages("taxize")
library(taxize)
Advanced users can also download and install the latest development copy from GitHub.
This is a common task in biology. We often have a list of species names and we want to know a) if we have the most up to date names, b) if our names are spelled correctly, and c) the scientific name for a common name. One way to resolve names is via the Global Names Resolver (GNR) service provided by the Encyclopedia of Life. Here, we are searching for two misspelled names:
library(taxize)
temp <- gnr_resolve(names = c("Helianthos annus", "Homo saapiens"))
temp[, -c(1, 4)]
## matched_name data_source_title
## 1 Helianthus annuus L. Catalogue of Life
## 2 Helianthus annus GBIF Taxonomic Backbone
## 3 Helianthus annus EOL
## 4 Helianthus annus L. EOL
## 5 Helianthus annus uBio NameBank
## 6 Homo sapiens Linnaeus, 1758 Catalogue of Life
The correct spellings are Helianthus annuus and Homo sapiens. Another approach uses the Taxonomic Name Resolution Service via the Taxosaurus API developed by iPLant and the Phylotastic organization. In this example, we provide a list of species names, some of which are misspelled, and we'll call the API with the tnrs function.
mynames <- c("Helianthus annuus", "Pinus contort", "Poa anua", "Abis magnifica",
"Rosa california", "Festuca arundinace", "Sorbus occidentalos", "Madia sateva")
tnrs(query = mynames)[, -c(5:7)]
## Calling http://taxosaurus.org/retrieve/68ddeca6675e528921c98ba807046804
## submittedName acceptedName sourceId score
## 9 Helianthus annuus Helianthus annuus iPlant_TNRS 1
## 10 Helianthus annuus Helianthus annuus NCBI 1
## 4 Pinus contort Pinus contorta iPlant_TNRS 0.98
## 5 Poa anua Poa annua iPlant_TNRS 0.96
## 3 Abis magnifica Abies magnifica iPlant_TNRS 0.96
## 7 Rosa california Rosa californica iPlant_TNRS 0.99
## 8 Rosa california California NCBI 1
## 2 Festuca arundinace Festuca arundinacea iPlant_TNRS 0.99
## 1 Sorbus occidentalos Sorbus occidentalis iPlant_TNRS 0.99
## 6 Madia sateva Madia sativa iPlant_TNRS 0.97
It turns out there are a few corrections: e.g., Madia sateva should be Madia sativa, and Rosa california should be Rosa californica. Note that this search worked because fuzzy matching was employed to retrieve names that were close, but not exact matches. Fuzzy matching is only available for plants in the TNRS service, so we advise using EOL's Global Names Resolver if you need to resolve animal names.
taxize takes the approach that the user should be able to make decisions about what resource to trust, rather than making the decision. Both the EOL GNR and the TNRS services provide data from a variety of data sources. The user may trust a specific data source, thus may want to use the names from that data source. In the future, we may provide the ability for taxize to suggest the best match from a variety of sources.
Another common use case is when there are many synonyms for a species. In this example, we have three synonyms of the currently accepted name for a species.
mynames <- c("Helianthus annuus ssp. jaegeri", "Helianthus annuus ssp. lenticularis",
"Helianthus annuus ssp. texanus")
tsn <- get_tsn(mynames)
library(plyr)
ldply(tsn, itis_acceptname)
submittedTsn acceptedName acceptedTsn
1 525928 Helianthus annuus 36616
2 525929 Helianthus annuus 36616
3 525930 Helianthus annuus 36616
Another task biologists often face is getting higher taxonomic names for a taxa list. Having the higher taxonomy allows you to put into context the relationships of your species list. For example, you may find out that species A and species B are in Family C, which may lead to some interesting insight, as opposed to not knowing that Species A and B are closely related. This also makes it easy to aggregate/standardize data to a specific taxonomic level (e.g., family level) or to match data to other databases with different taxonomic resolution (e.g., trait databases).
A number of data sources in taxize provide the capability to retrieve higher taxonomic names, but we will highlight two of the more useful ones: Integrated Taxonomic Information System (ITIS) and National Center for Biotechnology Information (NCBI). First, we'll search for two species, Abies procera} and Pinus contorta* within ITIS.
specieslist <- c("Abies procera", "Pinus contorta")
classification(specieslist, db = "itis")
##
## Retrieving data for species 'Abies procera'
##
##
## Retrieving data for species 'Pinus contorta'
##
## http://www.itis.gov/ITISWebService/services/ITISService/getFullHierarchyFromTSN?tsn=181835
## http://www.itis.gov/ITISWebService/services/ITISService/getFullHierarchyFromTSN?tsn=183327
## $`Abies procera`
## rankName taxonName tsn
## 1 Kingdom Plantae 202422
## 2 Subkingdom Viridaeplantae 846492
## 3 Infrakingdom Streptophyta 846494
## 4 Division Tracheophyta 846496
## 5 Subdivision Spermatophytina 846504
## 6 Infradivision Gymnospermae 846506
## 7 Class Pinopsida 500009
## 8 Order Pinales 500028
## 9 Family Pinaceae 18030
## 10 Genus Abies 18031
## 11 Species Abies procera 181835
##
## $`Pinus contorta`
## rankName taxonName tsn
## 1 Kingdom Plantae 202422
## 2 Subkingdom Viridaeplantae 846492
## 3 Infrakingdom Streptophyta 846494
## 4 Division Tracheophyta 846496
## 5 Subdivision Spermatophytina 846504
## 6 Infradivision Gymnospermae 846506
## 7 Class Pinopsida 500009
## 8 Order Pinales 500028
## 9 Family Pinaceae 18030
## 10 Genus Pinus 18035
## 11 Species Pinus contorta 183327
It turns out both species are in the family Pinaceae. You can also get this type of information from the NCBI by doing classification(specieslist, db = 'ncbi')
.
Instead of a full classification, you may only want a single name, say a family name for your species of interest. The function *tax_name} is built just for this purpose. As with the classification
function you can specify the data source with the db
argument, either ITIS or NCBI.
tax_name(query = "Helianthus annuus", get = "family", db = "itis")
##
## Retrieving data for species 'Helianthus annuus'
##
## http://www.itis.gov/ITISWebService/services/ITISService/getFullHierarchyFromTSN?tsn=36616
## family
## 1 Asteraceae
tax_name(query = "Helianthus annuus", get = "family", db = "ncbi")
##
## Retrieving data for species 'Helianthus annuus'
## family
## 1 Asteraceae
I may happen that a data source does not provide information on the queried species, than one could take the result from another source and union the results from the different sources.
As mentioned most databases use a numeric code to reference a species. A general workflow in taxize is: Retrieve Code for the queried species and then use this code to query more data/information.
Below are a few examples. When you run these examples in R, you are presented with a command prompt asking for the row that contains the name you would like back; that output is not printed below for brevity. In this example, the search term has many matches. The function returns a data.frame of the matches, and asks for the user to input what row number to accept.
get_tsn(searchterm = "Heliastes", searchtype = "sciname")
##
## Retrieving data for species 'Heliastes'
## combinedname tsn
## 1 Heliastes bicolor 615238
## 2 Heliastes chrysurus 615250
## 3 Heliastes cinctus 615573
## 4 Heliastes dimidiatus 615257
## 5 Heliastes hypsilepis 615273
## 6 Heliastes immaculatus 615639
## 7 Heliastes opercularis 615300
## 8 Heliastes ovalis 615301
##
## More than one TSN found for species 'Heliastes'!
##
## Enter rownumber of species (other inputs will return 'NA'):
##
## Input accepted, took species 'Heliastes bicolor'.
## 1
## "615238"
## attr(,"class")
## [1] "tsn"
In another example, you can pass in a long character vector of taxonomic names:
splist <- c("annona cherimola", "annona muricata", "quercus robur")
get_tsn(searchterm = splist, searchtype = "sciname")
##
## Retrieving data for species 'annona cherimola'
##
##
## Retrieving data for species 'annona muricata'
##
##
## Retrieving data for species 'quercus robur'
## [1] "506198" "18098" "19405"
## attr(,"class")
## [1] "tsn"
In another example, note that no match at all returns an NA:
get_uid(sciname = c("Chironomus riparius", "aaa vva"))
##
## Retrieving data for species 'Chironomus riparius'
##
##
## Retrieving data for species 'aaa vva'
## [1] "315576" NA
## attr(,"class")
## [1] "uid"
Ecologists are increasingly taking a phylogenetic approach to ecology, applying phylogenies to topics such as the study of community structure, ecological networks, functional trait ecology. Yet, Many biologists are not adequately trained in reconstructing phylogenies. Fortunately, there are some sources for getting a phylogeny without having to know how to build one; one of these is for angiosperms, called Phylomatic . We have created a workflow in taxize that accepts a species list, and taxize works behind the scenes to get higher taxonomic names, which are required by Phylomatic to get a phylogeny. Here is a short example, producing the tree in figure (Fig. 1).
taxa <- c("Poa annua", "Lupinus arboreus", "Helianthus annuus")
tree <- phylomatic_tree(taxa = taxa)
tree$tip.label <- taxize_capwords(tree$tip.label)
plot(tree, cex = 1)
Input the taxonomic names
Fetch the tree - the formatting of names and higher taxonmy is done within the function
Captilize the species names
Plot the tree
Behind the scenes the function phylomatic_tree
retrieves a Taxonomic Serial Number (TSN) from ITIS for each species name, then a string is created for each species like this poaceae/oryza/oryza_sativa
(with format family/genus/genus_epithet
). These strings are submitted to the Phylomatic API, and if no errors occur, a phylogeny in newick format is returned. The phylomatic_tree()
function also cleans up the newick string and converts it to an ape phylo
object. The output from phylomatic_tree()
is a phylo
object, which can be used for plotting and phylogenetic analyses. Be aware that Phylomatic has certain limitations - refer to the paper describing Phylomatic and the website [http://phylodiversity.net/phylomatic/][http://phylodiversity.net/phylomatic/].
There are currently no resources for getting a phylogeny of animals simply from species names. However, a few projects are working on this problem, including the Open Tree of Life. We will incorporate these resources when the appropriate APIs are available.
If someone is not a taxonomic specialist on a particular taxon he likely does not know what children taxa are within a family, or within a genus. This task becomes especially unwieldy when there are a large number of taxa downstream. You can of course go to a website like Wikispecies or Encyclopedia of Life to get downstream names. However, taxize provides an easy way to programatically search for downstream taxa, both for the Catalogue of Life (CoL) and the Integrated Taxonomic Information System. Here is a short example using the CoL in which we want to find all the species within the genus Apis (honey bees).
col_downstream(name = "Apis", downto = "Species")[[1]]
## childtaxa_id childtaxa_name childtaxa_rank
## 1 6971712 Apis andreniformis Species
## 2 6971713 Apis cerana Species
## 3 6971714 Apis dorsata Species
## 4 6971715 Apis florea Species
## 5 6971716 Apis koschevnikovi Species
## 6 6845885 Apis mellifera Species
## 7 6971717 Apis nigrocincta Species
The result from the above call to col_downstream()
is a data.frame that gives a number of columns of different information.
There are a number of things we can do once we have the correct taxonomic names. One thing we can do is ask about the conservation status of a species (IUCN Red List of Threatened Species). We have provided a set of functions, iucn_summary
and iucn_status
, to search for species names, and extract the status information, respectively. Here, we search for the Panther and Lynx.
ia <- iucn_summary(c("Panthera uncia", "Lynx lynx"))
iucn_status(ia)
## Panthera uncia Lynx lynx
## "EN" "LC"
It turns out that the panther has a status of endangered (EN) and the lynx has a status of least concern (LC).
Biologist often need to match different sets of data tied to species. For example, trait-based approaches are a promising tool in ecology. One problem is that abundance data must be matched with trait databases. These two data tables may contain species information on different taxonomic levels and possibly data must be aggregated to a joint taxonomic level, so that the data can be merged. taxize can help in this data-cleaning step, providing a reproducible workflow:
We can use the mentioned classification
-function to retrieve the taxonomic hierarchy and then search the hierarchies up- and downwards for matches. Here is an example to match a species with names on three different taxonomic levels.
A <- "gammarus roeseli"
B1 <- "gammarus roeseli"
B2 <- "gammarus"
B3 <- "gammaridae"
A_clas <- classification(A, db = 'ncbi')
##
## Retrieving data for species 'gammarus roeseli'
B1_clas <- classification(B1, db = 'ncbi')
##
## Retrieving data for species 'gammarus roeseli'
B2_clas <- classification(B2, db = 'ncbi')
##
## Retrieving data for species 'gammarus'
B3_clas <- classification(B3, db = 'ncbi')
##
## Retrieving data for species 'gammaridae'
B1[match(A, B1)]
## [1] "gammarus roeseli"
A_clas[[1]]$Rank[tolower(A_clas[[1]]$ScientificName) %in% B2]
## [1] "genus"
A_clas[[1]]$Rank[tolower(A_clas[[1]]$ScientificName) %in% B3]
## [1] "family"
If we find a direct match (here Gammarus roeseli), we are lucky. But we can also match Gammaridae with Gammarus roeseli, but on a lower taxonomic level. A more comprehensive and realistic example (matching a trait table with an abundance table) is given in the vignette on matching.
In biology, one can asks questions at varying taxonomic levels. One may perform analyses on different taxonomic levels. This use case is easily handled in taxize. A function called tax_agg
will aggregate community data to a specific taxonomic level. In this example, we take data of 5 species and aggregate them to family level. Again we can specify if we want to use data from ITIS or NCBI.
data(dune, package = 'vegan')
df <- dune[ , 1:5]
colnames(df) <- c("Bellis perennis", "Empetrum nigrum", "Juncus bufonius",
"Juncus articulatus", "xxx")
head(df)
## Bellis perennis Empetrum nigrum Juncus bufonius Juncus articulatus xxx
## 2 3 0 0 0 0
## 13 0 0 3 0 0
## 4 2 0 0 0 0
## 16 0 0 0 3 0
## 6 0 0 0 0 0
## 1 0 0 0 0 0
agg <- tax_agg(df, rank = 'family', db = 'ncbi')
##
## Retrieving data for species 'Bellis perennis'
##
##
## Retrieving data for species 'Empetrum nigrum'
##
##
## Retrieving data for species 'Juncus bufonius'
##
##
## Retrieving data for species 'Juncus articulatus'
##
##
## Retrieving data for species 'xxx'
##
## No UID found for species 'xxx'!
agg
##
## Aggregated community data
##
## Level of Aggregation: FAMILY
## No. taxa before aggregation: 5
## No. taxa after aggregation: 4
## No. taxa not found: 1
head(agg$x)
## Asteraceae Ericaceae Juncaceae xxx
## 2 3 0 0 0
## 13 0 0 3 0
## 4 2 0 0 0
## 16 0 0 3 0
## 6 0 0 0 0
## 1 0 0 0 0


+++
title = "Kaptainwutax-docs"
linkTitle = "Kaptainwutax-docs"
+++
{{< blocks/cover loading="lazy" title="Kap's libraries made easy !" image_anchor="top" height="full" color="orange" >}}
{{< /blocks/cover >}}
{{% blocks/lead color="dark" %}}
This site provides explanation to use kaptainwutax's libraries.
The first thing you should do is create a new project in a folder by doing `gradle init`.
Then you add those lines in your build.gradle:
```groovy
repositories {
mavenCentral()
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.KaptainWutax:SEED:master-SNAPSHOT'
}
```
{{% /blocks/lead %}}
{{< blocks/section color="300" >}}
{{% blocks/feature icon="fa-lightbulb" title="Batteries included !" %}}
The librairies mimic enterely the Minecraft part use for world generation which allow to find specific seed and/or formation.
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!"%}}
I would love your feedback and your input on what to do next, please head over to [Github](https://github.com/hube12/kaptainwutax-lib-docs/wiki/Helping) to learn how !
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!" url="https://twitter.com/NeilSeed" %}}
For announcement of latest features etc.
{{% /blocks/feature %}}
{{< /blocks/section >}}
{{< blocks/section color="orange" >}}
This is the media section
{{< /blocks/section >}}
{{< blocks/section >}}
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/hube12/kaptainwutax-lib-docs" %}}
We do a [Pull Request](https://github.com/hube12/kaptainwutax-lib-docs/pulls) contributions workflow on **GitHub**. New users are always welcome!
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!" url="https://twitter.com/kaptainwutax" %}}
For announcement of latest features etc.
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-discord" title="Join us on discord!" url="https://discord.gg/7P3nqzZ" %}}
To chat with us!
{{% /blocks/feature %}}
{{< /blocks/section >}}


{"New password"}: {"Your password must be at least 6 characters."}
{"Verify new password"}: {"Your password doesn't match."}


Next: cpg - Codepage, Previous: shx - Shape Index, Up: Shapefile [Contents][Index]
Module (shapefile prj)
.
The prj
files contains information about the map projection.
For example 2
PROJCS["SWEREF99_TM",GEOGCS["GCS_SWEREF99",DATUM["D_SWEREF99",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",15.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
Which pretty printed becomes.
PROJCS[ "SWEREF99_TM", GEOGCS[ "GCS_SWEREF99", DATUM["D_SWEREF99",SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433] ], PROJECTION["Transverse_Mercator"], PARAMETER["False_Easting",500000.0], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",15.0], PARAMETER["Scale_Factor",0.9996], PARAMETER["Latitude_Of_Origin",0.0], UNIT["Meter",1.0] ]
The parser currently only handles the compact version, and produces the following S-expression.
(PROJCS "SWEREF99_TM" (GEOGCS "GCS_SWEREF99" (DATUM "D_SWEREF99" (SPHEROID "GRS_1980" 6378137.0<PHONE_NUMBER>01)) (PRIMEM "Greenwich" 0.0) (UNIT "Degree" 0.0174532925199433)) (PROJECTION "Transverse_Mercator") (PARAMETER "False_Easting" 500000.0) (PARAMETER "False_Northing" 0.0) (PARAMETER "Central_Meridian" 15.0) (PARAMETER "Scale_Factor" 0.9996) (PARAMETER "Latitude_Of_Origin" 0.0) (UNIT "Meter" 1.0))
Reads projection data from port, returing sexp as above.


%include file="../header_bs_v1.html" />
Location:
All
Delivery SSF
Store SF
Margin Only:
No
Yes
Export


QUALITY CHOICE LUBRICANT TEARS EYE - glycerin, hypromelloses and polyethylene glycol 400 solution/ drops
CHAIN DRUG MARKETING ASSOCIATION INC
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Active ingredients Purpose
Glycerin 0.2%..................................................................................Lubricant
Hypromellose 0.2%..........................................................................Lubricant
Polyethylene glycol 400 1%..............................................................Lubricant
Uses
Do not use:
When using this product
Stop use and ask a doctor if
Keep out of reach of children. If swallowed, get medical help or
contact a Poison Control Center right away
Directions
Other information
Inactive ingredients
benzalkonium chloride, boric acid, dextrose, glycine, magnesium chloride,
potassium chloride, purified water, sodium borate, sodium chloride, sodium
citrate, sodium lactate.
|
QUALITY CHOICE LUBRICANT TEARS EYE
glycerin, hypromellose, polyethylene glycol 400 solution/ drops | ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
|
| Labeler - CHAIN DRUG MARKETING ASSOCIATION INC (011920774) |


A Customisable CSS Library for Beginners
CSML makes it easy for beginners to style their HTML. All you have to do is choose the colours you wish to use for your project by filling out the simple form below. CSML will work it's magic and generate a custom stylesheet that you can use.
Using CSML is really simple. Just write your HTML then simply add your custom styling attributes to your HTML elements and your styling will be applied.
Make Me Blue
Color:
Use the textboxes below to define the colours you wish to use:-
Use the textboxes below to define the background colours you wish to use:-


--- layout: presentation title: "PKI Fundamentals" image: /assets/img/padlock.jpg --- PKI Fundamentals Filevine Tech Talk February 13th, 2023 Brendon Thiede Developer by training Site Reliability Engineer Segment analyzer Overview Protecting information Verifying identity Managing trust Cryptography Symmetric Asymmetric Public Key Infrastructure Certificate Authorities Certificates Certificate Management In the Wild HTTPS VPN Secure email SSH/SFTP Best Practices Understand the Recipient "Class"Private ←→ Public Rotation Revocation Scalability Conclusion Commonly used and supported Simplicity over efficiency Only part of the journey Questions?
Filevine Tech Talk February 13th, 2023


Pen Styling
Click anywhere in the background to close the pen tab
Pen Color
Click on any color to change the color of your pen
Pen Size
Click and drag the slider to change the size of your pen
Pen Type
Click these buttons to change what each stroke does: make it a pen, eraser, or highlighter
Shapes
Click anywhere in the background to close the Shapes tab
Click any Shape to close the Shapes tab.
Then click and drag to draw the selected shape, and click and drag again to move the shape
Updating...


--- layout: tweet ---
BCN ✈ AMS ✈ PDX
2/10/2019, 6:51:53 PM
Favs: 9
Retweets: 0
Global Entry, totally worth it.
2/11/2019, 4:55:30 PM
Favs: 5


Wait, did I not just check that the error was non-nil? And "Dewey" seemed legit...
The explanation is in the FAQ : Why is my nil error value not equal to nil?


Low Income Scheme prototype
Alpha sprint 4
Created 28 June 2016
Pensioner MVP
- Start page
- My lis home page
- Part help outcome
- Does anyone else live in your home?
- Save and restore version A
Exemption prototypes
What we plan to test:
- Full end to end journey for a single person or couple.
- They may receive benefits.
- They may live in their own home or rent.
- We will test savings, children living at home, a friend living at home.
What we changed:
- Improved journey for others in the home.
- Improved the exemption screens.
- Improved the what you need to apply screen.
- Improved save and continue / sign in screens.
- Improved feedback on the hub screen where a section is started / not started / complete.
- Added 2 step verification.
- User can now tell us about other properties.
What we found:
- Users we tested with (low digital skills) found the sign in confusing. They seemed to be more inclined to use a memorable word.
- They were overwhelmed by the sign in pages, there is too much being asked for at once.
- The page that tells users what they will need to apply is not direct enough. One of our users was confused by the title Low Income Scheme, 'I'm not on the l low income scheme' - she thought it was a type of benefit. Many of the users don't know what the low income scheme is.
- Users tried to select the whole row on the LIS home screen.


There’s been a fair bit of recent discussion about why most biologists are (uncritically) adaptationists. I don’t dispute this but think it’s worth reconsidering why. Some have argued that this is because of intuition (adaptation just makes sense). However I think a better explanation lies in how we teach - or fail to teach - evolution and acknowledge that teaching non-adaptive evolutionary processes is difficult. Most biologists haven’t had a full course in evolution. Instead, most have had a week or two in their college introductory biology class and if lucky, one week in their high school biology class. If they went to graduate school, they likely had no coursework that explicitly considers evolutionary biology. This is also true for most teachers, so most do not understand evolutionary biology with enough comfort to go beyond well-trodden examples of adaptations to explore with students how and why evolution may not be adaptive. We also must recognize that understanding sources and effects of non-adaptive variation is difficult. It takes a certain depth of education in evolutionary biology to be able to teach non-adaptive processes well. Understanding drift, mutation, and recombination depends more heavily on understanding of statistics and probability, topics that are also generally lacking for most scientists and educators. Another problem is more philosophical, but I think equally important. I wrote the following in my Teaching Statement for my tenure packet several years ago.
“One of Darwin’s most important contributions, many have argued[1], is that he replaced “typological thinking” with “population thinking.” For typologists, the “wild type” is central to all scientific inquiry; for population thinkers, the “wild type” is an average of many individuals whose variation is the subject of study. Yet this dichotomy still pervades biological education and research. Nearly all of what we are taught in biology begins with a description of discrete characters with certain function: this enzyme performs that reaction, this species lives in that environment. This may be a necessary starting point, but we rarely progress to illustrate that these “facts” are actually average population phenotypes that may not actually exist in any one individual. In my discipline of microbiology it is almost impossible to study single individuals, so the entire field relies on populations usually without recognizing this point. This shortcoming in our curricula likely contributes to how readily we overemphasize differences among individuals and to the widespread doubt of the effectiveness of evolution.”
Here, the relevant point is that if most students believe in an idealized wild-type, then diversity is underestimated and under- appreciated. Appreciating
genetic drift is therefore even more remote. If we wish to tackle these problems with biology education, one solution might include developing examples that
includes both adaptive and non-adaptive processes. Building in concepts of probability and effects of population size (think conservation genetics) would also
be very helpful. Above all, getting teachers to invest more than the standard “one week at the end of the semester” to teach evolution would be a huge victory,
one that would benefit all of our education in biology.


This is the official AtomicDEX mobile beta program channel -
Android: https://play.google.com/store/apps/details?id=com.komodoplatform.atomicdex - iOS: https://testflight.apple.com/join/c2mOLEoC - Please use https://github.com/KomodoPlatform/atomicdex/issues for bug reports and feature requests. For critical security bug reports please do send us your encrypted (https://pgp.mit.edu/pks/lookup?op=get&search=0x379287998EE6CF47) report to<EMAIL_ADDRESS>and allow up to 24h for reply. For atomicDEX API (mm2) related issue reports or feature requests please do use https://github.com/KomodoPlatform/atomicDEX-API/issues
100 messages
Before 05-Dec-19 12:00 AM
smk762 - dracocanis ominator30-Oct-19 07:09 PM
oh yeah, and a quick btw... excessive spamming via CLI bots is discouraged (and your fail rate will be visible for all to see )
1
Artist30-Oct-19 07:13 PM
what?
isnt that tomorrow?
Andersen30-Oct-19 07:16 PM
people warming before test
Artist30-Oct-19 07:20 PM
ooh I see
what is the minimum swap btw?
𝙊𝙊𝙊𝙊30-Oct-19 07:29 PM
hmmm, excessive spamming using CLI-bots sounds like proper stress-testing to me. Maybe for a future test...
smk762 - dracocanis ominator30-Oct-19 07:39 PM
you can do it if you want, but if it kills your stats it'll be visible. find the fastest swap rate with a good success rate would be commendable. Setting a bot to try and swap every 0.01 seconds is "excessive", just be reasonable. This is trying to test mobile swaps too, and spambots are obviously potentially a bit more viscious.
1
Regnar30-Oct-19 07:47 PM
I'll chip into a prize for an address that has the highest number of swaps and highest success rate that DIDN'T win a prize otherwise. @smk762 - dracocanis ominator
3
1
Artist30-Oct-19 08:18 PM
Amazing @Regnar
1
kmd.dex30-Oct-19 08:26 PM
can somebody please send me 10 rick RBvMpFRcPq6mpMsMf5jNX6iCe5VKLYxnoB
i use the fauced and spend those 7.777rick and I can't get more
Regnar30-Oct-19 08:27 PM
@kmd.dex sell the Morty for Rick
or use the Morty Faucet
kmd.dex30-Oct-19 08:27 PM
i got 1.8morty left
Oszy30-Oct-19 08:27 PM
i told you three times today to put up an order and i will fill it
kmd.dex30-Oct-19 08:28 PM
i need those morty for tomorrow stress test
Oszy30-Oct-19 08:28 PM
put up 0.01 morty for 10 rick
kmd.dex30-Oct-19 08:28 PM
@Oszy pls tag me to receive a notification
Oszy30-Oct-19 08:28 PM
then 0.01 rick for 10 morty
tagged you 2 times today (edited)
1
kmd.dex30-Oct-19 08:29 PM
ok i fo that now
Oszy30-Oct-19 08:29 PM
let me know
Regnar30-Oct-19 08:30 PM
Getting a deal on them Ricks and Mortys
Oszy30-Oct-19 08:30 PM
53 morty orders book is getting crazy :d
76
kmd.dex30-Oct-19 08:31 PM
@Oszy osz i did 0.01morty for 10rick
Oszy30-Oct-19 08:33 PM
let me check trough 90 orders to find it
phm8730-Oct-19 08:34 PM
I'd like to give a try on atomicdex-API (the CLI atomicdex without GUI), sorry if it is not the right channel to ask. Do you know if the CLI calls are defined and documented somewhere ? Will they stay as they are or is it planned to change all CLI stuff later ?
Do you plan to record some stats about the stress test? If Yes, what kind of stats? Thanks
1
TS30-Oct-19 09:38 PM
Hey. Are there Russian speakers here?
I was told to update the wallet to version 0 2 5. deleted, installed a new one, entered the saved SEED. It took 2 times to enter the password and 2 times to enter the PIN code. There are no test coins and transaction history inside. black screen. I don’t remember the name of the old wallet. It was required to give a name.
Oszy30-Oct-19 09:44 PM
Name of the old wallet doesn't matter, only your seed is important.
with reinstalling the app tx history will be always wiped.
if you can't see your coins, double check the seed for typos, added extra spaces, and see if the R address is the same as before.
if the screen is still black after uninstalling from the phone, and reinstalling the app from the app store, please let us know, so we can investigate further.
android or ios by the way?
@TonyL you might be able to help him in russian?
TS30-Oct-19 09:51 PM
android screen is black. There are no test coins on the balance. The SEED has been recorded and verified several times. I turned on the function of visual verification of the phrase at the input, that's right. Also opened the phrase in the wallet, there is no error. I was asked to enter the password twice after entering the phrase, should it be?
Oszy30-Oct-19 09:52 PM
yes. twice to confirm they are the same.
cross question, if the screen is black, how can you tell there are no test coins in your wallet
TS30-Oct-19 09:58 PM
I also had two unconfirmed orders, they are not there either. only btc and kmd with zero balance
Oszy30-Oct-19 09:59 PM
if you reinstall those will be wiped as they are stored locally.
activate the other coins with the + sign
TS30-Oct-19 10:01 PM
and get through the tap again? I activated, balance zero
Oszy30-Oct-19 10:03 PM
I don't really understand. Is some coin balance missing? which coin? how much is missing? what was the balance before you reinstalled?
TS30-Oct-19 10:05 PM
I made several transactions between test coins. I had about 6.7, equal in quantity. Does the screen remain black? I also want to pay attention, when creating an order, the button for setting the number of coins is very small, you can’t see the numbers.
@t0sma yes, stats are being recorded. Primarily swap counts and success rates. There will be a public leaderboard to see who is swapping most and most successfully
Privatoshi30-Oct-19 11:35 PM
Can someone from AtomicDex, please talk to defiprime.com, about getting us listed in the DEX category?
We have ETH, BAT, DAI, USDC, TUSD & PAX, listed, as well.(edited)
“We launched on mainnet three months ago, after two respectable auditors independently audited our smart contracts. Since our launch, we achieved this and that milestones, and XXXX users using our app regularly. We also integrated with a few well known DeFi protocols.”
Getting same response on Morty
Can't broadcast transaction
faucet is under drainer/abuser "attack" at the moment. Should be fine as soon as @pbca26 set limits back (we thought to remove the claiming limits for RICK/MORTY for 24 hours to help participants but somebody abusing it)
Showing 90 orders on my screen but not actually in the order book.... I'm not quite sure that I'm understand what is the issue
Berg31-Oct-19 05:52 AM
Is there a plan to release on FDroid?
/ APK hosted somewhere that isn't google play store?
Berg31-Oct-19 06:06 AM
Is the DEX down currently or is my app messed up
farl31-Oct-19 06:09 AM
Very annoying that I can’t paste my password into the app to open my wallet. Need I type it over everytime when I login?
Privatoshi31-Oct-19 06:10 AM
I can't get the Android version to load
Artist31-Oct-19 06:22 AM
Btw
After 30 transactions
Each transaction increases chances or its just 30 per entry
TonyL31-Oct-19 06:27 AM
@Berg@Privatoshi there was a bug for update from old versions - app reinstalling should help (before deletion ensure you control the seed). If uninstall/install will not help please DM me
@Artist each swap increases the chances for a raffle prize


Call for Symposium Proposals and Workshop Proposals
Eighteenth-Biennial Meeting, 7-10 November 2002 Milwaukee, Wisconsin
Members of the PSA are invited to submit proposals for symposia and workshops to be presented at the PSA 2002 meeting in Milwaukee, Wisconsin November 7-10. Proposals must include sufficient supporting material to permit the program committee to evaluate the quality and interest of the symposium or workshop. The proposal should include:
Please indicate
clearly the name of the organizer or contact person for the purposes of
communication with the Program Committee.
In addition to
inviting proposals in traditional areas of the philosophy of science, the
Program Committee wants also to encourage the submission of proposals that
involve participation of working scientists.
This year there
are two changes to note:
In addition to
invited symposia sessions and contributed papers sessions, PSA 2002 will
feature workshops. The symposia will
follow the traditional format, whereby the papers presented will be submitted
for consideration to be published after the meeting in a supplementary issue of
Philosophy of Science. The
evaluation for publication will be on entire sessions, that is, all papers in
the session will be published together.
All papers presented at PSA2002 will be electronically archived,
including those accepted for publication and those not accepted for publication
in the Journal.
Workshops will follow a new format, whereby there is no expectation that the papers presented will be submitted for review for publication. Authors may choose to have them archived in electronic form. This format may be more attractive to sessions involving participants from outside the philosophical community. For example, informational sessions on new developments in an area of science or an area of philosophy of science may want to adopt the workshop model.
We are going totally
electronic for this
meeting. That means that the abstracts
for the symposia and workshops will be available on-line prior to the
meeting. If participants in symposia or
workshops would like to make the texts of their presentations available
on-line, we will also publish them at the web site. It also means that all
submissions must be sent by email as attachments or uploaded at our interactive
web site.
UNTIL 15 JUNE
2001 Submissions are to be
sent by email as attachments in Portable Document Format (pdf), PostScript
(ps), Plain Text (ASCII) Word (doc) or HTML (html) to the following address<EMAIL_ADDRESS>AFTER 15 JUNE
2001 Submissions may be sent
EITHER by email as described above OR by means of an interactive web site at www.pitt.edu/~psa2002
Symposium
proposals should reach the chair of the Program Committee no later than
1 NOVEMBER
2001.
IMPORTANT: Any
submission accepted for publication in Philosophy of Science will have
to be ultimately submitted in a Word-compatible format. We encourage you to submit in such a format
initially, if at all possible.
The Program
Committee for PSA 2002 is as follows:
Robert Batterman
(Ohio State University)
Harvey R. Brown
(University of Oxford)
Craig Callender
(University of California, San Diego)
Malcolm Forster
(University of Wisconsin)
Helen Longino
(University of Minnesota)
Mohan Matthen
(University of British Columbia)
Sandra D. Mitchell
(University of Pittsburgh), Chair
Alexander
Rosenberg (Duke University)
All questions
about submissions should be directed to:
Sandra D.
Mitchell, Chair
PSA 2002 Program
Committee
History and
Philosophy of Science
1017 Cathedral of
Learning
University of
Pittsburgh
Pittsburgh,
PA 15260


Local
Weather
Generator
Locating your weather wherever you are ...
...
...
Get Weather
Farenheit/Celsius
by S.L.M


BOOMERANG
Copyright (c) 1982 Claude Duvernay
This game is played on an empty 9x9 square board:
There are the following set of pieces off board (as far as I can tell, there are two of each kind, except Ls and rectangles of size 3, which are four):
In the original game, each piece has two colors, one per side, so they may be flipped over (check rules).
- DROP - Select one of the off-board pieces, if necessary rotate it and drop it on a set of empty cells.
- Every adjacent enemy piece is flipped over, thus becoming friendly pieces.
- Adjacent means touching in at least one edge, not just in a corner.
- GOAL - When it is not possible to drop more pieces, wins the player with more points (one point per friendly stone; notice that each piece is made of several stones).
An example White's turn. If he drops the marked L, he will flip two black pieces as we can see in the second diagram.


HARRY AND THE HENDERSONS A film review by Bernie Keany Copyright 1987 Bernie Keany
I've decided I now know what reviewers are trying to say when they say a film has an "E.T." quality. What they mean is: "Are we really going to treat the first thing we don't understand this way? Will we poke, prod, cage and perhaps even surgically examine another living being in order to understand it?" Well, until I'm sure the answers to the above questions are no, I guess people should continue to make movies about the subject.
At the risk of being scoffed off the group, I'm posting a few favorable comments about HARRY AND THE HENDERSONS. While I realize Siskel and Ebert had nothing good to say about this film, I enjoyed it--a lot.
 John Lithgow gives another very good performance as the father of the Henderson clan.
Thinking Harry is dead and seeing a way to make a few $$ on the deal they load him on top of the family station wagon for the trip to Seattle (home). If only life was that simple. The rest of the movie revolves around the family reacting to this new guest and more of the plot which I shouldn't reveal. One plot twist I will give up is the fact that Harry is a vegetarian; this leads to alot of funny scenes. Don Ameche has a small but very good role as a Bigfoot expert.
The film also benefits from its setting in Washington and has great scenery. If you liked E.T. you'll like this movie.
Bernie ptsfa!bnk
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


HERCULES A film review by Phil Brady Copyright 1997 Phil Brady
Well, I had ducked both Pocohantas and The Lion King, so continued U.S. citizenship required that I go see the latest Disney animation, Hercules. Not that I wasn't looking forward to it..the promos made it clear that this was much lighter fare than recent Mouse droppings. And a happy film it is. An opening scan of Grecian urns is accompanied by the grave tones of a Charlton Heston voiceover, but before he gets into it, he is interrupted. "Too boring!", says a group of Muses, stepping down from their picture on an urn. Graciously, Chuck accedes to our new narrators, who form a rockin' Greek chorus (and anyone who's seen The Little Shop of Horrors can tell you: hip black chicks make the very best Greek choruses).
The basic story is normal for this franchise: coming-of-age for a not-so-typical youth.  Herc's quest to become a hero and return to Olympus is thwarted by the plotting Hades and Meg(ara), but you can see Joe, Mr. Applegate and Lola quite clearly. Meg works for Hades, in a standard seduction/soul-acquisition gig, but as she brings down Hercules, she falls in love with him. With apologies to Ray Walston, James Woods makes a much funnier Hades. Memorable for playing many jittery, dangerous heavies, Jimmy's real persona is funny, and very close to the Hades character, and Hades is played as a stand-up comic trying to take over the universe. "What is this, a crowd or a mosaic?", he asks when his opening joke bombs. His sarcastic exasperations over his minions' failures are very funny, and it's nice to see that Bobcat Goldthwait has found his niche, as a wretched goblin in service to Hades.
Additional casting gems are Danny DeVito as a not-so-Yoda mentor to young Hercules, and Rip Torn as Zeus. The movie makes a parody of its own genre, showing merchandising run rampant when Hercules becomes famous. When Zeus tells Herc that he isn't a hero yet, he protests: "But I'm an action-figure!" Priceless is a scene where an incredulous Hades notices that Bobcat is wearing "Herc-Air" sandals. Can't say much about the music, though. It gets us from this scene to that scene, but all of it was forgotten ten seconds later.  The designated single, "Go the Distance," meanders around, bumping into things. Michael Bolton does a cover over the closing credits, but methinks the coast is clear for a non-Disney Oscar in the music category.
Hercules was a very enjoyable film, and although I didn't leave the theater humming the music, I can sing its praises.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


C0 code coverage information
Generated on Sun Jan 06 23:15:42 -0500 2008 with rcov <IP_ADDRESS>
Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
1 require "openid/consumer/idres.rb"
2 require "openid/consumer/checkid_request.rb"
3 require "openid/consumer/associationmanager.rb"
4 require "openid/consumer/responses.rb"
5 require "openid/consumer/discovery_manager"
6 require "openid/consumer/discovery"
7 require "openid/message"
8 require "openid/yadis/discovery"
9 require "openid/store/nonce"
10
11 module OpenID
12 # OpenID support for Relying Parties (aka Consumers).
13 #
14 # This module documents the main interface with the OpenID consumer
15 # library. The only part of the library which has to be used and
16 # isn't documented in full here is the store required to create an
17 # Consumer instance.
18 #
19 # = OVERVIEW
20 #
21 # The OpenID identity verification process most commonly uses the
22 # following steps, as visible to the user of this library:
23 #
24 # 1. The user enters their OpenID into a field on the consumer's
25 # site, and hits a login button.
26 #
27 # 2. The consumer site discovers the user's OpenID provider using
28 # the Yadis protocol.
29 #
30 # 3. The consumer site sends the browser a redirect to the OpenID
31 # provider. This is the authentication request as described in
32 # the OpenID specification.
33 #
34 # 4. The OpenID provider's site sends the browser a redirect back to
35 # the consumer site. This redirect contains the provider's
36 # response to the authentication request.
37 #
38 # The most important part of the flow to note is the consumer's site
39 # must handle two separate HTTP requests in order to perform the
40 # full identity check.
41 #
42 # = LIBRARY DESIGN
43 #
44 # This consumer library is designed with that flow in mind. The
45 # goal is to make it as easy as possible to perform the above steps
46 # securely.
47 #
48 # At a high level, there are two important parts in the consumer
49 # library. The first important part is this module, which contains
50 # the interface to actually use this library. The second is
51 # openid/store/interface.rb, which describes the interface to use if
52 # you need to create a custom method for storing the state this
53 # library needs to maintain between requests.
54 #
55 # In general, the second part is less important for users of the
56 # library to know about, as several implementations are provided
57 # which cover a wide variety of situations in which consumers may
58 # use the library.
59 #
60 # The Consumer class has methods corresponding to the actions
61 # necessary in each of steps 2, 3, and 4 described in the overview.
62 # Use of this library should be as easy as creating an Consumer
63 # instance and calling the methods appropriate for the action the
64 # site wants to take.
65 #
66 # This library automatically detects which version of the OpenID
67 # protocol should be used for a transaction and constructs the
68 # proper requests and responses. Users of this library do not need
69 # to worry about supporting multiple protocol versions; the library
70 # supports them implicitly. Depending on the version of the
71 # protocol in use, the OpenID transaction may be more secure. See
72 # the OpenID specifications for more information.
73 #
74 # = SESSIONS, STORES, AND STATELESS MODE
75 #
76 # The Consumer object keeps track of two types of state:
77 #
78 # 1. State of the user's current authentication attempt. Things
79 # like the identity URL, the list of endpoints discovered for
80 # that URL, and in case where some endpoints are unreachable, the
81 # list of endpoints already tried. This state needs to be held
82 # from Consumer.begin() to Consumer.complete(), but it is only
83 # applicable to a single session with a single user agent, and at
84 # the end of the authentication process (i.e. when an OP replies
85 # with either <tt>id_res</tt>. or <tt>cancel</tt> it may be
86 # discarded.
87 #
88 # 2. State of relationships with servers, i.e. shared secrets
89 # (associations) with servers and nonces seen on signed messages.
90 # This information should persist from one session to the next
91 # and should not be bound to a particular user-agent.
92 #
93 # These two types of storage are reflected in the first two
94 # arguments of Consumer's constructor, <tt>session</tt> and
95 # <tt>store</tt>. <tt>session</tt> is a dict-like object and we
96 # hope your web framework provides you with one of these bound to
97 # the user agent. <tt>store</tt> is an instance of Store.
98 #
99 # Since the store does hold secrets shared between your application
100 # and the OpenID provider, you should be careful about how you use
101 # it in a shared hosting environment. If the filesystem or database
102 # permissions of your web host allow strangers to read from them, do
103 # not store your data there! If you have no safe place to store
104 # your data, construct your consumer with nil for the store, and it
105 # will operate only in stateless mode. Stateless mode may be
106 # slower, put more load on the OpenID provider, and trusts the
107 # provider to keep you safe from replay attacks.
108 #
109 # Several store implementation are provided, and the interface is
110 # fully documented so that custom stores can be used as well. See
111 # the documentation for the Consumer class for more information on
112 # the interface for stores. The implementations that are provided
113 # allow the consumer site to store the necessary data in several
114 # different ways, including several SQL databases and normal files
115 # on disk.
116 #
117 # = IMMEDIATE MODE
118 #
119 # In the flow described above, the user may need to confirm to the
120 # OpenID provider that it's ok to disclose his or her identity. The
121 # provider may draw pages asking for information from the user
122 # before it redirects the browser back to the consumer's site. This
123 # is generally transparent to the consumer site, so it is typically
124 # ignored as an implementation detail.
125 #
126 # There can be times, however, where the consumer site wants to get
127 # a response immediately. When this is the case, the consumer can
128 # put the library in immediate mode. In immediate mode, there is an
129 # extra response possible from the server, which is essentially the
130 # server reporting that it doesn't have enough information to answer
131 # the question yet.
132 #
133 # = USING THIS LIBRARY
134 #
135 # Integrating this library into an application is usually a
136 # relatively straightforward process. The process should basically
137 # follow this plan:
138 #
139 # Add an OpenID login field somewhere on your site. When an OpenID
140 # is entered in that field and the form is submitted, it should make
141 # a request to the your site which includes that OpenID URL.
142 #
143 # First, the application should instantiate a Consumer with a
144 # session for per-user state and store for shared state using the
145 # store of choice.
146 #
147 # Next, the application should call the <tt>begin</tt> method of
148 # Consumer instance. This method takes the OpenID URL as entered by
149 # the user. The <tt>begin</tt> method returns a CheckIDRequest
150 # object.
151 #
152 # Next, the application should call the redirect_url method on the
153 # CheckIDRequest object. The parameter <tt>return_to</tt> is the
154 # URL that the OpenID server will send the user back to after
155 # attempting to verify his or her identity. The <tt>realm</tt>
156 # parameter is the URL (or URL pattern) that identifies your web
157 # site to the user when he or she is authorizing it. Send a
158 # redirect to the resulting URL to the user's browser.
159 #
160 # That's the first half of the authentication process. The second
161 # half of the process is done after the user's OpenID Provider sends
162 # the user's browser a redirect back to your site to complete their
163 # login.
164 #
165 # When that happens, the user will contact your site at the URL
166 # given as the <tt>return_to</tt> URL to the redirect_url call made
167 # above. The request will have several query parameters added to
168 # the URL by the OpenID provider as the information necessary to
169 # finish the request.
170 #
171 # Get a Consumer instance with the same session and store as before
172 # and call its complete() method, passing in all the received query
173 # arguments and the <tt>return_to</tt> URL mentioned above.
174 #
175 # There are multiple possible return types possible from that
176 # method. These indicate the whether or not the login was
177 # successful, and include any additional information appropriate for
178 # their type.
179 class Consumer
180 attr_accessor :session_key_prefix
181
182 # Initialize a Consumer instance.
183 #
184 # You should create a new instance of the Consumer object with
185 # every HTTP request that handles OpenID transactions.
186 #
187 # session: the session object to use to store request information.
188 # The session should behave like a hash.
189 #
190 # store: an object that implements the interface in Store.
191 def initialize(session, store)
192 @session = session
193 @store = store
194 @session_key_prefix = 'OpenID::Consumer::'
195 end
196
197 # Start the OpenID authentication process. See steps 1-2 in the
198 # overview for the Consumer class.
199 #
200 # user_url: Identity URL given by the user. This method performs a
201 # textual transformation of the URL to try and make sure it is
202 # normalized. For example, a user_url of example.com will be
203 # normalized to http://example.com/ normalizing and resolving any
204 # redirects the server might issue.
205 #
206 # anonymous: A boolean value. Whether to make an anonymous
207 # request of the OpenID provider. Such a request does not ask for
208 # an authorization assertion for an OpenID identifier, but may be
209 # used with extensions to pass other data. e.g. "I don't care who
210 # you are, but I'd like to know your time zone."
211 #
212 # Returns a CheckIDRequest object containing the discovered
213 # information, with a method for building a redirect URL to the
214 # server, as described in step 3 of the overview. This object may
215 # also be used to add extension arguments to the request, using
216 # its add_extension_arg method.
217 #
218 # Raises DiscoveryFailure when no OpenID server can be found for
219 # this URL.
220 def begin(openid_identifier, anonymous=false)
221 manager = discovery_manager(openid_identifier)
222 service = manager.get_next_service(&method(:discover))
223
224 if service.nil?
225 raise DiscoveryFailure.new("No usable OpenID services were found "\
226 "for #{openid_identifier.inspect}", nil)
227 else
228 begin_without_discovery(service, anonymous)
229 end
230 end
231
232 # Start OpenID verification without doing OpenID server
233 # discovery. This method is used internally by Consumer.begin()
234 # after discovery is performed, and exists to provide an interface
235 # for library users needing to perform their own discovery.
236 #
237 # service: an OpenID service endpoint descriptor. This object and
238 # factories for it are found in the openid/consumer/discovery.rb
239 # module.
240 #
241 # Returns an OpenID authentication request object.
242 def begin_without_discovery(service, anonymous)
243 assoc = association_manager(service).get_association
244 checkid_request = CheckIDRequest.new(assoc, service)
245 checkid_request.anonymous = anonymous
246
247 if service.compatibility_mode
248 rt_args = checkid_request.return_to_args
249 rt_args[Consumer.openid1_return_to_nonce_name] = Nonce.mk_nonce
250 rt_args[Consumer.openid1_return_to_claimed_id_name] =
251 service.claimed_id
252 end
253
254 self.last_requested_endpoint = service
255 return checkid_request
256 end
257
258 # Called to interpret the server's response to an OpenID
259 # request. It is called in step 4 of the flow described in the
260 # Consumer overview.
261 #
262 # query: A hash of the query parameters for this HTTP request.
263 # Note that in rails, this is <b>not</b> <tt>params</tt> but
264 # <tt>params.reject{|k,v|request.path_parameters[k]}</tt>
265 # because <tt>controller</tt> and <tt>action</tt> and other
266 # "path parameters" are included in params.
267 #
268 # return_to: The return URL used to invoke the application.
269 # Extract the URL from your application's web request framework
270 # and specify it here to have it checked against the
271 # openid.return_to value in the response. If the return_to URL
272 # check fails, the status of the completion will be FAILURE.
273 #
274 # Returns a subclass of Response. The type of response is
275 # indicated by the status attribute, which will be one of
276 # SUCCESS, CANCEL, FAILURE, or SETUP_NEEDED.
277 def complete(query, return_to)
278 message = Message.from_post_args(query)
279 mode = message.get_arg(OPENID_NS, 'mode', 'invalid')
280 begin
281 meth = method('complete_' + mode)
282 rescue NameError
283 meth = method(:complete_invalid)
284 end
285 response = meth.call(message, return_to)
286 cleanup_last_requested_endpoint
287 if [SUCCESS, CANCEL].member?(response.status)
288 cleanup_session
289 end
290 return response
291 end
292
293 protected
294
295 def session_get(name)
296 @session[session_key(name)]
297 end
298
299 def session_set(name, val)
300 @session[session_key(name)] = val
301 end
302
303 def session_key(suffix)
304 @session_key_prefix + suffix
305 end
306
307 def last_requested_endpoint
308 session_get('last_requested_endpoint')
309 end
310
311 def last_requested_endpoint=(endpoint)
312 session_set('last_requested_endpoint', endpoint)
313 end
314
315 def cleanup_last_requested_endpoint
316 @session[session_key('last_requested_endpoint')] = nil
317 end
318
319 def discovery_manager(openid_identifier)
320 DiscoveryManager.new(@session, openid_identifier, @session_key_prefix)
321 end
322
323 def cleanup_session
324 discovery_manager(nil).cleanup(true)
325 end
326
327
328 def discover(identifier)
329 OpenID.discover(identifier)
330 end
331
332 def negotiator
333 DefaultNegotiator
334 end
335
336 def association_manager(service)
337 AssociationManager.new(@store, service.server_url,
338 service.compatibility_mode, negotiator)
339 end
340
341 def handle_idres(message, return_to)
342 IdResHandler.new(message, return_to, @store, last_requested_endpoint)
343 end
344
345 def complete_invalid(message, unused_return_to)
346 mode = message.get_arg(OPENID_NS, 'mode', '<No mode set>')
347 return FailureResponse.new(last_requested_endpoint,
348 "Invalid openid.mode: #{mode}")
349 end
350
351 def complete_cancel(unused_message, unused_return_to)
352 return CancelResponse.new(last_requested_endpoint)
353 end
354
355 def complete_error(message, unused_return_to)
356 error = message.get_arg(OPENID_NS, 'error')
357 contact = message.get_arg(OPENID_NS, 'contact')
358 reference = message.get_arg(OPENID_NS, 'reference')
359
360 return FailureResponse.new(last_requested_endpoint,
361 error, contact, reference)
362 end
363
364 def complete_setup_needed(message, unused_return_to)
365 if message.is_openid1
366 return complete_invalid(message, nil)
367 else
368 return SetupNeededResponse.new(last_requested_endpoint, nil)
369 end
370 end
371
372 def complete_id_res(message, return_to)
373 if message.is_openid1
374 setup_url = message.get_arg(OPENID1_NS, 'user_setup_url')
375 if !setup_url.nil?
376 return SetupNeededResponse.new(last_requested_endpoint, setup_url)
377 end
378 end
379
380 begin
381 idres = handle_idres(message, return_to)
382 rescue DiscoveryFailure, ProtocolError => why
383 return FailureResponse.new(last_requested_endpoint, why.message)
384 else
385 return SuccessResponse.new(idres.endpoint, message,
386 idres.signed_fields)
387 end
388 end
389 end
390 end
Generated using the rcov code coverage analysis tool for Ruby
version <IP_ADDRESS>.