Example Client for JSON WebSocket Server
This page is used to experiment and test the JSON WebSocket
server interface. Make sure the server is configured and running
and that you know the URL to connect to.
JSON Messages
Messages sent across the web socket connection will always be in
a JSON format and each message will contain a single JSON object
having at least an op attribute to uniquely identify
the operation to be performed. Other than the op
attribute to identify the action, all other attributes are
dependent upon the action being requested. The recognized
message types are described below.
NOTE: If authentication is enabled, you will need to
perform the authenticate action prior to any other
operation.
auth: Authenticate (after connection)
Request:
{
"op": "auth",
"key": "admin"
}
Response:
{
"op": "auth",
"authenticated": true
}
Depending on how the server is configured/run, you may need to
authenticate yourself in some manner before being allowed to
access the provided services. In the simple example, a simple
authentication method is used where you must send the message
shown above.
exec: Spawn Process
Request (start):
{
"op": "exec",
"cmd": "CMD",
"args": [ "ARG0", "ARG1", "ARGN" ],
"options": { },
"encoding": "utf-8"
}
Response (start):
{
"op": "exec",
"cmd": "CMD",
"args": [ "ARG0", "ARG1", "ARGN" ],
"options": { },
"encoding": "utf-8"
}
Response (stdout - with encoding):
{
"op": "exec",
"pid": 17281,
"state": "out",
"text": "PART OF OUTPUT IN SPECIFIED ENCODING AS STRING"
}
Response (stdout - binary):
{
"op": "exec",
"pid": 17281,
"state": "out",
"text": "PART OF OUTPUT IN SPECIFIED ENCODING AS STRING"
}
Response (stderr - with encoding):
{
"op": "exec",
"pid": 17281,
"state": "err",
"text": "PART OF OUTPUT IN SPECIFIED ENCODING AS STRING"
}
Response (exit):
{
"op": "exec",
"pid": 17281,
"state": "exit",
"startedBy": { },
"code": 0,
"signal": null
}
Response (error):
{
"op": "exec",
"state": "error",
"startedBy": { },
"message": "SYSTEM MESSAGE DESCRIBING ERROR"
}
88
This message is used to start a new process on the server. You
must specify the
cmd,
args (can be empty
array), and
options (can be empty object). If you want
text output, you must specify an
encoding type (like
"utf-8", but it can depend on the command you are
running). Refer to
the
child_process.spawn
document for details on the
options.
After starting a new process, expect several different types of exec messages coming back.
- "state": "started"
- This message is returned letting you know that the process
has been started at the server. It will include the process ID
(pid) tied to the process.
- "state": "out" and "state": "err"
- These messages occur as the running process writes data to
stdout (out) and stderr (err). These
messages will include the process ID (pid) of the
process that generated the output. The output value will
appear as a string (text) if an encoding
value was specified when the process was started. If
an encoding value was not specified, you will get the
raw binary data (bytes) to play with.
- "state": "exit"
- This message is returned once the process terminates. It
will always include the process ID (pid) as the
original paramters used to start the process
(startedBy). It will also include a code
and signal attribute, however at least one of them
will be null. The code attribute will be an
integer value based on the process exit code if the process
ended normally. The signal will be a string
indicating the signal that killed the process if the process
was terminated by a signal instead of a normal exit.
- "state": "error"
- This message is returned if an abnormal situation occurs
when starting the process. For example, if you tried to
execute something that was not on the system. You will not get
a process ID in the response as the process did not start. You
will get a system error message (message) and the
original command that attempted to start the process
(startedBy).
NOTE: This handler is not enabled in the simple sample.
kill: Kill Spawned Process
Request:
{
"op": "kill",
"pid": PID,
"signal": "SIGTERM"
}
Response:
{
"op": "kill",
"pid": PID,
"signal": "SIGTERM",
"killed": true,
"message": "Description of results"
}
This message is used to start a new process on the server. You
must specify the
cmd,
args (can be empty
array), and
options (can be empty object). If you want
text output, you must specify an
encoding type (like
"utf-8", but it can depend on the command you are
running). Refer to
the
child_process.spawn
document for details on the
options.
NOTE: This handler is not enabled in the simple sample.
time: Get Server Time
Response:
{
"op": "time",
"time": MILLIS
}
Returns the current server time as a standard JavaScript timestamp (millissecond count from the epoch).
echo
Request:
{
"op": "echo",
"text": "MESSAGE"
}
Response:
{
"op": "echo",
"text": "MESSAGE"
}
This handler simply echos back the message received.


On Wednesday 9 November 2016 a tram derailment occurred in Croydon killing seven people, the worst loss of life in tram or train incident in the UK since 2004. Alongside the fatalities, over 50 people suffered injuries when the tram derailed near Sandilands tram stop, some of which were life changing.
The disaster has impacted not only on the passengers and their families, but also on the wider community living and working in the surrounding area.
Many of those involved will require long-term emotional and financial support in the difficult months ahead. This is the official fund is to raise money to enable those directly affected by this tragedy, their families, and where appropriate, the wider community, to have access to ongoing care and support.


Routes
The “Route” is the central concept of Akka HTTP’s Routing DSL. All the structures you build with the DSL, no matter whether they consists of a single line or span several hundred lines, are functions turning a RequestContext
into a CompletionStage<RouteResult>
.
A Route
itself is a function that operates on a RequestContext
and returns a RouteResult
. The RequestContext
is a data structure that contains the current request and auxiliary data like the so far unmatched path of the request URI that gets passed through the route structure. It also contains the current ExecutionContext
and akka.stream.Materializer
, so that these don’t have to be passed around manually.
Generally when a route receives a request (or rather a RequestContext
for it) it can do one of these things:
- Complete the request by returning the value of
requestContext.complete(...)
- Reject the request by returning the value of
requestContext.reject(...)
(see Rejections) - Fail the request by returning the value of
requestContext.fail(...)
or by just throwing an exception (see Exception Handling) - Do any kind of asynchronous processing and instantly return a
CompletionStage<RouteResult>
to be eventually completed later
The first case is pretty clear, by calling complete
a given response is sent to the client as reaction to the request. In the second case “reject” means that the route does not want to handle the request. You’ll see further down in the section about route composition what this is good for.
A Route
can be “sealed” using Route.seal
, which relies on the in-scope RejectionHandler
and ExceptionHandler
instances to convert rejections and exceptions into appropriate HTTP responses for the client.
Using Route.handlerFlow
or Route.asyncHandler
a Route
can be lifted into a handler Flow
or async handler function to be used with a bindAndHandleXXX
call from the Low-Level Server-Side API.
RequestContext
The request context wraps an HttpRequest
instance to enrich it with additional information that are typically required by the routing logic, like an ExecutionContext
, Materializer
, LoggingAdapter
and the configured RoutingSettings
. It also contains the unmatchedPath
, a value that describes how much of the request URI has not yet been matched by a Path Directive.
The RequestContext
itself is immutable but contains several helper methods which allow for convenient creation of modified copies.
RouteResult
The RouteResult
is an opaque structure that represents possible results of evaluating a route. A RouteResult
can only be created by using one of the methods of the RequestContext
. A result can either be a response, if it was generated by one of the completeX
methods, or a rejection that contains information about why the route could not handle the request.
Composing Routes
Routes are composed to form the route tree in two principle ways.
A route can be wrapped by a “Directive” which adds some behavioral aspect to its wrapped “inner route”. In the Java DSL, a Directive is a method that returns a Route. In many cases, a Directive method will have an inner route argument that is invoked when its semantics decide to do so, e.g. when a URL path is matched.
Example topics for directives include:
- filtering requests to decide which requests will get to the inner route
- transforming the request before passing it to the inner route
- transforming the response (or more generally the route result) received from the inner route
- applying side-effects around inner route processing, such as measuring the time taken to run the inner route
The other way of composition is defining a list of Route
alternatives. Alternative routes are tried one after the other until one route “accepts” the request and provides a response. Otherwise, a route can also “reject” a request, in which case further alternatives are explored. Alternatives are specified by passing a list of routes to to RouteDirectives.route()
.
The Routing Tree
Essentially, when you combine routes via nesting and alternative, you build a routing structure that forms a tree. When a request comes in it is injected into this tree at the root and flows down through all the branches in a depth-first manner until either some node completes it or it is fully rejected.
Consider this schematic example. In place of directiveA, directiveB, etc., you can just imagine any of the available directives, e.g. matching a particular path, header or request parameter.:
import static akka.http.javadsl.server.Directives.*;
Route route =
directiveA(route(() ->
directiveB(route(() ->
directiveC(
... // route 1
),
directiveD(
... // route 2
),
... // route 3
)),
directiveE(
... // route 4
)
));
Here five directives form a routing tree.
- Route 1 will only be reached if directives
a
,b
andc
all let the request pass through. - Route 2 will run if
a
andb
pass,c
rejects andd
passes. - Route 3 will run if
a
andb
pass, butc
andd
reject.
Route 3 can therefore be seen as a “catch-all” route that only kicks in, if routes chained into preceding positions reject. This mechanism can make complex filtering logic quite easy to implement: simply put the most specific cases up front and the most general cases in the back.
Sealing a Route
As described in Rejections and Exception Handling, there are generally two ways to handle rejections and exceptions.
- Pass rejection/exception handlers to the
seal()
method of theRoute
- Supply handlers as arguments to handleRejections and handleExceptions directives
In the first case your handlers will be “sealed”, (which means that it will receive the default handler as a fallback for all cases your handler doesn’t handle itself) and used for all rejections/exceptions that are not handled within the route structure itself.
Modify HttpResponse from a sealed Route
You can use Route
class’s seal()
method to perform modification on HttpResponse from the route. For example, if you want to add a special header, but still use the default rejection handler, then you can do the following. In the below case, the special header is added to rejected responses which did not match the route, as well as successful responses which matched the route.
public class RouteSealExample extends AllDirectives {
public static void main(String [] args) throws IOException {
RouteSealExample app = new RouteSealExample();
app.runServer();
}
public void runServer(){
ActorSystem system = ActorSystem.create();
final ActorMaterializer materializer = ActorMaterializer.create(system);
Route sealedRoute = get(
() -> pathSingleSlash( () ->
complete("Captain on the bridge!")
)
).seal(system, materializer);
Route route = respondWithHeader(
RawHeader.create("special-header", "you always have this even in 404"),
() -> sealedRoute
);
final Http http = Http.get(system);
final Flow<HttpRequest, HttpResponse, NotUsed> routeFlow = route.flow(system, materializer);
final CompletionStage<ServerBinding> binding = http.bindAndHandle(routeFlow, ConnectHttp.toHost("localhost", 8080), materializer);
}
}


Florent Pastor
Software architect developer
Education
MSC degree in software architecture
University of Nice
2017 - 2018
MSC degree in computer science
University of Nice
2016 - 2017
BS degree in computer science
University of Nice
2013 - 2016
Scientific secondary school diploma
P&M Curie High-School, Menton
2012
Languages
- French (Native)
- English
- Italian
Interests
- Swimmer
- Skier
- Singer, Folk dancer, Musician
- Geek, Skipper
- Kick boxer
- Drone pilot
{% if blogs|length > 0 %}
{% endif %}
{% block content %}
{% endblock %}


Voter statistics for:
{{ voter_public_address }}
ID
{{row.id | number}}
Date
{{ row.date_and_time | date:'dd/MM/yy HH:mm' }}
Name
{{row.payment_name}}
Address
{{row.payment_address}}
Payment
{{row.total | number:'1.0-1' }}
pets
vpn_key
No blocks found.


You are encouraged to use the Information that is available under this licence with only a few conditions.
Acknowledge the source of the Information by including any attribution statement specified by the Information Provider(s) and, where possible, provide a link to this licence.
If the Information Provider does not provide a specific attribution statement, or if you are using Information from several information providers and multiple attributions are not practical for your product or application, you must use the following attribution statement:
Contains information licensed under the Open Government Licence – Canada.
The terms of this licence are important, and if you fail to comply with any of them, the rights granted to you under this licence, or any similar licence granted by the Information Provider, will end automatically.
This licence does not grant you any right to use:
This licence does not grant you any right to use the Information in a way that suggests any official status or that the Information Provider endorses you or your use of the Information.
The Information is licensed “as is”, and the Information Provider excludes all representations, warranties, obligations, and liabilities, whether express or implied, to the maximum extent permitted by law.
The Information Provider is not liable for any errors or omissions in the Information, and will not under any circumstances be liable for any direct, indirect, special, incidental, consequential, or other loss, injury or damage caused by its use or otherwise arising in connection with this licence or the Information, even if specifically advised of the possibility of such loss, injury or damage.
This licence is governed by the laws of the province of Ontario and the applicable laws of Canada.
Legal proceedings related to this licence may only be brought in the courts of Ontario or the Federal Court of Canada.
In this licence, the terms below have the following meanings:
"Information" means information resources protected by copyright or other information that is offered for use under the terms of this licence.
"Information Provider" means Her Majesty the Queen in right of Canada.
“Personal Information” means “personal information” as defined in section 3 of the Privacy Act, R.S.C. 1985, c. P-21.
"You" means the natural or legal person, or body of persons corporate or incorporate, acquiring rights under this licence.
This is version 2.0 of the Open Government Licence – Canada. The Information Provider may make changes to the terms of this licence from time to time and issue a new version of the licence. Your use of the Information will be governed by the terms of the licence in force as of the date you accessed the information.


Sir doctor says radiation is necessary. I want to know what is my condition & my case is metastatic or not.pet scan report... Read more
Sir I have attached the IHS report of my sister please giv me some explanation about the report sir.
Hi Friends, my friedn was diagnosed with stage -3 Grade-3 breast cancer, so she under went TCH protocol. She is 74 years and her treatemt is almost done... Read more
Can any one tell me from where we can purchase target therapy injection because its very costly. Please help me on this.


For now, there is only
Stay tuned for a proper getting-started guide, with an emphasis on building models in C++ and using the algorithmic gradient code and matching C++ probability and special-function libraries.


Education
Eastern Washington University (2015-present)
B.F.A. in Visual Communication Design (In Progress)
Spokane Falls Community College (2000-2002)
A.A. in General Studies
Work
Reachback Coordinator, US Navy (October 2012 – February 2015)
-
Developed training curriculum and standard operating procedures for incoming trainees resulting in the punctual delivery of more than 1500 products.
-
Advertised capabilities of program to clients resulting in an 20% increase of product requests.
-
Delivered high profile briefs to officers and commanding officers.
-
Created templates that streamlined the product creation process resulting in a 30% decrease in time to complete while simultaneously pleasing customers with a final products that featured better user experiences, both functionally and aesthetically.
Assistant Recruiter, US Navy (August 2012 – October 2012)
-
Spread awareness of mission statement and benefits to potential clients throughout regional schools and businesses.
-
Educated and trained 50 recruits by preparing and executing weekly meetings.
-
Provided government transportation for potential clients to meetings, medical examinations and training sessions.
Meteorological Tech, US Navy (February 2011 – August 2012)
-
Successfully tracked the logging of over 1,500 hours of 4 junior & senior personnel toward two separate trades.
-
Recorded 490 weather observations to produce 1,160 meteorological products that resulted in 70 hours of mishap free flight and well-deck operations.
-
Developed templates used by entire department that impressed audiences and cut the time required to develop briefs by an average of 15 minutes.
-
Demonstrated experimental proficiency by launching 10 weather balloons in order to test the accuracy of forecasts and models.
-
Ensured a secret inventory of 70 items that were accounted for on a daily basis and properly disposed of classified material as necessary.
Courier, DHL (July 2006 – October 2010)
-
Assisted in sorting and dissemination of tens of thousands of lbs of freight resulting in punctual delivery to clients throughout Eastern Washington and Northern Idaho.
-
Distributed freight to assigned routes ahead of schedule, resulting in routine volunteering of assistance to co-workers in order to meet deadlines.
-
Redesigned driver routes for maximum efficiency culminating in happier customers and happier employees as freight was dispersed faster and lunches and breaks could be utilized more often.
-
Facilitated training of new employees, demonstrating proficient methods that should be utilized to ensure logistical success.
Driver, Peking Palace (January 2000 – July 2006)
-
Displayed outstanding customer service with expert knowledge of services.
-
Able to answer questions and identify customer needs.
-
Managed and supervised new employees and developed fair schedules.
-
Consistently displayed courteous and professional behavior and maintained a clean appearance.


10 Delicious Trader Joe's Meal Hacks to Make Dinner Easy
by Anna Monette RobertsHow can you hack a delicious homemade meal in minutes without resorting to a frozen entree? We asked our editors to share their tips for fast, easy, and tasty dinners thrown together with a handful of Trader Joe's products, so you can become an even savvier cook on busy weeknights. With a combination of fresh and prepped ingredients from the affordable grocery brand, we've come up with some pretty ideal dinners that can easily be thrown together after work. From spruced-up soup to cheap chopped salad and spicy taco bowls, these ideas will inspire you to skip the takeout.
Trader Joe's Hack: Better-Than-Takeout Indian
"I add the curry sauce to chicken plus one can of its coconut milk. Once cooked, I shred up the chicken, add cooked potatoes, and then put it over rice, and it tastes better than takeout." — Shannon Vestal Robson
Trader Joe's Hack: Done-Up Soup
"The Crispy Crunchy Mochi Rice Nuggets make the perfect croutons, and they don't get soggy. Also, when the soup is warming up, I add in some garlic powder, black pepper, and a pinch of sugar — crispy herbs would be good, too!" — Jae Payne
Trader Joe's Hack: Cheap Chopped Salad
"Grab a bag of mixed greens, a can of tuna packed in olive oil, a sack of baby potatoes, jars of kalamata olives and cornichons, and a bottle of vinaigrette for a tasty, healthy, cheap, and quick dinner." — Angela Elias
Trader Joe's Hack: Zucchini Bolognese
"With a hand-held spiralizer, you can quickly make your own zucchini noodles while you heat up the bolognese. Top it off with red pepper flakes and shredded parmesan for a yummy, carb-free dinner." — AE
Trader Joe's Hack: "Greek" Salad on the Fly
"Use balela beans as a great topping to a salad (along with the dressing in the container) with just romaine, cherry tomatoes, and feta cheese. Amazingly tasty salad in a pinch." — Lauren Hendrickson
Trader Joe's Hack: Soup For Any Season
"I have to stop myself from cooking this butternut squash soup more than once a week. Use chicken broth, diced butternut squash, a can of coconut milk, a jar of harissa (instead of curry paste), a tube of ginger purée, onions, garlic, and frozen naan." — AE
Trader Joe's Hack: 5-Minute Dinner
"I like to sauté Trader Joe's cauliflower rice in olive oil and garlic, add a can of black beans, and top a bowl of the mixture with TJ's shredded Mexican cheese, a fried egg, and hot sauce! Protein-packed dinner on the cheap." — Erin Cullum
Trader Joe's Hack: Charcuterie For One
"I love putting together this easy plate when I don't feel like cooking. The only preparation required is cooking some asparagus over the stove top with olive oil. The rest I throw onto a large board or plate: prosciutto, asparagus, slices of french baguette, EVOO, balsamic vinegar, and marinated mozzarella balls." — Nicole Yi
Trader Joe's Hack: The Best Lentil Salad You've Ever Had
"This is a tasty side that's perfect for bringing to a potluck with a bag of pita chips or piling on top of its frozen naan bread. Dump a package of steamed lentils, feta cheese, and a few spoonfuls of TJ's jarred buschetta mix and combine in a bowl. You can also add cherry tomatoes and a bag of arugula." — AE
Trader Joe's Hack: Spicy Taco Salad
"Hatch chili salsa mixed with a little yogurt and olive oil makes a perfect salad dressing for a taco salad." — LH


Namespace stellar_dotnetcore_sdk
Classes
Account
AccountMergeOperation
AccountMergeOperation.Builder
Builds AccountMerge operation. AccountMergeOperation
AllowTrustOperation
AllowTrustOperation.Builder
Builds AllowTrust operation.
Asset
AssetTypeCreditAlphaNum
AssetTypeCreditAlphaNum12
AssetTypeCreditAlphaNum4
AssetTypeNative
Base32Encoding
ChangeTrustOperation
ChangeTrustOperation.Builder
Builds ChangeTrust operation.
CreateAccountOperation
CreateAccountOperation.Builder
CreatePassiveOfferOperation
CreatePassiveOfferOperation.Builder
Builds CreatePassiveOffer operation.
EnumerableExtensions
FormatException
KeyPair
ManageDataOperation
ManageDataOperation.Builder
ManageOfferOperation
ManageOfferOperation.Builder
Memo
MemoHash
MemoHashAbstract
MemoId
MemoNone
MemoReturnHash
MemoText
MemoTooLongException
Network
Operation
PathPaymentOperation
PathPaymentOperation.Builder
Builds PathPayment operation.
PaymentOperation
PaymentOperation.Builder
Price
Server
SetOptionsOperation
Represents SetOptions operation. See List of Operations
SetOptionsOperation.Builder
Builds SetOptions operation.
Signer
Signer is a helper class that creates
StrKey
TimeBounds
Transaction
Transaction.Builder
Builds a new Transaction object.


The main differances between Borders, Margins, and Padding are where they take place. Since all content in HTML is rectangle in shape think of them as boxes. The content is in a box. The margin is how far the box is from the edge of the screen. The border surrounds the box, and the padding is how far from the edge of the box the content will appear. Here is a handy image for a visual explaination.
Examples between Borders, Margins, and Padding are very similar as they affect the content in similar fashions. First you would need to indicate the class in the html for the paragraph. An example for a border would look something like this.
< p class="border">some text.< /p> and the accompanying CSS would look like
p.border {border-style:dotted;
border-width:2px;
}
as for the padding and margins just sub out the border for padding and margains and you also have options like top, bottom, left and right if you want seperate sides to have differant features.


Toggle navigation
GeekyShacklebolt
Home
About
Work
Blog
Contact
Contact
Hey! 👋
Please feel free to get in touch with either of the following options:
Drop me an email at:
<EMAIL_ADDRESS>Fill up this
contact form
at wordpress.
Connect on the following social platforms: 👇


Woods Hotel has 35 elegantly furnished and air conditioned classic rooms, which will be a perfect pick both for business and leisure travelers…
The Suite, which has a separated bedroom and living room that allows for more efficient use of space, is the most optimum place to relax for both business and family guests.


Guides and Articles ${item.sectionName} from: ${item.articleName} API Quickly search for articles, guides and Aurelia API’s.


tag is paragrah tag is inline and
tag is a block make and invisible box Span and div - span is inline and div is block Html document Doc type Head tag has meta data, java or css Title tag Body tag


I have recently finished a 24 week Coding Boot Camp program in full stack development at University of Kansas - Edwards Campus. I consider myself equally comfortable on the frontend and backend...versatility has always been one of my biggest strengths. My previous education includes foreign languages and biological sciences. I still have a strong interest in languages and biology, and an ideal position for me would include elements of all three. I take my hobbies very seriously, as evidenced by having several of my original patterns published in major knitting magazines, such as Knitscene and Knitty. Although pattern design does involve creative skills, there is also technical skill required in writing a pattern that others can work from. Much like code, if there is a syntax error or a math error in the instructions, it could potentially make a pattern impossible to use.
What I Can DoUniversity of Kansas-Edwards Campus
Full Stack Coding Bootcamp
Austin Community College (Austin, Texas)
Associate of Arts in Foreign Languages-Spanish
HTML5
CSS3
Bootstrap
JavaScript
jQuery
React.js
Node.js
Express.js
MySQL/Sequelize
MongoDB/Mongoose
Git/GitHub


Main Concepts
Classes Are Everywhere - About Services
-
Angular Services are also only ES6 classes
-
Below is a naive implementation of a service to manage logs
-
Once the service is done, it has to be declared to the framework
enum LogLevel {
INFO, WARN, ERROR
}
// providedIn: 'root' specifies that Angular should provide the service in the root injector.
@Injectable({
providedIn:'root'
})
class LoggerService {
info(msg: String): void{
if (this.minLevel >= LogLevel.INFO){
console.log('[INFO]' + msg);
}
}
warn(msg: String): void{
if (this.minLevel >= LogLevel.WARN){
console.log('[WARN]' + msg);
}
}
error(msg: String): void{
console.log('[ERROR]' + msg);
}
}
it is a best practice to separate presentation of data from data access by encapsulating data access in a separate service and delegating to that service in the component


Shareholders OK GateHouse’s $1.4B acquisition of Gannett
NEW YORK (AP) - Two of the largest U.S. newspaper companies are set to combine after shareholders approved GateHouse Media’s $1.4 billion acquisition of Gannett.
New York-based New Media Investment Group, which owns GateHouse, announced in August its plan to buy USA Today owner Gannett.
The deal creates the largest U.S newspaper company by far. Media expert Ken Doctor estimates the combined company will have a print circulation of 8.7 million, 7 million more than the new No. 2, McClatchy.
TOP STORIES
Skeptics chuckle as climate activist Greta Thunberg sets sail for Europe on 'plastic yacht'
Everest climber left to die alone
Reckoning coming for Adam Schiff for impeachment inquiry
Local papers, faced with the complex and expensive process of building digital businesses to replace declining print ads and circulation, have been aggressively consolidating in recent years.
The combined company will take the Gannett name and keep its headquarters in Gannett’s current home of McLean, Virginia.
The deal is set to close on Tuesday.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


PLANET SICK-BOY: http://www.sick-boy.com
Growing up as the child of dirty hippies, I was introduced to the plight of Ruben `Hurricane' Carter at an early age. Via the Bob Dylan song, I learned that Carter was the number one contender for the middleweight boxing title until he was accused, falsely tried and convicted of a grisly triple murder by an all-white jury. The song also detailed the cover-ups, witness tampering and corruption ranging from the local police to the judge that handed Carter his life sentence. Pretty heavy subject matter for a song (thank God that Dylan was writing in blank verse), not to mention my five-year-old brain. The tale seemed inconceivable, even to a kid whose biggest concern was trying to get the brake on his Big Wheel to make him spin to a groovy halt.
Still, I approached the film with apprehension. First, you have to consider the fact that you're basically seeing a movie that will offer no surprises. It's a biopic and, like Man on the Moon, based on real-life events that most people already know. Then there's director Norman Jewison. He's made some decent films, especially when he focuses on racial injustice, but his last two (Bogus and Only You) really stunk up the joint. And then there's Denzel Washington (The Bone Collector), an actor who, in my opinion, is one of the most overrated in the business (it's a photo-finish with Liam Neeson). But since The Hurricane has already been praised by critics worldwide, I felt I should probably check my preconceptions at the box office window.
Hurricane is a good film. Is it a Best Picture candidate? Absolutely not. Does it belong on Top Ten lists? Not unless you've only seen two dozen movies in 1999. I'm not even sure that you can call the film entertaining, considering the depressing material and lack of surprises. It is simply a good film.
Among its strengths is the way the film is assembled. Instead of going for the simple, linear, timeline approach, Jewison skips from Carter's welterweight title fight in 1963; to the release of his novel, `The 16th Round,' in 1973; to the murders in 1966; to Carter's youth in Patterson, New Jersey; to the `present day,' when a group of Canadians lead a fight to free the imprisoned boxer.
Also commendable is Roger Deakins' (The Big Lebowski) cinematography, which is fantastic without being intrusive. His camera-work, especially during the grainy black-and-white fight, is quite remarkable. At this point in post-Raging Bull cinema, it's almost a requirement that all fight scenes be filmed in black-and-white, but Deakins does more than just use black-and-white stock: He gives these scenes such a dated look that you can almost hear Howard Cosell calling the action.
But the biggest surprise of all is Washington, who does a really great job in the titular role. The usually one-dimensional actor manages to appear angry, scared and delusional at the same time. There is one standout scene where he meets with his lawyers and they do that whole talking-on-the-phone-separated-by-a-thick-pane-of-glass thing. Washington gets so worked up that his side of the glass starts to get steamed up. Or maybe he just had really bad gas.
Hurricane certainly isn't without flaws, though. It's one slow-moving train, punctuated by a tedious scene of Carter in `the hole.' It feels like we're watching the entire ninety-day ordeal play out in real time. I also have a big problem with the creation of the fictional character Detective Vincent Della Pesca (Dan Hedaya, Dick).  Sound familiar? It should - it's the O.J. defense. While I understand his inclusion intends to illustrate the corruption of the system, it's really hard to swallow. I'm sure that law enforcement officers wish they had this kind of free time on their hands. The character does nothing but potentially incite hatred toward police. And that just leaves a bad taste in my mouth.
2:25 - R for adult language, violence and racial stuff
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


--- layout: default title: About Brentano description: Brentano is an extraordinary neighborhood school in the heart of Logan Square. At Brentano, we believe children thrive when they have joy, high expectations, and instruction that makes them think, not just listen. ---
Brentano is an extraordinary neighborhood school in the heart of Logan Square.
Since 1893, Brentano has served families in our community and helped generations of children grow as well-rounded citizens of Chicago and the world.
We emphasize problem-solving and project-based learning in order to make work challenging and relevant for all students. We prioritize the arts as well as science, math, and technology. Above all else, we believe children thrive when they have joy, high expectations, and instruction based in discovery.
We invite you to visit, tour, and learn more about our school.


{{ $css := resources.Get "css/style.css" }}
"A Kubernetes Operator that Automatically Renews SSL Certificates."


relaxnet: Relaxation of glmnet models (as in relaxed lasso, Meinshausen
2007)
Extends the glmnet package with "relaxation", done by running glmnet once on the entire predictor matrix, then again on each different subset of variables from along the regularization path. Relaxation may lead to improved prediction accuracy for truly sparse data generating models, as well as fewer false positives (i.e. fewer noncontributing predictors in the final model). Penalty may be lasso (alpha = 1) or elastic net (0 < alpha < 1). For this version, family may be "gaussian" or "binomial" only. Takes advantage of fast FORTRAN code from the glmnet package.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=relaxnet
to link to this page.


Log into GenoCAD in order to be able to create libraries and parts and to save designs. Your Username is the email address you used when registering for your GenoCAD account, and your password is either the one that was emailed to you when you signed up, or a password you set up subsequently.
If you don't have a GenoCAD account, click on the Sign Up link.
If you have forgotten your password, click on the reset it link.


<subjectScheme>
The <subjectScheme> element is a specialization of <map>; it defines taxonomic subjects and controlled values.
<map>
Category: Subject scheme elements


Star Notary Services
Create Star
Create Star with starID 4711
["Star power 103!", "I love my wonderful star", "ra_032.155", "dec_121.874", "mag_245.978"]
Create Star
Put Star up to Sell
put Star 4711 up to sell.
Put Star
Claim Star
Star-ID
Search Star
Star Name:
....
Star Story:
....
Star Cent:
0.00
Star Dec:
0.00
Star Mag:
0.00
Star Owner:
....
Claim Star


Release Notes
Planned Features & Enhancements
- Ability to schedule sprints.
- Burndown reporting.
What's Available in 0.1a
- Login via Facebook.
- Ability to add storyboards.
- Ability to add and delete stories.
- Ability to add and delete columns.
- Drag and drop prioritisation of user stories.
Known Issues
There are no known issues at this time.


Our application protects you,You don't have to do anything just login and a walk care free if any thing abnormal happens we will send your location details to your contact
We are here to protect you and we will make sure you are always safe
We share your accurate location with your listed contacts,if our system finds something abnormal
don't worry if you are in danger,help is in its way
— Elizabeth cady stanton


*Mouseover to magnify
1. Binomial nomenclature: Eugenia pyriformis
2. Popular Name: Uvaia, Uvalha, Uvalha-do-campo, Uvaia-muchana, Cambuí-da-índia, Ubapeba, Pêssego-do-campo, Uvaia-azeda-do-campo, outros.
3. Family: Myrtaceae
4. Categoty: Bushes, Tropical Bushes, Tree, Fruit trees, Ornamental trees, Medicinal
5. Climb: Mediterranean, Subtropical, Temperate , Tropical
6. Origin: South America, Brazil
7. Height: 3.6 to 4.7 meters, 4.7 to 6.0 meters, 6.0 to 9.0 meters, 9.0 to 12 meters
8. Life cycle: Perpetual, despite the change in the color of its leaves when there is occurrence of long cold periods, the leaves do not fall.


Please read the limitations & ongoing enhancements carefully before closing this section.
We hope you like this utility. For now it has capability to build only IN and BO module on both DEV3 and DEV4 streams. We are in process of making this utility capable to build other modules as well. Your patience is highly appreciated.
Report a Bug Or Send Suggestions
We are thankful to see you here. Please report if you found a bug. We will be happy to solve it and make the application more robust. Thank You..!!


Choose an element from either tree to display its properties.
Concept URI: {{ selectedElement.properties.concept_url }}


This is a small application for a simple application scrawling and presenting the twitter via twitter and google APIs.


Status Definitions
Expired ESS File
An ESS File NOT associated with a task number and created more than 1 month ago, but less than 6 months ago.
Pending ESS File
An ESS File NOT associated with a task number and created within the last 1 month.
Active ESS File
An ESS File associated with an active task number.
Completed ESS File
An ESS File where the task number associated with the file has expired.


You are rudderless,” Siuan told the six women facing her in six different sorts of chair. The room itself was a muddle. Two large kitchen tables against the walls held pens and ink jars and sand bottles in neat arrays. Mismatched lamps, some glazed pottery and some gilded, and candles in every thickness and length stood ready to provide light at nightfall. A scrap of Illianer silk carpet, rich in blues and reds and gold, lay on a floor of rough, weathered planks. She and Leane had been seated across the piece of carpet from the others, in such a way that they were the focus of every eye. Open casement windows with panes cracked or replaced by oiled silk let a breath of air stir in, but not enough to cut the heat. Siuan told herself that she did not envy these women their ability to channel—she was past that, surely—but she did envy the way none of them perspired. Her own face was quite damp. “All that activity out there is play and show. You might be fooling each other, and maybe even the Gaidin—though I’d not count on that, were I you—but you can’t fool me.”
She wished that Morvrin and Beonin had not been added to the group. Morvrin was skeptical of everything despite her placid, sometimes vaguely absent look, a stout Brown with gray-streaked hair who demanded six pieces of evidence before she would believe fish had scales. And Beonin, a pretty Gray with dark honey hair and blue-gray eyes so big they constantly made her appear slightly startled—Beonin made Morvrin seem gullible.
“Elaida has the Tower in her fist, and you know she will mishandle Rand al’Thor,” Siuan said scornfully. “It will be pure luck if she doesn’t panic and have him gentled before Tarmon Gai’don. You know that whatever you feel about a man channeling, Reds feel ten times more. The White Tower is at its weakest when it should be at its strongest, in the hands of a fool when it must have skilled command.” She wrinkled her nose, staring them in the eye one by one.  Or can you convince me that you are doing more than twiddling your thumbs and blowing bubbles?”
“Do you agree with Siuan, Leane?” Anaiya asked mildly. Siuan had never been able to understand why Moiraine liked the woman. Trying to get her to do anything she did not want to was like hitting a sack of feathers.  Even the way she sat, with her hands folded, looked more like a woman waiting to knead dough than an Aes Sedai.
“In part I do,” Leane replied. Siuan gave her a sharp look that she ignored. “About Elaida, certainly. Elaida will misuse Rand al’Thor, as surely as she is misusing the Tower. For the rest, I know that you have worked hard to gather as many sisters here as you have, and I expect that you are working just as hard to do something about Elaida.”
Siuan sniffed loudly. On her way through the common room she had snatched glimpses of some of those parchments being examined so assiduously. Lists of provisions, allotments of timber for rebuilding, assignments for woodcutting and repairing houses and cleaning out wells. Nothing more. Nothing that looked the least like a report on Elaida’s activities. They were planning to winter here. All it took was one Blue being captured after she had learned of Salidar, one woman being put to the question—she would not hold back much if Alviarin had charge of it—and Elaida would know exactly where to net them. While they worried about planting vegetable gardens and having enough firewood cut before the first freeze.
“Then that is out of the way,” Carlinya said coolly. “You do not seem to understand that you are not Amyrlin and Keeper any longer. You are not even Aes Sedai.” Some had the grace to look embarrassed. Not Morvrin or Beonin, but the others. No Aes Sedai liked to speak of stilling, or be reminded of it; they would think it especially harsh in front of the two of them. “I do not say this to be cruel. We do not believe the charges against you—despite your traveling companion—or we would not be here, but you cannot assume your old places among us, and that is a simple fact.”
Siuan remembered Carlinya well as novice and Accepted. Once a month she had committed some minor offense, a small thing that earned her an extra hour or two of chores. Exactly once each month. She had not wanted the others to think her a prig. Those had been her only offenses—she never broke another rule or put a foot wrong; it would not have been logical—yet she had never understood why the other girls had considered her an Aes Sedai pet anyway. A great deal of logic and not much common sense: that was Carlinya.
“While what was done to you followed the letter of the law narrowly,” Sheriam said gently, “we agree that it was malignantly unjust, an extreme distortion of the law’s spirit.” The chair-back behind her fire-red head was incongruously carved with what seemed to be a mass of snakes fighting. “Whatever rumor might say, most of the charges laid against you were so thin that they should have been laughed away.”
“Not the charge that she knew of Rand al’Thor and conspired to hide him from the Tower,” Carlinya broke in sharply.
Sheriam nodded. “But be that as it may, even that was not sufficient for the penalty given. Nor should you have been tried in secret, without even a chance to defend yourself. Never fear that we will turn our backs on you. We will see that you both are cared for.”
“I thank you,” Leane said, her voice soft and almost trembling.
Siuan grimaced at them. “You haven’t even asked me about the eyes-and-ears I can use.” She had liked Sheriam when they were students together, though years and position had opened water between them. “Cared for” indeed! “Is Aeldene here?” Anaiya started to shake her head before stopping herself. “I suspected not, or you would know more of what is going on. You’ve left them sending their reports to the Tower.” Slow realization dawned on their faces; they had not known Aeldene’s office. “I headed the Blue Ajah’s net of eyes-and-ears, before I was raised Amyrlin.” More surprise.  It would take considerably more than a little work, but she had already sketched most of it out in her head, and there was no need for them to know more at the moment. “And they can continue sending reports to the Tower, reports containing what . . . you want Elaida to believe.” She had almost said “we”; she had to watch her tongue.
They did not like it, of course. The women who tended the networks might be unknown to all but a few, but they were every one Aes Sedai. They had always been Aes Sedai. But that was her only lever with which to pry her way into the circles where decisions were made. Otherwise, they would likely stuff her and Leane into a cottage with a servant to look after them, and maybe a rare visit from Aes Sedai who wanted to examine women who had been stilled, until they died. They would die soon, in those circumstances.
Light, they might even marry us off! Some thought that a husband and children could occupy a woman enough to replace the One Power in her life. More than one woman, stilled by drawing too much of saidar to herself, or in testing ter’angreal for their uses, had found herself being matched with potential husbands. Since those who did marry always put as much distance as possible between themselves and the Tower and its memories, the theory remained unproven.
“It should not be difficult,” Leane said diffidently, “to put myself in touch with those who were my eyes-and-ears before I was Keeper. More importantly, as Keeper of the Chronicles I had agents in Tar Valon itself.” Startlement widened a few eyes, though Carlinya’s narrowed. Leane blinked, shifted uneasily, smiled weakly. “I always thought it foolish that we paid more attention to the mood of Ebou Dar or Bandar Eban than to the mood of our own city.” They had to see the value of eyes-and-ears in Tar Valon.
“Siuan.” Leaning forward in her thick-armed chair, Morvrin said the name firmly, as though to emphasize that she had not said Mother. That round face looked more stubborn than placid now, her stoutness a threatening mass. When Siuan had been a novice, Morvrin rarely seemed to notice the mischief of the girls around her, but when she did, she had taken care of matters herself, in ways that had everyone sitting straight and walking small for days. “Why should we allow you to do as you want? You have been stilled, woman. Whatever you were, you are no longer Aes Sedai. If we want these agents’ names, you will both give them to us.” There was a flat certainty to that last; they would give them, one way or another. They would, if these women wanted them enough.
Leane shivered visibly, but Siuan’s chair creaked as she stiffened her back. “I know that I am not Amyrlin anymore. Do you think I don’t know I was stilled? My face is changed, but not what is inside. Everything I ever knew is still in my head. Use it! For the love of the Light, use me!” She took a deep breath to calm herself—Burn me if I let them shove me aside to rot!—and Myrelle spoke into the pause.
“A young woman’s temper to go with a young woman’s face.” Smiling, she sat on the edge of a stiff-backed armchair that could have stood in front of a farmer’s fireplace, if the farmer had not cared that the varnish was flaking. The smile was not her usual one, though, languid and knowing at the same time, and her dark eyes, nearly as large as Beonin’s, were full of sympathy.  And I am sure that we all want to employ your knowledge fully. What you know will be of great use to us.”
Siuan did not want her sympathy. “You seem to have forgotten Logain, and why I dragged him all the way here from Tar Valon.” She had not meant to bring this up herself, but if they were going to let it lie wallowing . . . “My ‘crack-brained’ idea?”
“Very well, Siuan,” Sheriam said. “Why?”
“Because the first step to pulling Elaida down is for Logain to reveal to the Tower, to the world if need be, that the Red Ajah set him up as a false Dragon so that he could be pulled down.” She certainly had their attention now. “He was found by Reds in Ghealdan at least a year before he proclaimed himself, but instead of bringing him to Tar Valon to be gentled, they planted the idea in his head of claiming to be the Dragon Reborn.”
“You are certain of this?” Beonin asked quietly, in a heavy Taraboner accent. She sat very still in her tall, cane-bottomed chair, watching carefully.
“He does not know who Leane and I are. He talked with us sometimes on the journey here, late at night when Min was sleeping and he could not rest. He said nothing before because he thinks the entire Tower was behind it, but he knows that it was Red sisters who shielded him and talked to him of the Dragon Reborn.”
“Why?” Morvrin demanded, and Sheriam nodded.
“Yes, why? Any of us would go out of our way to see a man like that gentled, but the Red Ajah lives for nothing else. Why would they create a false Dragon?”
“Logain did not know,” she told them. “Perhaps they think they gain more by capturing a false Dragon than gentling a poor fool who might terrorize one village. Perhaps they have some reason to want more turmoil.”
“We do not suggest they’ve had anything to do with Mazrim Taim or any of the others,” Leane added quickly. “Elaida will no doubt be able to tell you what you want to know.”
Siuan watched them mull it over in silence. They never considered the possibility that she was lying. An advantage to having been stilled. It did not seem to occur to them that being stilled might have broken all ties to the Three Oaths. Some Aes Sedai studied stilled women, true, but gingerly and reluctantly. No one wanted to be reminded of what might happen to herself.
For Logain, Siuan had no worry. Not as long as Min continued to see whatever it was that she saw. He would live long enough to reveal what Siuan wanted him to, once she had talked to him. She had not dared risk his deciding to go his own way, which he might well have done had she told him before. But it was his one chance for revenge now against those who had gentled him, surrounded by Aes Sedai again as he was. Revenge only against the Red Ajah, true, but he would have to settle for that. A fish in the boat was worth a school in the water.
She glanced at Leane, who smiled the faintest possible smile. That was good. Leane had disliked being kept in the dark about her plan for the man until this morning, but Siuan had lived too long wrapped in secrecy to be easy revealing more than she had to, even to a friend. She thought that the idea of Red Ajah involvement with other false Dragons had been neatly planted. Reds had been the leaders in overthrowing her. There might not be a Red Ajah once this was done with.
“This changes a great deal,” Sheriam said after a time. “We cannot possibly follow an Amyrlin who would do such a thing.”
“Follow her!” Siuan exclaimed, for the first time truly startled. “You were actually considering going back to kiss Elaida’s ring? Knowing what she has done, and will do?” Leane quivered in her seat as if she wanted to say a few choice words herself, but they had agreed that Siuan was to be the one to lose her temper.
Sheriam looked a trifle embarrassed, and spots of color floated in Myrelle’s olive cheeks, but the others took it as calmly as sunshine.
“The Tower must be strong,” Carlinya said in a voice as hard as winter stone. “The Dragon has been Reborn, the Last Battle is coming, and the Tower must be whole.”
Anaiya nodded. “We understand your reasons for disliking Elaida, even hating her. We do understand, but we must think of the Tower, and the world. I confess I do not like Elaida myself. But then, I have never liked Siuan, either. It is not necessary to like the Amyrlin Seat. There is no need to glare so, Siuan. You have had a file for a tongue since you were a novice, and it has only roughened with the years. And as Amyrlin, you pushed sisters where you wanted and only seldom explained why. The two do not make a likable combination.”
“I will try to . . . smooth my tongue,” Siuan said dryly. Did the woman expect the Amyrlin Seat to treat every sister like a childhood friend? “But I hope what I’ve told you changes your desire to kneel at Elaida’s feet?”
“If that is your smoother tongue,” Myrelle said idly, “I may have to smooth it myself, if we do allow you to run the eyes-and-ears for us.”
“We cannot go back to the Tower now, of course,” Sheriam said. “Not knowing this. Not until we are in position to see Elaida deposed.”
“Whatever she has done, the Reds, they will continue to support her.” Beonin stated it as fact, not objection. It was no secret that the Reds resented the fact that there had not been an Amyrlin from their Ajah since Bonwhin.
Morvrin nodded heavily. “Others will, as well. Those who have thrown themselves too much behind Elaida to believe they have any other choice. Those who will support authority, however vile. And some who will believe we are dividing the Tower when it must be whole at any cost.”
“All but the Red sisters can be approached,” Beonin said judiciously, “negotiated with.” Mediation and negotiation were her Ajah’s reason for existence.
“It seems we will have a use for your agents, Siuan.” Sheriam looked around at the others. “Unless anyone still thinks we should take them away from her?” Morvrin was the last to shake her head, but she did it, finally, after a long study that made Siuan feel she had been stripped, weighed and measured.
She could not stop a sigh of relief. Not a short life drying up in a cottage, but a life of purpose. It might still be a short life—no one knew how long a stilled woman could live given something to replace the One Power in her life—but with purpose it would be long enough. So Myrelle was going to smooth her tongue for her, was she? I’ll show that fox-eyed Green—I will hold my tongue and be glad she isn’t doing more than look at me is what I’ll do. I knew how this would go. Burn me, but I did.
“Thank you, Aes Sedai,” she said in the meekest tone she could find. To call them that pained her; it was another break, another reminder of what she was not any longer. “I will try to give good service.” Myrelle did not have to nod in such a satisfied way. Siuan ignored a small voice that said she would have done as much or more in Myrelle’s place.
“If I may suggest,” Leane said, “it is not enough to wait until you have enough support in the Hall of the Tower to depose Elaida.” Siuan put on an interested look, as though hearing this for the first time. “Elaida sits in Tar Valon, in the White Tower, and to the world she is Amyrlin. At the moment, you are only a flock of dissidents. She can call you rebels and agitators, and coming from the Amyrlin Seat, the world will believe it.”
“We can hardly stop her being Amyrlin before she is deposed,” Carlinya said, shifting on her chair in icy contempt. Had she been wearing her white-fringed shawl, she would have snapped it around her.
“You can give the world a true Amyrlin.” Leane spoke not to the White sister, but to all of them, eyeing each in turn, sure of what she was saying yet at the same time offering a suggestion that she merely hoped they would take. It had been Siuan who pointed out that the techniques she employed on men could be adapted for women. “I saw Aes Sedai from every Ajah save the Red in the common room, and in the streets. Have them elect a Hall of the Tower here, and let that Hall select a new Amyrlin. Then you can present yourselves to the world as the true White Tower, in exile, and Elaida as a usurper. With Logain’s revelations added in, can you doubt who the nations will accept as the real Amyrlin Seat?”
The idea took hold. Siuan could see them turning it over in their minds. Whatever the others thought, only Sheriam voiced a word against. “It will mean that the Tower truly is broken,” the green-eyed woman said sadly.
“It already is broken,” Siuan told her tartly, and instantly wished she had not when they all looked at her.
This was supposed to be purely Leane’s notion. She herself had a reputation as a deft manipulator, and they could well be suspicious of anything she proposed. That was why she had begun by scathing them; they would not have believed her if she had begun with mild words. She would come at them as if she still thought herself Amyrlin, and let them put her in her place. By comparison, Leane would seem more cooperative, only offering the little she could, and they would be more likely to listen to her. Doing her own part had not been difficult until it came to pleading; then she had wanted to hang them all in the sun to dry. Sitting here, doing nothing!
You didn’t have to worry about them being suspicious. They think you are a broken reed. If everything went properly, they would not learn differently. A useful reed, but a weak one, not to be thought of twice. It was a painful accommodation to make, but Duranda Tharne had shown her the necessity in Lugard. They would accept her only on their terms, and she would have to make the best of it.
“I wish I had thought of this myself,” she went on. “Now that I hear it, Leane’s idea gives you a way to build the Tower again without having to tear it down completely first.”
“I still cannot like it.” Sheriam’s voice firmed. “But what must be must be. The Wheel weaves as the Wheel wills, and the Light willing, it will weave Elaida out of the stole.”
“We will need to negotiate with those sisters who remain in the Tower,” Beonin mused, only half to herself. “The Amyrlin we choose, she must be a skilled negotiator, yes?”
“Clear thinking will be needed,” Carlinya put in. “The new Amyrlin must be a woman of cool reason and logic.”
 “Sheriam is the highest among us, and she has kept us together when we’d have been running in ten different directions.”
Sheriam shook her head vigorously, but Myrelle gave her no chance to speak. “Sheriam is an excellent choice. I can promise every Green sister here behind her, I know.” Anaiya opened her mouth, agreement plain on her face.
It was time to put a stop to this before it got out of hand. “If I may suggest?” Siuan thought she managed diffidence much better than she had meekness. It was a strain, but she thought she had better learn to maintain it. Myrelle isn’t the only one who will try to stuff me in the bilges if they think I’ve overstepped my place. Whatever it is. Only they would not try; they would do. Aes Sedai expected—no, required—respect from those who were not. “It seems to me that whoever you choose should be someone who was not in the Tower when I . . . was deposed. Would it not be best if the woman who unites the Tower again was one whom no one could accuse of choosing a side on that day?” If she had to keep this up, she was going to burst a seam in her head.
“Someone very strong in the Power,” Leane added. “The stronger she is, the more she can stand for all that the Tower means. Or will again, once Elaida is gone.”
Siuan could have kicked her. That thought was supposed to wait a full day, to be tossed in once they actually began considering names. Between them, she and Leane knew enough of every sister to find some weakness, some doubt to be dangled subtly as to her fitness for stole and staff. She would rather wade naked through a school of silverpike than have these women realize that she was trying to manipulate them.
“A sister who was out of the Tower,” Sheriam said, nodding. “That makes excellent sense, Siuan. Very good.” How easily they slipped into patting her on the head.
Morvrin pursed her lips. “It will not be easy, finding whoever we choose.”
“Strength narrows the possibilities.” Anaiya looked around at the others. “It will not only make her a better symbol, to the other sisters at least, but strength in the Power often goes with strength of will, and whoever we choose will surely need that.”
Carlinya and Beonin were the last to join in agreement.
Siuan kept her face smooth, her smile on the inside. The breaking of the Tower had changed many things, many ways of thinking besides her own. These women had led the sisters gathered here, and now they were discussing who should be presented to their new Hall of the Tower as if that should not be the Hall’s choice. It would not be difficult to bring them around, ever so gently, to the belief that the new Amyrlin should be one who could be guided by them. And unknowing, they and the Amyrlin she chose for her replacement would be guided by herself. She and Moiraine had worked too long to find Rand al’Thor and prepare him, given too much of their lives, for her to risk the rest of it being bungled by someone else.
“If I may make another suggestion?” Diffidence was simply not in her nature; she was going to have to find something else. She waited, trying not to grit her teeth, for Sheriam to nod before going on. “Elaida will be attempting to discover where Rand al’Thor is; the farther south I came, the more rumors I heard that he has left Tear. I think that he has, and I think that I have reasoned out where he went.”
There was no need for her to say that they had to find him before Tar Valon did. They all understood. Not only would Elaida mishandle him, certainly, but should she put her hands on him, display him shielded and in her control, any hope of toppling her would be gone. Rulers knew the Prophecies, if their people usually did not; they would forgive her a dozen false Dragons out of necessity.
“Where?” Morvrin barked, a hair ahead of Sheriam, Anaiya and Myrelle all together.
“The Aiel Waste.”
There was a moment of silence before Carlinya said, “That is ridiculous.”
Siuan bit back an angry reply and smiled what she hoped was an apologetic smile. “Perhaps, but I read something of the Aiel when I was Accepted. Gitara Moroso thought that some of the Aiel Wise Ones might be able to channel.” Gitara had been Keeper then. “One of the books she had me read, an old thing from the dustiest corner of the library, claimed that the Aiel call themselves the People of the Dragon. I did not remember it until I tried puzzling out where Rand could have vanished to. The Prophecies say ‘the Stone of Tear shall never fall till the People of the Dragon come,’ and there were Aiel in the taking of the Stone. That, every rumor and tale agrees on.”
Morvrin’s eyes suddenly seemed to look elsewhere. “I remember speculation about the Wise Ones when I was newly raised to the shawl. It would be fascinating, if true, but Aiel are little more welcoming to Aes Sedai than to anyone else who enters the Waste, and their Wise Ones apparently have some law or custom against speaking to strangers, so I understand, which makes it extremely hard to come close enough to one, to feel if she—” Suddenly she gave herself a shake, staring at Siuan and Leane as though her wandering had been their fault. “A thin straw to weave a basket, something you remember from a book likely written by someone who never saw an Aiel.”
“A very thin straw,” Carlinya said.
“But worth sending someone to the Waste?” It took effort to make that a question instead of a demand. Siuan thought she might sweat down to nothing if she could not find another way. She still had enough control of herself to ignore the heat, usually, but not while trying to drag these women along without letting them notice her fist in their hair. “I do not think the Aiel would try to harm an Aes Sedai.” Not if she was quick enough to show that she was Aes Sedai. Siuan did not think they would. It had to be risked. “And if he is in the Waste, the Aiel will know of it. Remember those Aiel at the Stone.”
“Perhaps,” Beonin said slowly. “The Waste is large. How many would we need to send?”
“If the Dragon Reborn is in the Waste,” Anaiya said, “the first Aiel met will know of it. Events follow this Rand al’Thor, by all accounts. He could not slip into the ocean without making a splash heard in every corner of the world.”
Myrelle smiled. “She should be Green. None of the rest of you will bond more than one Warder, and two or three Gaidin might be very useful in the Waste until the Aiel know her for Aes Sedai. I have always wanted to see an Aiel.” She had been a novice during the Aiel War, and not allowed out of the Tower. Not that any Aes Sedai had taken part beyond Healing, of course. The Three Oaths had bound them unless Tar Valon, or maybe even the Tower itself, were attacked, and that war had never crossed the rivers.
“Not you,” Sheriam told her, “or any other member of this council. You agreed to see this through, Myrelle, when you agreed to sit with us, and that does not include gallivanting off because you are bored. I fear there will be more excitement than any of us could wish, before we finish.” She would have made an excellent Amyrlin in other circumstances; in these, she was simply too strong and sure of herself. “But Greens . . . Yes, I think so. Two?” Her green eyes swept along the others. “To be certain?”
“Kiruna Nachiman?” Anaiya, offered, and Beonin added, “Bera Harkin?” The others nodded, except for Myrelle, who shifted her shoulders irritably. Aes Sedai did not pout, but she came close.
Siuan took her second relieved breath. She was certain her reasoning was correct. He had vanished to somewhere, and if he was anywhere between the Spine of the World and the Aryth Ocean, rumors would have been flying. And wherever he was, Moiraine would be there with a hand on his collar. Kiruna and Bera would surely be willing to carry a letter to Moiraine, and they had seven Warders between them to keep the Aiel from killing them.
“We do not want to tire you and Leane,” Sheriam went oh. “I will ask one of the Yellow sisters to look at both of you. Perhaps she can do something to help, to ease you in some way. I will have rooms found for you, where you can rest.”
“If you are to be our mistress of eyes-and-ears,” Myrelle added solicitously, “you must maintain your strength.”
“I am not so frail as you seem to think,” Siuan protested. “If I were, could I have followed you nearly two thousand miles? Whatever weakness I had after being stilled is gone, believe me.” The truth was that she had found a center of power again, and she did not want to leave it, but she could hardly say that. All those concerned eyes on her, and Leane. Well, not Carlinya’s particularly, but the rest. Light! They’re going to have a novice tuck us into bed for a nap!
A knock at the door was followed immediately by Arinvar, Sheriam’s Warder. Cairhienin, he was not tall, and slender besides, but in spite of gray at his temples he was hard of face, and he moved like a stalking leopard. “There are twenty-odd riders to the east,” he said without preamble.
“Not Whitecloaks,” Carlinya said, “or I presume you would have reported as much.”
Sheriam gave her a look. Many sisters could be prickly when it came to another stepping between them and their Gaidin. “We cannot allow them to get away, and perhaps carry word of our presence. Can they be captured, Arinvar? I would prefer that to killing them.”
“Either may be difficult,” he replied. “Machan says they are armed and have the look of veterans. Worth ten times their number of younger men.”
Morvrin made a vexed sound. “We must do one or the other. Forgive me, Sheriam. Arinvar, can the Gaidin sneak some of the more agile sisters close enough to weave Air around them?”
He shook his head fractionally. “Machan says they may have seen some of the Warders keeping watch. They would certainly see if we tried to bring more than one or two of you near. They are still coming, though.”
Siuan and Leane were not the only ones to exchange startled glances. Few men saw a Warder who did not want to be seen, even without the Gaidin cloak.
“Then you must do as you think best,” Sheriam said. “Capture them, if possible. But none must escape to betray us.”
Before Arinvar could complete his bow, hand to sword hilt, another man was beside him, a dark bear of a man, tall and wide, with hair to his shoulders and a short beard that left his upper lip bare. That flowing Warder movement seemed odd on him. He winked at Myrelle, his Aes Sedai, even as he said in a thick Illianer accent, “Most of the riders do be stopped, but one does come on by himself. If my aged mother did say different, I would still name him Gareth Bryne from the glimpse I did get.”
Siuan stared at him; her hands and feet suddenly felt cold. Strong rumor said that Myrelle had actually married this Nuhel and her other two Warders, in defiance of convention and law in every land Siuan had ever heard of. It was the sort of incongruous thought that drifted through a stunned mind, and right then she felt as if a mast had fallen on her head. Bryne, here? It’s impossible! It is mad! Surely the man could not have followed them all this way for . . . Oh yes, he could and would. That one would. As they journeyed, she had told herself that it was only sensible caution to leave no trace behind, that Elaida knew they were not dead, whatever the rumors said, and she would not stop hunting until they were found or she was pulled down. Siuan had been irritated at having to ask directions finally, yet the thought that had snapped at her like a shark had not been that Elaida might somehow find a blacksmith in one small Altaran village, but that the blacksmith would be like a painted sign for Bryne. Told yourself it was foolish, didn’t you? And now here he is.
She well remembered her confrontation with him, when she had had to bend him to her will on that matter of Murandy. It had been like bending a thick iron bar, or some huge spring that would leap back if she let up for an instant. She had had to bring all of her force to bear, had had to humiliate him publicly, in order to make certain he would remain bent for as long as she needed. He could hardly go against what he had agreed to on his knees, begging her pardon, with fifty nobles watching. Morgase had been difficult enough herself, and Siuan had not been willing to risk Bryne giving Morgase an excuse to go against her instructions. Strange to think that she and Elaida had worked together then, bringing Morgase to heel.
She had to take hold of herself. She was in a daze, thinking of everything except what she needed to. Concentrate. This is no time to panic. “You must send him away.
 Even the Warders looked at her, and the Aes Sedai . . . She had never before known what it felt like for someone who lacked the Power to have those eyes turned on them at full strength. She felt naked, her very mind laid bare. Even knowing that Aes Sedai could not read thoughts, she still wanted to confess before they listed her lies and crimes. She hoped that her face was not like Leane’s, red-cheeked and wide-eyed.
“You know why he is here.” Sheriam’s voice was calmly certain. “Both of you do. And you do not want to confront him. Enough so that you would have us kill him for you.”
“There do be few great captains living.” Nuhel marked them off on gauntleted fingers. “Agelmar Jagad and Davram Bashere will no leave the Blight, I think, and Pedron Niall will surely no be of use to you. If Rodel Ituralde do be alive, he do be mired somewhere in what do remain of Arad Doman.” He raised his thick thumb. “And that do leave Gareth Bryne.”
“Do you think that we will need a great captain, then?” Sheriam asked quietly.
Nuhel and Arinvar did not look at one another, but Siuan still had the feeling that they had exchanged glances. “It is your decision, Sheriam,” Arinvar replied just as quietly, “yours and the other sisters, but if you mean to return to the Tower, we could use him. If you intend to remain here until Elaida sends for you, then not.” Myrelle gazed at Nuhel questioningly, and he nodded.
“It seems that you were right, Siuan,” Anaiya said wryly. “We have not fooled the Gaidin.”
“The question is whether he will agree to serve us,” Carlinya said, and Morvrin nodded, adding, “We must make him see our cause in such a way that he wishes to serve. It will not help us if it becomes known that we killed or imprisoned so notable a man before we have even begun.”
“Yes,” Beonin said, “and we must offer him the rewards that will bind him to us firmly.”
Sheriam turned her eyes on the two men. “When Lord Bryne reaches the village, tell him nothing, but bring him to us.” As soon as the door closed behind the Warders, her gaze firmed. Siuan recognized it; the same clear green stare that had novices’ knees knocking before a word was said. “Now. You will tell us exactly why Gareth Bryne is here.”
There was no choice. If they caught her in even the tiniest lie, they would begin to question everything. Siuan took a deep breath. “We took shelter for the night in a barn near Kore Springs, in Andor. Bryne is the lord there, and . . . ”


The boardgameatlasR package contains a function called search_bga()
. search_bga()
is an API wrapper for the API of https://www.boardgameatlas.com.
This vignette will cover a few of the basic usages of search_bga()
and how to avoid some common mistakes.
Before you get started, you’ll have to take the following steps:
Register with https://www.boardgameatlas.com
Create an “app” to get your client_id
Add your client_id value to your R environment as “BOARDGAMEATLAS_PAT”
You can add the token with code like edit_r_environ() from the usethis package
And then enter your BGA client_id in the following manner into your .Renviron file:
Once you have done this, you’ll have to restart R or your R session for the changes to take effect.
Below I’ve included how each API argument - which can be found at https://www.boardgameatlas.com/api/docs/search - are translated from the search_bga()
arguments. In general they are designed to create ranges of value and to be inclusive of the specified number. This differs from the actual API which in most cases has three parameters than can be specified; an exact match, a “greater than” parameter, and a “less than” parameter. For instance, the API accepts arguments for an exact year_published parameter (the exact match), a gt_year_published parameter (greater than the specified year), and also a lt_year_published parameter (less than the specified year). The arguments in search_bga()
utilize the less than and greater year functions but make them inclusive of the specified year for ease of use and general utility.
| API Query Value | search_bga Argument | Argument Type | Example |
|---|---|---|---|
| limit | limit | integer | “30” |
| skip | skip | integer | “100” |
| ids | ids | string | “id1,id2,id3” |
| kickstarter | kickstarter | boolean | “TRUE” |
| random | random | boolean | “TRUE” |
| name | name | string | “Ticket to Ride” |
| exact | name_exact | boolean | “TRUE” |
| fuzzy_match | name_fuzzy | boolean | “TRUE” |
| designer | designer | string | “Trent Ellingsen” |
| publisher | publisher | string | “5 Color Combo” |
| artist | artist | string | “Dimitri Bielak” |
| mechanics | mechanics | string | “vZsDDAdOoe,WPytek5P8l” |
| categories | categories | string | “hBqZ3Ar4RJ,eX8uuNlQkQ” |
| order_by | order_by | string | “popularity” |
| ascending | ascending | boolean | FALSE |
| gt_min_players | min_players | integer | “3” |
| lt_max_players | max_players | integer | “8” |
| gt_min_playtime | min_playtime | integer | “30” |
| lt_max_playtime | max_playtime | integer | “90” |
| gt_min_age | min_age | integer | “4” |
| lt_min_age | max_age | integer | “10” |
| gt_year_published | min_year | integer | “2010” |
| lt_year_published | max_year | integer | “2018” |
| gt_price | min_price | double | “10.00” |
| lt_price | max_price | double | “75.00” |
| gt_min_msrp | min_msrp | double | “30.00” |
| lt_max_msrp | max_msrp | double | “100.00” |
| gt_min_discount | min_discount | double | “0.50” |
| lt_max_discount | max_discount | double | “-0.5” |
| gt_reddit_count | min_reddit_total | integer | “100” |
| lt_reddit_count | lt_reddit_count | integer | “500” |
| gt_reddit_week_coun | t min_reddit_week | integer | "30 |
| lt_reddit_week_coun | t max_reddit_week | integer | “100” |
| gt_reddit_day_count | min_reddit_day | integer | “5” |
| lt_reddit_day_count | max_reddit_day | integer | “20” |
| client_id | client_id_pat | string | “AfDFioajafsd” |
Please note that the client_id value above is not a real ID and will not work if specified.
An important thing to understand is that the BGA API is restricted to queries of no more than 100 objects per query. In order to get more than 100 games you have to use the skip feature to start where you left off. For instance, the first five games returned when ordered by popularity (at the time of writing this, 12/12/2019) are the following:
| id | name | year_published | … |
|---|---|---|---|
| kPDxpJZ8PD | Spirit Island | 2016 | … |
| RLlDWHh7hR | Gloomhaven | 2017 | … |
| i5Oqu5VZgP | Azul | 2017 | … |
| yqR4PtpO8X | Scythe | 2016 | … |
| 6FmFeux5xH | Pandemic | 2008 | … |
This could be queried with the following:
The above code skips no games, returning the first object onward up to the limit, which in this case is 5 game objects. The default order_by value is popularity, which is based on the total number of times the game is mentioned at https://www.reddit.com/r/boardgames - a subreddit - a kind of forum - that is based on the discussion and recommendation of board games.
The 6th-10th games returned when ordered by popularity are as follows:
| id | name | year_published | … |
|---|---|---|---|
| oGVgRSAKwX | Carcassonne | 2000 | … |
| fDn9rQjH9O | Terraforming Mars | 2016 | … |
| TAAifFP590 | Root | 2018 | … |
| FCuXPSfhDR | Concordia | 2013 | … |
| 6VQXkkC5ql | Dominion: Second Edition | 2016 | … |
And the above could be queried with the following:
You can see above it skips the first 5 games and returns an additional 5 games, the limit.
You can use this pattern to go beyond the 100 game limit of the API by requesting 100 games and then adjusting the skip value, like so:
first_100 <- search_bga(limit = 100, skip = 0, order_by = "popularity")
second_100 <- search_bga(limit = 100, skip = 100, order_by = "popularity")
You could then merge the datasets with code along the lines of the following:
Individual games can be queried by using their internal ID values, which BGA uses to inventory games. These are not particularly human readable, however, and must be exact comma-separated matches. Incorrect ID strings can produce 404 errors in the API query, or simply return no games.
The ID for the game The Settlers of Catan is SVQRjsXrhj. The ID for the game The Last Stand is OIXt3DmJU0. To return these games specfically, you would use this query:
You can put in any number of ID values as long as they are all separated by commas and contain no spaces.
It’s important to talk about what is probably the most logical way to search for a game, which is by its name. Name is relatively complicated in terms of this API, however.
The arguments designer, publisher, and artist all function as exact matches. This may make their usefulness more limited if there are any discrepencies or errors in these fields, but it may be useful to use to hone in on specific groups or individuals. This may be more useful to get complete sets of game families compared to searches by names. For instance, if I search for the publisher “Catan Studio” who designed the original Settlers of Catan game, I get 27 games back. In this case they are all Catan-family games. I can search this with the following query:
It’s important to note that these are the “primary” attributions, and sometimes games have multiple listed designers, artists, and publishers. A full list is contained int he all_designers, all_publishers, and all_artists variables. Additionally there is a variable for all_developers, which is not possible to query.
Mechanics functions similar to ids, in that each mechanic has a specific ID value associated with it and can be queried by entering them as a comma separated list. The main issue is that the mechanics are somewhat ill defined, overlapping, and not always equally attributed to all games at this point. Still, it can be useful. For instance, if I want the 30 most popular games that have a dice rolling mechanic I can use the mechanics value of “R0bGq4cAl4” with the following code:
For a complete list of the id values you can consult https://www.boardgameatlas.com/api/docs/game/mechanics, which allows you query https://www.boardgameatlas.com/api/game/mechanics? and see all mechanics options. Unfortunately these have no listed formal definitions and thus may have limited usefulness. All search_bga()
queries will return binary values of 1 for TRUE and 0 for FALSE for the attribution of each mechanics. Mechanics are also prepended with “mech_” in the variable names, for easy identification.
Like mechanics, categories also functions similar to ids, in that each mechanic has a specific ID value associated with it and can be queried by entering them as a comma separated list. The main issue is that the categories are somewhat ill defined, overlapping, and not always equally attributed to all games at this point. Still, it can be useful. For instance, if I want the 10 most popular games that are labeled as “Eurogames” - which are German-style board games that have risen to general popularity in the last several decades - I can use the categories value of “h8wfZG0j3I” with the following code:
For a complete list of the ID values you can consult https://www.boardgameatlas.com/api/docs/game/categories, which allows you query https://www.boardgameatlas.com/api/game/categories? and see all category options. Unfortunately these have no listed formal definitions and thus may have limited usefulness. All search_bga()
queries will return binary values of 1 for TRUE and 0 for FALSE for the attribution of each category. Categories are also prepended with “cat_” in the variable names, for easy identification.
The order_by variable takes specific string arguments. Typos or other values will cause the query to stop. The values are as follows:
popularity - this is defined as the highest amount of comments mentioning the game on https://www.reddit.com/r/boardgames since 2018.
price - this orders from the highest listed price to lowest price.
deadline - this only works if kickstarter = TRUE, and then returns games based on the earliest ending kickstarter campaign.
discount - discount is a percentage based on the price / MSRP. This should not be greater than 1 (100%), but can be negative sometimes when the game is more expensive than the recommended retail price.
average_user_rating - this orders games by the average user rating, which is a 0-5 scale of user generated ratings. It is unweighted, so games with even just a single vote my show up at the top of the list.
num_user_ratings - this orders games by the number of user ratings, with the highest number of ratings are returned first. This may arguably be a more useful measure of “popularity” than the reddit comments used in the official “popularity” setting of order_by.
reddit_total_count - This returns games with the highest number of comments in which the game was mentioned from https://www.reddit.com/r/boardgames since BGA began collecting the data in 2018.
reddit_week_count - This returns games with the highest number of comments in which the game was mentioned from https://www.reddit.com/r/boardgames in the past week.
reddit_day_count - This returns games with the highest number of comments in which the game was mentioned from https://www.reddit.com/r/boardgames from the previous day of the query.
name - this returns games in alphabetical order of the games’ names.
year_published - this returns games with the highest “year_published” value first. Unfortunately, the API does not currently differentiate between BCE and CE, meaning that games like Go, which were invented in roughly 2200 BCE show up near the top of the list, with a year_published value of 2200. Future work may include coding that games with values higher than the present year may be set to negative values, but this requires more investigation.
min_age - this returns games in order of the highest minimum age to the lowest minimum age.
min_playtime - this returns games in order of the highest minimum playtime to the lowest minimum playtime.
max_playtime - this returns games in order of the highest maximum playtime to the lowest maximum playtime.
min_players - this returns games in order of the highest number of minimum players to the lowest number of minimum players.
max_players - this returns games in order of the highest number of maximum players to the lowest number of maximum players.
The search_bga()
function includes a number of logical arguments, including kickstarter, random, name_exact, name_fuzzy, ascending.
To avoid Kickstarter games, simply DO NOT SPECIFY KICKSTARTER in your query.
Kickstarter has been a popular platform for funding board games in recent years, so data regarding the games funded this way may be useful, but the current API has some issues. This will hopefully change as the platform develops.
random, if set to TRUE, will return random board games. Compared to the kickstarter argument this plays more nicely with other arguments. Behind the curtain, random behaves differently from all other boolean values, not requiring any coerscion from a traditional R logical boolean unlike the other values.
name_exact & name_fuzzy both augment the name argument, but it’s somewhat unclear how. For instance, while searching for search_bga(name = “Settlers of Catan”) returned 23 games, including many games with that exact phrasing, search_bga(name = “Settlers of Catan”, name_exact = TRUE) returned none, and search_bga(name = “Settlers of Catan”, name_fuzzy = TRUE) returned only 9, most of which contained “Settlers of Catan” in the name.
ascending, if FALSE, will return the top values - e.g. the “most popular” game if order_by is set to “popularity.” Conversely, setting it to TRUE will draw from the bottom of the list, but how it is ordered with games with the same value is unclear.
The BGA API has multiple ways of querying certian values, such as an exact match, “less than” (e.g. lt_min_players), and “greater than” (e.g. gt_max_players) versions of most metrics. To simplify this system and maximize functionality, I focused on the query arguments that allowed for the building of ranges of requests. In most cases I created a bottom floor and a ceiling variable, which allow for the querying of specific values by making the two values equal. Down the line it might be valuable to add smoe of these other versions, but this provided the most elegant and simple solution to capturing, theoretically, every useful range of data.
min_players & max_players, these are integer values that map onto the “gt_min_players” and “lt_max_players” values, respectively. This means that you can set the minimum amount of players and the maximum amount. One issue is one could theoretically set the minimum above the maximum, which returns mostly mislabled games.
min_playtime & max_playtime, like players, these map to a similar range of “gt_min_playtime” and “lt_max_playtime”, respectively, to create a range of gameplay times. One major issue is that some games do not have a maximum playtime. These are measuring number of minutes, so a value of “60” means 60 minutes.
min_age & max_age, games don’t typically have a maximum age range, and in fact the BGA API only provides a min_age variable. This was designed to provide ranges of minimum age values using “gt_min_age” and “lt_min_age”, respectively. This measures years of age.
min_year & max_year follow a similar pattern to age of mapping onto “gt_year_published” and “lt_year_published” to produce a range of year values.
Some sample values that these query arguments check against these can be seen below:
| year_published | min_players | max_players | min_playtime | max_playtime | min_age |
|---|---|---|---|---|---|
| 2016 | 1 | 4 | 90 | 120 | 13 |
| 2017 | 1 | 4 | 60 | 150 | 12 |
| 2017 | 2 | 4 | 30 | 60 | 8 |
| 2016 | 1 | 5 | 90 | 120 | 14 |
| 2008 | 2 | 4 | 45 | 60 | 8 |
min_price & max_price - Like in the gameplay statistics arguments, these set minimum and maximum ranges of financial values. In this case, the minimum and maximum price in USD that the game is listed online. These equate to gt_price and lt_price respectively.
min_msrp & max_msrp - similarly to price, these set minimum and maximum ranges of the manufacturer’s suggested retail price (MSRP). These equate to gt_min_msrp and lt_max_msrp respectively.
min_discount & max_discount - the discount amount is 1 minusthe price value divided by the MSRP (1 - (price/msrp). These map onto gt_min_discount and lt_max_discount, respectively.
search_bga()
will return up to 100 observations (depending on what limit is set to) and 254 variables. These include some of the aforementioned game statistics, reviews, names and people associated with it as well as descriptions of the games, links to the game image and URLs. It also includes kickstarter data (if kickstarter=TRUE), price data, physical box dimensions, reddit comments, and a large number of mechanics and categories attributed to the game. Below I will give some examples of the data types not covered above.
Text variables include description (below), image_url, url, official_url, rules_url, kickstarter_url, as well as the various name variables.
| description |
|---|
| Powerful Spirits have existed on this isolated island for time immemorial. They are both part of the natural world and - at the same time - something beyond nature. Native Islanders, known as the Dahan, have learned how to co-exist with the spirits, but with a healthy dose of fear and reverence. However, now, the island has been “discovered” by invaders from a far-off land. These would-be colonists are taking over the land and upsetting the natural balance, destroying the presence of Spirits as they go. As Spirits, you must grow in power and work together to drive the invaders from your island… before it’s too late! |
The monetary data revolves around price, MSRP, and recorded price values all in USD. 1 - (price / msrp) generates the discount value and the historical low price is the recorded lowest price. There are historical prices on BGA but require use of another API that will be added in the future.
| price | msrp | discount | historical_low_price | historical_low_date |
|---|---|---|---|---|
| 53.99 | 79.95 | 0.32 | 47.97 | 2019-11-27 |
| 99.4 | 140 | 0.29 | 80.75 | 2019-07-15 |
| 18.99 | 39.99 | 0.53 | 17.99 | 2019-08-03 |
Below you can see some examples of publishers and designers. the all_* variables are often comma separated lists of names.
| primary_publisher | all_publishers | all_designers |
|---|---|---|
| Greater Than Games | Greater Than Games | R. Eric Reuss |
| Cephalofair Games | Cephalofair Games | Isaac Childres |
| Next Move Games | Next Move Games, Plan B Games | Michael Kiesling |
So far it appears that no game has developers attributed yet.
| all_developers | all_artists |
|---|---|
| Jason Behnke, Kat G Bermelin, Loïc Billiau, Cari Corene, Lucas Durham, Rocky Hammer, Sydni Kruger, Nolan Nasser, Jorge Ramos, Adam Rebottaro, Moro Rogers, Graham Sternberg, Shane Tyree, Joshua Wright (I) | |
| Alexandr Elichev, Josh T. McDowell, Alvaro Nebot | |
| Philippe Guérin, Chris Quilliams |
These are user ratings registered on the BGA website. As said previously, they range from 0-5 for games, 5 being the top and 0 being the lowest.
| num_user_ratings | average_user_rating |
|---|---|
| 126 | 3.937 |
| 132 | 4.159 |
| 208 | 3.633 |
These are board game box dimensions, typically in inches:
| size_height | size_width | size_depth | size_units |
|---|---|---|---|
| 11.6 | 3 | 11.6 | inches |
| 16.2 | 7.5 | 11.8 | inches |
| 10.2 | 2.8 | 10.2 | inches |
The reddit data comes begins in 2018, when BGA began tracking the information on https://www.reddit.com/r/boardgames - a type of forum known as a subreddit - where people interested in board games can discuss and recommend games with each other. The measurements are total (since 2018), the past week, and the past day. There is also a query data variable created to put these in context:
| reddit_all_time_count | reddit_week_count | reddit_day_count | date_of_query |
|---|---|---|---|
| 1499 | 9 | 13 | 2019-12-13 |
| 1392 | 13 | 35 | 2019-12-13 |
| 1173 | 10 | 9 | 2019-12-13 |
Each search_bga()
query parses the list of mechanics and then creates a binary variable (0-1) if the mechanic is labeled for the game. Numeric binary values were chosen for ease of use but may be changed to logical boolean values in the future. Below you can see a small selection of how this data may look in practice:
| mech_action_movement | mech_action_point_allowance | mech_action_selection |
|---|---|---|
| 0 | 1 | 0 |
| 1 | 1 | 0 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 0 | 1 |
Each search_bga()
query parses the list of categories and then creates a binary variable (0-1) if the category is labeled for the game. Numeric binary values were chosen for ease of use but may be changed to logical boolean values in the future. Below you can see a small selection of how this data may look in practice:
| cat_campaign | cat_card_game | cat_children_game | cat_city_building |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |


Introduction to help with health costs
If you receive treatment in an NHS hospital this is usually free but there are a number of things which there may be charges for.
You may be able to get help with:-
- prescription charges
- NHS dental charges, including check-ups
- sight tests
- the cost of glasses and contact lenses
- travel costs to and from hospital for NHS treatment
- travel costs if travelling abroad for treatment
- wigs
- fabric supports, for example support tights.
You will need to show evidence to prove you are entitled to help.


mean
robustness
centrality
variance
Collaboration Network corresponding to the slider window:
Select basis that each node affects the network:
skewness
variance
connectivity
mean
Select the JSON File:
Select the JSON File with Slack Data Configure the analysis:
Select the window size:
7 days
14 days
30 days


About Me
I am a professional full-stack java/microservice developer and has been working in the IT industry for 8+ years. Capable of managing small to mid-size teams, different products. Experience in different software development frameworks and life-cycles with considerable experience in developing methodologies and frameworks.
Work Models:
- AGILE,
- SCRUM,
- RAD
Key Skill Sets:
- Java, JEE, Spring Boot, Spring Cloud, Spring Security, Spring MVC
- Apache Camel, Spring Integration
- Axon Framework (CQRS, Event Driven Architecture)
- Docker, Kubernetes
- Angular, Javascript
- Hibernate, JPA, Spring Data
- IntelliJ, Eclipse, STS
- JBOSS, Tomcat, Glassfish
- MySQL, Oracle, Couchbase
- ActiveMQ, RabbitMQ, Kafka
- Threads & Concurrency
- Database Design, OOAD, UML, Sequence Diagram (PlatUML)
Projects
Loan Studio
December 2018 – Jun 2019
Worked as a lead technical engineer in Loan Studio team. Loan Studio is based on Event Driven Microservice Architecture. Loan Studio is a web-based portal for structuring loan deals for big corporate clients.
Technology:
- Spring Boot, Spring Data JPA (Hibernate), Spring Cloud, Spring Batch, Oracle, Docker and JavaScript/Angular, Hashicorp vault
Responsibility:
- Developed restful services using spring boot and spring cloud.
- Migrated feature from old system to new system.
- Implemented spring starter modules.
Consumer Landing
January 2017 – December 2018
Worked as a lead java developer in Consumer Landing Collection Team. Consumer Landing is based on CQRS and Event Driven Microservice Architecture. Consumer Landing is a web-based portal for managing and servicing consumer loan.
Technology:
- Spring Boot, Spring Data JPA (Hibernate), Spring Cloud, Spring Batch, Oracle, Axon, Docker and JavaScript/Angular
Responsibility:
- Developed restful services using spring boot and spring cloud.
- Designed and deliver features end to end.
- Implemented third-party integration using apache camel and spring.
- Implemented spring cloud contract tests.
- Integration of service discovery and load balancing using Eureka and Zuul.
Experience
Education
Gautam Buddha University
Master of Computer Applications
2008 - 2011
Sikkim Manipal University - DE
B.S.C-AIT
2005 - 2008
A Little More About Me
This is where you can write a little more about yourself. You could title this section Interests and include some of your other interests.
Or you could title it Skills and write a bit more about things that make you more desirable, like leadership or teamwork


Report
system Management Report
Hiered Employee List
| Employee Name | Employee Address | Employee Age | Employee BirthDay | Employee Hiered Date | Department Name | Division Name |
|---|---|---|---|---|---|---|
| {{employee.first_name}} {{employee.middile_name}} {{employee.last_name}} | {{employee.address}} | {{employee.age}} | {{employee.birthday}} | {{employee.hiered_date}} | {{employee.department_name}} | {{employee.division_name}} |