sequelize-event-stream
Event publishing capabilities for your sequelize's models using hooks.
sequelize-event-stream adds a sugaring layer to your database connection, listening for every transactional event in sequelize.
The architecture works as follows:
The sequelize event stream is attached to your sequelize's instance, it will listen for every supported hook. Supported hooks are:
- afterCreate
- afterUpdate
- afterDestroy
- afterBulkCreate
- afterBulkUpdate
- afterBulkDestroy
Once fired one of the listed hooks it will use a eventWorker configuration to send your message as an event to a queue/topic from the supported brokers.
Supported Sinks
- Rabbitmq
- Kafka
- Amazon SQS
Installation
npm install --save sequelize-event-stream
Documentation
You can check the full documentation to view full usage of this module.
Run all tests
To run all unit and integration tests:
npm test
Run unit tests only
To run the unit tests use the following command:
npm run unit-test
Run integ tests only
To run the integration tests use the following command:
npm run integ-test
Generate ESDOC Documentation
To geneate the ESDOC documentation use the following command:
npm run docs
Running the coverage
To run the coverage report use the following command
npm run coverage
Getting Started
Creating an Instance
Creating an instance is quite easy you just have to import the module and instantiate the class with the configuration.
const SequelizeEventStream = require('sequelize-event-stream');
const configuration = {
type: 'amqp'| 'kafka' | 'sqs',
options: {
...
}
};
const eventStream = new SequelizeEventStream(configuration);
Attaching to sequelize
To enable the event triggering capability use the attach method to start the hook handling.
const sequelize = new Sequelize(..);
eventStream.attach(sequelize);
Trigger Any hook
After the eventStream is successfully attached to sequelize's then just trigger a hook and see the magic happens(or not).
Check with consumers
Local Listeners
Since SequelizeEventStream inherits node's EventEmitter class you can listen for every hooked event locally using on(eventName,handler) method, just as the example bellow:
const eventStream = new SequelizeEventStream(config);
eventStream.attach(sequelize);
eventStream.on("created",(resourceEvent) => {
console.table(resourceEvent)
});
Once attached you just have to trigger an action: Creating a model for example and receive the payload on your local listener.
Supported events
This is the list of local events:
| event | sequelize Action | description |
|---|---|---|
| created | create | Fired once a model instance is created |
| updated | update | Fired once a model instance gets updated |
| destroyed | destroy | Fired once a model instance gets destroyed |
| bulk-created | bulkCreate | Fired once a bulk of models gets created |
| bulk-updated | bulkUpdate | Fired once a bulk of models gets updated |
| bulk-destroyed | bulkDestroy | Fired once a bulk of models gets destroyed |
Using RabbitMQ
To enable rabbitmq support for event streams you just have to use the type amqp on the SequelizeEventStream Constructor.
This module uses amqplib as the rabbitmq library of choice.
Queue architecture
Required configuration
The required configuration is the same used in amqplib, you can check here the configuration parameters.
However the minimum parameters to get the rabbitmq producer to work is:
connectURI.protocol connectURI.port connectURI.hostname connectURI.username connectURI.password connectURI.vhost
Example initialization
const SequelizeEventStream = require('sequelize-event-stream');
const configuration = {
type: 'amqp',
options: {
exchange: 'sequelize-event-stream',
connectURI: {
protocol: 'amqp',
port: 5672,
hostname: '<IP_ADDRESS>',
username: 'rmqadmin',
password: 'casa1234',
vhost: '/'
}
}
};
const eventStream = new SequelizeEventStream(configuration);
eventStream.attach(sequelize);
Consume the messages
To check the consumes messages just create a consumer as the following example:
const exchange = 'sequelize-event-stream';
const connectionOpts = {
protocol: 'amqp',
port: 5672,
hostname: '<IP_ADDRESS>',
username: 'rmqadmin',
password: 'casa1234',
vhost: '/'
};
const connection = await AMQP.connect(connectionOpts);
const channel = await connection.createChannel();
//create a exclusive queue with a random generated name for the consumer exclusively
const response = await channel.assertQueue('', { exclusive: true });
// its binds the queue to the exchange to basically fetch a copy of every message published
channel.bindQueue(response.queue, exchange, '#');
channel.consume(
response.queue,
msg => {
let { event_id, event_name, event_model, event_timestamp } = JSON.parse(msg.content.toString());
//prints out a table with the event metadata
console.table({ event_id, event_name, event_model, event_timestamp });
},
{ noAck: true }
);
Using Apache Kafka
To enable kafka support for event streams you just have to use the type kafka on the SequelizeEventStream Constructor.
This module uses kafka-node as the kafka library of choice, also the producer implemented is the high level producer.
Topics
The following list contains the topics used by the kafka publisher
| topic | description |
|---|---|
| created | Created model instances |
| updated | Updated model instances |
| destroyed | Destroyed model instances |
| bulk-created | Bulk created model instances |
| bulk-destroyed | Bulk destroyed model instances |
| bulk-updated | Bulk updated model instances |
Required configuration
The required configuration is the same used in KafkaClient, you can check here the configuration parameters.
However the minimum parameters to get the kafka producer to work is kafkaHost.
Example initialization
const SequelizeEventStream = require('sequelize-event-stream');
const configuration = {
type: 'kafka',
options: {
kafkaHost: '<IP_ADDRESS>:9092'
}
};
const eventStream = new SequelizeEventStream(configuration);
eventStream.attach(sequelize);
Consume the messages
To check the consumes messages just create a HigLevelConsumer and connect to the desired topics, in the following example we connect to the created, updated an destroyed topics at the same time
const { HighLevelConsumer, KafkaClient } = require('kafka-node');
const kafkaHost = '<IP_ADDRESS>:9092';
const client = KafkaClient({ kafkaHost });
const consumer = new HighLevelConsumer(
client,
[
{ topic: 'created' },
{ topic: 'updated' },
{ topic: 'destroyed' }
],
{
groupId: 'event-stream-consumer'
}
);
consumer.on('message', message => {
console.log(message);
});


--- layout: post title: ServiceAPI Date Time categories: [] tags: serviceapi status: draft type: post published: false meta: {} ---
UTC and local, how and why


You may want to try searching for something else.
If you believe you have reached this page in error, please let me know.


Module with methods that perform miscellaneous tasks.
More...
Module with methods that perform miscellaneous tasks.
Definition at line 95 of file miscellaneous.py.
| def utilities.miscellaneous.misc.add_commit_push_updates_to_git_repository |
( |
|
comment | ) |
|
|
static |
Method to add, commit, and push additions and updates to a Git repository.
- Parameters
-
| comment | - A comment for this commit/build [to the repository]. |
- Returns
- boolean True if updates can be added, committed, and push additions to a Git repository; Else, return boolean False. O(1) method.
Definition at line 235 of file miscellaneous.py.
237 print(
"-------------------------------------------------")
238 cmd = [
'git',
'add',
"-A"]
239 p = subprocess.Popen(cmd, cwd=config_manager.result_repository)
241 print(
"- Added. Commit now.")
242 comment =
"Update build via Python."
243 cmd = [
"git",
"commit",
"-m", comment]
244 p = subprocess.Popen(cmd, cwd=config_manager.result_repository)
246 print(
"- Committed. Push now.")
247 cmd = [
"git",
"push"]
248 p = subprocess.Popen(cmd, cwd=config_manager.result_repository)
250 print(
"-------------------------------------------------")
254 def add_commit_push_updates_to_git_repository(comment)
Method to add, commit, and push additions and updates to a Git repository.
| def utilities.miscellaneous.misc.check_absolute_path_to_store_results |
( |
|
path_to_file, |
|
|
|
filename |
|
) |
| |
|
static |
Method to validate the absolute path to store results.
It is an query method
- Parameters
-
| path_to_file | - A path to store the results file. |
| filename | - A filename. |
- Returns
- boolean True, if the path to the desired location can be contains the value in "misc.absolute_path_to_store_results" and the filename of the results file. Else, return boolean False. O(1) method.
Definition at line 117 of file miscellaneous.py.
118 if path_to_file.find(filename):
def check_absolute_path_to_store_results(path_to_file, filename)
Method to validate the absolute path to store results.
| def utilities.miscellaneous.misc.check_filename_format |
( |
|
filename | ) |
|
|
static |
Method to determine if a filename has the DD-MM-YY-HH-MM-SS-uS.txt format.
- Parameters
-
- Returns
- boolean True if the path to the desired location can be found; Else, return boolean False. O(1) method.
Definition at line 131 of file miscellaneous.py.
132 filename_wo_extn, file_extn = os.path.splitext(filename)
133 if ".txt" != file_extn:
135 tokens = filename_wo_extn.split(
"-")
137 Check against the format: DD-MM-YY-HH-MM-SS-uS[.txt].
142 tokens[4] = MM/Minute
143 tokens[5] = [SS/Second]
144 tokens[6] = [uS/Microsecond]
148 if 1 > int(tokens[0]):
150 if 2 == int(tokens[1])
and 29 < int(tokens[0])
and calendar.isleap(int(tokens[2])):
152 if 2 == int(tokens[1])
and 28 < int(tokens[0])
and not calendar.isleap(int(tokens[2])):
154 if generate_filename_tester.is_30_day_month(tokens[1])
and 30 < int(tokens[0]):
156 if generate_filename_tester.is_31_day_month(tokens[1])
and 31 < int(tokens[0]):
158 if 1 > int(tokens[1]):
160 if 12 < int(tokens[1]):
162 if 2000 > int(tokens[2]):
164 if 0 > int(tokens[3]):
166 if 23 < int(tokens[3]):
168 if 0 > int(tokens[4]):
170 if 59 < int(tokens[4]):
172 if 0 > int(tokens[5]):
174 if 59 < int(tokens[5]):
176 if 0 > int(tokens[6]):
178 if 999999 < int(tokens[6]):
def check_filename_format(filename)
Method to determine if a filename has the DD-MM-YY-HH-MM-SS-uS.txt format.
| def utilities.miscellaneous.misc.find_desired_location_for_results |
( |
|
filename | ) |
|
|
static |
Method to determine where to store the results of the experimental, simulation, verification, or testing runs.
- Parameters
-
| filename | - A filename that has the DD-MM-YY-HH-MM-SS-uS.txt. |
- Returns
- a string representing the absolute path of the location. O(1) method.
Definition at line 188 of file miscellaneous.py.
190 if not misc.check_filename_format(filename):
191 return "'filename' needs to have the format: DD-MM-YY-HH-MM-SS-uS.txt."
193 filename_wo_extn, file_extn = os.path.splitext(filename)
194 tokens = filename_wo_extn.split(
"-")
196 In the repository to store results from experiments,
197 simulations, and verification runs, and testing runs,
198 classify the files by subdirectories according to year
199 first before the month.
202 path_to_results_file = misc.get_absolute_path_to_store_results() +
"/" + tokens[2]
203 if not os.path.isdir(path_to_results_file):
205 os.mkdir(path_to_results_file)
207 path_to_results_file = path_to_results_file +
"/" + month_name[int(tokens[1])].lower()
208 if not os.path.isdir(path_to_results_file):
210 os.mkdir(path_to_results_file)
211 path_to_results_file = path_to_results_file +
"/" + filename
213 return path_to_results_file
def find_desired_location_for_results(filename)
Method to determine where to store the results of the experimental, simulation, verification, or testing runs.
| def utilities.miscellaneous.misc.get_absolute_path_to_store_results |
( |
| ) |
|
|
static |
Method to get the absolute path to store results.
It is an accessor method.
- Parameters
-
- Returns
- the absolute path to store results. O(1) method.
Definition at line 104 of file miscellaneous.py.
105 return misc.absolute_path_to_store_results
def get_absolute_path_to_store_results()
Method to get the absolute path to store results.
| def utilities.miscellaneous.misc.store_results |
( |
|
path_to_file | ) |
|
|
static |
Method to store the results file in the specified absolute path.
- Parameters
-
| path_to_file | - A path to store the results file. |
- Returns
- a file object for the results file. O(1) method.
Definition at line 220 of file miscellaneous.py.
221 if path_to_file
is not None:
222 return open(path_to_file,
'w+')
def store_results(path_to_file)
Method to store the results file in the specified absolute path.
| string utilities.miscellaneous.misc.absolute_path_to_store_results = "/Users/zhiyang/Documents/ricerca/risultati_sperimentali/std-cell-library-characterization" |
|
static |
The documentation for this class was generated from the following file:


Quickly get an overview of your repos
This, a tool for viewing all your GitHub repository traffic.
Everything is stored and executed client-side. In other words, your API Token is kept between you, your browser and GitHub.
Made in Angular.
Organizations are not supported yet.
Tip!This report is printable CTRL+P. Nonrelevant items will be omitted from the output


State
DISCONNECTED
Last connected
-
Packets rx
-
Unique packets
-
Current log file
-
| Name | Value |
|---|
RESOL VBus-Logger
Version ?
An example application for the
resol-vbus
node module.Author: Daniel Wippermann
RESOL and VBus are registered trademarks or trademarks of RESOL - Elektronische Regelungen GmbH.


Police looking to identify suspect in attempted break and enter
It happened on Selkirk Drive in Kitchener on November 6
by KitchenerToday StaffWaterloo Regional Police are continuing to investigate an attempted break and enter in the area of Selkirk Drive in Kitchener on November 6.
They are looking to identify and speak to the individual captured in these photos.
Anyone with information is asked to call police at<PHONE_NUMBER> ext. 8422 or Crime Stoppers 1-800-222-8477.


Git Code Review for JavaScript
Tolerate
White space miss
Multiple variable declaration per statement
Use of bitwise operators
Number
Maximum line length
Maximum number of warnings


Write Proxy Client API
Write Proxy Client API
Write Proxy is a 'stateless' service on managing the ownerships of writers of log streams. It is used to accept to fan-in writes from different publishers.
Build Client
The first thing of using Write Proxy service is to build the write proxy client. The endpoint of a Write Proxy service is typically identified by Finagle Name. Name strings must be supplied when constructing a Write Proxy client.
// 1. Create a Finagle client builder. It would be used for building connection to write proxies. ClientBuilder clientBuilder = ClientBuilder.get() .hostConnectionLimit(1) .hostConnectionCoresize(1) .tcpConnectTimeout(Duration$.MODULE$.fromMilliseconds(200)) .connectTimeout(Duration$.MODULE$.fromMilliseconds(200)) .requestTimeout(Duration$.MODULE$.fromSeconds(2)); // 2. Choose a client id to identify the client. ClientId clientId = ClientId$.MODULE$.apply("test"); String finagleNameStr = "inet!<IP_ADDRESS>:8000"; // 3. Create the write proxy client builder DistributedLogClientBuilder builder = DistributedLogClientBuilder.newBuilder() .name("test-writer") .clientId(clientId) .clientBuilder(clientBuilder) .statsReceiver(statsReceiver) .finagleNameStr(finagleNameStr); // 4. Build the client DistributedLogClient client = builder.build();
Write Records
Writing records to log streams via Write Proxy is much simpler than using the core library. The transaction id will be automatically assigned with timestamp by write proxies. The timestamp is guaranteed to be non-decreasing, which it could be treated as physical time within a log stream, and be used for implementing features like TTL in a strong consistent database.
DistributedLogClient client = ...; // Write a record to a stream String streamName = "test-stream"; byte[] data = ...; Future<DLSN> writeFuture = client.write(streamName, ByteBuffer.wrap(data)); Await.result(writeFuture);
Truncate Streams
Client could issue truncation requests (via #truncate(String, DLSN)) to write proxies to truncate a log stream up to a given position.
DistributedLogClient client = ...; // Truncate a stream to DLSN String streamName = "test-stream"; DLSN truncationDLSN = ...; Future<DLSN> truncateFuture = client.truncate(streamName, truncationDLSN); Await.result(truncateFuture);


Off the Map
Initially, we meant this to be a ‘blank’ issue, one in which we didn’t tie the content together with a theme. But when the articles started coming in, a more natural theme developed: one concerned with a geography of absence and hidden traces. By going off existing maps, we create new ones.
Download e-books from Archive.org
- Editor-in-Chief: Christopher Heaney
- Executive Editor: Benjamin Breen
- Managing Editor: Felipe Fernandes Cruz
- Publisher: Brian Jones
- Editor: Amy Kohout
- Local History Editor: Hannah Carney
- Copy Editor: J.R. Jones, Andrea Kinnison, Shannon Nagy
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.


The First One
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
The tagline goes here
And here's the short description.
Big description
Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.
“Design must be functional and functionality must be translated into visual aesthetics, without any reliance on gimmicks that have to be explained. ” — Ferdinand A. Porsche
“Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while. ”— Steve Jobs
“I think design would be better if designers were much more skeptical about its applications. If you believe in the potency of your craft, where you choose to dole it out is not something to take lightly. ”— Frank Chimero
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia.
Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.
A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.


--- layout: simple title: Notes on O’Hagan (2006) ---
O’Hagan, A. (2006). Bayesian analysis of computer code outputs: a tutorial. Reliability Engineering & System Safety, 91(10), 1290-1300.
This is an excellent paper for describing some of the essence of the Bayesian statistical approach to model calibration and validation. It has a strong emphasis on emulators, being statistical models to represent the output of a numerical model, but it is the uncertainty associated with the emulator which is the common theme among all Bayesian works, whether this is to represent the uncertainty in the emulator or the numerical model itself.
The paper is laid out to deconstruct the taxonomy of the statistical approach to model uncertainty quantification and is somewhat different from that of the model developer approach to V&V.
A simulator is the numerical model in question. This includes the conceptual model and the numerical implementation. [This distinction is subtle and important as the Roy approach carefully separates all of these parts of a model.] A simulator is given the symbology $f(\,.)$.
“The outputs y of a simulator are a prediction of the real-world phenomena that are simulated by the model, but as such will inevitably be imperfect. There will be uncertainty about how close the true real-world quantities will be to the outputs y. This uncertainty arises from many sources, particularly uncertainty in the correct values to give the inputs x and uncertainty about the correctness of the model $f(\,.)$ in representing the real-world system;”
The purpose of the process is to “quantify, analyse and reduce uncertainty in simulator outputs”.
This section is trying to draw the distinction between Bayesian and frequentist statistics. Frequentist statistics is familiar, in that it is the probability we all know and hate, i.e. it the probability that something might happen given an infinite occurrences of the event. This is described as aleatory uncertainty, as it concerns the outcomes of random events.
As expected, a great deal of uncertainty is not due to inherent randomness, but from not knowing enough about a parameter, for instance, through lack of knowledge. Its not random in itself. This is an epistemic uncertainty. “Within the Bayesian framework we are free to quantify all kinds of uncertainty, whether aleatory or epistemic, through probabilities.”
[Bayesian probability is often presented in probability density functions where the area under the curve represents the probability for an interval. This is why there are sometimes high numbers on pdf graphs. See probabilitydensity.pdf.]
Emulators are statistical models of the outputs of simulators. This approximation to $f(\,.)$ is given as $\hat{f}(\,.)$. The important distinction is made that $\hat{f}(\mathbf{x})$ is the mean of the statistical emulator and that there is a statistical distribution about the mean, which describes the uncertainty of the emulator to the true $f(\mathbf{x})$.
Emulators are built by training them to data from $f(\,.)$, providing an estimate of $f(\,.)$. The emulator must then:
The best choice of emulator to achieve this is a Gaussian Process emulator (GP).
The uncertainty created by using an emulator as an approximation to $f(\,.)$ is called code uncertainty.
A large section is dedicated to demonstrating the application of a GP emulator, but that is not necessarily important for the Bayesian concepts.
“If the input vector $\mathbf{x}$ is uncertain, we can consider it as a random vector. In statistics, we denote this by writing it as $\mathbf{X}$. The output is of course now also a random variable, and we write $Y=f(\mathbf{X})$”.
The probability distribution for $\mathbf{X}$ is denoted as $G$.
Monte Carlo techniques can be used on sample inputs from $G$ and compute them in the emulator. However, the uncertainty can be analytically calculated from the GP using uncertain data $\mathbf{X}$. $G$, can be used to get the emulated mean $\hat{M}$, and a associated uncertainty distribution which will be normal, assuming $G$ is normal. Thus the simulator has only been required to generate the GP emulator.
Note that its the uncertainty model in the GP that is most important here, rather than the GP itself. As seen in other papers, the uncertainty model can be embedded in the simulator and then inferences made from that. This does remove a number of the efficiency advantages of using an emulator, however.
Emulators can be used for sensitivity analysis, reducing the computational burden on the simulator significantly.
Calibration can be achieved for model parameters. The approach gives an uncertainty measure in the inputs which is reduced, but not lost. The validation metric is known as a model discrepancy function which can also be considered as a GP.
There seem to be a number of issues with emulators, particularly to do with multiple outputs and computing the GP itself.
There is also a problem that the emulator may be unnaturally smooth compared to the reality of the computation.
Correlation between outputs is an issue. Emulators can be built for multiple outputs separately, but if they are correlated, information may be lost.
Emulators don’t seem to do “dynamic” models, like time series I guess.
Bayesian approaches can be used for validation (as seen in other papers), by setting bounds on the uncertainty in the model emulator, or otherwise.
No general softwares exist for this yet.
I need a \$1. I might also need another \$1. $e^{i\pi}=1$


Address Book: Login
+
Logout
Add a new contact:
Photo URL
First Name
Last Name
Phone Number
Email
Instagram
Contacts
Photo
First Name
Last Name
Phone Number
Email
Instagram


Toggle navigation
Gist-PHP
Link
(current)
Link
Add an anonymous gist
Filename
Code
Description
Submit


{% include meta.html %}
Home
Services
About
Contact
Blog
in3x
Blog
Stuff you may not read but I'll tell you anyway
{{ content }}


KUNDUN A film by Martin Scorsese Starring: Tenzin Thuthob Tsarong, Gyurme Tethong, Tulku Jamyang Kunga Tenzin, Tenzin Yeshi Paichang, and Tencho Gyalpo Written by Melissa Mathison
KUNDUN is Martin Scorsese's return to the somber religious overtones of THE LAST TEMPTATION OF CHRIST, and a film so unlike everything else he has ever done, including the film made preceding KUNDUN, CASINO. Using no Western actors whatsoever, Scorsese steps away from the boundaries of Western civilization, and instead makes a relatively small film about the Dalai Lama, the leader of Tibetan Buddhism, and one of the most revered figures in the world.
Leave it to Scorsese to give himself a challenge. Scorsese was faced with the dilemma of making the culture of Tibet, a visual, aural treat that is so painstakingly detailed that some would find it boring, palatable to Western audiences. Compounding his dilemma was the production of one SEVEN YEARS IN TIBET, a far inferior film starring Brad Pitt (though not as the Dalai Lama- that would have been interesting.) Scorsese's film is about as far away from the Pitt movie as possible: it is slow-moving, much more visual, and more dependant on patience and images than on storyline. 20
The film's storyline is basically simple: it follows the life of the 14th Dalai Lama from his finding at a young age to his escape into India. His Holiness is played by four different monks, each of whom are excellent in their respective roles. The youngest is probably the finest of the group, and he is without a doubt the highlight of the first act of the film. The actors show a tremendous maturation as they progress, highlighting the growth of the Dalai Lama as he progressed in age. In the latter part of the film, the Chinese invade Tibet, and Kundun, the ancient term for the Dalai Lama, is forced eventually to flee.
The script, written by E.T. scribe (and Harrison Ford spouse) Melissa Mathison, is not only slow in development, it is also highly philosophical and experimental. There are several "dream sequences" which are often difficult to follow, and much of the film's power comes from its breathtaking visuals and score. Scorsese lets the film develop without rushing into anything: his cameras are fluid, but not rapid. They are instead an hybrid of the NY style used predominantly by the famed director with a sort of reverent bathing of the Tibetan culture, creating an interesting dichotomy. The visuals are at once personal and extravagant, leaving the viewer an impression not only of the film being a portrait of a man, but a portrait of a culture as well.
Several sequences are absolutely stunning. One in particular involves Kundun standing in the middle of hundreds of monks, dead, as the camera pans back to reveal those the Dalai Lama could not predict. It is a deeply religious, deeply philosophical moment that reveres all which is non-violent, and abhores that whcih causes death and destruction. Scorsese is quite passionate about his subject, and his dichotomy of spirituality and humanity is far better here than in LAST TEMPTATION. 20
The performances of all the players are exquisite. The score, by Phillip Glass, is also outstanding. The movie is, however, a challenging viewing, and the majority of the viewers will describe it as boring. But for the chosen few, KUNDUN is a visual experience like no other. With tremendous artistry, Scorsese is able to transport an ancient culture into the rooms of America. There is so much beauty in even the most gruesome of sequences, so much power in the movements of its characters. It is a slow-moving, sometimes tedious chore to listen to KUNDUN. It is a deeply philosophical movie that can be interpreted as preachy. But KUNDUN is truly none of those. It is instead the ultimate acheivement in the mixture of art, beauty, sound, dance, culture, and history, not a film triumph as much as a culture triumph. KUNDUN may lack a significant plot or buildup, but it exhibits so much beauty, grace, and sheer devastation that it is nothing short of a triumph. One of Scorsese's most challenging, most difficult, and ultimately, most rewarding films, KUNDUN is a true masterpiece.
***1/2 out of ****
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


MirrorMirror
GitHub
jQuery plugin which provides text and images in the mirror writing.
Samples
Whole in the mirror
Left-aligned text becomes right-aligned.
Left-aligned text becomes right-aligned.
Each character in the mirror
This widget can alter text and images in the mirror writing for each 1 character.
This widget can alter text and images in the mirror writing for each 1 character.
Nesting in the mirror
Mirror, mirror on the wall…
- Ōkagami
- Through the Looking-Glass, and What Alice Found There
- Venus at her Mirror


We are here to demolish all of those cringy unblocked games sites that are plagued with ads and malware.


public class TestAtomicActions
extends java.lang.Object
| Constructor and Description |
|---|
TestAtomicActions() |
| Modifier and Type | Method and Description |
|---|---|
void |
convertPowerupTest()
testing if has been assigned the correct amount of ammo during the conversion from powerup value
|
void |
dealDamageTest()
this test verifies if I set the correct amount of damage and the correct state in the receiver of the attack attributes.
|
void |
drawPowerupTest()
verifies that the player has a new powerup.
|
void |
grabTest()
verifies if the player receive the correct amount of ammo and verifies if he can get the powerup.
|
void |
grabWeaponAndReplaceTest()
this test is similar to the previous one, it verifies also that the selected weapon from the
player has been changed with the selected weapon in the cell (and also verifies that the
first one as been recharged)
There's also a commented print in the code of the method grabWeaponAndReplace to verify if the message gets the correct parameters
|
void |
grabWeaponTest()
verifies if the player has been moved to correct cell, then verifies if he has the correct weapon (and also if the weapon is correctly assigned to him)
and then verifies that the weapon has been removed from the cell.
|
void |
markTest()
verifies if the marks as been added correctly to te player receiver.
|
void |
moveTest()
verifies if the player has been moved in the selected cell.
|
void |
payAmmoTest()
verifies if it has been removed the correct amount of ammos during the payment
|
void |
payAmmoWithPowerupsTest()
verifies if we have removed the correct amount of ammos and the powerup selected to pay
|
void |
reloadTest()
this test verifies the weapon has been reloaded correctly.
|
public void moveTest()
public void grabTest()
public void grabWeaponTest()
public void grabWeaponAndReplaceTest()
public void reloadTest()
public void convertPowerupTest()
public void payAmmoTest()
public void payAmmoWithPowerupsTest()
public void drawPowerupTest()
public void markTest()
public void dealDamageTest()


Cold winds gusted through the Mol Hara, lifting Mat’s cloak and threatening to freeze the mud caking his clothing as he and Noal hurried out of the alley. The sun sat on the rooftops, half-hidden, and the shadows stretched long. With one hand for his staff and the other gripping the broken cord of the foxhead, stuffed into a coat pocket where he could snatch it out if need be, he had to let his cloak go where it would. He ached from head to foot, the dice rattled warning inside his skull, and he hardly noticed either thing. He was too busy trying to watch every direction at once, and wondering just how small a hole that thing could get through. He found himself uneasily eyeing cracks between the square’s paving stones. Though it hardly seemed likely the thing would come at him in the open.
A hum carried from surrounding streets, but here only a slat-ribbed dog moved, running past the fountained statue of long-dead Queen Nariene. Some said her uplifted hand pointed to the ocean’s bounty that had enriched Ebou Dar, and some that it pointed in warning of dangers. Others said her successor had wanted to draw attention to the fact that only one of the statue’s breasts was uncovered, proclaiming that Nariene had only been of middling honesty.
In other days the Mol Hara would have been full of strolling lovers and lingering street vendors and hopeful beggars at this hour even in winter, but beggars found themselves snatched off the streets and put to work, since the Seanchan came, and the rest stayed away even in daylight. The reason was the Tarasin Palace, that great mound of white domes and marble spires and wrought-iron balconies, the residence of Tylin Quintara Mitsobar, by the Grace of the Light, Queen of Altara—or as much of Altara as lay within a few days’ ride of Ebou Dar—Mistress of the Four Winds and Guardian of the Sea of Storms. And, perhaps more important, the residence of the High Lady Suroth Sabelle Meldarath, commanding the Forerunners for the Empress of the Seanchan, might she live forever. A position of much greater eminence in Ebou Dar, at the moment. Tylin’s green-booted guards stood at every entrance in their baggy white trousers and gilded breastplates worn over green coats, and so did men and women in those insectile helmets with armor striped in blue-and-yellow or green-and-white or any other combination you might happen to think of. The Queen of Altara required security and silence for her rest. Or rather, Suroth said she did, and what Suroth said Tylin wanted, Tylin soon decided that she did indeed want.
After a moment’s consideration, Mat led Noal to one of the stableyard gates. There was more chance of getting a stranger in there than if he used the grand marble stairs that led down into the square. Not to mention a much better chance of getting all the mud off him before he had to face Tylin. She had made her displeasure markedly known the last time he came back disheveled, after a tavern brawl.
A handful of Ebou Dari guards stood to one side of the open gates with halberds, and the same number of Seanchan on the other with tasseled spears, all as stiff as Nariene’s statue.
“The Light’s blessing on all here,” Mat murmured politely to the Ebou Dari guards. It was always best to be polite to Ebou Dari until you were sure of them. Afterwards, too, for that matter. Even so, they were more . . . flexible . . . than the Seanchan.
“And on you, my Lord,” their stocky officer replied, ambling forward, and Mat recognized him, Surlivan Sarat, a good fellow, always ready with a quip and possessing a fine eye for horses. Shaking his head, Surlivan tapped the side of his pointed helmet with the thin, gilded rod of his office. “Have you been in another fight, my Lord? She will go up like a waterspout, when she sees you.”
Squaring his shoulders, and trying not to lean so obviously on his staff, Mat bristled. Ready with a quip?  And his eye for horses was not all that fine, either. “Will there be any questions if my friend here beds down with my men?” Mat asked roughly. “There shouldn’t be. There’s room for one more with my fellows.” Room for more than one, truth be told. Eight men had died so far, for following him to Ebou Dar.
“None from me, my Lord,” Surlivan said, though he eyed the scrawny man at Mat’s side and pursed his lips judiciously. Noal’s coat appeared of good quality, though, at least in the dim light, and he did have his lace, and in a better state than Mat’s. Perhaps that tipped the balance. “And she doesn’t need to know everything, so none from her, either.”
Mat scowled, but before intemperate words could put himself and Noal in the soup kettle, three armored Seanchan galloped up to the gate, and Surlivan turned to face them.
“You and your lady wife live in the Queen’s Palace?” Noal inquired, starting toward the gate.
Mat pulled him back. “Wait on them,” he said, nodding toward the Seanchan. His lady wife? Bloody women!
“I have dispatches for the High Lady Suroth,” one of the Seanchan announced, slapping a leather satchel hanging from one armored shoulder. Her helmet bore a single thin plume, marking her a low-ranking officer, yet her horse was a tall dun gelding with a look of speed. The other two animals were sturdy enough, but there was nothing to be said for them beyond that.
“Enter with the blessings of the Light,” Surlivan said, bowing slightly.
The Seanchan woman’s bow from her saddle was a mirror of his. “The blessings of the Light be on you also,” she drawled, and the three of them clattered into the stableyard.
“It is very strange,” Surlivan mused, peering after the three. “They always ask permission of us, not them.” He flicked his rod toward the Seanchan guards on the other side of the gates. They had not stirred an inch from their rigid stance, or even glanced at the arrivals that Mat had noticed.
“And what would they do if you said they couldn’t go in?” Noal asked quietly, easing the bundle on his back.
Surlivan spun on his heel. “It is enough that I have given oath to my Queen,” he said in an expressionless voice, “and she has given hers . . . where she has given it. Give your friend a bed, my Lord. And warn him, there are things better left unsaid in Ebou Dar, questions better left unasked.”
Noal looked befuddled and began protesting that he was simply curious, but Mat exchanged further benisons and courtesies with the Altaran officer—as quickly as he could, to be sure—and hustled his newfound acquaintance through the gates, explaining about Listeners in a low voice. The man might have saved his hide from the gholam, but that did not mean he would let the fellow hand it over to the Seanchan. They had people called Seekers, too, and from the little he had heard—even people who spoke freely about the Deathwatch Guard locked their teeth when it came to the Seekers—from the little he had heard, Seekers made Whitecloak Questioners look like boys tormenting flies, nasty but hardly anything to worry a man.
“I see,” the old man said slowly. “I hadn’t known that.” He sounded irritated with himself. “You must spend a good deal of time with the Seanchan. Do you know the High Lady Suroth as well, then? I must say, I had no idea you had such high connections.”
“I spend time with soldiers in taverns, when I can,” Mat replied sourly. When Tylin let him. Light, he might as well be married! “Suroth doesn’t know I’m alive.” And he devoutly hoped it remained that way.
The three Seanchan were already out of sight, their horses being led into the stables, but several dozen sul’dam were giving damane their evening exercise, walking them in a big circle around the stone-paved yard. Nearly half the gray-clad damane were dark-skinned women, lacking the jewelry they had worn as Windfinders. There were more like them in the Palace and elsewhere; the Seanchan had had a rich harvest from Sea Folk vessels that had failed to escape. Most wore sullen resignation or stony faces, but seven or eight stared ahead of them, lost and confused, disbelieving still. Each of those had a Seanchan-born damane at her side, holding her hand or with an arm around her, smiling and whispering to her under the approving eyes of the women who wore the bracelets attached to their silvery collars. A few of those dazed women clutched the damane walking with them as if holding to lifelines. It would have been enough to make Mat shiver, if his damp clothes had not already been doing the job.
He tried to hurry Noal across the yard, but the circle brought a damane who was neither Seanchan nor Atha’an Miere near him, linked to a plump, graying sul’dam, an olive-skinned woman who might have passed for Altaran and someone’s mother. A stern mother with a possibly fractious child, from the way she regarded her charge. Teslyn Baradon had fleshed out after a month and a half in Seanchan captivity, yet her ageless face still looked as if she ate briars three meals a day. On the other hand, she walked placidly on her leash and obeyed the sul’dam’s murmured directions without hesitation, pausing to bow very deeply to him and Noal. For an instant, though, her dark eyes flashed hatred at him before she and the sul’dam continued their circuit of the stable-yard. Placidly, obediently. He had seen damane upended and switched till they howled in this same stableyard for making any sort of fuss, Teslyn among them. She had done him no good turns, and maybe a few bad, but he would not have wished this on her.
“Better than being dead, I suppose,” he muttered, moving on. Teslyn was a hard woman, likely plotting every moment how to escape, yet hardness only took you so far. The Mistress of the Ships and her Master of the Blades had died on the stake without ever screaming, but it had not saved them.
“Do you believe that?” Noal asked absently, fumbling awkwardly with his bundle again. His broken hands had handled that knife well enough, but they seemed clumsy at everything else.
Mat frowned at him. No; he was not sure he believed it. Those silver a’dam seemed too much like the invisible collar Tylin had on him. Then again, Tylin could tickle him under the chin the rest of his life if it kept him off the stake.  No, that was a lie. Since he had finally realized what they meant, he had never wanted the dice to stop.
The room Chel Vanin and the surviving Redarms shared lay not far from the stables, a long white-plastered chamber with a low ceiling and too many beds for those who remained alive. Vanin, a balding suety heap, was lying on one in his shirtsleeves, an open book propped on his chest. Mat was surprised the man could read. Spitting through a gap in his teeth, Vanin eyed Mat’s mud-smeared clothes. “You been fighting again?” he asked. “She won’t like that, I reckon.” He did not rise. With a few startling exceptions, Vanin considered himself as good as any lord or lady.
“Trouble, Lord Mat?” Harnan growled, leaping to his feet. He was a solid man, physically and by temperament, but his heavy jaw clenched, twisting the hawk crudely tattooed on his cheek. “Begging your pardon, but you’re in no condition for it. Tell us what he looks like, and we’ll sort him out for you.”
The last three gathered behind him with eager expressions, two grabbing for their coats while still tucking in shirttails. Metwyn, a boyish-appearing Cairhienin who was ten years older than Mat, instead picked up his sword from where it was propped at the foot of his bed and eased a little of the blade out of the scabbard to check the edge. He was the best of them with a sword, very good indeed, though Gorderan came close for all he looked a blacksmith. Gorderan was not nearly as slow as his thick shoulders made him appear. A dozen Redarms had followed Mat Cauthon to Ebou Dar, eight of those were dead, and the rest were stuck here in the Palace where they could not pinch the maids, get into a fight over dice, and drink till they fell on their faces, as they could have staying at an inn and knowing the innkeeper would see them carried up to their beds, though maybe with their purses a little lighter than they had been.
“Noal here can tell you what happened better than I can,” Mat replied, pushing his hat back on his head. “He’ll be bedding in here with you. He saved my life tonight.”
That brought exclamations of shock, and cries of approbation for Noal, not to mention slaps on the back that almost toppled the old fellow.
Setting his bundle down on a vacant bed, Noal told the tale with elaborate gestures, playing down his own role and even making himself a bit of a buffoon, slipping in the mud and gaping at the gholam while Mat fought like a champion. The man was a natural storyteller, as good as a gleeman for making you see what he described. Harnan and the Redarms laughed genially, knowing what he was about, not stealing their captain’s thunder, and approving of it, but laughter died when he came to Mat’s attacker slipping away through a tiny hole in a wall. He made you see that, too. Vanin put down his book and spat through his teeth again. The gholam had left Vanin and Harnan half-dead in the Rahad. Half-dead because it was after other prey.
“The thing wants me for some reason, it seems,” Mat said lightly when the old man finished and sank onto the bed with his belongings, seemingly exhausted. “It probably played at dice with me some time I don’t recall. None of you has to worry, as long as you don’t get between it and me.” He grinned, trying to make it all a joke, but no one so much as smiled. “In any case, I’ll parcel out gold to you in the morning. You’ll book passage on the first ship leaving for Illian, and take Olver with you. Thom and Juilin, too, if they’ll go.” He imagined the thief-catcher would, anyway. “And Nerim and Lopin, of course.” He had gotten used to having a pair of serving men look after him, but he hardly needed them here. “Talmanes must be somewhere close to Caemlyn by this time. You shouldn’t have much trouble finding him.” When they were gone, he would be alone with Tylin. Light, he would rather face the gholam again!
Harnan and the other three Redarms exchanged looks, Fergin scratching his head as it he did not quite understand. He might not. The bony man was a good soldier—not the best, mind, but good enough—yet he was not very bright when it came to other things.
“That wouldn’t be right,” Harnan allowed finally. “One thing, Lord Talmanes’d have our hides if we came back without you.” The other three nodded. Fergin could understand that.
“And you, Vanin?” Mat asked.
 “I take that boy away from Riselle, and he’ll gut me like a trout the first time I go to sleep. I would myself, in his boots. Anyway, I got time to read, here. Don’t get much chance for that working as a farrier.” That was one of the itinerant trades he claimed to follow. The other was stableman. In truth, he was a horsethief and poacher, the best in two countries and maybe more.
“You’re all mad,” Mat said with a frown. “Just because it wants me, doesn’t mean it won’t kill you if you get in the way. The offer stays open. Anyone who comes to his senses can go.”
“I have seen your like before,” Noal said suddenly. The stooped old man was the image of hard age and exhaustion, but his eyes were bright and sharp studying Mat. “Some men have an air about them that makes other men follow where they lead. Some lead to devastation, others to glory. I think your name may go into the history books.”
Harnan looked as confused as Fergin. Vanin spat and lay back down, opening his book.
“If all my luck goes away, maybe,” Mat muttered. He knew what it took to get into the histories. A man could get killed, doing that sort of thing.
“Better clean up before she sees you,” Fergin piped up suddenly. “All that mud will put a burr under her saddle for sure.”
Snatching his hat off angrily, Mat stalked out without a word. Well, he stalked as well as he could, hobbling on a walking staff. Before the door closed behind him, he heard Noal starting a story about one time he sailed on a Sea Folk ship and learned to bathe in cold salt water. At least, that was how it began.
He intended to get himself clean before Tylin saw him—he did—but as he limped through hallways hung with the flowered tapestries Ebou Dari called summer-hangings, for the season they evoked, four serving men in the Palace’s green-and-white livery and no fewer than seven maids suggested he might want to bathe and change his clothes before the Queen saw him, offering to draw him a bath and fetch clean garments without her learning of it. They did not know everything about him and Tylin, thank the Light—no one but Tylin and himself knew the worst bits—but they knew too bloody much. Worse, they approved, every last flaming servant in the whole flaming Tarasin Palace. For one thing, Tylin was Queen and could do as she pleased, so far as they were concerned. For another, her temper had been on a razor’s edge since the Seanchan captured the city, and if Mat Cauthon scrubbed and bright in lace kept her from snapping their noses off for trifles, then they would scrub behind his ears and wrap him in lace like a Sunday gift!
“Mud?” he said to a pretty, smiling maid spreading her skirts in a curtsy. There was a twinkle in her dark eyes, and the plunging neckline of her bodice displayed a fair amount of bosom to almost rival Riselle’s. On another day he might have taken a little time to enjoy looking. “What mud? I don’t see any mud!”
Juilin Sandar, rounding a corner quickly, nearly walked into him. The Tairen thief-catcher leaped back with a muffled oath, his swarthy face turning gray until he realized who had almost run him over. Then he muttered an apology and started to hurry on by.
“Has Thom got you mixed into his foolishness, Juilin?” Mat said. Juilin and Thom shared a room deep in the servants’ quarters, and there was no excuse for him to be up here. In that dark Tairen coat, flaring over his boot tops, Juilin would stand out among the servants like a duck in a chicken coop. Suroth was strict about things like that, stricter than Tylin. The only reason for it Mat could see was whatever Thom and Beslan were meddling with. “No; don’t bother telling me. I’ve made an offer to Harnan and the others, and it’s open to you, too. If you want to leave, I’ll give you the money for it.”
Actually, Juilin did not look ready to tell him anything. The thief-catcher tucked his thumbs behind his belt and met Mat’s gaze levelly. “What did Harnan and the others say? And what is Thom doing that you call foolish? This is one set of rooftops he knows his way around better than you or I.”
“The gholam is still in Ebou Dar, Juilin.” Thom knew that the Game of Houses was what he knew, and he loved sticking his nose into politics. “The thing tried to kill me, earlier this evening.”
 “I have a reason to stay a while longer,” he said, “even so.” His air changed slightly, to something stubborn and defensive and tinged with guilt. He had never shown a roving eye that Mat had seen, but when a man looked like that, it could only mean one thing.
“Take her with you,” Mat said. “And if she won’t go, well, you’ll not be in Tear an hour before you have a woman on each knee. That’s the thing about women, Juilin. If one says no, there’s always another will say yes.”
A serving man hurrying by with an armload of linen towels stared at Mat’s muddiness in amazement, but Juilin thought it was at him, and snatched his thumbs free of his belt and at tempted to adopt a more humble stance. Without much success. Thom might sleep with the servants, yet from the beginning he had somehow made it seem to be his own choice, an eccentricity, and no one thought it odd to see him up here, perhaps slipping into Riselle’s rooms that had once been Mat’s. Juilin had gone on at length about being a thief-catcher—never a thief-taker—and stared so many prickly lordlings and complacent merchants in the eye to show he was as good as they that everyone in the Palace knew who and what he was. And where he was supposed to be, which was belowstairs.
“My Lord is wise,” he said, too loudly, and making a stiff, jerky bow. “My Lord knows all about women. If my Lord will forgive a humble man, I must return to my place.” Turning to go, he spoke over his shoulder, still in a carrying voice. “I heard today that if my Lord comes back one more time looking like he’s been dragged in the street, the Queen intends taking a switch to my Lord’s person.”
And that was the stone that broke the wagon clean in two.
Flinging open the doors of Tylin’s apartments, Mat strode in, sailed his hat across the width of the room . . . And stopped dead, his mouth hanging open and everything he had planned to say frozen on his tongue. His hat hit the carpets and rolled, he did not see where. A gust of wind rattled the tall triple-arched windows that let out onto a long, screened balcony overlooking the Mol Hara.
 Waves of glossy black hair touched with gray at the temples framed a beautiful face with the eyes of a bird of prey, and not one best pleased at the moment. Inconsequential things seemed to leap at him. She kicked her crossed leg slightly, rippling layered green and white petticoats. Pale green lace trimmed the oval opening in her gown that half exposed her full breasts, where the jeweled hilt of her marriage knife dangled. She was not alone. Suroth sat facing her, frowning into her winecup and tapping long fingernails on the arm of her chair, a pretty enough woman despite her hair being shaved to that long crest, except that she made Tylin seem a rabbit by comparison. Two of those fingernails on each hand were lacquered blue. Seated at her side was a little girl, of all things, also in an elaborately flowered robe over pleated white skirts, but with a sheer veil covering her entire head—it seemed to be shaved completely!—and wearing a fortune in rubies. Even in a state of shock, he noticed rubies and gold. A slender woman, nearly as dark as her stark black gown and tall even had she been Aiel, stood behind the girl’s chair with her arms folded and ill-concealed impatience. Her wavy black hair was short, but not shaved at all, so she was neither of the Blood nor so’jhin. Imperiously beautiful, she put Tylin and Suroth both in the shade. He noticed beautiful women, too, even when he did feel hit in the head with a hammer.
It was not the presence of Suroth or the strangers that jerked him to a halt, though. The dice had stopped, landing with a thunder that made his skull ring. That had never happened before. He stood there waiting for one of the Forsaken to leap out of the flames in the marble fireplace, or the earth to swallow the Palace beneath him.
“You aren’t listening to me, pigeon,” Tylin cooed in dangerous tones. “I said, take yourself down to the kitchens and have a pastry until I have time for you. Have a bath while you’re about it.” Her dark eyes glittered. “We will discuss your mud later.”
In a daze, he ran it through again in his head. He had walked into the room, the dice had stopped, and . . . Nothing had happened. Nothing!
“This man has been set upon,” the tiny, veiled figure said, rising. Her tone turned cold as the wind outside. “You told me the streets were safe, Suroth! I am displeased.”
Something had to happen! It already should have! Something always happened when the dice stopped.
  Suroth made other people anxious.
A slender, graceful young man in the almost transparent robe of a da’covale appeared at her side with a tall blue porcelain pitcher, bowing his head and silently offering to replenish her wine. And giving Mat another start. He had not realized anyone else was present in the room. The yellow-haired man in his indecent garment was not the only one, either. A slim but nicely rounded red-haired woman wearing the same sheer robe was kneeling beside a table that held spice bottles and more fine Sea Folk porcelain wine pitchers and a small gilded brass brazier with the pokers needed for heating the wine, while a graying nervous-eyed serving woman wearing green-and-white House Mitsobar livery stood at the other end. And in one corner, so motionless that he still almost missed her, yet another Seanchan, a short woman with half her golden head shaved and a bosom that might outmatch Riselle’s if her dress of red-and-yellow panels had not covered her neck to the chin. Not that he had any real desire to find out. Seanchan were very touchy about their so’jhin. Tylin was touchy about any woman. There had not been a serving woman younger than his grandmother in her apartments since he was able to get out of bed.
Suroth looked at the graceful man as though wondering what he was, then shook her head wordlessly and turned her attention back to the child, Tuon, who waved the fellow away. The liveried serving maid scurried forward to take the pitcher from him and try to refill Tylin’s cup, but the Queen made a very small gesture that sent her back to the wall. Tylin was sitting very, very still. Little wonder that she wanted to avoid notice if this Tuon frightened Suroth, as she plainly did.
“I am displeased, Suroth,” the girl said again, sternly frowning down at the other woman. Even standing, she did not have all that far down to stare at the seated High Lady. Mat supposed she must be a High Lady, too, only Higher than Suroth. “You have recovered much, and that will please the Empress, may she live forever, but your ill-considered attack eastward was a disaster that must not be repeated. And if the streets of this city are safe, how can he have been set upon?”
Suroth’s knuckles were white from gripping the chair arm, and her winecup. She glared at Tylin as though the lecture were her fault, and Tylin gave her an apologetic smile and bowed her head. Oh, blood and ashes, he was going to pay for that!
“I fell down, that’s all.” His voice might as well have been fireworks for the way heads whipped around. Suroth and Tuon looked shocked that he had spoken. Tylin looked like an eagle who wanted her rabbit fried. “My Ladies,” he added, but that did not seem to improve anything.
The tall woman suddenly reached out and snatched the wine-cup from Tuon’s hand, throwing it into the fireplace. Sparks showered up the chimney. The serving woman stirred as if to retrieve the cup before it could be damaged further, then subsided at a touch from the so’jhin.
“You are being foolish, Tuon,” the tall woman said, and her voice made the girl’s sternness seem laughter. The too-familiar Seanchan drawl seemed almost absent entirely. “Suroth has the situation here well in her control. What happened to the east can happen in any battle.
Suroth gaped at her in astonishment for an instant before she could assume a frozen mask. Mat did a little gaping on his own part. Use that tone of voice to one of the Blood, and you were lucky to escape with a trip to the flogging post!
Shockingly, Tuon inclined her head slightly. “You may be right, Anath,” she said calmly, and even with a touch of deference. “Time and the omens will tell. But the young man plainly is lying. Perhaps he fears Tylin’s anger. But his injuries clearly are more than he could sustain falling down unless there are cliffs in the city I have not seen.”
So he feared Tylin’s anger, did he? Well, come to that, he did, a little. Only a little, mind. But he did not like being reminded of it. Leaning on his shoulder-high staff, he tried to make himself comfortable. They could ask a man to sit, after all. “I was hurt the day your lads took the city,” he said with his cheekiest grin.  I’m just about healed, though, thank you for asking.”
Tuon’s skirts rustled as she crossed the carpets to him. The dark face behind that sheer veil might have been pretty, without the expression of a judge passing sentence of death. And with a decent head of hair instead of a bald pate. Her eyes were large and liquid, but utterly impersonal. All of her long fingernails were lacquered, he noticed, a bright red. He wondered whether that signified anything. Light, a man could live in luxury for years on the price of those rubies.
 Until Tylin glared at him over Tuon’s head, promising retribution here and now, if he did any such thing. Glowering, he let the girl shift his head for her study.
“You fought us?” she demanded. “You have sworn the oaths?”
“I swore,” he muttered. “For the other, I had no chance.”
“So you would have,” she murmured. Circling him slowly, she continued her study, fingering the lace at his wrist, touching the black silk scarf tied around his neck, lifting the edge of his cloak to examine the embroidery. He endured it, refusing to shift his stance, glowering fit to match Tylin. Light, he had bought horses without so thorough an examination! Next, she would want to look at his teeth!
“The boy told you how he was injured,” Anath said in frosty tones of command. “If you want him, then buy him and be done. The day has been long, and you should be in your bed.”
Tuon paused, examining the long signet ring on his finger. It had been carved as a try-piece, to show the carver’s skills, a running fox and two ravens in flight, all surrounded by crescent moons, and he had bought it by chance, though he had come to like it. He wondered whether she wanted it. Straightening, she stared up at his face. “Good advice, Anath,” she said. “How much for him, Tylin? If he is a favorite, name your price, and I will double it.”
Tylin choked on her wine and began coughing. Mat almost fell off his staff. The girl wanted to buy him? Well, she might as well have been looking at a horse for all the expression on her face.
“He is a free man, High Lady,” Tylin said unsteadily when she could speak. “I . . . I cannot sell him.” Mat could have laughed, if Tylin did not sound as though she were trying to keep her teeth from chattering, if bloody Tuon had not just asked his price. A free man! Ha!
The girl turned away from him as though dismissing him from her mind. “You are afraid, Tylin, and under the Light, you should not be.” Gliding to Tylin’s chair, she lifted her veil with both hands, baring the lower half of her face, and bent to kiss Tylin lightly, once on each eye and once on the lips. Tylin looked astounded. “You are a sister to me, and to Suroth,” Tuon said in a surprisingly gentle voice. “I myself will write your name as one of the Blood. You will be the High Lady Tylin as well as Queen of Altara, and more, as was promised you.”
Anath snorted, loudly.
“Yes, Anath, I know,” the girl sighed, straightening and lowering her veil. “The day has been long and arduous, and I am weary. But I will show Tylin what lands are in mind for her, so she will know and be easy in her mind. There are maps in my chambers, Tylin. You will honor me by accompanying me, there? I have excellent masseuses.”
“The honor is mine,” Tylin said, sounding not all that much steadier than before.
At a gesture from the so’jhin, the yellow-haired man went running to open the door and kneel holding it open, but there was still all the smoothing and adjusting of clothes that women had to do before they would go anywhere, Seanchan or Altaran or from anywhere else. Though, the red-haired da’covale performed the function for Tuon and Suroth. Mat took the opportunity to draw Tylin a little aside, far enough that he would not be overheard. The so’jhin’s blue eyes kept coming back to him, he realized, but at least Tuon, accepting the attentions of the slender da’covale woman, seemed to have forgotten he existed.
“I didn’t just fall down,” he told Tylin softly. “The gholam tried to kill me not much more than an hour ago. It might be best if I left. That thing wants me, and it’ll kill anybody near me, too.” The plan had just occurred to him, but he thought it had a good chance of success.
Tylin sniffed. “He—it—it cannot have you, piglet.” She directed a look at Tuon that might have made the girl forget about Tylin being a sister had she seen. “And neither can she.” At least she had sense enough to whisper.
“Who is she?” he asked. Well, it had never been more than a chance.
“The High Lady Tuon, and you know as much as I,” Tylin replied, just as quietly. “Suroth jumps when she speaks, and she jumps when Anath speaks, though I would almost swear that Anath is some sort of servant. They are a very peculiar people, sweetling.” Suddenly she flaked some mud from his cheek with one finger. He had not realized he had mud on his face, too. Suddenly, the eagle was strong in her eyes. “Do you recall the pink ribbons, sweetling? When I come back, we’ll see how you look in pink.”
She swanned out of the room with Tuon and Suroth, trailed by Anath and the so’jhin and the da’covale, leaving Mat with the grandmotherly serving woman who began to clean up the wine table. He sank into one of the bamboo carved chairs and rested his head in his hands.
Any other time, those pink ribbons would have had him gibbering. He never should have tried to get his own back with her. Even the gholam did not occupy much of his thoughts. The dice had stopped and . . . What? He had come face-to-face, or near enough, with three people he had not met before, but that could not be it. Maybe it was something to do with Tylin becoming one of the Blood. But always before, when the dice stopped, something had happened to him, personally.
He sat there worrying over it while the serving woman called in others to carry everything away, sat there until Tylin returned. She had not forgotten about the pink ribbons, and that made him forget about anything else for quite a long time.


Copyright © 2012 NetDigital Sweden AB
Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.


--- layout: page title: "About" description: "Hey, this is dumm." header-img: "img/contact-bg.jpg" ---
写写画画、拍拍照片的养猫大叔。


On this tab, configure the types of files and specific code constructs where you want to check grammar.
- String literals:
Check grammar in string literals.
- Comments:
Check grammar in generic line and block comments.
- Documentation:
Check grammar in embedded code documentation, such as JavaDoc comments.
- Commit messages:
Check grammar in commit messages for the configured VCS. If you
enable this, IntelliJ IDEA adds the corresponding inspection tool to the .idea/vcs.xml configuration file.


back to home
Fetcher
Fetcher is a webapp which generates http requests.
try it
here
Webin
HTML, CSS, JavaScript playground.
try it
here
DevTools Font Changer
chrome extension to customize devtools font.
get it
here
PK Sudoku
sudoku puzzle built with react.
play it
here


Using this library you can easily create and sign transactions for Waves blockchain. It also allows you to multi-sign existing transactions or create them without signature at all.
Transactions are created via transaction creating functions. There are 15 of them:
const {
alias, burn, cancelLease, data, exchange,
invokeScript, issue, lease, massTransfer, reissue,
setAssetScript, setScript, sponsorship, transfer, updateAssetInfo
} = require('@waves/waves-transactions')
Example:
const issueTx = issue({
name: 'foo',
description: 'bar',
quantity: 10000,
senderPublicKey: 'GucCLYU7aqzcVUwVXX4nosceDisky9UpbmpFK39tVYom',
chainId: 'T'
})
const burnTx = burn({
assetId: '6toKooURvF3CpRQV8hzhNbHjK3Rb3L9Krd7TFnzcoe8L',
senderPublicKey: 'GucCLYU7aqzcVUwVXX4nosceDisky9UpbmpFK39tVYom',
chainId: 'T'
})
You can provide seed or private key to transaction creating function to sign it. If you do, senderPublicKey can be omitted.
const signedTranfer = transfer({
recipient:'3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
amount: 100000}, 'secret seed phraze'
)
const signedTranferViaPrivateKey = transfer({
recipient:'3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
amount: 100000}, {privateKey: 'GucCLYU7aqzcVUwVXX4nosceDisky9UpbmpFK39tVYom'}
)
Type LONG represents string or number. Strings are allowed since max js int is 2**53
Present in all transactions
interface IBasicParams<LONG = string | number> {
/**
* Transaction fee. If not set, fee will be calculated automatically
*/
fee?: LONG
/**
* If fee is not set, this value will be added to automatically calculated fee. E.x.:
* Account is scripted and 400000 fee more is required.
*/
additionalFee?: number
/**
* If not set, public key will be derived from seed phrase. You should provide senderPublicKey in two cases:
* 1. Account, from which this tx should be sent, differs from tx signer. E.g., we have smart account that requires 2 signatures.
* 2. You to create tx without proof. Therefore no seed is provided.
*/
senderPublicKey?: string
/**
* Transaction timestamp. If not set current timestamp will be used. Date.now()
*/
timestamp?: number
/**
* Network byte. Could be set as number or as char.
* If set as char(string), charCodeAt(0) will be used. E.g.,
* 'W' will be converted to '87'
* If not set, 87 will be used as default
*/
chainId?: string | number
}
export interface IIssueParams<LONG = string | number> extends IBasicParams<LONG> {
name: string
description: string
quantity: LONG
decimals?: number
reissuable?: boolean
script?: string
}
export interface ITransferParams<LONG = string | number> extends IBasicParams<LONG> {
/**
* Can be either address(base58 encoded 24 byte address) or alias.
* Alias should be used like 'alias:{chainId}:{alias}>'. E.g.:
* If we have alias 'foo', and we want TESTNET transaction, recipient should be 'alias:T:foo'
*/
recipient: string
amount: LONG
assetId?: string | null
/**
* Fee can be paid in custom token if sponsorship has been set for this token
*/
feeAssetId?: string | null
/**
* Bytearray encoded as base58 string
*/
attachment?: string | TTypedData
}
export interface IReissueParams<LONG = string | number> extends IBasicParams<LONG> {
assetId: string
quantity: LONG
reissuable: boolean
}
export interface IBurnParams<LONG = string | number> extends IBasicParams<LONG> {
assetId: string
quantity: LONG
}
Exchange transactions are used by DEX mather. If you want to create your own exchange transaction, there is no params. You need to construct it by hand(see interface below, IOrder is described in Order section)
export interface IExchangeTransaction<LONG = string | number> extends ITransaction<LONG> {
type: 7
order1: IOrder
order2: IOrder
price: LONG
amount: LONG
buyMatcherFee: LONG
sellMatcherFee: LONG
}
export interface ILeaseParams<LONG = string | number> extends IBasicParams<LONG> {
recipient: string
amount: LONG
}
export interface ICancelLeaseParams<LONG = string | number> extends IBasicParams<LONG> {
leaseId: string
}
export interface IAliasParams<LONG = string | number> extends IBasicParams<LONG> {
alias: string
}
export interface IMassTransferParams<LONG = string | number> extends IBasicParams<LONG> {
transfers: IMassTransferItem[]
/**
* Bytearray encoded as base string
*/
attachment?: string | TTypedData
assetId?: string | null
}
export interface IMassTransferItem<LONG = string | number> {
recipient: string
amount: LONG
}
export interface IDataParams<LONG = string | number> extends IBasicParams<LONG> {
data: Array<IBooleanData | IIntegerData | IStringData | IBinaryData| TDeleteRequest>
}
export type TDeleteRequest = {
type?: null
value?: null
key: string
}
export interface IBooleanData {
key: string
type: 'boolean'
value: boolean
}
export interface IIntegerData<LONG = string | number> {
key: string
type: 'integer'
value: LONG
}
export interface IStringData {
key: string
type: 'string'
value: string
}
export interface IBinaryData {
key: string
type: 'binary'
value: string
}
export interface ISetScriptParams<LONG = string | number> extends IBasicParams<LONG> {
/**
* Compiled script encoded as base64 string
*/
script: string | null
}
export interface ISponsorshipParams<LONG = string | number> extends IBasicParams<LONG> {
/**
* AssetID of sponsored token
*/
assetId: string
/**
* Minimal fee amount in sponsored asset. To disable sponsorship set it to 0
*/
minSponsoredAssetFee: LONG
}
export interface ISetAssetScriptParams<LONG = string | number> extends IBasicParams<LONG> {
/**
* Compiled script encoded as base64 string
*/
script: string
assetId: string
}
export interface IInvokeScriptParams<LONG = string | number> extends IBasicParams<LONG> {
dApp: string
feeAssetId?: string | null
call?: {
function: string
args?: {
type: 'binary' | 'integer' | 'boolean' | 'string',
value: string | LONG | boolean
}[]
},
payment?: {
assetId?: string | null
amount: LONG
}[]
}
export interface IUpdateAssetInfoParams<LONG = string | number> extends IBasicParams<LONG> {
/**
* Id of previously issued asset
*/
assetId: string
/**
* New asset name
*/
name: string
/**
* New asset description
*/
description: string
}
If you want to create the minimum you need to provide is amount and recipient as defined in Transfer params:
const { transfer } = require('@waves/waves-transactions')
const seed = 'some example seed phrase'
const signedTranserTx = transfer({
amount: 1,
recipient: '3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
//Timestamp is optional but it was overrided, in case timestamp is not provided it will fallback to Date.now(). You can set any oftional params yourself. go check full docs
timestamp:<PHONE_NUMBER>558
}, seed)
// or using alias
const signedTranserTx = transfer({
amount: 1,
recipient: 'alias:W:aliasForMyAddress'
}, seed)
Output will be a signed transfer transaction:
{
id: '8NrUwgKRCMFbUbqXKQAHkGnspmWHEjKUSi5opEC6Havq',
type: 4,
version: 2,
recipient: '3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
attachment: undefined,
feeAssetId: undefined,
assetId: undefined,
amount: 1,
fee: 100000,
senderPublicKey: '6nR7CXVV7Zmt9ew11BsNzSvVmuyM5PF6VPbWHW9BHgPq',
timestamp:<PHONE_NUMBER>558,
proofs: [
'25kyX6HGjS3rkPTJRj5NVH6LLuZe6SzCzFtoJ8GDkojY9U5oPfVrnwBgrCHXZicfsmLthPUjTrfT9TQL2ciYrPGE'
]
}
You can also create transaction, but not sign it:
const unsignedTransferTx = transfer({
amount: 1,
recipient: '3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
//senderPublicKey is required if you omit seed
senderPublicKey: '6nR7CXVV7Zmt9ew11BsNzSvVmuyM5PF6VPbWHW9BHgPq'
})
Now you are able to POST it to Waves API or store for future purpose or you can add another signature from other party:
const otherPartySeed = 'other party seed phrase'
const transferSignedWithTwoParties = transfer(signedTranserTx, seed)
So now there are two proofs:
{
id: '8NrUwgKRCMFbUbqXKQAHkGnspmWHEjKUSi5opEC6Havq',
type: 4,
version: 2,
recipient: '3N4mLCaHq2twRKnbUjdvAHyXjoccQE9KDRE',
attachment: undefined,
feeAssetId: undefined,
assetId: undefined,
amount: 1,
fee: 100000,
senderPublicKey: '6nR7CXVV7Zmt9ew11BsNzSvVmuyM5PF6VPbWHW9BHgPq',
timestamp:<PHONE_NUMBER>558,
proofs: [
'25kyX6HGjS3rkPTJRj5NVH6LLuZe6SzCzFtoJ8GDkojY9U5oPfVrnwBgrCHXZicfsmLthPUjTrfT9TQL2ciYrPGE',
'CM9emPzpe6Ram7ZxcYax6s7Hkw6698wXCMPSckveFAS2Yh9vqJpy1X9nL7p4RKgU3UEa8c9RGXfUK6mFFq4dL9z'
]
}
Order is created the same way as transaction
const { order } = require('@waves/waves-transactions')
const params = {
amount: 100000000, //1 waves
price: 10, //for 0.00000010 BTC
priceAsset: '8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS',
matcherPublicKey: '7kPFrHDiGw1rCm7LPszuECwWYL3dMf6iMifLRDJQZMzy',
orderType: 'buy'
}
const signedOrder = order(params, 'Some seed ')
To send transaction you can use either node REST API or broadcast helper function:
const {broadcast} = require('@waves/waves-transactions');
const nodeUrl = 'https://nodes.wavesplatform.com';
broadcast(signedTx, nodeUrl).then(resp => console.log(resp))
You can send tx to any waves node you like:. E.g.:
This library uses @waves/ts-lib-crypto
for cryptography and @waves/node-api-js
for interacting with node.
You can access them this way:
const libCrypto = require('@waves/waves-transactions').libs.crypto
const libApi = require('@waves/waves-transactions').libs.nodeApiJs
Generated using TypeDoc


Name
HPL_pdpanel_init Initialize the panel resources.
Synopsis
#include "hpl.h"
void
HPL_pdpanel_init(
HPL_T_grid *
GRID
,
HPL_T_palg *
ALGO
,
const int
M
,
const int
N
,
const int
JB
,
HPL_T_pmat *
A
,
const int
IA
,
const int
JA
,
const int
TAG
,
HPL_T_panel *
PANEL
);
Description
HPL_pdpanel_init
initializes a panel data structure.
Arguments
GRID (local input) HPL_T_grid *
On entry, GRID points to the data structure containing the
process grid information.
ALGO (global input) HPL_T_palg *
On entry, ALGO points to the data structure containing the
algorithmic parameters.
M (local input) const int
On entry, M specifies the global number of rows of the panel.
M must be at least zero.
N (local input) const int
On entry, N specifies the global number of columns of the
panel and trailing submatrix. N must be at least zero.
JB (global input) const int
On entry, JB specifies is the number of columns of the panel.
JB must be at least zero.
A (local input/output) HPL_T_pmat *
On entry, A points to the data structure containing the local
array information.
IA (global input) const int
On entry, IA is the global row index identifying the panel
and trailing submatrix. IA must be at least zero.
JA (global input) const int
On entry, JA is the global column index identifying the panel
and trailing submatrix. JA must be at least zero.
TAG (global input) const int
On entry, TAG is the row broadcast message id.
PANEL (local input/output) HPL_T_panel *
On entry, PANEL points to the data structure containing the
panel information.
See Also
HPL_pdpanel_new,
HPL_pdpanel_disp,
HPL_pdpanel_free.


Better Studios Bookmarklet
Drag and drop the link/button below to your bookmarks/favorites bar. If you don't see the bar, press Ctrl+Shift+B (Windows) or Cmd+Shift+B (Mac) to show it.
Changes the background, as well as shrinks/changes some other elements.
Better Studios Pack
Changes the background only.
Better Background
Now go to any studio, and click the bookmark!


Rowe
This page contains an index of all the individuals in the database with the surname of Rowe. Selecting the person’s name will take you to that person’s individual page.
| Given Name | Birth | Death | Partner | Parents |
|---|---|---|---|---|
| Albert Thomas | Reynolds, Alice Ethel | |||
| George Sydney Taylor | ||||
| Hester Vincent | 1852 | 1908 | Harding, William Irish | |
| Robert Clyde | 1905-11-01 | 1991-07-10 | Ashcroft, [Living] | Rowe, George Sydney Taylor |
| Robert Edward Clyde | 1935 | 1935-11-16 | Rowe, Robert Clyde Ashcroft, [Living] | |
| Sydney | Rowe, William Boumphrey, Elizabeth | |||
| William | Boumphrey, Elizabeth | |||
| William, (Mechanical Engineer) | Michell, Carrie Couch | |||
| [Living] | Rowe, William Boumphrey, Elizabeth | |||
| [Living] | Gavin, [Living] | Rowe, Robert Clyde Ashcroft, [Living] | ||
| [Living] | Kennedy, [Living] | Rowe, Robert Clyde Ashcroft, [Living] |


{% extends 'helpers/layout.html' %}
{% import 'helpers/form.html' as form %}
{% from "govuk/components/input/macro.njk" import govukInput %}
{% from "govuk/components/button/macro.njk" import govukButton %}
{% block pageTitle %} Find a Claim {% endblock %}
{% block pageHeader %}
Find a Claim
Claim received {{ makeDateReadable(details.result.claimReceivedDate) }}
No claim found
{% endif %} {% endblock %}


[gecode-users] Propagator for Set Constraint
Amina Kemmar
kemmar.amina at gmail.com
Sat Jan 16 14:57:24 CET 2016
Hi everybody,
I am implementing a propagator over an array of SetView: x[0], x[1],
....x[n]. The propagate function is executed only if a variable is
assigned. For example, if the domain of x[0] is [{} .. {1,2,3,4}], when
x[0] is assigned to {1}, the value "2" and "4" must be deleted from the
domain of x[0] to avoid the enumeration of x[0]={1,2} and x[0]={1,4},
How can I apply this filtering rule?
Thanks for your help.
---
Amina.
More information about the users
mailing list


|
| | Quaternion () |
| | Constructs a Quaternion with all four components being initialized to 0.0f. More...
|
| |
| | Quaternion (float xyzw) |
| | Constructor taking a single float argument that will be copied into all four component values. More...
|
| |
| | Quaternion (float x, float y, float z, float w) |
| | Constructor taking four separate component values to use for the respective coordinate components of this Quaternion. More...
|
| |
| | Quaternion (const Vec2 &xy, const Vec2 &zw) |
| | Constructor that takes two Vec2 arguments and copies their values into the first and second pair of components, respectively. More...
|
| |
| | Quaternion (const Vec2 &xy, float z, float w) |
| | Constructor taking a Vec2 for the x and y-component values, then two separate floats for the z and w-coordinate component values. More...
|
| |
| | Quaternion (float x, const Vec2 &yz, float w) |
| | Constructor taking a single float for the x-coordinate component, followed by a Vec2 for the y and z-coordinate component values, then another floats for the w-coordinate component. More...
|
| |
| | Quaternion (float x, float y, const Vec2 &zw) |
| | Constructor taking two float values for the x and y-coordinate component values, followed by a Vec2 for the z and w-coordinate component values. More...
|
| |
| | Quaternion (const Vec3 &xyz, float w) |
| | Constructor taking a single Vec3 for the x, y, and z-coordinate component values, followed by a single float for the w-coordinate component value. More...
|
| |
| | Quaternion (float x, const Vec3 &yzw) |
| | Constructor taking a single float for the w-coordinate component value, followed by a single Vec3 for the x, y, and z-coordinate component values. More...
|
| |
| | Vec4 () |
| | Constructs a Vec4 with all four components being initialized to 0.0f. More...
|
| |
| | Vec4 (float xyzw) |
| | Constructor taking a single float argument that will be copied into all four component values. More...
|
| |
| | Vec4 (float x, float y, float z, float w) |
| | Constructor taking four separate component values to use for the respective coordinate components of this Vec4. More...
|
| |
| | Vec4 (const Vec2 &xy, const Vec2 &zw) |
| | Constructor that takes two Vec2 arguments and copies their values into the first and second pair of components, respectively. More...
|
| |
| | Vec4 (const Vec2 &xy, float z, float w) |
| | Constructor taking a Vec2 for the x and y-component values, then two separate floats for the z and w-coordinate component values. More...
|
| |
| | Vec4 (float x, const Vec2 &yz, float w) |
| | Constructor taking a single float for the x-coordinate component, followed by a Vec2 for the y and z-coordinate component values, then another floats for the w-coordinate component. More...
|
| |
| | Vec4 (float x, float y, const Vec2 &zw) |
| | Constructor taking two float values for the x and y-coordinate component values, followed by a Vec2 for the z and w-coordinate component values. More...
|
| |
| | Vec4 (const Vec3 &xyz, float w) |
| | Constructor taking a single Vec3 for the x, y, and z-coordinate component values, followed by a single float for the w-coordinate component value. More...
|
| |
| | Vec4 (float x, const Vec3 &yzw) |
| | Constructor taking a single float for the w-coordinate component value, followed by a single Vec3 for the x, y, and z-coordinate component values. More...
|
| |
| | operator Vec2 () const |
| | Explicit cast that converts the given to a Vec2. More...
|
| |
| | operator Vec3 () const |
| | Explicit cast that converts the given to a Vec3. More...
|
| |
| | operator Quaternion () const |
| | Explicit cast that converts the given to a Quaternion. More...
|
| |
|
|
static const Quaternion | IDENT |
| | The identity quaternion.
|
| |
|
static const Vec4 | E0 |
| | The elementary vector with components <1 0 0 0>
|
| |
|
static const Vec4 | E1 |
| | The elementary vector with components <0 1 0 0>
|
| |
|
static const Vec4 | E2 |
| | The elementary vector with components <0 0 1 0>
|
| |
|
static const Vec4 | E3 |
| | The elementary vector with components <0 0 0 1>
|
| |
|
static const Vec4 | E [4] |
| | The array of elementary 4-component vectors.
|
| |
|
static const Vec4 | NEG_E0 |
| | The negative form of the first elementary vector (takes the form <-1 0 0 0>)
|
| |
|
static const Vec4 | NEG_E1 |
| | The negative form of the second elementary vector (takes the form <0 -1 0 0>)
|
| |
|
static const Vec4 | NEG_E2 |
| | The negative form of the third elementary vector (takes the form < 0 0 -1 0>)
|
| |
|
static const Vec4 | NEG_E3 |
| | The negative form of the fourth elementary vector (takes the form <0 0 0 -1>)
|
| |
|
static const Vec4 | NEG_E [4] |
| | The array of negated elementary 4-component vectors.
|
| |
|
static const Vec4 | ONE |
| | The 4-component vector containing the values <1 1 1 1>
|
| |
|
static const Vec4 | NEG_ONE |
| | The 4-component vector containing the values <-1 -1 -1 -1>
|
| |
|
static const Vec4 | ZERO |
| | The 4-component zero vector (takes the form <0 0 0 0>
|
| |
| static const Vec4 | INF |
| | The 4-component vector containing all infinite values. More...
|
| |
|
static const Vec4 | V_PI |
| | <%%\pi \pi \pi \pi%%>
|
| |
|
static const Vec4 | V_2PI |
| | <%%2\pi 2\pi 2\pi 2\pi%%>
|
| |
|
static const Vec4 | V_PI_2 |
| | <%%\frac{\pi}{2} \frac{\pi}{2} \frac{\pi}{2} \frac{\pi}{2}%%>
|
| |
|
static const Vec4 | V_3PI_4 |
| | <%%\frac{3\pi}{4} \frac{3\pi}{4} \frac{3\pi}{4} \frac{3\pi}{4}%%>
|
| |
|
static const Vec4 | V_4PI_3 |
| | <%%\frac{4\pi}{3} \frac{4\pi}{3} \frac{4\pi}{3} \frac{4\pi}{3}%%>
|
| |
|
static const Vec4 | V_3PI_2 |
| | <%%\frac{3\pi}{2} \frac{3\pi}{2} \frac{3\pi}{2} \frac{3\pi}{2}%%>
|
| |
|
(Note that these are not member functions.)
|
|
| Quaternion | QuaternionNormalize (const Quaternion &quat) |
| | Normalize the given quaternion. More...
|
| |
| Quaternion | QuaternionMultiply (const Quaternion &q0, const Quaternion &q1) |
| | Multiply the two given Quaternions. More...
|
| |
| Quaternion | QuaternionLerp (const Quaternion &qStart, const Quaternion &qEnd, float t) |
| | Linearly interpolate the given quaternions for time t. More...
|
| |
| Quaternion | QuaternionFromAxisAngle (const Vec3 &axisVec, float angle) |
| | Produces a quaternion representation of the given axis-angle rotation. More...
|
| |
| Quaternion | QuaternionFromEuler (const Vec3 &angles) |
| | Converts the given euler angles to a quaternion. More...
|
| |
| Vec4 | Vec4Add (const Vec4 &first, const Vec4 &second) |
| | Add the two given Vec4s. More...
|
| |
| Vec4 | Vec4Sub (const Vec4 &first, const Vec4 &second) |
| | Subtract the two given Vec4s. More...
|
| |
| float | Vec4Dot (const Vec4 &first, const Vec4 &second) |
| | Vec4 dot product. More...
|
| |
| Vec4 | Vec4MulScalar (const Vec4 &vec, float factor) |
| | Multiply the components of the given Vec4 by the given scalar. More...
|
| |
| Vec4 | Vec4DivScalar (const Vec4 &vec, float divisor) |
| | Divide the components of the given Vec4 by the given scalar. More...
|
| |
| Vec4 | Vec4Normalize (const Vec4 &vec) |
| | Normalize the given Vec4. More...
|
| |
| Vec4 | Vec4Negate (const Vec4 &vec) |
| | Negate the given Vec4 components. More...
|
| |
| template<FloatPrecision precision = FloatPrecision::HIGH> |
| bool | Vec4ApproxEqual (const Vec4 &first, const Vec4 &second) |
| | Determines whether the two Vec4s are approximately equal, based on the given Precision template argument (defaults to HIGH precision). More...
|
| |
| bool | Vec4HasNaN (const Vec4 &vec) |
| | Vector 2 has a NaN component value. More...
|
| |
| bool | Vec4HasInfinite (const Vec4 &vec) |
| | Determines whether or not the given Vec4 has an infinite value component. More...
|
| |


{% extends 'layout.html' %} {% load static %} {% block head %}{% endblock head %} {% block content %}
{% endfor %}Are you sure you want to leave the ladder: {{ ladder.name }}?
{% if challenges %}CHALLENGES: You have {{ challenges }} open or pending challenges on this ladder. Show Challenges
You have an open match on this ladder! Show Matches
{% endif %}Leaving this ladder CANNOT BE UNDONE and everyone ranked below you will be moved up a rank.


C++ | AI | AAA | Internship
Tom Clancy's The Division 2: Warlords of New York, is my first release in a professional environment (Internship at Massive Entertainment). The game was released the 3rd of March 2020, as an expansion to the existing game, The Division 2.
Tom Clancy's The Division 2 is a shooter RPG with campaign, co-op, and PvP modes that offers more variety in missions and challenges, new progression systems with unique twists and surprises, and fresh innovations that offer new ways to play (Source).
I was part of the NPC team, with main responsibility over the AI characters that the players would play against in the game. During my internship, I worked on multiple things, from features to bugs. Below, I have listed the main tasks that I worked on.


{% extends "matches.html" %}
{% set found_header_value = "All upcoming matches" %}
{% block page_name %}{{ found_header_value|title }}{% endblock page_name %}
{% block found_header %}{{ found_header_value }}{% endblock found_header %}
{% block missing_header %}No upcoming matches found :({% endblock missing_header %}


--- layout: post title: ! 'C# Preprocessor #if directive' date: 2008-10-13 18:57:31.000000000 +02:00 categories: [] tags: - ! '#if' - C# - preprocessor - Visual Studio status: publish type: post published: true meta: {} author: login: admin email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
I only discovered lately that C# compiler had a preprocessor directives. The only one I knew was the #region and #endregion, which is only used for aesthetical reasons in Visual Studio.
The one that I was particularly interested in was the #if and #endif. When the compiler encounters a #if [symbol] statement (followed eventually by an #endif statement), the compiler will compile the surrounded code only if the symbol is defined.
Let's take a small command line example:
using System; using System.Collections.Generic; using System.Text; namespace PreprocessorTest { class Program { static void Main(string[] args) { Console.WriteLine("Hello,"); #if DEBUG Console.WriteLine("This is a debug line"); #endif Console.WriteLine("Goodbye."); Console.ReadLine(); } } }
This code, when ran, will only execute the second Console.WriteLine statement only if the DEBUG symbol is defined.
For obvious reasons, this is very useful. You can include debug code in the application and let the compiler sort what has to be included when you compile. This leads us to an important point: how is a symbol defined?
There are two ways to define a symbol:
One last thing that is quite interesting. Visual Studio automatically defines DEBUG and TRACE symbols in Debug configuration, while it only defines TRACE symbol in Release configuration. This can, however, be changed by going in the project properties page, in the Debug section:
So, by default, using the DEBUG symbol means that the surrounded code will be compiled in Debug mode, but ignored in Release mode.


The Template is an outline for a generic 120-page screenplay. Replace each {variable} with your own ideas to create your own hero's journey.
The template is partitioned into acts, measures, and beats:
- A beat is a sequence of scenes. Each beat reveals information relevant to the story's core conflict.
- A measure is a sequence of beats. Each measure changes the hero's relationship to the story's otherworld.
- An act is a sequence of measures. Each act changes the hero's relationship to his/her/their homeworld.
See the FAQ below for more details.
Act I: Enter the unknown.
- 1 OPEN FRAME
- Reveal the {mise-en-scène}.
- Reveal the {starting_time}.
- Reveal a {banality} which demonstrates the {status_quo}.
- 5 SET PINS
- An {anomaly} reveals a hint of the {core_conflict}.
- 10 RELEASE HERO
- A {caller} induces the {hero} to visit an {otherworld}.
- Hero departs from the familiar {homeworld}.
- 12 LET IT SLIDE
- Hero touches an {otherworldly_person_or_thing}.
- Hero commits a {boundary_violation} with no consequences.
- Hero is unaffacted by meeting {various_otherworlders}.
- Hero is lectured by an {authority} in an {authority_room}.
- 25 ROLL ON RUG
- A {rude_awakening} compels hero to change course.
- Hero undergoes {visible_adaptation} to the otherworld.
- Hero suffers a {traumatic_separation} from the homeworld.
Act II: Return to the known.
- 30 FALL INTO PIT
- Hero is trapped in a {desolate_place}.
- Hero recovers from a {debilitating_setback}.
- 40 LOOK UNDER HOOD
- Hero is advised by a {prophet} in a {temple_of_truth}.
- 50 GAZE INTO VOID
- Hero witnesses a {scary_reminder} of the cost of failure.
- 55 LIFT AND DROP
- Hero is encouraged by a {false_hope}.
- Hero is discouraged by a {demoralizing_defeat}.
- 60 ENTER TUNNEL
- Hero is invited to an {exposition_diversion}.
- Hero endures several {inglorious_frustrations}.
- 75 TALK TO SOURCE
- Hero speaks to a {higher_power} of the otherworld.
- 85 ARREST HERO
- Hero's path is blocked by a {powerful_authority}.
- Hero's journey appears doomed by a {failure_to_notice}.
Act III: Finish the job.
- 90 ENLIGHTEN HERO
- Hero discovers a {solution} to the core conflict.
- 100 ROLL AGAIN
- Hero attends a {showdown} with a {scary_antagonist}.
- 110 RETURN AGAIN
- Hero reunites with {surviving_allies}.
- Hero adapts to a {new_order} replacing the status quo.
- 120 UPDATE SCORE
- A {novelty} echoes the initial banality.
Frequently Asked Questions
- Who put you in charge?
- Nobody. The authors do not enforce any of these rules.
- Can beats occur off-screen?
- Yes, if they are unambiguously implied by on-screen events.
- What if my story has multiple heroes?
- Any of the protagonists can play the role of hero during a beat.
- Are these beats the only significant events in a film?
- No. The template beats are necessary but not sufficient to write a conventional monomythic screenplay.
- Is that all?
- Ay all.