This policy discloses the privacy practices for most websites within the case.edu/cwru.edu domain. Specific sites within the case.edu domain may have different privacy practices. If applicable, consult the privacy statement on each page.
We understand the privacy concerns of our website visitors. Case Western Reserve University collects information from visitors when they access case.edu to provide visitors with a better online experience with the university.
By using this website, you agree to abide by this Privacy Statement, the university’s Legal Privacy Notice as well as any other applicable University Technology policies.
The university may collect some identifiable information about how visitors access and use websites affiliated with the case.edu domain. This information includes IP address, browser, geolocation, device type and more. Cookies may be used to facilitate the navigation of this site, but these cookies do not contain information that alone can identify individuals.
The generic information collected by Case Western Reserve is based on IP address, which is the location of a computer or network. For admission and recruiting purposes, some IP addresses and cookies may be collected and stored; when used in conjunction with a third-party system, individuals' information may be identified. This information will not be used beyond admissions offices, unless required to do so by law. In most other instances, Case Western Reserve will not associate an IP address and/or web usage data with any other university information that could specifically identify a visitor, unless required to do so by law.
Some webpages within case.edu may also collect personal data through forms, surveys, event registration, newsletter subscriptions, etc. This information helps Case Western Reserve communicate with individuals who have expressed interest in receiving information from the university, such as registering for an event, submitting an application, etc.
With non-personally identifiable information such as IP addresses, Case Western Reserve is able to:
If a visitor fills out a form, completes a survey or subscribes to a newsletter using personal information, such as an email address, the email address provided may be used to send information, respond to inquiries, and/or other requests or questions.
Case Western Reserve implements a variety of security measures to maintain the safety of visitors’ personal information, including the use of a secure server for private data, such as credit cards, Social Security numbers, etc. After a transaction is complete, private information is not stored on our servers.
Remember: No method of transmission over the Internet, or method of electronic storage, is 100 percent secure.
Yes. Cookies are small files that a site or its service provider transfers to a visitor’s computer's hard drive through his/her web browser that enables Case Western Reserve to recognize the browser, capture and remember certain information, such as user preferences, and collect aggregate data about site traffic.
Visitors may refuse the use of cookies by adjusting browser settings—though disabling cookies may prevent visitors from using the full functionality of some CWRU websites.
Cookies may be set by an organization other than Case Western Reserve, such as YouTube, Twitter, Facebook, Google Plus or other social media services for which the university has implemented “plug-ins.” Information on their cookie policies can be found on these sites directly.
Case Western Reserve does not sell, trade, or otherwise transfer personally identifiable information gathered from website traffic to outside parties.
CWRU may share user information with third-party partners as necessary to provide and improve web services or other communications to users. Third parties who receive user information for this purpose are prohibited from using or sharing the data for any purpose other than providing services to users.
Information also may be provided to third parties in circumstances in which doing so is necessary or appropriate to: satisfy any applicable law, regulation, legal process or governmental request; detect, prevent or otherwise address fraud, security or technical issues; or protect the rights, property or safety of campus, users or others. Non-personally identifiable visitor information may be provided to other parties for marketing, advertising or other uses.
Websites on case.edu often provide links to third-party websites as a convenience to users. Case Western Reserve University does not control third-party websites and is not responsible for the content or privacy practices of any linked-to, third-party websites or any hyperlink in a linked-to website.
Many sections of case.edu use Google Analytics to help understand how visitors use the website. Through Google Analytics, the university can obtain visitors’ cookie data, such as the source, medium and IP address. This information is transmitted to and stored by Google on its servers. Google will use this information to evaluate visitors’ website use, compile reports on website activity, and provide other services relating to Internet usage. Google may also transfer this information to third parties where required to do so by law, or where such third parties process the information on Google’s behalf. Google will not associate a visitor’s IP address with any other data held by Google. By using case.edu, visitors consent to Google’s data collection and processing.
Find more information on Google Analytics terms of use and privacy practices.
Some parts of case.edu may use the Google AdWords remarketing service to advertise to previous visitors to the site through third-party websites. Third-party vendors, including Google, use cookies to inform, optimize, and serve ads based on someone's past visits to this website. Any data collected will be used in accordance with Case Western Reserve and Google’s privacy policies.
You may opt-out of Google Analytics for Display Advertising and customize Google Display Network ads by visiting the Ads Preferences Manager.
This website privacy statement applies only to information collected through case.edu/cwru.edu, and not to information collected offline.
Please also visit our Terms and Conditions page, which establishes the use, disclaimers, and limitations of liability governing the use of the website at case.edu/legal.html.
Changes to Case Western Reserve University’s website privacy policy will be posted on this page, and include an update to the policy date.
This policy was updated Jan. 19, 2017.
If there are any questions regarding this privacy policy, email webteam@case.edu.


Notebooks
Story: More about the hyena and its doings
More about the hyena and its doings
Title
More about the hyena and its doings
Collection
Summary
Habits of the Hyena (L II.-9. 921-927, 928-930). The hyena steals springbok from the lynx and the wild dog and takes it to its family in its hole. It does not hunt.
Comments
1) This story is found in Book II-9
Contributors
Date
23 – 24 November 1871
Categories
Keywords
hyena (steals food) , hyena (its nature and habits) , hyena (its diet) , hyena (its young) , hyena (its hole) , hyena (and lynx) , hyena (and wild dog) , hyena (does not hunt) , hunting (habits of the hyena)
Story Pages
926-927


Tourist works with QTip2. Let me show you.
This is an extremely minimal example. Look at the page source!


Hello! Welcome to my portfolio. I am an aspiring full stack web developer and/or technical business analyst with experience in constructing web applications through my time at the Rutgers Coding Bootcamp. I have a degree in economics from Stony Brook University, therefore I have a good understanding in analytics and business procedures. Some of my other skills include customer relations and teaching assistantship in finance. I am a quick learner, efficient, and very enthusiastic! Below I have included my social media links.


Class MpGameService<TGame, TPlayer>
Service managing games for a MpGameModuleBase<TService, TGame, TPlayer>.
Implements
Namespace: Discord.Addons.MpGame
Assembly: Discord.Addons.MpGame.dll
Syntax
public class MpGameService<TGame, TPlayer>
where TGame : GameBase<TPlayer>
where TPlayer : Player
Type Parameters
| Name | Description |
|---|---|
| TGame | The type of game to manage. |
| TPlayer | The type of the Player object. |
Constructors
| Improve this Doc View SourceMpGameService(BaseSocketClient, IMpGameServiceConfig, Func<LogMessage, Task>)
Instantiates the MpGameService for the specified Game and Player type.
Declaration
public MpGameService(BaseSocketClient client, IMpGameServiceConfig mpconfig = null, Func<LogMessage, Task> logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
| BaseSocketClient | client | The Discord client. |
| Discord.Addons.MpGame.IMpGameServiceConfig | mpconfig | An optional config type. |
| Func<LogMessage, Task> | logger | An optional logging method. |
Properties
| Improve this Doc View SourceLogger
Logger function.
Declaration
protected Func<LogMessage, Task> Logger { get; }
Property Value
| Type | Description |
|---|---|
| Func<LogMessage, Task> |
MessageChannelComparer
A cached IEqualityComparer<IMessageChannel> instance to use when instantiating a Dictionary<IMessageChannel, TValue>. This is the same instance as DiscordComparers.ChannelComparer.
Declaration
protected static IEqualityComparer<IMessageChannel> MessageChannelComparer { get; }
Property Value
| Type | Description |
|---|---|
| IEqualityComparer<IMessageChannel> |
Examples
private readonly ConcurrentDictionary<IMessageChannel, MyData> _data
= new ConcurrentDictionary<IMessageChannel, MyData>(MessageChannelComparer);
Methods
| Improve this Doc View SourceAddPlayerAsync(TGame, TPlayer)
Adds a player to an ongoing game.
Declaration
public async Task<bool> AddPlayerAsync(TGame game, TPlayer player)
Parameters
| Type | Name | Description |
|---|---|---|
| TGame | game | The game instance. |
| TPlayer | player | The player to add. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
Examples
if (await GameService.AddPlayerAsync(Game, new MyPlayer(Context.User, Context.Channel)).ConfigureAwait(false))
await ReplyAsync($"**{Context.User.Username}** has joined.").ConfigureAwait(false);
|
Improve this Doc
View Source
AddUserAsync(IMessageChannel, IUser)
Add a user to join an unstarted game.
Declaration
public async Task<bool> AddUserAsync(IMessageChannel channel, IUser user)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | Public facing channel of this game. |
| IUser | user | The user. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
CancelGameAsync(IMessageChannel)
Cancel a game that has not yet started.
Declaration
public Task<bool> CancelGameAsync(IMessageChannel channel)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | Public facing channel of this game. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
Dispose()
Declaration
protected virtual void Dispose()
GetGameData(ICommandContext)
Gets the game metadata associated with this context.
Declaration
public MpGameService<TGame, TPlayer>.MpGameData GetGameData(ICommandContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| ICommandContext | context | The CommandContext to fetch metadata for. |
Returns
| Type | Description |
|---|---|
| MpGameService.MpGameData<> | A snapshot of the current game metadata. |
GetGameFromChannel(IMessageChannel)
Retrieve the game instance being played, if any.
Declaration
public TGame GetGameFromChannel(IMessageChannel channel)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | A message channel. Can be both the public-facing channel or the DM channel of one of the players. |
Returns
| Type | Description |
|---|---|
| TGame | The |
GetJoinedUsers(IMessageChannel)
Retrieve the users set to join an open game, if any.
Declaration
public IReadOnlyCollection<IUser> GetJoinedUsers(IMessageChannel channel)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | A message channel. Can be both the public-facing channel or the DM channel of one of the players. |
Returns
| Type | Description |
|---|---|
| IReadOnlyCollection<IUser> | The users set to join a new game, or an empty collection if there is no data. |
IsOpenToJoin(IMessageChannel)
Retrieve whether a game has been opened and users can join.
Declaration
public bool IsOpenToJoin(IMessageChannel channel)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | A message channel. Can be both the public-facing channel or the DM channel of one of the players. |
Returns
| Type | Description |
|---|---|
| Boolean | true if a game has been opened and users can join, otherwise false. |
KickPlayerAsync(TGame, TPlayer)
Kicks a player from an ongoing game.
Declaration
public Task<bool> KickPlayerAsync(TGame game, TPlayer player)
Parameters
| Type | Name | Description |
|---|---|---|
| TGame | game | The game instance. |
| TPlayer | player | The player to kick. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
OpenNewGameAsync(ICommandContext)
Prepare to set up a new game in a specified channel.
Declaration
public async Task<bool> OpenNewGameAsync(ICommandContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| ICommandContext | context | Context of where this game is intended to be opened. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
RemoveUserAsync(IMessageChannel, IUser)
Remove a user from an unstarted game.
Declaration
public async Task<bool> RemoveUserAsync(IMessageChannel channel, IUser user)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | Public facing channel of this game. |
| IUser | user | The user. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
Examples
if (await GameService.RemoveUserAsync(Context.Channel, user).ConfigureAwait(false))
await ReplyAsync($"**{user.Username}** has been kicked.").ConfigureAwait(false);
|
Improve this Doc
View Source
TryAddNewGameAsync(IMessageChannel, TGame)
Add a new game to the list of active games.
Declaration
public async Task<bool> TryAddNewGameAsync(IMessageChannel channel, TGame game)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | Public facing channel of this game. |
| TGame | game | Instance of the game. |
Returns
| Type | Description |
|---|---|
| Task<Boolean> | true if the operation succeeded, otherwise false. |
TryGetGameChannel(IDMChannel, out IMessageChannel)
Declaration
protected static bool TryGetGameChannel(IDMChannel dmChannel, out IMessageChannel publicChannel)
Parameters
| Type | Name | Description |
|---|---|---|
| IDMChannel | dmChannel | |
| IMessageChannel | publicChannel |
Returns
| Type | Description |
|---|---|
| Boolean |
TryUpdateOpenToJoin(IMessageChannel, Boolean)
Updates the flag indicating if a game can be joined or not.
Declaration
public bool TryUpdateOpenToJoin(IMessageChannel channel, bool newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| IMessageChannel | channel | A message channel. Can be both the public-facing channel or the DM channel of one of the players. |
| Boolean | newValue | The new value. |
Returns
| Type | Description |
|---|---|
| Boolean | true if the value was updated, otherwise false. |
Explicit Interface Implementations
| Improve this Doc View SourceIDisposable.Dispose()
Declaration
void IDisposable.Dispose()


Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
21, November 2019
panbak
Project name
#laravel #php #saas
Project Description
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.


A guitar virtual amplifier, very nice, small and cheap.
Power supply
Why
In second hand auctions, I managed to score a V-amp 2 and later a V-amp 3 but in the end I have only one power supply. So I hoped to make one for cheap and sell the "improved" V-Amp 2 therefore, maybe with an USB cord instead! Might not be that easy though...
Details
Unusual thing for this puppy is the power supply:
* 4 pins + casing type of connector (old mouse/keyboard style for the boomers)
* 11V **AC** and 20V **AC** : not DC!
After probing :
* Connector case is ground,
* Left/Right pair of pins are a AC (1 AC and 1 GND)
Opening the beast, the investigation continues:
* One AC signal (the 20v) after regulation by diodes goes to 2 15v regulators : 7815 to make 15v and 7915 to make -15v
* One other AC signal (the 11v ?) after regulation by diodes and caps stays as is
* Part of the above signal goes to an old faithful 7805 to become 5v (with a big fat heat sink)
// ... half a year later ... //
I bought this below venerable transformer, sirca 1978 edition (Showa 53 as we say here in Japan). It has the voltages I need with sufficient amps. Details are listed below.


Trump Shares Video of UFC Fighter Calling Him a 'Bad Motherfu**er
President Donald Trump shared a video on Twitter of UFC fighter Jorge Masvidal respectfully calling him a “bad motherfucker.”
by Charlie Spiering“No matter what your views on Trump as a president, the guy’s a bad motherfucker man,” Masvidal said.  Trump tweeted, sharing the video on Sunday.
Masvidal spoke to the press as Trump attended his UFC match in New York City on Saturday night.
Masvidal easily defeated Nate Diaz via third-round TKO at the Madison Square Garden fight.
A ringside physician for the New York State Athletic Commission ended the fight after the third round because of a cut over Diaz’s right eye.
President Trump compared the atmosphere of the fight to one of his political rallies and praised UFC president Dana White for his success.


a) Match Play. Red leads 2-0 to 7. Should Red double? If doubled, should White take?
pips Red=119 White=137
(CorrectAnswer= 0/0, ErrorScore= 0)
b) Money Play. Should Red double? If doubled, should White take?
I always use look at the money solution first as a benchmark and then adjust for the match score.
For money White loses too many gammons to make the take of the very clear double viable, but it is close due to White’s excellent structure and taking is only a small error. Any weak play by Red could turn this into a take.
At the match score it is still a double but now the take is very clear due to the power of White’s redoubles to 4.
I always use look at the money solution first as a benchmark and then adjust for the match score.
For money White loses too many gammons to make the take of the very clear double viable, but it is close due to White’s excellent structure and taking is only a small error. Any weak play by Red could turn this into a take.
At the match score it is still a double but now the take is very clear due to the power of White’s redoubles to 4.
Cube analysis 2-ply cubeless equity +0.653 0.651 0.425 0.011 - 0.349 0.082 0.004 Cubeful equities: 1. Double, pass +1.000 2. Double, take +1.068 (+0.068) 3. No double +0.644 (-0.356) Proper cube action: Double, pass


Barishal police recover bodies of 9 missing fishermen after trawler capsizes during cyclone in Bhola
by bdnews24.comThe bodies of nine fishermen, who went missing after a trawler capsized in Bhola, have been pulled from the Meghna River in Barishal.
A trawler sank in Bhola's Ilisha River during the cyclone on Sunday, said Barishal's Superintendent of Police Saiful Islam.
"The trawler was found at the mouth of the Meghna River in Mehendiganj. Later, police recovered the trawler along with the bodies of the nine fishermen."


Java Interfaces
Aperture services are implemented in Java. Java clients who wish to make use of Aperture services in process for performance reasons may call into Aperture's Service Provider Interfaces (SPIs).Guice annotations may be used as a method of injecting an instance of an Aperture SPI for use, without referencing a specific implementation in client code. In this case, implementations for Aperture SPIs are registered by modules referenced in a configuration file. An example web.xml configuration is provided as part of the aperture-server download.
View Aperture SPI Java Docs


Shakespeare in Love
[3.0/4.0]
We know William Shakespeare as the giant of English literature, but who was he before he was established? This is the question addressed by this film. As the story opens, Will Shakespeare is starting work on his latest play, the adventure/comedy, "Romeo and Ethel the Sea Pirate's Daughter". During this time period, the theater is of questionable repute and is always under threat of being shut down if the common mores are offended. The owner of the Rose Theater, Philip Henslowe, is pressuring Shakespeare to quickly finish and put on the play so he can ease his heavy debt burden. Viola De Lesseps is a young woman from a rich family who is in love with the theater, and fancies the works of Shakespeare in particular. She would love to be an actor, but in those days women are barred from the stage. She furtively dresses as a man, and lands the role of Romeo. Shakespeare falls in love with Viola shortly before discovering that she is in his play. They pursue a secret romance, even though her marriage to Lord Wessex has been arranged by her family and approved by the queen.
It is not necessary to be deeply familiar with the works of Shakespeare to enjoy this film, but it helps to have a good knowledge of "Romeo and Juliet". Since it is a work in progress as the story unfolds, we see how many of Shakespeare's experiences influence the actions and dialogue of the play, often in comic ways. Cleverly, we see that the experiences of Will and Viola parallel those of Romeo and Juliet. This technique was previously done in the 1989 French-Canadian film Jesus of Montreal. (I would recommend for anyone who enjoyed this film to also see that one.) Great effort was made with the cinematography, set, and costume to accurately reflect the time period, and at no point does it feel that what is presented is anything other than the end of the 16th century.
The film is not without flaws. The Lord Wessex character is too convenient a villain, and there is a partly deus ex machina resolution. However, to the film's credit, it avoids crowd-pleasing sentiment and stays with its intended direction. The dialog is consistently clever and witty. The acting is superb, particularly Joseph Fiennes and Gwyneth Paltrow as the two leads.
Recommended. Admirers of Shakespeare will love it, but non-afficionados will also find it an enjoyable comedy.
(c) 1999 Murali Krishnan The Art House Squatter http://pages.hotbot.com/movies/murali24/
-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
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


|
Hexagones
1.0
|
Header file of the Grid model class. More...
Go to the source code of this file.
Data Structures | |
| struct | TGridModel |
| An class representing the model of the hexagonal map. More... | |
Typedefs | |
| typedef struct TController | TController |
| typedef struct THex | THex |
| typedef struct TGridModel | TGridModel |
| An class representing the model of the hexagonal map. More... | |
Functions | |
| TGridModel * | New_TGridModel (TController *observator) |
| The constructor for create a TGridModel object. More... | |
| void | TGridModel_Change_Start (TGridModel *this, int x, int y) |
| Method to change the start tile position. More... | |
| void | TGridModel_Change_Goal (TGridModel *this, int x, int y) |
| Method to change the goal tile position. More... | |
| void | TGridModel_Random (TGridModel *this) |
| Method to randomly change the type of the tiles. More... | |
| double | TGridModel_Distance (TGridModel *this, THex *hex1, THex *hex2) |
| Method to obtain the cost of moving between two neighbouring tiles. More... | |
| double | TGridModel_Empty_Distance (TGridModel *this, THex *hex1, THex *hex2) |
| Method for obtaining the empty distance between two tiles. More... | |
| THex ** | TGridModel_Get_Neighbors (TGridModel *this, THex *hex, unsigned int all) |
| Method for obtaining the neighbors of a tile. More... | |
| arrow_id_t | TGridModel_Add_Arrow (TGridModel *this, THex *hex1, THex *hex2, color_name_t color) |
| Method for displaying an arrow between two tiles. More... | |
| void | TGridModel_Remove_Arrow (TGridModel *this, arrow_id_t arrow) |
| Method for removing an arrow between two tiles. More... | |
| text_id_t | TGridModel_Add_Text (TGridModel *this, THex *hex, const char *text) |
| Method for displaying an text (label) on a tile. More... | |
| void | TGridModel_Remove_Text (TGridModel *this, text_id_t text) |
| Method for removing an text on a tile. More... | |
| void | TGridModel_Reset_Model (TGridModel *this, color_name_t color) |
| Method for resetting the model. More... | |
| void | TGridModel_Reset_Results (TGridModel *this) |
| Method for removing all the arrows and texts. More... | |
| void | TGridModel_New_Free (TGridModel *this) |
| Method to free all ressources take by the grid model. More... | |
Header file of the Grid model class.
| typedef struct TGridModel TGridModel |
An class representing the model of the hexagonal map.
TGridModel is a class representing the model of the hexagonal map.
| TGridModel* New_TGridModel | ( | TController * | observator | ) |
The constructor for create a TGridModel object.
| observator | A pointer to the controller instance. |
| arrow_id_t TGridModel_Add_Arrow | ( | TGridModel * | this, |
| THex * | hex1, | ||
| THex * | hex2, | ||
| color_name_t | color | ||
| ) |
Method for displaying an arrow between two tiles.
| this | A pointer to the grid model object. |
| hex1 | The source tile. |
| hex2 | The destination tile. |
| color | The color name of the arrow. |
You do not have to call this method directly. You must use the Add_Arrow method of the TGridModel structure like this: model->Add_Arrow(model, hex1, hex2, BLUE);
| text_id_t TGridModel_Add_Text | ( | TGridModel * | this, |
| THex * | hex, | ||
| const char * | text | ||
| ) |
Method for displaying an text (label) on a tile.
| this | A pointer to the grid model object. |
| hex | The tile concerned. |
| text | The text to add. |
You do not have to call this method directly. You must use the Add_Text method of the TGridModel structure like this: model->Add_Text(model, hex1, "MyText");
| void TGridModel_Change_Goal | ( | TGridModel * | this, |
| int | x, | ||
| int | y | ||
| ) |
Method to change the goal tile position.
| this | A pointer to the grid model object. |
| x | The new x position of the goal tile. |
| y | The new y position of the goal tile. |
You do not have to call this method directly. You must use the Change_Goal method of the TGridModel structure like this: model->Change_Goal(model, 0, 0);
| void TGridModel_Change_Start | ( | TGridModel * | this, |
| int | x, | ||
| int | y | ||
| ) |
Method to change the start tile position.
| this | A pointer to the grid model object. |
| x | The new x position of the start tile. |
| y | The new y position of the start tile. |
You do not have to call this method directly. You must use the Change_Start method of the TGridModel structure like this: model->Change_Start(model, 0, 0);
| double TGridModel_Distance | ( | TGridModel * | this, |
| THex * | hex1, | ||
| THex * | hex2 | ||
| ) |
Method to obtain the cost of moving between two neighbouring tiles.
| this | A pointer to the grid model object. |
| hex1 | The first tile. |
| hex2 | The second tile. |
You do not have to call this method directly. You must use the Distance method of the TGridModel structure like this: model->Distance(model, hex1, hex2);
| double TGridModel_Empty_Distance | ( | TGridModel * | this, |
| THex * | hex1, | ||
| THex * | hex2 | ||
| ) |
Method for obtaining the empty distance between two tiles.
| this | A pointer to the grid model object. |
| hex1 | The first tile. |
| hex2 | The second tile. |
You do not have to call this method directly. You must use the Empty_Distance method of the TGridModel structure like this: model->Empty_Distance(model, hex1, hex2);
| THex** TGridModel_Get_Neighbors | ( | TGridModel * | this, |
| THex * | hex, | ||
| unsigned int | all | ||
| ) |
Method for obtaining the neighbors of a tile.
| this | A pointer to the grid model object. |
| hex | The tile. |
| all | If all is 1, the function also returns the walls. |
You do not have to call this method directly. You must use the Get_Neighbors method of the TGridModel structure like this: model->Get_Neighbors(model, hex1, 0);
| void TGridModel_New_Free | ( | TGridModel * | this | ) |
Method to free all ressources take by the grid model.
| this | A pointer to the grid model object. |
You do not have to call this method directly. You must use the Free method of the TGridModel structure like this: model->Free(model);
| void TGridModel_Random | ( | TGridModel * | this | ) |
Method to randomly change the type of the tiles.
| this | A pointer to the grid model object. |
You do not have to call this method directly. You must use the Random method of the TGridModel structure like this: model->Random(model);
| void TGridModel_Remove_Arrow | ( | TGridModel * | this, |
| arrow_id_t | arrow | ||
| ) |
Method for removing an arrow between two tiles.
| this | A pointer to the grid model object. |
| arrow | The ID of the arrow to remove. |
You do not have to call this method directly. You must use the Remove_Arrow method of the TGridModel structure like this: model->Remove_Arrow(model, arrow_id);
| void TGridModel_Remove_Text | ( | TGridModel * | this, |
| text_id_t | text | ||
| ) |
Method for removing an text on a tile.
| this | A pointer to the grid model object. |
| text | The ID of the label to remove. |
You do not have to call this method directly. You must use the Remove_Text method of the TGridModel structure like this: model->Remove_Text(model, label_id);
| void TGridModel_Reset_Model | ( | TGridModel * | this, |
| color_name_t | color | ||
| ) |
Method for resetting the model.
| this | A pointer to the grid model object. |
| color | The color to apply to all tiles. |
You do not have to call this method directly. You must use the Reset_Model method of the TGridModel structure like this: model->Reset_Model(model, WHITE);
| void TGridModel_Reset_Results | ( | TGridModel * | this | ) |
Method for removing all the arrows and texts.
| this | A pointer to the grid model object. |
You do not have to call this method directly. You must use the Reset_Results method of the TGridModel structure like this: model->Reset_Results(model);


An unknown error has occurred.
Password reset key is invalid. Please reset your password again.
Password fields do not match.
Password is required.


JP's Performance Horse Training
All you need for happiness is a good horse!
What I went through happened. Who I was existed. I needed my past, and I needed my mistakes to get me where I am now.
Home
About Me
Why Me
Try It
Follow me on Facebook
The Love of my Life
Physical Exercise?
Trying Sitting!
Try Trails!
Get back to Nature!


Stores the state of a Transform including its name, tag, and physics layer
More...
|
|
| TransformProfile (Collider c) |
| |
|
| TransformProfile (GameObject g) |
| |
|
void | RestoreSelfToCollider (Collider c) |
| |
| void | RestoreSelfToGameObject (GameObject o) |
| | Restores the state represented by itself to a GameObject More...
|
| |
|
void | RestoreSelfToCollider (T c) |
| |
|
|
string | name |
| |
|
string | tag |
| |
|
int | layer |
| |
|
Vector3 | position |
| |
|
Quaternion | rotation |
| |
|
Vector3 | scale |
| |
|
Vector3 | localScale |
| |
Stores the state of a Transform including its name, tag, and physics layer
- See also
- MUGA.IRestoreableToCollider<UnityEngine.Collider>
◆ ProfileFromCollider()
Creates a transform profile from a collider
- Parameters
-
- Returns
- A transform profile
◆ RestoreSelfToGameObject()
| void MUGA.TransformProfile.RestoreSelfToGameObject |
( |
GameObject |
o | ) |
|
Restores the state represented by itself to a GameObject
- Parameters
-
| o | The GameObject to restore itself to |
The documentation for this class was generated from the following file:
- D:/Jefferson/Documents/Programming/git/MUGA/Assets/Scripts/ColliderProfiles.cs


--- layout: post title: Using plotl.y to analyze and visualize data in variety of interactive charts, graphs date: 2014-07-04 14:11:03.000000000 +05:30 categories: - Blog tags: [] status: publish type: post published: true meta: _edit_last: '4' _publicize_twitter_user: ! '@carlvlewis' _wpas_done_all: '1' _wpas_skip_5012411: '1' _wpcom_is_markdown: '1' _jetpack_related_posts_cache: a:1:{s:32:"8f6677c9d6b0f903e98ad32ec61f8deb";a:2:{s:7:"expires";i:1435175389;s:7:"payload";a:3:{i:0;a:1:{s:2:"id";i:2742;}i:1;a:1:{s:2:"id";i:1967;}i:2;a:1:{s:2:"id";i:2557;}}}} name: Using plotl.y to analyze and visualize data in variety of interactive charts, graphs dsq_thread_id: '3584086871' author: login: cvlewis email<EMAIL_ADDRESS>display_name: Carl V. Lewis first_name: Carl V. last_name: Lewis excerpt: !ruby/object:Hpricot::Doc options: {} ---
It's been a while since I've had the leisure to play with new open-source tools for data journalism. It's been even longer since I've written a tutorial. Today I wanted to explore a fairly WYSIWYG web app Plotly. Although most of the features on face value appear to be not much more than what you can do in Google Visualization Playground or an open-source library like Highcharts.js – basic chart types on-the-fly, hover interactions – what particularly stands out about Plotly is its ability to perform many of the statistical analyses to your dataset before you go through the process of visualizing it.
For example, you can calculate percent change from a set of chronological raw numbers to display accurate trend data by simply choosing "Data Analysis>Percent Change" in the Grid View. I tried this out with some historical data scraped by the folks at enigma.io on the percentage of the Savannah-area workforce in the hospitality industry, even adding in a fit or "trend" line to verify the upward tick:
As you can see, plot.ly lets the user easily add in annotations explaining the data. Granted, this could be accomplished using other tools, as well, but not so seamlessly. The user interface is a little cumbersome, and is still in beta. But judging by my experiences, this is a quicker solution than a JavaScript library and a more feature-rich choice than Google Charts.
Just to give you an idea of the full range of more than 45 different standard chart types, I put together this slick heat map displaying the average unique visitors I've received on my blog for the past month during certain times and days of the week. Take it for a whirl:
Not bad for a completely free, collaborative, easy-to-teach tool, huh? It's no d3.js, but it does the job quite nicely. Especially when it comes to saving time writing out complicated Excel formulas.


China condemns US navy sail-by in disputed waters
by AFPBEIJING: China on Friday accused the US of “provocative” conduct after two US warships sailed near islands claimed by Beijing this week, adding to tensions between the global powers.
The US Navy regularly conducts “freedom of navigation operations” in the disputed South China Sea, where China, Vietnam, the Philippines, Malaysia, Brunei and Taiwan have competing claims.
The US Navy said the USS Gabrielle Giffords littoral combat ship sailed near Mischief Reef in the Spratly Islands Wednesday, and the USS Wayne E Meyer guided-missile destroyer passed the Paracel Islands on Thursday.
“USS Wayne E. Meyer (DDG 108) challenged the restrictions on innocent passage imposed by China, Taiwan, and Vietnam and also contested China’s claim to straight baselines enclosing the Paracel Islands,” Commander Reann Mommsen, spokesperson for the US 7th Fleet based in Japan, told AFP.
“USS Gabrielle Giffords demonstrated that Mischief Reef, a low-tide elevation in its natural state, is not entitled to a territorial sea under international law.”
China dispatched military vessels to identify and monitor the US ships and warned them to leave, the People’s Liberation Army Southern Theatre Command said in a statement Friday.
“Recently, the US has used the pretext of ‘freedom of navigation’ to frequently send warships to the South China Sea area to cause trouble,” the statement said.
“We urge the US to cease this kind of provocative, risky conduct, to prevent unforeseen incidents.”
Mommsen said the operations were designed to “demonstrate that the United States will fly, sail, and operate wherever international law allows – regardless of the location of excessive maritime claims and regardless of current events”.
Washington and Beijing are locked in a bruising trade war and have tussled over diplomatic issues, including a bill passed by the US Congress this week in support of pro-democracy protests in Hong Kong.
China has laid claim to nearly all of the South China Sea and has built numerous military outposts on the small islands and atolls of the region, angering other claimants.
In recent months, the US military has stepped up its freedom of navigation operations or “FONOPS” in the region, irking Beijing but not sparking any direct confrontation thus far.
China has effectively drawn a property line around the whole of the Paracels archipelago – which it calls the Xisha Islands – to claim the entire territory.
But the United States says that does not accord with international law on archipelagos and territorial seas.


public class CacheStats
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
long |
getAlloc()
Number of page allocations.
|
long |
getAllocBuckets()
Number of hash buckets checked during allocation.
|
long |
getAllocMaxBuckets()
Maximum number of hash buckets checked during an allocation.
|
long |
getAllocMaxPages()
Maximum number of pages checked during an allocation.
|
long |
getAllocPages()
Number of pages checked during allocation.
|
int |
getBytes()
Bytes of cache (total cache size is st_gbytes + st_bytes).
|
long |
getCacheHit()
Requested pages found in the cache.
|
long |
getCacheMiss()
Requested pages not found in the cache.
|
int |
getGbytes()
Gigabytes of cache (total cache size is st_gbytes + st_bytes).
|
int |
getHashBuckets()
Number of hash buckets in the buffer hash table.
|
long |
getHashExamined()
Total number of hash elements traversed during hash table lookups.
|
int |
getHashLongest()
The longest chain ever encountered in buffer hash table lookups.
|
long |
getHashMaxNowait()
The number of times a thread of control was able to obtain the
hash bucket lock without waiting on the bucket which had the
maximum number of times that a thread of control needed to wait.
|
long |
getHashMaxWait()
The maximum number of times any hash bucket lock was waited for by
a thread of control.
|
int |
getHashMutexes()
The number of hash bucket mutexes in the buffer hash table.
|
long |
getHashNowait()
The number of times that a thread of control was able to obtain a
hash bucket lock without waiting.
|
int |
getHashSearches()
Total number of buffer hash table lookups.
|
long |
getHashWait()
The number of times that a thread of control was forced to wait
before obtaining a hash bucket lock.
|
long |
getIoWait()
Number of operations blocked waiting for I/O to complete.
|
int |
getMap()
Requested pages mapped into the process' address space (there is no
available information about whether or not this request caused disk I/O,
although examining the application page fault rate may be helpful).
|
int |
getMaxNumCache()
Maximum number of caches, as configured with
EnvironmentConfig.setCacheMax(long) . |
int |
getMaxOpenfd()
Maximum number of open file descriptors.
|
int |
getMaxWrite()
The maximum number of sequential write operations scheduled by the library
when flushing dirty pages from the cache.
|
int |
getMaxWriteSleep()
The number of microseconds the thread of control should pause before
scheduling further write operations.
|
long |
getMmapSize()
Maximum file size for mmap.
|
long |
getMultiversionFreed()
Number of frozen buffers freed.
|
long |
getMultiversionFrozen()
Number of buffers frozen.
|
long |
getMultiversionReused()
Number of outdated intermediate versions reused.
|
long |
getMultiversionThawed()
Number of buffers thawed.
|
int |
getNumCache()
Number of caches.
|
int |
getPageClean()
Clean pages currently in the cache.
|
long |
getPageCreate()
Pages created in the cache.
|
int |
getPageDirty()
Dirty pages currently in the cache.
|
long |
getPageIn()
Pages read into the cache.
|
long |
getPageOut()
Pages written from the cache to the backing file.
|
int |
getPages()
Pages in the cache.
|
int |
getPageSize()
Page size in bytes.
|
long |
getPageTrickle()
Dirty pages written using
Environment.trickleCacheWrite . |
long |
getRegionNowait()
The number of times that a thread of control was able to obtain a
cache region mutex without waiting.
|
long |
getRegionWait()
The number of times that a thread of control was forced to wait
before obtaining a cache region mutex.
|
long |
getRegmax()
The maximum size, in bytes, of the mutex region.
|
long |
getRegSize()
Individual cache size.
|
long |
getRoEvict()
Clean pages forced from the cache.
|
long |
getRwEvict()
Dirty pages forced from the cache.
|
long |
getSyncInterrupted()
Number of mpool sync operations interrupted.
|
java.lang.String |
toString()
For convenience, the CacheStats class has a toString method that
lists all the data fields.
|
public int getGbytes()
public int getBytes()
public int getNumCache()
public int getMaxNumCache()
EnvironmentConfig.setCacheMax(long)
.public long getMmapSize()
public int getMaxOpenfd()
public int getMaxWrite()
public int getMaxWriteSleep()
public int getPages()
public int getMap()
public long getCacheHit()
public long getCacheMiss()
public long getPageCreate()
public long getPageIn()
public long getPageOut()
public long getRoEvict()
public long getRwEvict()
public long getPageTrickle()
Environment.trickleCacheWrite
.Environment.trickleCacheWrite
public int getPageClean()
public int getPageDirty()
public int getHashBuckets()
public int getHashMutexes()
public int getPageSize()
public int getHashSearches()
public int getHashLongest()
public long getHashExamined()
public long getHashNowait()
public long getHashWait()
public long getHashMaxNowait()
public long getHashMaxWait()
public long getRegionNowait()
public long getRegionWait()
public long getMultiversionFrozen()
public long getMultiversionThawed()
public long getMultiversionFreed()
public long getMultiversionReused()
public long getAlloc()
public long getAllocBuckets()
public long getAllocMaxBuckets()
public long getAllocPages()
public long getAllocMaxPages()
public long getIoWait()
public long getSyncInterrupted()
public long getRegSize()
public long getRegmax()
public java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 1996, 2016 Oracle and/or its affiliates. All rights reserved.


Echo Dilution Tool
Plate map:
Dilution factor:
Dilution points:
Target volume (nL):
Stock concentration (mM):
Generate CSV(s)


Elayne realized that she was being carried upstairs by her shoulders and ankles. Her eyes opened, she could see, but the rest of her body might as well have belonged to someone else for all the control she had over it. Even blinking was slow.
“She’s awake, Mistress!” Luci shrilled, nearly dropping her feet. “She’s looking at me!”
“I told you not to worry.” Mistress Macura’s voice came from above her head. “She cannot channel, or twitch a muscle, not with forkroot tea in her. I discovered that by accident, but it has certainly come in handy.”
It was true. Elayne sagged between them like a doll with half the stuffing gone, bumping her bottom along the steps, and she could as well have run as channel. She could sense the True Source, but trying to embrace it was like trying to pick up a needle on a mirror with cold-numbed fingers. Panic welled up, and a tear slid down her cheek.
Perhaps these women meant to turn her over to the Whitecloaks for execution, but she could not make herself believe that the Whitecloaks had women setting traps in the hope that an Aes Sedai might wander in. That left Darkfriends, and almost certainly serving the Black Ajah right along with the Yellow. She would surely be put in the hands of the Black Ajah unless Nynaeve had escaped. But if she was to escape, she could not count on anyone else. And she could neither move nor channel. Suddenly she realized that she was trying to scream, and producing only a thin, gurgling mew! Halting it took all the strength she had left.
Nynaeve knew all about herbs, or claimed she did; why had she not recognized whatever that tea was? Stop this whining!  A shoat squealing under a fence just attracts the fox, when it should be trying to run. Desperately, she set herself to the simple task of embracing saidar. It had been a simple task, but now she might as well have been attempting to reach saidin. She kept on, though; it was the only thing she could do.
Mistress Macura, at least, seemed to have no worry. As soon as they had dropped Elayne onto a narrow bed in a small, close room with one window, she hustled Luci right out again with not even a backward glance. Elayne’s head had fallen so she could see another cramped bed, and a highchest with tarnished brass pulls on the drawers. She could move her eyes, but shifting her head was beyond her.
In a few minutes the two women returned, puffing, with Nynaeve slung between them, and heaved her onto the other bed. Her face was slack, and glistening with tears, but her dark eyes . . . Fury filled them, and fear, too. Elayne hoped anger was uppermost; Nynaeve was stronger than she, when she could channel; perhaps Nynaeve could manage where she was failing miserably, time after time. Those had to be tears of rage.
Telling the thin girl to stay there, Mistress Macura hurried out once more, this time coming back with a tray that she placed atop the highchest. It held the yellow teapot, one cup, a funnel and a tall hourglass. “Now Luci, mind you pour a good two ounces into each of them as soon as that hourglass empties. As soon, mind!”
“Why don’t we give it to them now, Mistress?” the girl moaned, wringing her hands. “I want them to go back to sleep. I don’t like them looking at me.”
“They would sleep like the dead, girl, and this way we can let them rouse just enough to walk when we need them to. I will dose them more properly when it’s time to send them off. They’ll have headaches and stomach cramps to pay for it, but no more than they deserve, I suppose.”
“But what if they can channel, Mistress? What if they do? They’re looking at me.”
“Stop blathering, girl,” the older woman said briskly. “If they could, don’t you think they would have by now? They are helpless as kittens in a sack. And they will stay that way as long you keep a good dose in them.  I must go tell old Avi to send off one of his pigeons, and make a few arrangements, but I will be back as soon as I can. You had better brew another pot of forkroot just in case. I’ll go out the back. Close up the shop. Someone might wander in, and that would never do.”
After Mistress Macura left, Luci stood staring at them for a while, still wringing her hands, then finally scurried out herself. Her sniffling faded down the stairs.
Elayne could see sweat beading on Nynaeve’s brow; she hoped it was effort, not the heat. Try, Nynaeve. She herself reached for the True Source, fumbling clumsily through the wads of wool that seemed to pack her head, failed, tried again and failed, tried again . . . Oh, Light, try Nynaeve! Try!
The hourglass filled her eyes; she could not look at anything else. Sand pouring down, each grain marking another failure on her part. The last grain dropped. And Luci did not come.
Elayne strained harder, for the Source, to move. After a bit the fingers of her left hand twitched. Yes! A few minutes more, and she could lift her hand; only a feeble inch before it fell again, but it had lifted. With an effort, she could turn her head.
“Fight it,” Nynaeve mumbled thickly, barely intelligible. Her hands were gripping the coverlet under her tightly; she seemed to be trying to sit up. Not even her head lifted, but she was trying.
“I am,” Elayne tried to say; it sounded more like a grunt to her ears.
Slowly she managed to raise her hand to where she could see it, and hold it there. A thrill of triumph shot through her. Stay afraid of us, Luci. Stay down there in the kitchen a little while longer, and . . .
The door banged open, and sobs of frustration racked her as Luci dashed in. She had been so close. The girl took one look at them and with a yelp of pure terror darted for the highchest.
Elayne tried to fight her, but thin as she was, Luci batted her floundering hands away effortlessly, forced the funnel between her teeth just as easily. The girl panted as if running. Cold, bitter tea filled Elayne’s mouth. She stared up at the girl in a panic that Luci’s face shared.  As darkness overwhelmed Elayne, she could hear liquid sounds of protest coming from Nynaeve.
When her eyes opened again, Luci was gone, and the sands trickled through the glass again. Nynaeve’s dark eyes were bulging, whether in fear or anger, Elayne could not have said. No, Nynaeve would not give in. That was one of the things she admired in the other woman. Nynaeve’s head could have been on the chopping block and she would not give up. Our heads are on the block!
It made her ashamed that she was so much weaker than Nynaeve. She was supposed to be Queen of Andor one day, and she wanted to howl with terror. She did not, even in her head—doggedly she went back to trying to force her limbs to move, to trying to touch saidar—but she wanted to. How could she ever be a queen, when she was so weak? Again she reached for the Source. Again. Again. Racing the grains of sand. Again.
Once more the glass emptied itself without Luci. Ever so slowly, she reached the point where she could raise her hand again. And then her head! Even if it did flop back immediately. She could hear Nynaeve muttering to herself, and she could actually understand most of the words.
The door crashed open once more. Elayne lifted her head to stare at it despairingly—and gaped. Thom Merrilin stood there like the hero of one of his own tales, one hand firmly gripping the neck of a Luci near fainting, the other holding a knife ready to throw. Elayne laughed delightedly, though it came out more like a croak.
Roughly, he shoved the girl into a corner. “You stay there, or I’ll strop this blade on your hide!” In two steps he was at Elayne’s side, smoothing her hair back, worry painting his leathery face. “What did you give them, girl? Tell me, or—!”
“Not her,” Nynaeve muttered. “Other one. Went away. Help me up. Have to walk.”
Thom left her reluctantly, Elayne thought. He showed Luci his knife again threateningly—she cowered as if she never meant to move again—then made it disappear up his sleeve in a twinkling. Hauling Nynaeve to her feet, he began walking her up and down the few paces the room allowed. She sagged against him limply, shuffling.
“I am glad to hear this frightened little cat didn’t trap you,” he said. “If she had been the one . . . ” He shook his head. No doubt he would think just as little of them if Nynaeve told him the truth; Elayne certainly did not intend to. “I found her rushing up the stairs, so panicked she did not even hear me behind her. I am not so glad that another one got away without Juilin seeing her. Is she likely to bring others back?”
Elayne rolled over onto her side. “I do not think so, Thom,” she mumbled. “She can’t let—too many people—know about herself.” In another minute she might be able to sit up. She was looking right at Luci; the girl flinched and tried to shrink through the wall. “The Whitecloaks—would take her as—quickly as they would us.”
“Juilin?” Nynaeve said. Her head wavered as she glared up at the gleeman. She had no trouble speaking, though. “I told the pair of you to stay with the wagon.”
Thom blew out his mustaches irritably. “You told us to put up the supplies, which did not take two men. Juilin followed you, and when none of you came back, I went looking for him.” He snorted again. “For all he knew, there were a dozen men in here, but he was ready to come in after you alone. He is tying Skulker in the back. A good thing I decided to ride in. I think we’ll need the horse to get you two out of here.”
Elayne found that she could sit up, barely, pulling herself hand over hand along the coverlet, but an effort to stand nearly put her flat again.  Nynaeve was beginning to hold herself a little straighter, to lift her feet, but she still hung on Thom.
Minutes later Juilin arrived, pushing Mistress Macura ahead of him with his belt knife. “She came through a gate in the back fence. Thought I was a thief. It seemed best to bring her on in.”
 She licked her lips and smoothed her skirt incessantly, and cast quick little glances at Juilin’s knife as if wondering whether it might not be best to run anyway. For the most part, though, she stared at Elayne, and Nynaeve; Elayne thought it an even chance whether she would burst into tears or swoon.
“Put her over there,” Nynaeve said, nodding to where Luci still shivered in the corner with her arms wrapped around her knees, “and help Elayne. I never heard of forkroot, but walking seems to help the effects pass. You can walk most things off.”
Juilin pointed to the corner with his knife, and Mistress Macura scurried to it and sat herself down beside Luci, still wetting her lips fearfully. “I would not have done—what I did—only, I had orders. You must understand that. I had orders.”
Gently helping Elayne to her feet, Juilin supported her in walking the few steps available, crisscrossing the other pair. She wished it were Thom. Juilin’s arm around her waist was much too familiar.
“Orders from whom?” Nynaeve barked. “Who do you report to in the Tower?”

 He’s a Tairen thief-catcher, and he knows how to bring out a confession as quickly as any Whitecloak Questioner. Don’t you, Juilin?”
“Some rope to tie her,” he said, grinning a grin so villainous that Elayne almost tried to step away from him, “some rags to gag her until she is ready to talk, some cooking oil and salt . . . ” His chuckle curdled Elayne’s blood. “She will talk.” Mistress Macura held herself rigidly against the wall, staring at him, eyes as wide as they would go. Luci looked at him as if he had just turned into a Trolloc, eight feet tall and complete with horns.
“Very well,” Nynaeve said after a moment. “You should find everything you need in the kitchen, Juilin.” Elayne shifted a startled look from her to the thief-catcher and back. Surely they did not really mean to . . . ? Not Nynaeve!
“Narenwin Barda,” the seamstress gasped suddenly. Words tripped over one another spilling out of her. “I send my reports to Narenwin Barda, at an inn in Tar Valon called The Upriver Run. Avi Shendar keeps pigeons for me on the edge of town. He doesn’t know who I send messages to or who I get them from, and he does not care. His wife had the falling sickness, and . . . ” She trailed off, shuddering and watching Juilin.
Elayne knew Narenwin, or at least had seen her in the Tower. A thin little woman you could forget was there, she was so quiet. And kind, too; one day a week, she let children bring their pets to the Tower grounds for her to Heal. Hardly the sort of woman to be Black Ajah. On the other hand, one of the Black Ajah names they knew was Marillin Gemalphin; she liked cats, and went out of her way to look after strays.
“Narenwin Barda,” Nynaeve said grimly. “I want more names, inside the Tower or out.”
“I—don’t have any more,” Mistress Macura said faintly.
“We will see about that. How long have you been a Darkfriend? How long have you served the Black Ajah?”
An indignant squall erupted from Luci. “We aren’t Darkfriends!” She glanced at Mistress Macura and sidled away from her. “At least, I’m not! I walk in the Light! I do!”
The other woman’s reaction was no less strong. If her eyes had bulged before, they popped now. “The Black—! You mean it really exists? But the Tower has always denied—Why, I asked Narenwin, the day she chose me for the Yellow’s eyes-and-ears, and it was the next morning before I could stop weeping and crawl out of my bed. I am not—not!—a Darkfriend! Never! I serve the Yellow Ajah! The Yellow!”
Still hanging on to Juilin’s arm, Elayne exchanged puzzled looks with Nynaeve. Any Darkfriend would deny it, of course, but there seemed a ring of truth in the women’s voices. Their outrage at the accusation was nearly enough to overcome their fear. From the way Nynaeve hesitated, she heard the same thing.
“If you serve the Yellow,” she said slowly, “why did you drug us?”
“It was her,” the seamstress replied, nodding at Elayne. “I was sent her description a month since, right down to that way she holds her chin sometimes so she seems to be looking down at you. Narenwin said she might use the name Elayne, and even claim to be of a noble House.” Word by word, her anger over being called a Darkfriend seemed to bubble higher. “Maybe you are a Yellow sister, but she’s no Aes Sedai, just a runaway Accepted. Narenwin said I was to report her presence, and that of anyone with her. And to delay her, if I could. Or even capture her. And anyone with her.  They said I should risk exposure even—here, where it’d be my death!—if I had to! You just wait until the Amyrlin puts her hands on you, young woman! On all of you!”
“The Amyrlin!” Elayne exclaimed. “What does she have to do with this?”
“It was on her orders. By order of the Amyrlin Seat, it said. It said the Amyrlin herself said I could use any means short of killing you. You will wish you were dead when the Amyrlin gets hold of you!”
“Remember that we are not in anyone’s hands yet,” Nynaeve said dryly. “You are in ours.” Her eyes looked as shocked as Elayne felt, though. “Was any reason given?”
The reminder that she was the captive sapped the brief burst of spirit from the woman. She sagged listlessly against Luci, each keeping the other from falling over. “No. Sometimes Narenwin gives a reason, but not this time.”
“Did you intend to just keep us here, drugged, until someone came for us?”
“I was going to send you off by cart, dressed in some old clothes.” Not even a shred of resistance remained in the woman’s voice. “I sent a pigeon to tell Narenwin you were here, and what I was doing. Therin Lugay owes me a strong favor, and I meant to give him enough forkroot to last all the way to Tar Valon, if Narenwin didn’t send sisters to meet you sooner.  A woman has to be careful, dealing in remedies in Amadicia.  Or worse. Therin knows to hold his tongue about what he . . . ”
Nynaeve made Thom help her closer, where she could stare down at the seamstress. “And the message? The real message? You did not put that signal out in the hope of luring us in.”
“I gave you the real message,” the woman said wearily. “I did not think it could do any harm. I don’t understand it, and I—please—” Suddenly she was sobbing, clinging to Luci as hard as the younger woman did to her, both of them wailing and babbling. “Please, don’t let him use the salt on me! Please! Not the salt! Oh, please!”
“Tie them up,” Nynaeve said disgustedly after a moment, “and we will go downstairs where we can talk.” Thom helped her to sit on the edge of the nearest bed, then quickly cut strips from the other coverlet.
In short order both women were bound, back to back, the hands of one to the feet of the other, with wadded bits of coverlet tied in for gags. The pair were still weeping when Thom assisted Nynaeve from the room.
Elayne wished she could walk as well as the other woman, but she still needed Juilin’s support not to go tumbling down the stairs.   I am a grown woman, she told it with a firmness she would not have dared with her old nurse even today. I do love Rand, but he is far away, and Thom is sophisticated and intelligent and . . . It sounded too much like excuses, even to her. Lini would have given the snort that meant she was about to stop tolerating foolishness.
“Juilin,” she asked hesitantly, “what were you going to do with the salt and cooking oil? Not exactly,” she added more quickly. “Just a general idea.”
He looked at her for a moment. “I do not know. But they did not, either. That is the trick of it; their minds made up worse than I ever could. I have seen a tough man break when I sent for a basket of figs and some mice. You have to be careful, though. Some will confess anything, true or not, just to escape what they imagine. I do not think those two did, though.”
She did not either. She could not repress a shiver, however. What would somebody do with figs and mice? She hoped she stopped wondering before she gave herself nightmares.
By the time they reached the kitchen, Nynaeve was tottering about without help, poking into the cupboard full of colorful canisters. Elayne needed one of the chairs. The blue canister sat on the table, and a full green teapot, but she tried not to look at them. She still could not channel. She could embrace saidar, yet it slipped away as soon as she did. At least she was confident now that the Power would return to her. The alternative was too horrible to contemplate, and she had not let herself until this moment.
“Thom,” Nynaeve said, lifting the lids on various containers and peering in. “Juilin.” She paused, took a deep breath, and, still not looking at the two men, said, “Thank you. I begin to see why Aes Sedai have Warders. Thank you very much.”
Not all Aes Sedai did. Reds considered all men tainted because of what men who could channel did, and a few never bothered because they did not leave the Tower or simply did not replace a Warder who died. The Greens were the only Ajah to allow bonding with more than one Warder. Elayne wanted to be a Green. Not for that reason, of course, but because the Greens called themselves the Battle Ajah. Where Browns searched for lost knowledge and Blues involved themselves in causes, Green sisters held themselves ready for the Last Battle, when they would go forth, as they had in the Trolloc Wars, to face new Dreadlords.
The two men stared at one another in open amazement. They had surely been ready for the usual rough side of Nynaeve’s tongue. Elayne was almost as shocked. Nynaeve liked having to be helped as much as she liked being wrong; either made her as prickly as a briar, though of course she always claimed to be a picture of sweet reason and sense.
“A Wisdom.” Nynaeve took a pinch of powder from one of the canisters and sniffed it, touched it to the tip of her tongue. “Or whatever they call it here.”
“They don’t have a name for it here,” Thom said. “Not many women follow your old craft in Amadicia. Too dangerous. For most of those it’s only a sideline.”
Pulling a leather scrip from the bottom of the cupboard, Nynaeve began making up small bundles from some of the containers. “And who do they go to when they’re ill? A hedge-doctor?”
“Yes,” Elayne said. It always pleased her to show Thom that she knew things about the world, too. “In Amadicia, it is men who study herbs.”
Nynaeve frowned scornfully. “What could a man ever know about curing anything? I’d as soon ask a farmer to make a dress.”
Abruptly Elayne realized that she had been thinking of anything and everything except what Mistress Macura had said. Not thinking about a thorn doesn’t make it hurt your foot less. One of Lini’s favorites. “Nynaeve, what do you think that message means? All sisters are welcome to return to the Tower? It makes no sense.” That was not what she wanted to say, but at least she was closing in on it.
“The Tower has its own rules,” Thom said. “What Aes Sedai do, they do for reasons of their own, and often not for those they give. If they give reasons at all.” He and Juilin knew they were only Accepted, of course; that was at least part of why neither man did as he was told nearly as well as he might.
The struggle was plain on Nynaeve’s face. She did not like being interrupted, or people answering for her. There was quite a list of things Nynaeve did not like. But it was only a moment since she had thanked Thom; it could not be easy to call down a man who had just saved you from being hauled off like a cabbage. “Very little in the Tower makes sense most of the time,” she said sourly. Elayne suspected that the tartness was as much for Thom as the Tower.
“Do you believe what she said?” Elayne took a deep breath. “About the Amyrlin saying I was to be brought back by any means.”
The brief look Nynaeve gave her was touched with sympathy. “I don’t know, Elayne.”
“She was telling the truth.” Juilin turned one of the chairs around and straddled it, leaning his staff against the back. “I’ve questioned enough thieves and murderers to know truth when I hear it. Part of the time she was too frightened to lie, and the rest too angry.”
“The pair of you—” Taking a deep breath, Nynaeve tossed the scrip onto the table and folded her arms as if to trap her hands away from her braid. “I am afraid Juilin is probably right, Elayne.”
“But the Amyrlin knows what we are doing. She sent us out of the Tower in the first place.”
Nynaeve sniffed loudly. “I can believe anything of Siuan Sanche. I would like to have her for one hour where she could not channel. We would see how tough she is then.”
Elayne did not think that would make any difference. Remembering that commanding blue gaze, she suspected Nynaeve would earn a fine lot of bruises in the unlikely event that she ever got her wish. “But what are we going to do about it? The Ajahs have eyes-and-ears everywhere, it seems. And the Amyrlin herself. We could have women trying to slip things into our food all the way to Tar Valon.”
“Not if we do not look like what they expect.” Lifting a yellow jug out of the cupboard, Nynaeve set it on the table beside the teapot. “This is white henpepper. It will soothe a toothache, but it will also turn your hair black as night.” Elayne put a hand to her red-gold tresses—her hair, not Nynaeve’s, she would wager!—but as much as she hated the idea, it was a good one. “A little needlework on some of those dresses in the front, and we are not merchants anymore, but two ladies traveling with their servants.”
“Riding on a wagonload of dye?” Juilin said.
Her level look said gratitude for saving her extended only so far. “There is a coach in a stableyard on the other side of the bridge. I think the owner will sell it. If you go back to the wagon before somebody steals it—I do not know what got into you two, just leaving it for whoever came along!—if it is still there, you can take one of the purses . . . ”
A few people goggled when Noy Torvald’s coach pulled up in front of Ronde Macura’s shop, drawn by a team of four, with chests strapped to the roof and a saddled horse tied on behind. Noy had lost everything when the trade with Tarabon collapsed; he was scraping a living doing odd jobs for Widow Teran, now. No one in the street had ever seen the coachman before, a tall leathery fellow with long white mustaches and cold, imperious eyes, or the dark, hard-faced footman in a Taraboner hat who jumped down nimbly to open the coach door. The goggling turned to murmurs when two women swept out of the shop with bundles in their arms; one wore a green silk gown, the other plain blue wool, but each had a scarf wrapped around her head so that not so much as a hint of her hair was visible. They all but leaped into the coach.
Two of the Children began sauntering over to inquire who the strangers were, but while the footman was still scrambling up to the driver’s seat, the coachman cracked his long whip, shouting something about making way for a lady. Her name was lost as the Children threw themselves out of the way, tumbling in the dusty street, and the coach rumbled away at a gallop toward the Amador Road.
The onlookers walked away talking among themselves; a mysterious lady, obviously, with her maid, making purchases from Ronde Macura and rushing away from the Children. Little enough happened in Mardecin of late, and this would provide days of conversation. The Children of the Light brushed themselves off furiously, but finally decided that reporting the incident would make them look foolish. Besides, their captain did not like nobles; he would probably send them to bring the coach back, a long ride in the heat for no more than an arrogant young sprig of one House or another. If no charges could be brought—always tricky with the nobility—it would not be the captain who took the blame. Hoping that word of their humiliation did not spread, they certainly never thought of questioning Ronde Macura.
A short time later, Therin Lugay led his cart into the yard behind the shop, provisions for the long journey ahead already packed away under the round canvas top. Indeed, Ronde Macura had cured him of a fever that had taken twenty-three the winter before, but it was a nagging wife and a shrewish mother-in-law that made him glad of a journey all the way to where the witches lived. Ronde had said someone might meet him, though not who, but he hoped to make it to Tar Valon.
He tapped on the kitchen door six times before going in, but it was not until he climbed the stairs that he found anyone. In the back bedroom, Ronde and Luci lay stretched out on the beds, sound asleep and fully clothed, if rather rumpled, with the sun still in the sky. Neither woman roused when he shook them. He did not understand that, or why one of the coverlets was lying on the floor cut into knotted strips, or why there were two empty teapots in the room but only one cup, or why a funnel was lying on Ronde’s pillow. But he had always known that there was a great deal in the world he did not understand. Returning to his cart, he thought about the supplies Ronde’s money had purchased, thought of his wife and her mother, and when he led the cart horse off, it was with the intention of seeing what Altara was like, or maybe Murandy.
One way and another, it was quite a time before a disheveled Ronde Macura tottered up to Avi Shendar’s house and sent off a pigeon, a thin bone tube tied to its leg. The bird launched itself north and east, straight as an arrow toward Tar Valon. After a moment’s thought, Ronde prepared another copy on another narrow strip of thin parchment, and fastened it to a bird from another coop. That one headed west, for she had promised to send duplicates of all of her messages. In these hard times, a woman had to make out as best she could, and there could be no harm in it, not the sort of reports she made to Narenwin. Wondering if she could ever get the taste of forkroot out of her mouth, she would not have minded if the report brought just a little harm to the one who called herself Nynaeve.
Hoeing in his garden patch as usual, Avi paid no attention to what Ronde did. And as usual, as soon as she was gone, he washed his hands and went inside. She had placed a larger sheet of parchment underneath the strips to cushion the nib of the pen. When he held it up to the afternoon light, he could make out what she had written. Soon a third pigeon was on its way, heading in still another direction.


Hi, I'm new here, I'm italian so sorry for my bad english.
I'm here because of I can't load BBattlelog on my Chrome browser. I've downloaded the .crx file from the official page and carried it on the extensions page of the browser, then installed it.
After that I've closed Chrome and re-opened it but I can't see any BBattlelog on my BF3 Battlelog page.
Why?
I've already tried to uninstall and reinstall Chrome but nothing changed.
Any suggestions?
Thanks!
ORFK
Global Moderator
please read the introductions on this page.
http://getbblog.com/viewtopic.php?f=23&t=529
but i would wait one day. tomorrow we will release a new version.


In this project, we will look at a dataset from a Saudi Arabia based organization. The file is included along with this notebook. The name of the dataset/file is "cwurData". The dataset is the ranking of the top 2200 universities in the world. You can also get the data here: https://www.kaggle.com/mylesoneill/world-university-rankings
One consideration for why I choose this dataset over some other dataset, or some other ranking is that no two universities have identical rankings, and that the feature space can be in some sense reduced. For example, "quality of faculty" can be eliminated, because attributes like "quality of education", "alumni employment", and "citation" could just as well be a proxy for it.
The dataset starts off with 8 attributes, and we will reduce the number of attributes down to 5. These final attributes are "publications"(Measuring the number of papers appearing in reputable journals), "quality of education"(measured by the number of a university's alumni who have won major international awards, prizes, and medals relative to the university's size), "citations"(measured by the number of highly-cited research papers), "alumni employment"(measured by the number of a university's alumni who have held CEO positions at the world's top companies relative to the university's size), and "patents"(measured by the number of international patent filings).
In this project, we will come up with a regression model that helps us predict world ranking according to this final 5 attributes listed above. Along the way, we provide a lot of visualizations to aid intuition about the matter.
Suppose you have a couple of billions in inherited money, and your intention is to build a university( Lets call it University of San Jose) that will eventually dethrown the top universities in the world. What should this university be focusing on? Should this university put more emphasize on quality of education, alumni employment, or should it focus more on publications, citations, and patents? We will find these attributes for our unviersity, and we will find a model using our dataset.
We will solve this problem by looking at the dataset, cwurData.csv accompany this notebook. We will look at each attribute, and their correlation with one another. We will using PCA to reduce the dimensionality of our data so that we can visual our data. We will use a supervised, regression model to model our dataset to approximate "university ranking"( Target Variable). Our model will have a high accuracy rate of 93%.
There is three metrics we will be using:
We will use 1 to give us a measure of how well our regression model generalize to out of sample data. This metric indicate the "proportion of variance in the dependent variable that is predictable from the independent variable". It is a number between 0, and 1. The higher the number, the better it is the dependent variable is predicable by the independent variable.
We will use 2 to for cluster analysis. We will use Silbouette score to help us pick the optimal number of clusters. It is a measure that range from -1 to 1. A score close to 1 means all the points are in their right clusters. A value of 0, or negative means a cluster configuration that may have too few, or too many clusters.
We will use 3 to see how successful we are in reducing the dimensionality of our data from 6 to 2. Explained Variance measures the proportions to which a mathematical model accounts for the variation(dispersion) of a given dataset. It is a number between 0, and 1. The higher the value, the better the mathematical model is at explaining the dispersion of the observed data.
The dataset we will be using accompany this notebook. We will import it into python
# Import libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Read student data
cwData = pd.read_csv("cwurData.csv")
print "Univeristy data read successfully!"
# number of universities
n_universities = len(cwData)
# Calculate number of columns
n_columns = len (cwData.columns.values)
# Calculate mean ranking
mean_ranking = np.mean(cwData['world_rank'])
# Calculate median ranking
median_ranking = np.median(cwData['world_rank'] )
#Standard deviation for our university ranking
std_ranking = np.std(cwData['world_rank'])
# Print the results
print "Total number of universities: {}".format(n_universities)
print "Number of attributes: {}".format(n_columns)
print "Mean ranking for universities {:.4f}".format(mean_ranking)
print "Median ranking for universities {:.4f}".format(median_ranking)
print "Standard Deviation of ranking of universities {:.4f}".format(std_ranking)
cwData.head(3)
cwData.dtypes
cwData.describe()
The mean ranking(459.59) is very close to median ranking(450.5). The spread of the data is large(304.32) relative to the mean.
We have total of 14 attributes. We would like to reduce the number of attributes down to 6(one being the target variable, and five being the features).
Most of the attributes are numeric of type int64, or float64. This is good for numerical manipulation, and useful for applying Machine Learning algorithm.
We have two categorical variables, and they are 'instituitons', and 'country'.
There is a lot of values missing from the 'broad impact' feature.
Given the observations made in Feature Observation. We would like to reduce the number of attributes down from 14 to 6.
We will drop columns from cwData. They are 'institution', 'country', 'national_rank', 'quality_of_faculty', 'broad_impact', 'influence', 'score', and 'year'. What remains are: 'world_rank', 'quality_of_education', 'alumni_employment','publications', 'citations', 'patents'.
We drop 'institution', and 'country', because our ranking should not be depended on the name of university, or where the university is from. National_rank should not matter, because it is not relevant to global ranking of universities. We drop 'quality_of_faculty' because it might best be captured by measures like publications, citations, patents, and quality of education. We drop broad_impact because it might be better captured by measures like publication, citations, alumni_employment. We drop 'influence', 'score' for similar reasons as we drop 'broad_impact'. We drop 'year' because university ranking should not be depended on the shift in time.
drop_cols= ['institution', 'country', 'national_rank', 'quality_of_faculty', 'broad_impact', 'influence', 'score', 'year']
data=cwData.drop(drop_cols, axis =1)
data.head()
data.dtypes
for feature in data.keys():
Q1 = np.percentile(data[feature], 25)
Q3 = np.percentile(data[feature], 75)
step = (Q3-Q1)*1.5
n=len(data[~((data[feature] >= Q1 - step) & (data[feature] <= Q3 + step))])
print "The number of Data points considered outliers for the feature '{}' : {} ".format(feature, n)
We have droped a few columns from cwData, and assign it to a new variable which we call data.
data contains 6 features. Each of the 6 features has numeric type of int64. This is good for apply our machine learning algorithm.
There is no outliers if we define outlers to be defined by Tukey 's rule.
%matplotlib inline
from pandas.tools.plotting import scatter_matrix
scatter_matrix(data, alpha=0.2, figsize=(14, 14), diagonal='kde')
plt.tight_layout()
To get a better understanding of the data, we used a scatter matrix to visualize each of the six features in our dataset. We found that there is some correlation between the different features. There seems to be high correlation between "publications", and "world ranking". A someewhat surprising observation is that there seems to be very little correlation between alumni_employment, and quality of education.
Principle Component Analysis(PCA) - We will use PCA to reduce the dimensionality of our dataset from 6 to 2. We will look at the first dimensions, and attempt to get inspired on what to pick for our features to predict world ranking.
K-means - Once we reduce the dimensionality of our data from 6 to 2. We would want to visualize it using a clustering algorithm such as K-means.
DecisionTreeRegressor- After getting some hints by looking at the dataset from 2 dimensions(Obtained from our PCA), we pick varies attributes to use to train our DecisionTreeRegression model.
GridSearchCV- We use gride search to fine ture the height of our tree.
Our problem is a supervised, regression type problem. Our target variables are the ranks of universities( between 1 and 2200). We idealize the target variable as a continuum between 0 and 2200, allow fractional rankings ( i.e. 243.3, 834.43 ). Because of the continuous, ordered nature of our target variables, we are constrained to use a supervised learning, regression algorithm. I used decison tree, because of its interpretibility. Speed is a unconsequential factor for me, because my interest is in accuracy of the model. I wanted a model that accurately model the underlying phenonmen. For people who's preference is speed, and use, this classifer is a eager learner. It might take time, and space complexity to build the tree, but once, the tree is build, and trained, prediction is constant time. I also anticiplated the risk of overfitting, but as long as I minimize the testing error by tuning the height of the tree, this would not be a problem.
There is two primary reason I used PCA. Firstly, I want to reduce the dimensionality of my data from 6 to 2, so that I can visually represent it using a cluster diagram. Secondly, I want to see the relative wight of each feature with respect to dimension 1. Because of this two reason, PCA is an ideal choice.
Our model will be successful if our Coefficient of Determination for our regression model is high. How do we define high? That seems arbitrary, and subjective. I think it is hard to not be subjective, but I define high to be such that the coefficient of determination is above .90( out of 1).
Our reduction of dimension from 6 to 2 using PCA will be successful if our explained variance for dimension 1 + dimension 2 is high. High here is again very subjective. I define high here to be some value .80(out of 1 )+ if both dimension 1, and dimension 2 explains 80%+ of the variations in the data.
Our visual representation of data in dimension 1, and dimension 2 ( After PCA give this to us) is accurate if the number of clusters we have is accurate. The number of clusters is accurate enough if our Silhouette score is above mere chance. A silhouette score of 0 indicates overlapping clusters. silhouette score is a number bween -1 to +1. So, if we have a silhouette score above 0, and positive, it is a good chance that we the right cluster. I will set that benchmark to any number above .5 to be "good enough".
The purpose of principle componenet analysis is to reduce the dimensionality of our dataset from 6 to 2 so that we can visualize the data in terms of clusters. This is to motivate why we use the features that we do, and give readers some intuition on the dataset. The main motive is to come up with a supervised, regression model to fit our data, and for that, we use Decision Tree Regressor on the features of our dataset. To refine our model( Decision Tree Regressor), we uses grid search to fine tune the right height for our tree.
In order to visualize the different dimensions using PCA. We will use the renders.py file. We will also use that file to visualize clusters. We will also avoid scaling the data, because by scaling the features actually results in a lowering of explained variance for the first two dimensions.
#import libaries
from sklearn.decomposition import PCA
import renders as rs
pca = PCA(n_components=6)
pca.fit(data)
pca_results = rs.pca_results(data, pca)
import matplotlib.pyplot as plt
x = np.arange(1, 7)
plt.plot(x, np.cumsum(pca.explained_variance_ratio_), '-o')
plt.tight_layout()
As we can see much of the variance in the data is explained by the first and second principal component( .7862+.0892 = .8754 ). 87.54% of the variance of the data is explained by the first 2 dimensions. This gives us confidence in reducing the dimensionality of our data from 6 to 2.
Dimension 1: With increase in dimension one represent increate in world_ranking, publications, citations and patents, and a much smaller increase in quality of education, and alumni employment. This dimension also have a high correlation between world ranking, and publication. It is also the dimension with the most "spread" of the data with some universities with high world ranking is also high in publication, citations, and patents.
Dimension 2: With increase in dimension two represent increate in patents, and a decrease in everything else. It is also the dimension with the second most "spread" of the data. We have universities that have high positive weight for patents, while they have low negative weight for publications, citations, and world ranking.
Since our explained variance is high. We ough to have confidence in our dimensionality reduction.
pca = PCA(n_components=2)
pca.fit(data)
reduced_data = pca.transform(data)
# Create a DataFrame for the reduced data
reduced_data = pd.DataFrame(reduced_data, columns = ['Dimension 1', 'Dimension 2'])
reduced_data.head()
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
for n_cluster in range(2, 10):
clusterer = KMeans(n_clusters=n_cluster ,n_init=20, max_iter=300)
clusterer.fit(reduced_data)
preds = clusterer.predict(reduced_data)
centers = clusterer.cluster_centers_
score = silhouette_score(reduced_data, preds)
print "for cluster = {}, the silhouette score is={}".format(n_cluster, score)
Since we have highest silhouette score for the number of clusters being equal to 2. We ought to be confident that the number of clusters visually depicted ought to be two.
clusterer = KMeans(n_clusters=2,n_init=20, max_iter=300)
clusterer.fit(reduced_data)
preds = clusterer.predict(reduced_data)
centers = clusterer.cluster_centers_
rs.cluster_results(reduced_data, preds, centers)
We see that data seems to cluster in the two extremes of dimension 1 (See Diagram Above).
In the direction of increasing dimension 1, we see greater weights in 'publications', 'citations', and 'patents', and to a lesser extend in Alumni employment, and education quality(from 'Viability of principle component analysis' above).
We see high correlation between 'world_ranking', and 'publication'( from 'Exploration Visualization' scatter matrix above)
Our choice of features which we use to predict 'world ranking' is suggestive by our observation so far. If I have to guess, I would say Dimension 1( From our PCA) suggest to us that world rank is best predicted by all five features.
from sklearn.cross_validation import train_test_split
from sklearn.tree import DecisionTreeRegressor
Below, We attempt to use only 'publications', and 'citations' to predict world rank.
X_train, X_test, y_train, y_test = train_test_split(data[['publications', 'citations']], data['world_rank'], test_size=0.25,
random_state=0)
regressor = DecisionTreeRegressor(random_state=1, max_depth=5)
regressor.fit(X_train, y_train)
score = regressor.score(X_test, y_test)
score
Below, We attempt to use only 'publications', 'citations', and 'patents' to predict 'world rank'.
X_train, X_test, y_train, y_test = train_test_split(data[['publications', 'citations', 'patents']], data['world_rank'], test_size=0.25,
random_state=0)
regressor = DecisionTreeRegressor(random_state=1, max_depth=5)
regressor.fit(X_train, y_train)
score = regressor.score(X_test, y_test)
score
Below, We are trying to predict world_rank from all the 5 other features.
X_train, X_test, y_train, y_test = train_test_split(data.drop('world_rank',axis =1), data['world_rank'], test_size=0.25,
random_state=0)
regressor = DecisionTreeRegressor(random_state=1)
regressor.fit(X_train, y_train)
score = regressor.score(X_test, y_test)
score
From the above 3 scores, using all 5 features to predict world ranking has the best testing accuracy. We will try to improve this estimate using GridSearchCV.
We will improve our best guess from above using grid search to search for trees with the optimal tree depth
from sklearn.metrics import r2_score
def performance_metric(y_true, y_predict):
score = r2_score(y_true, y_predict)
return score
from sklearn.metrics import make_scorer
from sklearn.tree import DecisionTreeRegressor
from sklearn.grid_search import GridSearchCV
from sklearn.cross_validation import ShuffleSplit
def fit_model(X, y):
cv_sets = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.20, random_state = 0)
regressor = DecisionTreeRegressor()
params = {'max_depth':(1,2,3,4,5,6,7,8,9,10)}
scoring_fnc = make_scorer (performance_metric,greater_is_better=True)
grid = GridSearchCV(regressor, params, cv=cv_sets, scoring=scoring_fnc )
grid = grid.fit(X, y)
return grid.best_estimator_
reg = fit_model(data.drop('world_rank',axis =1), data['world_rank'])
print "Parameter 'max_depth' is {} for the optimal model.".format(reg.get_params()['max_depth'])
The optimal model seems to be a tree with depth of 7. Applying this knowledge below, we obtain an estimate.
X=data.drop('world_rank',axis =1)
y=data['world_rank']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
regressor = DecisionTreeRegressor(random_state=1, max_depth=7)
regressor.fit(X_train, y_train)
score = regressor.score(X_test, y_test)
score
Our Coefficient of Determination is highest at 0.93241215468549277 for regression tree of depth=7, and using all 5 features to predict 'world ranking'
We found that for a DecisionTreeRegression model with depth= 7, and using all 5 features to predict 'world rank' is the best model, because it has the highest coefficient of Determination so far of 0.93241215468549277
The process of improvement is documented. We initially try different features to improve our Ceofficient of Determination. After we found that using all five features give us the high score, we use grid search to fine tune the depth of our tree to give us an even better coefficient of Determination.
The final model is a decision tree regressor of depth 7. We arrived at this model by trying successively different features in the methodology section. We arrive at the best tree depth by using gridsearchCV. Our final model have an cofficient of determination of 0.93241215468549277. Our benchmark for the coefficient of determination is over .9. Since we have .93. We are successful
Our model after fine tuning has coefficient of determination of .9324. Our benchmark was .9. We are successful.
We split our dataset into training, and testing set, and using the train set on our regression model, and test it in our testing set. We find that our Coefficient of Determination is around .9324.
For testing sizing of 20%, our coefficient of determination is 0.93477733889241732
For testing sizing of 22%, our coefficient of determination is 0.93489110072193204
For testing sizing of 25%, our coefficient of determination is 0.93241215468549277
For testing sizing of 28%, our coefficient of determination is 0.92772547330236477
For testing sizing of 30%, our coefficient of determination is 0.92957972329808003
For testing sizing of 32%, our coefficient of determination is 0.92931131677839218
The above are coefficient of determinations when we varies the testing size between 20% to 32%. As we can see, the coefficient of determination varies from 0.92931131677839218 to 0.93477733889241732. The coefficient of determination is relatively robust. Huge changes in the testing size from 20% to 32% yield a very small change in the coefficient of determination.
We reduced the dimensionality of our dataset from 6 to 2, and we can reasonablity trust that result because dimension 1 +dimension 2 given to us by PCA have an explained variance of .875( above our .85 benchmark).
We can reasonably trust our cluster representation. The reason being that we can 1. reasonable trust our dimensional reduction from 6 to 2, and 2. Our highest silhouette score yield a cluster number of two.
We use a DecisionTreeRegressor Model for our problem, and we can be confident of its success because of its high Coefficient of Determination score. We use grid Search to find the optimal depth for our tree. That depth is 7.
The solution of our problem is a model: A Decision tree Regressor with depth 7 using all 5 features in the dataset to predict world ranking. Our Solution is good if the coefficient of determination for our model is high. Our coefficient of determination is .9324, which is above our benchmark of .9.
import visuals as vs
vs.ModelComplexity(X_train, y_train)
The graph above shows our model( Decision Tree Regressor) is graphed with score( Coefficient of Determination) over Maximum Depth. Training accuracy is in red, and validation/testing accurcy is in green. Training accuracy tend to approach 1 as maximum depth increase. Validation/testing accuracy tend to peak at around 7.
This graph confirms our results using grid search. Using grid search, we found that the optional tree is at depth 7. From looking at this graph, we can also see validation/testing score peak at 7.
for feature in ["quality_of_education", "alumni_employment", "publications", "citations","patents" ]:
ax = data.plot(kind="scatter", x=feature,y="world_rank")
w1, w0 = np.polyfit(data[feature],data["world_rank"],deg=1)
rng = np.arange(np.min(data[feature]),np.max(data[feature]),0.1)
ax.plot(rng,[w0+w1*x for x in rng],color="red")
In the five illustrations above, we plot world ranking over the five features. Note that there seems to be a strong correlation between world ranking, and publication.
import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
objects = ('education', 'employment', 'publiction','citation', 'patent')
y_pos = np.arange(len(objects))
performance = regressor.feature_importances_
plt.bar(y_pos, performance, align='center', alpha=1)
plt.xticks(y_pos, objects)
plt.ylabel('Importance Score')
plt.title('Feature Importance')
plt.figure(figsize=(18, 20))
plt.show()
When we plot the feature importances for our regressor tree, publications seems to be the most important when it comes to predicting world ranking.
We began the project with a dataset with 14 features. We reduce the features down to 6. It is hard to visualize data in 6 dimensions, so we reduce it to down to 2 dimension using PCA. We graph it, and found that the best way to visualize it is with two clusters. We then try different guesses for our features(with inspiration from our visual representations), and come up with a decision Tree regressor model using all 5 features to predict world ranking. We fine tune our model so that we have a tree of depth of 7.
One interesting aspect of the project is that I get to use all the stuff I am taugh from the Nanodegree. I get to use supervise learning, regression, PCA, clustering, visualization, outlier detection, bias_variance trade off material.
I did not came with any expectation of the problem, or solutions. I follow step by step by doing analysis on the data, and visualization to gain an intuition. I think the model can best be used for all types of problems related to ranking of universities.
Our model is reasonably well, but some possible improvements is to perhaps include categorical varies like country. Does the ranking of universities depend on what country they are in? If a university is build in America, does it confer a higher ranking than a university build in Uganda, all else being equal? I would like to think it does not matter, but perhaps it does.
I am interested in using Random Forest to fine tune the right tree, or perhaps using SVM, but because I can do just as well using regression tree, I decide to go against it.
I think I can improve the final Coefficient of Determination of 0.93241215468549277 perhaps by searching the right tree, or using SVM.


Next: random-state, Previous: signum, Up: Numbers Dictionary
sqrt
number ⇒ root
isqrt
natural ⇒ natural-root
number, root—a number.
natural, natural-root—a non-negative integer.
sqrt and isqrt compute square roots.
sqrt returns the principal square root of number. If the number is not a complex but is negative, then the result is a complex.
isqrt returns the greatest integer less than or equal to the exact positive square root of natural.
If number is a positive rational, it is implementation-dependent whether root is a rational or a float. If number is a negative rational, it is implementation-dependent whether root is a complex rational or a complex float.
The mathematical definition of complex square root (whether or not minus zero is supported) follows:
(sqrt x) = (exp (/ (log x) 2))
The branch cut for square root lies along the negative real axis, continuous with quadrant II. The range consists of the right half-plane, including the non-negative imaginary axis and excluding the negative imaginary axis.
(sqrt 9.0) ⇒ 3.0 (sqrt -9.0) ⇒ #C(0.0 3.0) (isqrt 9) ⇒ 3 (sqrt 12) ⇒ 3.4641016 (isqrt 12) ⇒ 3 (isqrt 300) ⇒ 17 (isqrt 325) ⇒ 18 (sqrt 25) ⇒ 5 OR⇒ 5.0 (isqrt 25) ⇒ 5 (sqrt -1) ⇒ #C(0.0 1.0) (sqrt #c(0 2)) ⇒ #C(1.0 1.0)
The function sqrt should signal type-error if its argument is not a number.
The function isqrt should signal type-error if its argument is not a non-negative integer.
The functions sqrt and isqrt might signal arithmetic-error.
‘exp; expt’ , log, Rule of Float Substitutability
(isqrt x) ≡ (values (floor (sqrt x)))
but it is potentially more efficient.
Next: random-state, Previous: signum, Up: Numbers Dictionary


def read_file(self, filename, cls=None):
with open(filename) as file:
return self._read_file(file, cls)
def _read_file(self, file, cls=None):
from ..data import Table
if cls is None:
def read_file(self, filename, cls=None):
with open(filename) as file:
data = self._read_file(file, cls)
data.name = os.path.splitext(os.path.split(filename)[-1])[0]
return data
def _read_file(self, file, cls=None):
from ..data import Table


Dr. Norman Borlaug
This is Dr. Norman Borlaug
This is the tribute info description of Dr. Norman Borlaug


Up: Groups, Contexts, and Communicators
Next: Basic Statements
Previous: Attributes Example
In this section, we make further statements about the loosely
synchronous model, with particular attention to intra-communication.
Up: Groups, Contexts, and Communicators
Next: Basic Statements
Previous: Attributes Example
Return to MPI 1.1 Standard Index
Return to MPI-2 Standard Index
Return to MPI Forum Home Page
MPI-1.1 of June 12, 1995
HTML Generated on August 6, 1997