Former German President’s Son Stabbed To Death
by Enioluwa AdeniyiThe son of former German president, Richard Von Weizsaecker has been stabbed to death by an assailant in an attack at a Berlin hospital that left one other person seriously injured.
The police noted that the motive for the attack on Fritz von Weizsaecker, 59, on Tuesday evening was unclear.
A police spokesman noted that the victim, who happens to be a doctor had just delivered a lecture on liver diseases at the Schlosspark hospital in the western Berlin neighbourhood of Charlottenburg when the incident happened.
A further report had it that the former German president’s son died at the scene despite efforts to save him.
Other people present overpowered the suspect, one of whom was severely injured by the attacker.
Investigation have been opened on the case and the police are expected to release information about the assailant and the possible motive.
Chief of the liberal FDP party, Christian Lindner, voiced his grief about his friend on Twitter, saying that “once again we ask ourselves what sort of world are we living in.”
He was married with four children.
His father, Richard von Weizsaecker, was considered one of Germany’s great post-war political figures.
The elder Weizsaecker was president of West Germany from 1984 to 1990 and then held the same position in united Germany from 1990 to 1994.
He was previously a deputy in the lower house of parliament for the CDU now led by Chancellor Angela Merkel, and mayor of West Berlin.
He died in 2015.


At the time of writing this will work only in Google's
Chrome
browser. Chrome may block SysEx access if you run this from a website, in which case download the html file locally and run it from there.
Take Screenshot
Send to MIDI port:
Listen on MIDI port:


◄ Israel ►
Individual results
| Year | Contestant | Rank | Award |
|---|---|---|---|
| 2023 | Ido Ram | 39 | Silver Medal |
| 2023 | Matan Weinman | 61 | Silver Medal |
| 2023 | Doron Walach | 66 | Silver Medal |
| 2023 | Omri Nitzan | 81 | Silver Medal |
| 2023 | Inbar Wald | 100 | Silver Medal |
| 2022 | Revital Wallach | 28 | Gold Medal |
| 2022 | Yakov Fridman | 73 | Silver Medal |
| 2022 | Nadav Ron - Brandwein | 106 | Silver Medal |
| 2022 | Noam Lahiani | 132 | Bronze Medal |
| 2022 | Ron Levi | 155 | Bronze Medal |
| 2021 | Lior Bar Hillel | 54 | Silver Medal |
| 2021 | Tamir Shpiro | 55 | Silver Medal |
| 2021 | Sean Tcherniaev | 93 | Silver Medal |
| 2021 | Dolev Ronen | 94 | Silver Medal |
| 2021 | Reut Shifra Goldberg | 145 | Bronze Medal |
| 2019 | Aviv Tillinger | 19 | Gold Medal |
| 2019 | Eyal Shlomo Walach | 20 | Gold Medal |
| 2019 | Omri Reved | 45 | Silver Medal |
| 2019 | Eran Mann | 59 | Silver Medal |
| 2019 | Yonatan Hassoun | 121 | Bronze Medal |
| 2018 | Jonatan Hadas | 18 | Gold Medal |
| 2018 | Eyal Shlomo Walach | 31 | Gold Medal |
| 2018 | Aviv Tillinger | 52 | Silver Medal |
| 2018 | Omri Reved | 89 | Silver Medal |
| 2018 | Alon Sarel | 96 | Silver Medal |
| 2017 | Jonatan Hadas | ≥1 | Gold Medal |
| 2017 | Dana Zeidman | ≥65 | Silver Medal |
| 2017 | Gil Shmuel Ronen | ≥65 | Silver Medal |
| 2017 | Nitzan Shapira | ≥65 | Silver Medal |
| 2017 | Yanai Bittmann | ≥65 | Silver Medal |
| 2016 | Omry Cohen | 63 | Silver Medal |
| 2016 | Iddo Friedman | 68 | Silver Medal |
| 2016 | Chen Dan Mechel | 101 | Silver Medal |
| 2016 | Nir Yosef May | 131 | Bronze Medal |
| 2016 | Nitzan Shapira | 221 | Honourable Mention |
| 2015 | Tom Segal | 78 | Silver Medal |
| 2015 | Nir Jacob Yaron | 79 | Silver Medal |
| 2015 | Shaked Rosenstein | 96 | Silver Medal |
| 2015 | Morane Shapira | 105 | Bronze Medal |
| 2015 | Ilan Mitnikov | 170 | Bronze Medal |
| 2014 | Guy Segall | 33 | Gold Medal |
| 2014 | Ronny Frumkin | 57 | Silver Medal |
| 2014 | Re'i Henigman | 65 | Silver Medal |
| 2014 | Elisha Modelevsky | 90 | Silver Medal |
| 2014 | Yonatan Moshe Aharoni | 108 | Silver Medal |
| 2013 | Dan Karliner | 38 | Gold Medal |
| 2013 | Ofer Moshe Kopelevitch | 50 | Silver Medal |
| 2013 | Guy Segall | 77 | Silver Medal |
| 2013 | Gil Ad Kishony | 103 | Silver Medal |
| 2013 | Jacoby Shoham Joshoa | 141 | Bronze Medal |
| 2012 | Itay Knaan Harpaz | 73 | Silver Medal |
| 2012 | Ittai Rubinstein | 97 | Silver Medal |
| 2012 | Chen Solomon | 128 | Bronze Medal |
| 2012 | Yigal Zegelman | 146 | Bronze Medal |
| 2012 | Eden Segal | 164 | Bronze Medal |
| 2011 | Gal Dor | 16 | Gold Medal |
| 2011 | Asaf Rosen | 52 | Gold Medal |
| 2011 | Ben Akiva Feinstein | 74 | Silver Medal |
| 2011 | Gur Perri | 96 | Silver Medal |
| 2011 | Aviv Frenke | 137 | Bronze Medal |
| 2010 | Navot Silberstein | 73 | Silver Medal |
| 2010 | Geva Sheinvald | 79 | Silver Medal |
| 2010 | Anatoli Tsinovoy | 86 | Silver Medal |
| 2010 | Bar Alon | 97 | Silver Medal |
| 2010 | Amir Raz | 128 | Bronze Medal |
| 2009 | Itamar Hason | 15 | Gold Medal |
| 2009 | Oded Zewi | 87 | Silver Medal |
| 2009 | Michael Puzevsky | 120 | Bronze Medal |
| 2009 | Shachar Carmeli | 132 | Bronze Medal |
| 2009 | Geva Sheinvald | 162 | Bronze Medal |
| 2008 | Nitzan Artzy | 85 | Silver Medal |
| 2008 | Gilad Weiss | 99 | Bronze Medal |
| 2008 | Shachar Or | 102 | Bronze Medal |
| 2008 | Yaniv Sadeh | 119 | Bronze Medal |
| 2008 | Oleg Milshtein | 196 | Honourable Mention |
| 2006 | Leonid Pogorelyuk | 51 | Silver Medal |
| 2006 | Itshac Batkilin | 80 | Silver Medal |
| 2006 | Gal Hochberg | 123 | Bronze Medal |
| 2006 | Amir Shayari | 137 | Bronze Medal |
| 2006 | Erez Timnat | 212 | Honourable Mention |
| 2005 | Michael Shalyt | 87 | Bronze Medal |
| 2005 | Sivan Ginzburg | 88 | Bronze Medal |
| 2005 | Leonid Pogorelyuk | 104 | Bronze Medal |
| 2005 | Almong Yalinewitz | 138 | Honourable Mention |
| 2005 | Valery Belayev | 169 | Honourable Mention |
| 2004 | Dmitry Faifman | ≥32 | Silver Medal |
| 2004 | Ilya Gringlaz | ≥32 | Silver Medal |
| 2004 | Vasili Galka | ≥67 | Bronze Medal |
| 2004 | Yair Carmon | ≥67 | Bronze Medal |
| 2004 | Avraham Aminov | ≥135 | Honourable Mention |
| 2003 | Yaakov Neumann | 35 | Silver Medal |
| 2003 | Ilya Gurwich | 81 | Bronze Medal |
| 2003 | Dmitry Faifman | 107 | Honourable Mention |
| 2003 | Ruslan Berdichevsky | 142 | Honourable Mention |
| 2003 | Veronika Ulychny | 146 | Honourable Mention |
| 2001 | Noam Raphael | 75 | Bronze Medal |
| 2001 | Michael Khanevsky | 138 | Honourable Mention |
| 2001 | Oded Tsur | 149 | Honourable Mention |
| 2000 | Artyom Tonkikh | 59 | Bronze Medal |
| 2000 | Raikhlin Vladimir | 111 | Honourable Mention |
| 2000 | Amitai Zernik | 124 | Honourable Mention |
| 1999 | Ariel Amir | 30 | Gold Medal |
| 1999 | Roy Harpaz | 114 | Bronze Medal |
| 1999 | Amitai Zernik | 141 | Bronze Medal |
| 1999 | Eyal Hitron | 144 | Bronze Medal |
| 1999 | Gil Litichever | 158 | Honourable Mention |
| 1998 | Noor Elad | 53 | Bronze Medal |
| 1998 | Ariel Amir | 68 | Bronze Medal |
| 1998 | Bunin Guy | 105 | Honourable Mention |
| 1998 | Mark Koudritsky | 106 | Honourable Mention |
| 1997 | Ron Livneh | 34 | Silver Medal |
| 1997 | Andrey Klinger | 101 | Bronze Medal |
| 1997 | Mark Koudritsky | 119 | Honourable Mention |
| 1997 | Evgeni Begelfor | 122 | Honourable Mention |
| 1996 | Boaz Katz | 72 | Bronze Medal |
| 1996 | Guy Bensky | 107 | Honourable Mention |
| 1996 | Pavel Radzivilovsky | 113 | Honourable Mention |
| 1995 | Dimitry Levinson | 39 | Silver Medal |
| 1995 | Erez Berg | 50 | Silver Medal |
| 1995 | Guy Bensky | 80 | Bronze Medal |
| 1995 | Jonathan Devor | 89 | Bronze Medal |
| 1995 | Yossi Farjoun | 102 | Honourable Mention |
| 1994 | Refael Gil | 14 | Bronze Medal |
| 1994 | Zlotnik Vadim | 46 | Honourable Mention |
| 1994 | Budnik Ran | 60 | Honourable Mention |
| 1994 | Bshara Nafe'a | 64 | Honourable Mention |
Results may be incomplete or incorrect.
Please send the relevant information to the webmaster:
<EMAIL_ADDRESS>If you are a participant you can send a personal page URL to be attached to your name.
If you are a participant you can send a personal page URL to be attached to your name.


--- layout: post title: "Real-world" programming published: 1 category: - Programming ---
It's all real-world programming.


Building a Tic Tac Toe game
30 Dec 2016In the past two weeks, I have been working on a Tic Tac Toe game for Free Code Camp. This one took a couple of sittings as it required me to learn quite a few things. I chose to use React for the project as it is something that I’ve been meaning to learn for the longest time and had some momentum coming in after finishing my Pomodoro Clock in React.
The user stories for the project were simple:
- I can play a game of Tic Tac Toe with the computer.
- My game will reset as soon as it’s over so I can play again.
- I can choose whether I want to play as X or O.
Not too bad, have a choice between X or O, create an AI and reset when the game ends.
Starting out
The first thing I did was prototype the user interface, which was just a grid. After this, I soon found that I had put together a huge component and didn’t know how to break it up. Also, if I had kept that grid component, each square would need to have an onClick
handle attached to it to display X or O on that square. So soon and things were already starting to look ugly. I needed to break down this HTML. Luckily, I happened to come across the tutorial on React’s main site, which was a Tic-Tac-Toe game.
Going through the tutorial
This tutorial was a lot of fun, I highly recommend it. I found the main thing that I needed, which was to break the components apart. They did this by creating several components such as a Game, a Board and a Square.  This means the parent component contains the data and passes a function down to the child for it to modify this data. This was the only thing I needed, but there were other goodies in the tutorial, such as creating a history of all the moves and being able to move back and start playing from there.
After finishing the tutorial, there were additional features that you could implement if you wanted to test your knowledge. Since I wanted to learn, I did them.
See the Pen Tic Tac Toe new features by Daniel Chia (@danielcodes) on CodePen.
The most noticeable additions are, bolding the current move, the button to sort the moves and highlighting the winning line.
Back to my prototype
Armed with this new knowledge, I proceeded to add these separated components to my own game. At this point, I thought that I was ready to start looking into creating the AI to play the game.
Thinking about the AI
The first idea that came to mind to create this AI, was to have the computer capture the center or corner on its first move. From here, look for threats which is when the opposite player has two pieces lined up. A couple of limitations with this approach:
Here, there's no threat right away, but if it play its move on either of the T spots, it is going to lose.
|T|O
-----
|X|T
-----
X| |
This is when I realized that I couldn’t really come up with a few simple checks to solve this problem. After some research, I found that there was an algorithm that I could specifically use for these kind of turn taking games, Minimax.
Minimax
I got to understand this algorithm from two main sources:
The article explains in depth how Minimax works, and the second is a video that actually implements the algorithm, done in C++
.
Back to my project
However, even though I understood the concept, I had a bit of trouble getting started on writing the algorithm. The main roadblock was that I needed to extend my two player version to one where I played against the computer.  Now, the goal was clear, I just needed to update this one function so it used Minimax to pick the best move instead of the dumb AI.
Understanding Minimax
Essentially, Minimax is a brute-force algorithm that explores every possible option. It does this by playing out all scenarios and giving each square a score. The score can be of 3 kinds, positive for a win, 0 for a draw and negative for a loss. At the end, you pick the highest score and play that move.
I won’t go into much detail as to how the recursion works, as the two sources above can do a much better job at explaining.
But, I do want to mention a small optimization that I made to the algorithm. Since Minimax is a brute force algorithm, it is really slow. When I first wrote the function, it took a good 30 seconds to finish computing on an empty board, and this was running locally on node. No doubt this was gonna crash my browser.

If the computer runs the algorithm from the beginning, it first has 9 options and each one of these expand into a tree that each have 8 options each, subsequently these 8 nodes each expand into 7 trees of their own. Try to draw it, to get a feel for the sheer magnitude of the tree.
First move doesn’t help
Running the algorithm on an empty board returns a score of 0 for each of the squares.
| | | |X | |X
----- ----- -----
| | | | |O|
----- ----- -----
| | | | | |
Say the AI plays a corner, it then runs the algorithm and finds that the center is the only safe move so it plays that and eventually brings the game to a draw. It does this for each of the other 9 squares. No matter where the first move is placed, the second player can always tie the game. Thus, the zero scores for all 9 squares.
Optimizing Minimax
As explained, the first computation is completely unnecessary as there’s no go-to move that will guarantee a win and as explained it is very expensive. And so to save some computation time, I optimized for the first and second move, if the AI has the first move, it either plays it in one of the corners or the center. Given the first move, you can actually play anywhere and tie all the time but if you play a corner or the center and the opponent (you) goof up, you’ll end up losing. As for the second move, I made it so that it captures either the center or a corner if the center is taken since these two spots will prevent the other from winning.
Getting the first or second move fast makes the tree start from the node with 7 options. Thankfully, the browser seemed to be able to handle this computation just fine.
Putting it all together
After creating this function, I just had to add it to my component. This was easy enough to do.
See the Pen Tic Tac Toe by Daniel Chia (@danielcodes) on CodePen.
This was the end result, now the final step was to style it up.
Final touches
Phew, most of the logic had been wrapped up at this point, now the task was to make it appealing to users. Right from the get-go I thought of using a modal to first prompt the user for input, select an icon (X or O) and who goes first. Then, start the game and reset back to the modal when the game finished.
But I had no idea how to implement this modal. Thankfully, I found this tutorial, that had just what I needed. After adding some color, and rewiring things here and there, this was the end result.
See the Pen Tic Tac Toe by Daniel Chia (@danielcodes) on CodePen.
Conclusion
It was a fun project overall. It definitely tested my patience, from not knowing how to break down the big grid, having to learn about a new algorithm and creating the user interface. It was a great reminder that projects take time and that small victories count as the final product is always worth seeing.
And that’s a wrap :)
PS. Since this was done in a CodePen, I ended up with 400 lines of JS. Time to move this locally and give the project some structure.


Choose the desired background of your therapist
Gender
Title
Licensed therapists commonly hold a master's degree and have completed two years of supervised practice to obtain a clinical license.
They may use a variety of therapeutic techniques, including psychodynamic therapy or cognitive-behavioral therapy.
Associate therapists commonly hold a master's degree and are currently pursuing supervised practice to obtain a clinical license.
Psychologists with a PhD earned their degree in four to seven years, and are fully trained in the assessment and treatment of all behavioral conditions.
Years in practice
Languages


'use strict';
const _ = require('lodash');
// We've supplemented `Events` with a `triggerThen` method to allow for
// asynchronous event handling via promises. We also mix this into the
// prototypes of the main objects in the library.
const Events = require('./base/events');
// All core modules required for the bookshelf instance.
const BookshelfModel = require('./model');
const BookshelfCollection = require('./collection');
const BookshelfRelation = require('./relation');
const errors = require('./errors');
function preventOverwrite(store, name) {
if (store[name]) throw new Error(`${name} is already defined in the registry`);
}
/**
* @class
* @classdesc
*
* The Bookshelf library is initialized by passing an initialized Knex client
* instance. The knex documentation provides a number of examples for different
* databases.
*
* @constructor
* @param {Knex} knex Knex instance.
*/
function Bookshelf(knex) {
if (!knex || knex.name !== 'knex') {
throw new Error('Invalid knex instance');
}
function resolveModel(input) {
if (typeof input !== 'string') return input;
return (
bookshelf.collection(input) ||
bookshelf.model(input) ||
(function() {
throw new errors.ModelNotResolvedError(`The model ${input} could not be resolved from the registry.`);
})()
);
}
/** @lends Bookshelf.prototype */
const bookshelf = {
registry: {
collections: {},
models: {}
},
VERSION: require('../package.json').version,
collection(name, Collection, staticProperties) {
if (Collection) {
preventOverwrite(this.registry.collections, name);
if (_.isPlainObject(Collection)) {
Collection = this.Collection.extend(Collection, staticProperties);
}
this.registry.collections[name] = Collection;
}
return this.registry.collections[name] || bookshelf.resolve(name);
},
/**
* Registers a model. Omit the second argument `Model` to return a previously registered model that matches the
* provided name.
*
* Note that when registering a model with this method it will also be available to all relation methods, allowing
* you to use a string name in that case. See the calls to `hasMany()` in the examples above.
*
* @example
* // Defining and registering a model
* module.exports = bookshelf.model('Customer', {
* tableName: 'customers',
* orders() {
* return this.hasMany('Order')
* }
* })
*
* // Retrieving a previously registered model
* const Customer = bookshelf.model('Customer')
*
* // Registering already defined models
* // file: customer.js
* const Customer = bookshelf.Model.extend({
* tableName: 'customers',
* orders() {
* return this.hasMany('Order')
* }
* })
* module.exports = bookshelf.model('Customer', Customer)
*
* // file: order.js
* const Order = bookshelf.Model.extend({
* tableName: 'orders',
* customer() {
* return this.belongsTo('Customer')
* }
* })
* module.exports = bookshelf.model('Order', Order)
*
* @param {string} name
* The name to save the model as, or the name of the model to retrieve if no further arguments are passed to this
* method.
* @param {Model|Object} [Model]
* The model to register. If a plain object is passed it will be converted to a {@link Model}. See example above.
* @param {Object} [staticProperties]
* If a plain object is passed as second argument, this can be used to specify additional static properties and
* methods for the new model that is created.
* @return {Model} The registered model.
*/
model(name, Model, staticProperties) {
if (Model) {
preventOverwrite(this.registry.models, name);
if (_.isPlainObject(Model)) Model = this.Model.extend(Model, staticProperties);
this.registry.models[name] = Model;
}
return this.registry.models[name] || bookshelf.resolve(name);
},
/**
* Override this in your bookshelf instance to define a custom function that will resolve the location of a model or
* collection when using the {@link Bookshelf#model} method or when passing a string with a model name in any of the
* collection methods (e.g. {@link Model#hasOne}, {@link Model#hasMany}, etc.).
*
* This will only be used if the specified name cannot be found in the registry. Note that this function
* can return anything you'd like, so it's not restricted in functionality.
*
* @example
* const Customer = bookshelf.model('Customer', {
* tableName: 'customers'
* })
*
* bookshelf.resolve = (name) => {
* if (name === 'SpecialCustomer') return Customer;
* }
*
* @param {string} name The model name to resolve.
* @return {*} The return value will depend on what your re-implementation of this function does.
*/
resolve(name) {}
};
const Model = (bookshelf.Model = BookshelfModel.extend(
{
_builder: builderFn,
// The `Model` constructor is referenced as a property on the `Bookshelf` instance, mixing in the correct
// `builder` method, as well as the `relation` method, passing in the correct `Model` & `Collection`
// constructors for later reference.
_relation(type, Target, options) {
Target = resolveModel(Target);
if (type !== 'morphTo' && !_.isFunction(Target)) {
throw new Error(
'A valid target model must be defined for the ' + _.result(this, 'tableName') + ' ' + type + ' relation'
);
}
return new Relation(type, Target, options);
},
morphTo(relationName, ...args) {
let candidates = args;
let columnNames = null;
if (Array.isArray(args[0]) || args[0] === null || args[0] === undefined) {
candidates = args.slice(1);
columnNames = args[0];
}
if (Array.isArray(columnNames)) {
// Try to use the columnNames as target instead
try {
columnNames[0] = resolveModel(columnNames[0]);
} catch (error) {
// If it did not work, they were real columnNames
if (error instanceof errors.ModelNotResolvedError) throw error;
}
}
const models = candidates.map((candidate) => {
if (!Array.isArray(candidate)) return resolveModel(candidate);
const model = candidate[0];
const morphValue = candidate[1];
return [resolveModel(model), morphValue];
});
return BookshelfModel.prototype.morphTo.apply(this, [relationName, columnNames].concat(models));
},
through(Source, ...rest) {
return BookshelfModel.prototype.through.apply(this, [resolveModel(Source), ...rest]);
}
},
{
/**
* @method Model.forge
* @description
*
* A simple helper function to instantiate a new Model without needing `new`.
*
* @param {Object=} attributes Initial values for this model's attributes.
* @param {Object=} options Hash of options.
* @param {string=} options.tableName Initial value for {@linkcode Model#tableName tableName}.
* @param {Boolean=} [options.hasTimestamps=false]
*
* Initial value for {@linkcode Model#hasTimestamps hasTimestamps}.
*
* @param {Boolean} [options.parse=false]
*
* Convert attributes by {@linkcode Model#parse parse} before being
* {@linkcode Model#set set} on the `model`.
*/
forge: function forge(attributes, options) {
return new this(attributes, options);
},
/**
* A simple static helper to instantiate a new {@link Collection}, setting the model it's
* called on as the collection's target model.
*
* @example
* Customer.collection().fetch().then((customers) => {
* // ...
* })
*
* @method Model.collection
* @param {Model[]} [models] Any models to be added to the collection.
* @param {Object} [options] Additional options to pass to the {@link Collection} constructor.
* @param {string|function} [options.comparator]
* If specified this is used to sort the collection. It can be a string representing the
* model attribute to sort by, or a custom function. Check the documentation for {@link
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
* Array.prototype.sort} for more info on how to use a custom comparator function. If this
* options is not specified the collection sort order depends on what the database returns.
* @returns {Collection}
* The newly created collection. It will be empty unless any models were passed as the first
* argument.
*/
collection(models, options) {
return new bookshelf.Collection(models || [], _.extend({}, options, {model: this}));
},
/**
* Shortcut to a model's `count` method so you don't need to instantiate a new model to count
* the number of records.
*
* @example
* Duck.count().then((count) => {
* console.log('number of ducks', count)
* })
*
* @method Model.count
* @since 0.8.2
* @see Model#count
* @param {string} [column='*']
* Specify a column to count. Rows with `null` values in this column will be excluded.
* @param {Object} [options] Hash of options.
* @param {boolean} [options.debug=false]
* Whether to enable debugging mode or not. When enabled will show information about the
* queries being run.
* @returns {Promise<number|string>}
*/
count(column, options) {
return this.forge().count(column, options);
},
/**
* @method Model.fetchAll
* @description
*
* Simple helper function for retrieving all instances of the given model.
*
* @see Model#fetchAll
* @returns {Promise<Collection>}
*/
fetchAll(options) {
return this.forge().fetchAll(options);
}
}
));
const Collection = (bookshelf.Collection = BookshelfCollection.extend(
{
_builder: builderFn,
through(Source, ...args) {
return BookshelfCollection.prototype.through.apply(this, [resolveModel(Source), ...args]);
}
},
{
/**
* @method Collection.forge
* @description
*
* A simple helper function to instantiate a new Collection without needing
* new.
*
* @param {(Object[]|Model[])=} [models]
* Set of models (or attribute hashes) with which to initialize the
* collection.
* @param {Object} options Hash of options.
*
* @example
*
* var Promise = require('bluebird');
* var Accounts = bookshelf.Collection.extend({
* model: Account
* });
*
* var accounts = Accounts.forge([
* {name: 'Person1'},
* {name: 'Person2'}
* ]);
*
* Promise.all(accounts.invokeMap('save')).then(function() {
* // collection models should now be saved...
* });
*/
forge: function forge(models, options) {
return new this(models, options);
}
}
));
// The collection also references the correct `Model`, specified above, for
// creating new `Model` instances in the collection.
Collection.prototype.model = Model;
Model.prototype.Collection = Collection;
const Relation = BookshelfRelation.extend({Model, Collection});
// A `Bookshelf` instance may be used as a top-level pub-sub bus, as it mixes
// in the `Events` object. It also contains the version number, and a
// `Transaction` method referencing the correct version of `knex` passed into
// the object.
_.extend(bookshelf, Events, errors, {
/**
* An alias to `{@link http://knexjs.org/#Transactions Knex#transaction}`. The `transaction`
* object must be passed along in the options of any relevant Bookshelf calls, to ensure all
* queries are on the same connection. The entire transaction block is wrapped around a Promise
* that will commit the transaction if it resolves successfully, or roll it back if the Promise
* is rejected.
*
* Note that there is no need to explicitly call `transaction.commit()` or
* `transaction.rollback()` since the entire transaction will be committed if there are no
* errors inside the transaction block.
*
* When fetching inside a transaction it's possible to specify a row-level lock by passing the
* wanted lock type in the `lock` option to {@linkcode Model#fetch fetch}. Available options are
* `lock: 'forUpdate'` and `lock: 'forShare'`.
*
* @example
* var Promise = require('bluebird')
*
* Bookshelf.transaction((t) => {
* return new Library({name: 'Old Books'})
* .save(null, {transacting: t})
* .tap(function(model) {
* return Promise.map([
* {title: 'Canterbury Tales'},
* {title: 'Moby Dick'},
* {title: 'Hamlet'}
* ], (info) => {
* return new Book(info).save({'shelf_id': model.id}, {transacting: t})
* })
* })
* }).then((library) => {
* console.log(library.related('books').pluck('title'))
* }).catch((err) => {
* console.error(err)
* })
*
* @method Bookshelf#transaction
* @param {Bookshelf~transactionCallback} transactionCallback
* Callback containing transaction logic. The callback should return a Promise.
* @returns {Promise}
* A promise resolving to the value returned from
* {@link Bookshelf~transactionCallback transactionCallback}.
*/
transaction() {
return this.knex.transaction.apply(this.knex, arguments);
},
/**
* This is a transaction block to be provided to {@link Bookshelf#transaction}. All of the
* database operations inside it can be part of the same transaction by passing the
* `transacting: transaction` option to {@link Model#fetch fetch}, {@link Model#save save} or
* {@link Model#destroy destroy}.
*
* Note that unless you explicitly pass the `transaction` object along to any relevant model
* operations, those operations will not be part of the transaction, even though they may be
* inside the transaction callback.
*
* @callback Bookshelf~transactionCallback
* @see {@link http://knexjs.org/#Transactions Knex#transaction}
* @see Bookshelf#transaction
*
* @param {Transaction} transaction
* @returns {Promise}
* The Promise will resolve to the return value of the callback, or be rejected with an error
* thrown inside it. If it resolves, the entire transaction is committed, otherwise it is
* rolled back.
*/
/**
* @method Bookshelf#plugin
* @memberOf Bookshelf
* @description
*
* This method provides a nice, tested, standardized way of adding plugins
* to a `Bookshelf` instance, injecting the current instance into the
* plugin, which should be a `module.exports`.
*
* You can add a plugin by specifying a string with the name of the plugin
* to load. In this case it will try to find a module. It will pass the
* string to `require()`, so you can either require a third-party dependency
* by name or one of your own modules by relative path:
*
* bookshelf.plugin('./bookshelf-plugins/my-favourite-plugin');
* bookshelf.plugin('plugin-from-npm');
*
* There are a few official plugins published in `npm`, along with many
* independently developed ones. See
* [the list of available plugins](index.html#official-plugins).
*
* You can also provide an array of strings or functions, which is the same
* as calling `bookshelf.plugin()` multiple times. In this case the same
* options object will be reused:
*
* bookshelf.plugin(['cool-plugin', './my-plugins/even-cooler-plugin']);
*
* Example plugin:
*
* // Converts all string values to lower case when setting attributes on a model
* module.exports = function(bookshelf) {
* bookshelf.Model = bookshelf.Model.extend({
* set(key, value, options) {
* if (!key) return this
* if (typeof value === 'string') value = value.toLowerCase()
* return bookshelf.Model.prototype.set.call(this, key, value, options)
* }
* })
* }
*
* @param {string|array|Function} plugin
* The plugin or plugins to load. If you provide a string it can
* represent an npm package or a file somewhere on your project. You can
* also pass a function as argument to add it as a plugin. Finally, it's
* also possible to pass an array of strings or functions to add them all
* at once.
* @param {mixed} options
* This can be anything you want and it will be passed directly to the
* plugin as the second argument when loading it.
* @return {Bookshelf} The bookshelf instance for chaining.
*/
plugin(plugin, options) {
if (_.isString(plugin)) {
if (plugin === 'pagination') {
const message =
'Pagination plugin was moved into core Bookshelf. You can now use `fetchPage()` without having to ' +
"call `.plugin('pagination')`. Remove any `.plugin('pagination')` calls to clear this message.";
return console.warn(message); // eslint-disable-line no-console
}
if (plugin === 'visibility') {
const message =
'Visibility plugin was moved into core Bookshelf. You can now set the `hidden` and `visible` properties ' +
"without having to call `.plugin('visibility')`. Remove any `.plugin('visibility')` calls to clear this " +
'message.';
return console.warn(message); // eslint-disable-line no-console
}
if (plugin === 'registry') {
const message =
'Registry plugin was moved into core Bookshelf. You can now register models using `bookshelf.model()` ' +
"and collections using `bookshelf.collection()` without having to call `.plugin('registry')`. Remove " +
"any `.plugin('registry')` calls to clear this message.";
return console.warn(message); // eslint-disable-line no-console
}
if (plugin === 'processor') {
const message =
'Processor plugin was removed from core Bookshelf. To migrate to the new standalone package follow the ' +
'instructions in https://github.com/bookshelf/bookshelf/wiki/Migrating-from-0.15.1-to-1.0.0#processor-plugin';
return console.warn(message); // eslint-disable-line no-console
}
if (plugin === 'case-converter') {
const message =
'Case converter plugin was removed from core Bookshelf. To migrate to the new standalone package follow ' +
'the instructions in https://github.com/bookshelf/bookshelf/wiki/Migrating-from-0.15.1-to-1.0.0#case-converter-plugin';
return console.warn(message); // eslint-disable-line no-console
}
if (plugin === 'virtuals') {
const message =
'Virtuals plugin was removed from core Bookshelf. To migrate to the new standalone package follow ' +
'the instructions in https://github.com/bookshelf/bookshelf/wiki/Migrating-from-0.15.1-to-1.0.0#virtuals-plugin';
return console.warn(message); // eslint-disable-line no-console
}
require(plugin)(this, options);
} else if (Array.isArray(plugin)) {
plugin.forEach((p) => this.plugin(p, options));
} else {
plugin(this, options);
}
return this;
}
});
/**
* @member Bookshelf#knex
* @type {Knex}
* @description
* A reference to the {@link http://knexjs.org Knex.js} instance being used by Bookshelf.
*/
bookshelf.knex = knex;
function builderFn(tableNameOrBuilder) {
let builder = null;
if (_.isString(tableNameOrBuilder)) {
builder = bookshelf.knex(tableNameOrBuilder);
} else if (tableNameOrBuilder == null) {
builder = bookshelf.knex.queryBuilder();
} else {
// Assuming here that `tableNameOrBuilder` is a QueryBuilder instance. Not
// aware of a way to check that this is the case (ie. using
// `Knex.isQueryBuilder` or equivalent).
builder = tableNameOrBuilder;
}
return builder.on('query', (data) => this.trigger('query', data));
}
// Attach `where`, `query`, and `fetchAll` as static methods.
['where', 'query'].forEach((method) => {
Model[method] = Collection[method] = function() {
const model = this.forge();
return model[method].apply(model, arguments);
};
});
return bookshelf;
}
module.exports = Bookshelf;


#include <SharedMemoryImp.hpp>
|
| | SharedMemoryImp () |
| |
| virtual | ~SharedMemoryImp () |
| | Destructor destroys and unlinks the shared memory region. More...
|
| |
| void * | pointer (void) const override |
| | Retrieve a pointer to the shared memory region. More...
|
| |
| std::string | key (void) const override |
| | Retrieve the key to the shared memory region. More...
|
| |
| size_t | size (void) const override |
| | Retrieve the size of the shared memory region. More...
|
| |
| void | unlink (void) override |
| | Unlink the shared memory region. More...
|
| |
| std::unique_ptr< SharedMemoryScopedLock > | get_scoped_lock (void) override |
| | Attempt to lock the mutex for the shared memory region and return a scoped mutex object that will unlock the mutex when it goes out of scope. More...
|
| |
| void | create_memory_region (const std::string &shm_key, size_t size) |
| | Takes a key and a size and creates an inter-process shared memory region. More...
|
| |
| void | attach_memory_region (const std::string &shm_key, unsigned int timeout) |
| | Takes a key and attempts to attach to a inter-process shared memory region. This version of the constructor tries to attach multiple times until a timeout is reached. More...
|
| |
| | SharedMemory ()=default |
| |
| | SharedMemory (const SharedMemory &other)=default |
| |
| virtual | ~SharedMemory ()=default |
| |
|
| static std::unique_ptr< SharedMemory > | make_unique_owner (const std::string &shm_key, size_t size) |
| | Creates a shared memory region with the given key and size. More...
|
| |
| static std::unique_ptr< SharedMemory > | make_unique_user (const std::string &shm_key, unsigned int timeout) |
| | Attaches to the shared memory region with the given key. If it cannot attach within the timeout, throws an exception. More...
|
| |
◆ SharedMemoryImp()
| geopm::SharedMemoryImp::SharedMemoryImp |
( |
| ) |
|
◆ ~SharedMemoryImp()
| geopm::SharedMemoryImp::~SharedMemoryImp |
( |
| ) |
|
|
virtual |
Destructor destroys and unlinks the shared memory region.
◆ attach_memory_region()
| void geopm::SharedMemoryImp::attach_memory_region |
( |
const std::string & |
shm_key, |
|
|
unsigned int |
timeout |
|
) |
| |
Takes a key and attempts to attach to a inter-process shared memory region. This version of the constructor tries to attach multiple times until a timeout is reached.
- Parameters
-
| [in] | shm_key | Shared memory key to attach to the region. |
| [in] | timeout | Length in seconds to keep retrying the attachment process to a shared memory region. |
◆ create_memory_region()
| void geopm::SharedMemoryImp::create_memory_region |
( |
const std::string & |
shm_key, |
|
|
size_t |
size |
|
) |
| |
Takes a key and a size and creates an inter-process shared memory region.
- Parameters
-
| [in] | shm_key | Shared memory key to create the region. |
| [in] | size | Size of the region to create. |
◆ get_scoped_lock()
Attempt to lock the mutex for the shared memory region and return a scoped mutex object that will unlock the mutex when it goes out of scope.
Implements geopm::SharedMemory.
◆ key()
| std::string geopm::SharedMemoryImp::key |
( |
void |
| ) |
const |
|
overridevirtual |
Retrieve the key to the shared memory region.
- Returns
- Key to the shared memory region.
Implements geopm::SharedMemory.
◆ pointer()
| void * geopm::SharedMemoryImp::pointer |
( |
void |
| ) |
const |
|
overridevirtual |
Retrieve a pointer to the shared memory region.
- Returns
- Void pointer to the shared memory region.
Implements geopm::SharedMemory.
◆ size()
| size_t geopm::SharedMemoryImp::size |
( |
void |
| ) |
const |
|
overridevirtual |
Retrieve the size of the shared memory region.
- Returns
- Size of the shared memory region.
Implements geopm::SharedMemory.
◆ unlink()
| void geopm::SharedMemoryImp::unlink |
( |
void |
| ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files:


Calculations¶
Calculations are performed using the MultiModeFC class:
-
class
franckcondon.
MultiModeFC
[source]¶ Class for calculating Franck-Condon Progressions.
Refer to the examples for more detailed guidelines.
-
spectrum_type
¶ either ‘pl’ (photoluminescence) or ‘abs’ (absorption)
- Type
str
-
num_modes
¶ the number of vibrational modes to be included
- Type
int
-
num_replicas
¶ the number of vibronic replicas to be calculated
- Type
int
See also
franckcondon.MultiModeFCFitting
fitting progressions to data
Examples
>>> from franckcondon import MultiModeFC >>> hr_params = [0.67, 0.1, 0.52, 0.46] >>> vib_energies = [0.054, 0.089, 0.165, 0.188] >>> energy_00 = 3.050 >>> broadening = 0.027 >>> x = np.linspace(2.5, 3.1, 1000) >>> mmfc = MultiModeFC() >>> mmfc.spectrum_type = 'pl' >>> mmfc.num_replicas = 5 >>> mmfc.initialise(4) >>> model = mmfc.calculate_fc_progression(x, vib_energies, hr_params, energy_00, broadening) >>> mmfc.plot_modes(x, model, vib_energies, hr_params, energy_00, broadening)
-
calculate_fc_progression
(x, vib_energies, hr_params, energy_00, broadening)[source]¶ Calculate the multi-mode Franck-Condon progression.
- Parameters
x (numpy.ndarray) – 1D array containing the energy values to use in the calculation.
vib_energies (list of float) – The vibrational energies of the modes.
hr_params (list of float) – The Huang-Rhys parameters of the modes.
energy_00 (float) – The energy of the 0-0 transition.
broadening (float) – The linewidth broadening.
- Returns
model – 1D array containing the calculated Franck-Condon progression.
- Return type
numpy.ndarray
-
initialise
(num_modes)[source]¶ Set the number of vibrational modes and calculate the permutations of vibrational quanta.
- Parameters
num_modes (int) – the number of vibrational modes to be included
- Returns
- Return type
None.
-
plot_modes
(x, model, vib_energies, hr_params, energy_00, broadening)[source]¶ Create a plot showing the total Franck-Condon progression and mode-resolved 0-0 and 0-1 peaks.
- Parameters
x (numpy.ndarray) – 1D array containing the energy values to use in the calculation.
model (numpy.ndarray) – 1D array containing the calculated model from MultiModeFC.calculate_fc_progression
vib_energies (list of float) – The vibrational energies of the modes.
hr_params (list of float) – The Huang-Rhys parameters of the modes.
energy_00 (float) – The energy of the 0-0 transition.
broadening (float) – The linewidth broadening.
- Returns
fig (matplotlib.figure.Figure) – A figure handle for the generated plot.
ax (matplotlib.axes.Axes) – An axes object for the generated plot.
-


Tierra Harris // Story
Alicia M. Barnachea and Grace Hollars // Design
Emily Wright // Design
Michael Himes // Development
Tierra Harris // Story
Emily Wright // Graphics
Michael Himes // Design and Development
In 1964, the elevation of the Civil Rights Movement and debut release of the Beatles’ second album weren’t the only events that changed lives.
With nothing more than a goal and an eager ensemble, the Ball State University Singers became the newest addition to campus.
Then-led by Don Neuen, the University Singers performed locally. After their First Spectacular event in 1966, the choir raised $7,000 for the School of Music and made their big break.
Not long after, more events became apart of the Singers’ agenda. Tours across Iceland, Greenland, Labrador and Newfoundland followed closely behind the University Singers becoming official ambassadors for Indiana’s Goodwill.
The 80's, 90's and early 2000's only built up the magnitude and publicity of the university choir and its enormous audience.
During the Midwest tour of 1984, the ensemble performed 120 shows in 10 weeks. Eight years later, the University Singers raised $57,000 for the homeless population of Indiana.
Now, with Alan Alder leading the choir, the “tradition and heritage” of the 55-year-old ensemble remains the same.
“While I’m doing everything that I can to move the group forward, because of how important heritage and tradition are for this group, I have to also do everything I can to maintain those elements of what we’ve always done,” Alder said.
During his 11 years, Alder has managed to lead the team of singers to both gold and platinum status.
In 2013, the choir attended the World Choir Games in Cincinnati, Ohio, taking the title as the No. 1 Collegiate Entertainment Organization in the world.
After conquering the international competition, the ensemble’s Reaching Across the World Spectacular performance embodied that show choir isn’t just a hobby, but “a way of life,” Alder said.
For the anniversary, Alder plans to ensure the relationship between the current show choir and alumni is maintained through important traditions like acapella performances, formations and ideas from past directors.
“We had people come from all over the world for [the last] reunion,” Alder said. “We’ve already mailed out thousands of save-the-date magnets with letters of invitation specifically to our University Singers alumni.”
Under Alder’s leadership, students have been greatly impacted by his coaching and family-oriented approach.
After coming from Ireland, junior Sarah Black wasn’t exactly sure what college she wanted to go to. Once she found out about the University choir, she knew Ball State was the right choice.
“Honestly, Dr. Alder was probably the first person who really helped me see what kind of voice I have,” Black said. “My [past] directors were very focused on ‘just sing the notes,’ so getting here was like, I can do this.”
Senior Hunter Okey had seven years of show choir experience before coming to Ball State.
His decision to join the University Singers led to gaining a position as the assistant company manager his junior year. As a senior, Okey was given the position as company manager.
Besides being the main source of communication between the choir and Alder, Okey is also responsible for leading the production staff.
“[Alder] is one of the greatest people you’ll ever meet,” Okey said. “Just watching him direct us, you can feel his passion for music and feel his passion for us as a choir, too.”
Newcomer freshman Dalton Dietrich was on the fence about whether or not he would enjoy being a part of University Singers, but after viewing last year’s Spectacular, he knew it was the perfect route.
In just the few weeks that he’s been a part of the ensemble, Dietrich said he already enjoys the style that Alder is teaching, which is different than just focusing on “round vowels and crisp consonants.”
Since 1964, the ensemble’s main focus was to enlarge its family and share music with the world around them. With the arrival of the 55 year anniversary, singers, past and present, are looking forward to making this year one to remember.
“I think just the fact that we’re here and we’ve kept going makes our alumni want to support us,” Alder said. “As long as we’re maintaining our link with history.”
Contact Tierra Harris with any comments at tmharris@bsu.edu


QoS Overview Configuring Outbound QoS (Basic) Configuring Outbound QoS (Advanced) Configuring Inbound QoS You apply Riverbed QoS policies in the Configure > Networking > Outbound QoS (Basic), Outbound QoS (Advanced), and Inbound QoS pages. This section describes how Steelhead appliances use Riverbed QoS policies to allocate bandwidth and latency priorities, and provides specific examples for setting policies for FTP and Citrix traffic.Note: For details about QoS, including integrating Steelhead appliances into an existing QoS implementation, see the Steelhead Appliance Deployment Guide. The Steelhead Appliance Deployment Guide also includes configuration examples and Riverbed QoS best practices.


preview:
type: swampfish
information: The swampfish is a swampwater fish in
the family of Nuclears.
It is a radio-active fish!


| Cockpit Guide |
|---|
Cockpit can use Kerberos for Single Sign On authentication, where users are automatically authenticated if they have a valid Kerberos ticket.
To authenticate users, the server that Cockpit is running on must be
joined to a domain. This can usually be accomplished using the
realm join example.com
command.
The domain must be resolvable by DNS. For instance, the SRV records of the kerberos server should be resolvable:
$ host -t SRV _kerberos._udp.example.com _kerberos._udp.example.com has SRV record 0 100 88 dc.example.com
The server running Cockpit should have a fully qualified name that ends with the domain name.
There must be a valid Kerberos host key for the server in the /etc/krb5.keytab
file. Alternatively, if you would like to use a different keytab, you can do so
by placing it in /etc/cockpit/krb5.keytab
. It may be necessary to
create a kerberos service principal and update the keytab if it is not present.
Depending on your domain type different service names are required:
Active Directory |
|
IPA and MIT |
|
When joining an IPA domain with Cockpit and the ipa
command line tool is
available, both the service principal name and a /etc/cockpit/krb5.keytab
get
created automatically, so that Kerberos based single sign on into Cockpit works out of the
box. If you want/need to do this by hand or in a script, the
corresponding commands with IPA are:
$ sudo ipa service-add --ok-as-delegate=true --force<EMAIL_ADDRESS>$ sudo ipa-getkeytab -p<EMAIL_ADDRESS>-k /etc/cockpit/krb5.keytab
The following command can be used to list the /etc/cockpit/krb5.keytab
:
$ sudo klist -k /etc/cockpit/krb5.keytab
Lastly accounts from the domain must be resolvable to unix accounts on the server running Cockpit. For example:
$ getent passwd<EMAIL_ADDRESS>user@example.com:*:381001109:381000513:User Name:/home/user:/bin/sh
If you wish to delegate your kerberos credentials to Cockpit, and allow Cockpit
to then connect to other machines using those credentials, you should enable delegation
for the hosts running Cockpit, and in some cases the HTTP
service as well.
When joining an IPA domain, this is enabled by default.
Domain admins (usually the<EMAIL_ADDRESS>group) should normally
also be able to administer any joined machine. Enable sudo access for that group
with the following command on the IPA server, for version 4.7.1 and later:
ipa-advise enable-admins-sudo | sh -ex
On earlier FreeIPA versions, run these commands instead, as a domain admin on any joined machine:
ipa sudorule-add --hostcat=all --cmdcat=all All ipa sudorule-add-user --groups=admins All
Note that this does not change security properties; domain admins can give this privilege to themselves, so it is safe to enable by default.
The client side, where your web browser is running, should have a valid kerberos ticket in the current user session. A command like this will get one:
$ kinit<EMAIL_ADDRESS>Password for<EMAIL_ADDRESS>In addition your browser must be usually be configured to allow kerberos authentication for the domain.
Mozilla Firefox |
Go to |
Google Chrome |
On Linux: create the file
{ "AuthServerWhitelist": "*example.com" }
and restart the browser. On other platforms, exit your browser
completely, and start it with a command line like this:
|
Use a fully qualified server name (with the domain name at the end) to access Cockpit in your web browser.
If you wish to connect from one server to another in Cockpit using kerberos SSO, then you have to explicitly enable all sorts of things. For starters, make sure that delegated credentials are allowed by your domain (see above). Next when requesting your kerberos ticket make sure that forwardable tickets are requested:
$ kinit -f<EMAIL_ADDRESS>Password for<EMAIL_ADDRESS>Make sure that the forwardable flag F
is present in your ticket:
$ klist -f Ticket cache: KEYRING:persistent:1000:1000 Default principal<EMAIL_ADDRESS>Valid starting Expires Service principal 18.03.2017 05:39:23 19.03.2017 05:39:20<EMAIL_ADDRESS>Flags: FIA
Lastly configure your browser to allow delegated, forwardable kerberos credentials to be sent to Cockpit:
Mozilla Firefox |
Go to |
Google Chrome |
On Linux: create the file
{ "AuthServerWhitelist": "*example.com", "AuthNegotiateDelegateWhitelist": "*example.com" }
and restart the browser. On other platforms, exit your browser
completely, and start it with a command line like this:
|


dashboard
RateMyProfessorAPI
dashboard
API Endpoints
RateMyProfessorAPI
Toggle navigation
Rate My Professor API
A WIP api that fetches data about Drexel's professors
API Endpoints


Advice to Freshman at VT
16 Juni 2014Being a freshman may be daunting, but don't let that stop you from trying to accomplish great things. Pursue your passion to your heart's content. If you don't know what you're passionate about, then find what excites you and motivates you to succeed. Virginia Tech has so many opportunities for our students and as a freshman it is your duty to learn about these opportunities. So get involved, meet new people, surround yourself with ambitious friends, but most importantly manage your time properly so you can enjoy college!


Home
About
Work
Elsewhere
About
Work
Elsewhere
Design makes solutions.
Art makes questions.
Seasor
mobile application
YoungCapital
Recruitment service
Maison Floolipe
online business
PrintPlus
3D printed headphone
TACIT
Ambient lighting


|
Intolerable Inaccuracy in
Intolerable Cruelty
By Michael Asimow
Fans of the Coen Brothers (and
I am among them) have high expectations. The writers and directors
of such marvelous films as Fargo, The Big Lebowski and
The Man Who Wasn't There, the Coen brothers usually deliver
off-beat comedies that are very sophisticated and wickedly funny.
Their films always have clever scripts with wonderful unexpected
twists, great characters (some empathetic, some grotesque), and
memorable performances. They have done it again in Intolerable
Cruelty and, if this is the sort of thing you like, you'll
probably like this film a lot. (And I won't disclose details
here that will spoil the film for those who haven't yet seen
it).
Yet I found the film distressing
and these troubling feelings spoiled my enjoyment of it. I have
two issues with Intolerable Cruelty.
First,
it's a film about lawyers. The lead is Miles Massey (George
Clooney).
The pits, just total slime. Early in the film, he concocts
a totally false story for his client (Bonny Donaly) and uses
her perjured testimony to strip the husband (Donovan Donaly,
played by Geoffrey Rush) of his assets (we later see Donaly sleeping
on the streets). Massey continues in kind throughout the movie,
disregarding every canon of ethics and every dictate of decency
and morality in his law practice. He is cynical and greedy,
contemptuous of clients, hopelessly vain, and totally amoral.
The senior partner of Massey's firm, Herb Meyerson, is as grotesque
as any character the Coens have ever created-a superannuated
monster without intestines who lives on a feeding tube and endlessly
intones statistics about billable hours and summary judgments
won.
Since the 1980's, the great
majority of movie lawyers have been disgusting characters.
Either they are dysfunctional human beings or unethical lawyers--or
both. Yet few of them have been quite as bad as Massey. He
could be compared to Fletcher Reede (Jim Carrey) in Liar
Liar (a lawyer physically incapable of telling the truth)
or to John Milton (Al Pacino) in The Devil's Advocate
(who was literally Satan come back to earth as the senior partner
of a Wall St. firm). In my humble opinion, the constantly repeated
trashing of lawyers in the movies is a factor-not the most important
factor but not the least important either-in the stunning decline
of the public's opinion of the legal profession over the last
twenty-five years or so.
Right now, lawyers are the
most detested and distrusted profession in America (except for
used car dealers and, in some surveys, the mass media). The
nasty lawyer jokes we hear all the time are evidence of this.
Movies like Intolerable Cruelty are just piling on a
profession that is already down. And I personally don't like
it. I am going to speak out against movies that shamelessly
pander to homophobic, anti-semitic, or racist audiences. And
the same goes for vilifying lawyers. The vast majority of lawyers
(not all, of course) are decent, hardworking, ethical people
who solve problems for clients and make no better than a decent
living in a harsh and highly competitive environment. Enough
already with evil lawyer caricatures in the movies!
Second, I believe Intolerable
Cruelty could be the single most inaccurate movie about the
law in all movie history. It is set in California in the present.
Every one of the story lines in the film suggests that California
has fault divorce. Thus people are constantly litigating about
who committed adultery, because the faithless spouse gets none
of the marital property. Also, someone who is married only briefly
gets a huge share of the partner's assets.
Now, this is California, for
God's sake. California was the national leader in 1973 in adopting
no-fault divorce. All states have followed suit with this enlightened
reform, although not always to the same degree as California.
Whether someone committed adultery
or other misconduct is totally inadmissible on all issues in
California marital property litigation. The court won't hear
it. Entitlement to get a divorce does not depend in the least
upon fault. "Irreconcilable differences" is all you
need. There is an even division of community property (50-50
to the penny) regardless of fault. One spouse's obligation to
pay the other spousal support has absolutely nothing to do with
the fault of either of them. Child custody decisions are independent
of fault (unless the fault would bear directly on fitness to
be a custodian). And even if this were not true, a spouse has
no rights to property owned by the other spouse at the time of
marriage (or to income earned by that separate property). As
a result, it is unlikely that a woman who marries a rich man
in a short marriage will come away with anything very significant.
Now, the question arises: so
what? For me, this blatant disregard of the applicable law spoiled
the movie, just as if the lawyers performed in court while standing
on their heads or people were convicted of murder and sentenced
to death for stealing a salami sandwich. Obviously, all movies
or TV shows about law distort or oversimplify law or legal procedure
(otherwise movie trials would take 4 days instead of half an
hour). We willingly accept this, of course. It's just entertainment,
not education or a documentary, and slavish adherence to legal
details would interfere with the story. It would be silly to
insist on absolute accuracy about the law. As a result, the
question of a movie's accuracy about legal rules or procedures
is highly problematic for a law and pop culture critic.
But isn't there a limit? Shouldn't
we criticize filmmakers who completely ignore the law and thus
feed a big load of BS to millions of unsuspecting film goers?
We criticize filmmakers who are grossly inaccurate about real
events in films "based on a true story," and so we
can criticize them for grossly misrepresenting legal rules or
procedures. This is especially true when the film is likely
to mislead people about something as fundamental and intimate
as their legal rights in situations of marital infidelity. The
filmmakers could have set the film in 1970 instead of 2003, and
put it in New York rather than California, and it wouldn't have
been quite so far wrong, but it is set in present-day California
and it is dead wrong.
Think back to the great legal
comedies, like Adam's Rib or My Cousin Vinny or
Mr. Deeds Goes to Town, or television series like Rumpole
of the Bailey. These pop culture products were funny because
they played the law relatively straight and found opportunities
for humor in the strange situations and weird personalities that
can arise in legal proceedings. Other legal comedies, like Bananas,
Trial and Error, or A Fish Called Wanda amusingly
parodied the law or legal procedure, but nobody watching them
would imagine that the law was being correctly stated or applied.
Intolerable Cruelty is different from these films, I
think in a bad way, by convincingly depicting divorce law in
a way that is 180 degrees dead wrong.
Posted October 17, 2003
|


Consider Google(NASDAQ: GOOG) is trading at $910 now and you are bullish on this stock and expect it to rise over the next three months. The minimum capital requirement to buy 100 shares of GOOG is $90000 but you only have limited capital for stock investors. You could buy 1 call option contract written on GOOG which expires after three months with a $900 strike price. If GOOG rises to $950 in three months, you can get ($950 - $900) *100 = $5000 by paying just a small amount of premium instead of a full cost of shares. Even if the share price of GOOG falls below $900, you lose only the premium. This is one of the biggest benefits of trading options and is also called the financial leverage. Without borrowing the capital, you can control a larger number of shares by investing in options other than purchasing the shares themselves.
From the above example, the investor will buy a European call if he has a bullish view on the market and believes the underlying stock price will be above the strike price at the expiry date. He will make money when the underlying price goes up and lose when it goes down. The payoff of a call option at T is
\[Call_{payoff}=max[0,S_T-K]\]On the other hand, an investor will buy a European put if he is bearish about the market and believes that the underlying stock price will be below the strike at the expiry date. He will make money when the underlying price goes down and lose when it goes up. The European put payoff at T is
\[Put_{payoff}=max[0,K-S_T]\]Where \(S_T\) is the price of underlying assets at maturity. K is the strike price.
We use the GOOG option contract to show the call and put option payoff. The current share price of GOOG is $945 at 07/12/2017.
| Contract Name | Type | Expire Date | Strike | Premium |
|---|---|---|---|---|
| GOOG170714C00940000 | Call | 07/14/2017 | $940 | $7.5 |
| GOOG170714P00960000 | Put | 07/14/2017 | $960 | $19.5 |
import matplotlib.pyplot as plt %pylab inline price = np.arange(900,1000,1) strike = 940 premium = 7.5 payoff = [max(-premium, i - strike-premium) for i in price] plt.plot(price, payoff) plt.xlabel('Price at T S_T ($)') plt.ylabel('payoff') plt.title('Call option Payoff at Expiry') plt.grid(True) price = np.arange(900,1000,1) strike = 960 premium = 19.5 payoff = [max(-premium, strike - i -premium) for i in price] plt.plot(price, payoff) plt.xlabel('Price at T S_T ($)') plt.ylabel('payoff') plt.title('Put option Payoff at Expiry') plt.grid(True)
The above payoff diagrams illustrate the cash payoff on an option at the expiration date. For a call option, the net payoff is negative if the price of the underlying asset is less than the strike price(The negative payoff comes from the premium). If the underlying price exceeds the strike price, the gross payoff is the price of the underlying asset minus the strike price and the premium. For a put option, the net payoff is positive if the underlying price is less than the strike price. If the price of the underlying asset exceeds the strike price, the gross payoff is negative because you pay the premium for purchasing the contracts.


{% extends "base.html" %} {% block title %} Home {% endblock %} {% block content %} Status Audio 'Good Sounds @ Good Prices' {% for item in ItemList[0:3] %} {{ item.get_name() }} {{ item.get_cost() }} {% endfor %} Previous Next Bootstrap Tutorial Bootstrap is the most popular HTML, CSS... {% for item in ItemList[0:3] %} {{ item.get_name() }} Some quick example text to build on the card title and make up the bulk of the card's content. {% endfor %} {% endblock %}
'Good Sounds @ Good Prices'
{{ item.get_cost() }}
Bootstrap is the most popular HTML, CSS...
Some quick example text to build on the card title and make up the bulk of the card's content.


The object of the game is to clear each screen frull of bricks using a ball, and a bat which you can move left or right
You have 3 lives to get as high as score as possible
Extra lives are awarded as your score reaches a certain amount
Controls:
Keyboard:
Move left : key A,J, or use the left arrow key.
Move right : key D,L, or use the right arrow key.
If you are lucky enough to have a keyboard press 'P' to pause the game.
Touch screens:
Move left : press the left side of the screen
Move right : press the right side of the screen
Joystick support:
Is available for the Firefox web browser.


MARS ATTACKS! A film review by Scott Renshaw Copyright 1996 Scott Renshaw
(Warner Bros.) Starring: Jack Nicholson, Annette Bening, Pierce Brosnan, Glenn Close, Danny DeVito, Michael J. Fox. Screenplay: Jonathan Gems, based on MARS ATTACKS! by Topps. Producers: Tim Burton, Larry Franco. Director: Tim Burton.  Running Time: 105 minutes Reviewed by Scott Renshaw.
I really wanted MARS ATTACKS! to be the movie INDEPENDENCE DAY wasn't. Tim Burton's malevolent alien invasion saga faces such obvious comparisons to 1996's other malevolent alien invasion saga that it would have been a pleasure to find that this one was The Little B-Movie Homage That Could, juxtaposed with The Big B-Movie Re-tread That Couldn't. I came ready for delight, and instead I found disappointment. MARS ATTACKS! is a more inventive film than INDEPENDENCE DAY, but it is also a sluggish one, in addition to having a surprising streak of nastiness. If you didn't know MARS ATTACKS! and INDEPENDENCE DAY were made at about the same time, you might swear that Tim Burton had a chip on his shoulder about having to follow a blockbuster.
MARS ATTACKS! begins with the discovery that flying saucers from Mars are headed towards the earth in massive numbers. President Jimmy Dale (Jack Nicholson) is concerned and hawkish General Decker (Rod Steiger) is ready to launch the nukes, but Dr. Donald Kessler (Pierce Brosnan) assures everyone that such an advanced civilization is almost certain to be peaceful. The Martian visitors find the red carpet rolled out for a diplomatic greeting in the Nevada desert, but the historic close encounter turns into a bloodbath when the aliens open fire on humans. The president and Kessler believe that it was all the result of a cultural misunderstanding, and try to make peace. Unfortunately, it seems that the visitors are only interested in making pieces, as they launch an all-out attack on the earth.
Like INDEPENDENCE DAY, MARS ATTACKS! follows groups of characters in several different locations as they face the threat of extra terrestrial assault. In Las Vegas, recovering alcoholic/New Age adherent Barbara (Annette Bening) joins forces with ex-boxer/casino photo opportunity Byron (Jim Brown) and singer Tom Jones (himself); in Kansas, donut shop employee Richie (Lukas Haas) joins forces with his senile grandmother (Sylvia Sidney). What is surprising is that these stories are played so straight, and with nearly as little character development as INDEPENDENCE DAY. Each character is given an eccentric moment, after which he or she generally disappears either entirely for a long time. No one really gets a chance to _do_ anything, notably Natalie Portman (re-visiting Winona Ryder's morose teen from BEETLEJUICE as the First Daughter). Pierce Brosnan and Sarah Jessica Parker are entertaining as the unctuous Kessler and a dim fashion reporter, respectively, but their appearance is most memorable because they share a tender love scene as severed heads.
That moment highlights what is both best and worst about MARS ATTACKS!, which is the perverse visual humor. Burton tosses out some truly twisted gems along with just-plain-silliness, and the deliberately cheesy visual effects are both effective on their own and as a source for an internal joke involving a Godzilla film. The problem is that nothing really builds in MARS ATTACKS!; the jokes are often stand-alone vignettes un-related to anything which precedes them or anything which follows them, making for a film which jerks along unsteadily with little momentum. MARS ATTACKS! is based on a series of trading cards by Topps, and appropriately enough that is the way the movie feels: you flip over one scene, chuckle at it, then forget it almost before you flip over the next one.
 The scenes on board the flying saucers show the Martians' delight at duping humanity and wreaking havoc, and while the malicious Martians provide their share of laughs, the whole concept is strangely mean-spirited. The entire invasion consists of variations on the aliens seducing humans with a friendly word, a teary eyeball or a pleasing form, then finding new and creative ways of stabbing them in the back (sometimes literally). Burton almost seems to share this smirking disregard for his characters (and an unexplainable hatred of birds) as he reduces them to scorched skeletons in scenes which may be too graphic for youngsters. There is plenty of imagination in MARS ATTACKS! (the aliens' downfall certainly does not involve a computer virus), but the ideas prickle rather than tickle. Something seemed to be annoying Tim Burton when he made MARS ATTACKS!, and he's probably going to be more annoyed if audiences decide it isn't the movie INDEPENDENCE DAY was.
On the Renshaw scale of 0 to 10 angry red planets: 5.
Visit Scott Renshaw's MoviePage http://www-leland.stanford.edu/~srenshaw Subscribe to receive reviews directly via email See details on the MoviePage
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


The Strictly Come Dancing star, 58, had a gruelling four-hour operation to go from a DD back to her natural A cup.
On today's Lorraine, Shirley revealed she had the surgery because of cancer fears and admitted she got the implants due to her low self-esteem.
Brave Shirley let the cameras into her home as she got ready beforehand, while she phoned her son in the taxi and after the operation.
The much-loved dancer told Lorraine viewers she finally has her confidence back and that big boobs won't make someone love you.
Explaining why she got her implants removed, Shirley said: "I went to get a mammogram and one of the nurses flippantly said to me we can’t really see behind the back of these implants.
"I just decided for health reasons for me i was going to take them out.
"My mother's elder sister got cancer, then my mother got cancer, then as we speak my mother’s sister is in hospital in critical but stable condition after an operation for cancer."

The Strictly star praised Danny, who she met during a panto last year, for giving her confidence back.
While looking at a photo when she first had her DD implants, Shirley said: "Now I’m looking back at this picture saying where was your mind. What possessed you to do it?
"I will never blame dancing for the way I feel but there were people in dancing who made me feel uncomfortable. I had low self-esteem. I look back now and think what was there to worry about really."
Nervous Shirley admitted she had butterflies in her stomach on the way to the hospital with Danny.
After having the operation, Shirley said: "The moment I came round after the surgery and Danny was there, it's a feeling of relief. To see him smiling, holding my hand, the fact he stayed for the whole surgery and willing me on was really sweet.
"When I had a look in the mirror I felt my old self. It was a little bit more me. It was me back. My own body. And I’m comfortable with it. I got quite emotional.
"There are some reasons why people have to have implants. If it's because someone has made you feel not good about yourself and you think your breasts are rather small and people will love you with voluptuous boobies...I can tell you for sure that's not the case.
"No breast implant will make somebody love you if you can’t love you. You have to love yourself first."
Back in the Lorraine studio, Shirley admitted it had been "an emotional week" but she was determined to return for Saturday night's Strictly live show.
Shirley said: "When I saw what Dr Waterhouse took out of my chest, the implants and the capsule around it. What grows around the implant.
"I would never have done it. I had no clue. I did not do enough research. To anyone thinking about doing it, it's not how it seems to be.
"That's what made the operation so long. Dr Waterhouse was so thorough. He wanted to make sure he got every ounce of the capsule.
"When I saw the photos it really was quite disturbing what grows inside your chest."
Danny said it was important Shirley made the decision herself and that there is no price on your health.
He added: "I think with something like this it may go undetected with the implants - that's terrifying.
"In a hypothetical situation in a year's time they could find something."
*Lorraine airs weekdays on ITV at 8.30am


Count the numbers
Count Number From
Count In
Count Number To
Addition(+) and Subtraction(-)
GO!
Addition Only


Woman bites pet cat on the head to get back at boyfriend in sickening live video
Daria Turchina, from Dmitrov, Moscow, in Russia, threatened to crush the pet cat to death in the sinister video after having a heated argument with her boyfriend
by Tiffany LoA woman was filmed biting her boyfriend's pet cat on the head in a desperate attempt to get back at him after they had argued.
Daria Turchina, 38, streamed the animal abuse live on Telegram, a messaging app similar to Whatsapp.
At the start of the clip she can be seen smiling at the camera while holding the innocent moggie.

"Do you understand me?"
Daria, from Dmitrov, in the western Russian region of Moscow Oblast, called the cat a 'b****' and 'filthy little w*****'.
She then bites the pet which reacts by howling in pain.
In another clip she puts the cat on her lap and presses onto its paws strongly.
Local media reported that Daria had a heated row with her boyfriend and was trying to upset him by threatening and harming him the cat.
The details of the argument were not reported and it's unclear whether local authorities will investigate her for appearing to abuse an animal.
Web user FoxdieZero' said: "She is such a skunk herself. Unfortunately, nothing new there."
EKasatka' commented: "There are way too many people like her around. Usually they use kids instead of cats."
'Printxdatskij' wrote on Twitter : "What did she do really? Yelled at a cat? Is that a good enough reason to send in a SWAT team to stop her?"


Model DevelopmentTrain machine learning models |
|
|---|---|
Compare predictive models, created on your data |
|
Compare predictive models, created on your data |
|
Compare predictive models, created on your data |
|
Compare predictive models, created on your data |
|
SupervisedModelDevelopmentParams class to set up parameters required to build SupervisedModel classes |
|
Compare predictive models, created on your data |
|
Model DeploymentPut a model into production |
|
Deploy a production-ready predictive Lasso model |
|
Deploy a production-ready predictive Linear Mixed Model model |
|
Deploy a production-ready predictive RandomForest model |
|
Deploy predictive models, created on your data |
|
SupervisedModelDeploymentParams class to set up parameters required to build SupervisedModelDeployment class |
|
Deploy a production-ready predictive XGBoost model |
|
SQL helpersInterface with a database |
|
Pull data into R via an ODBC connection |
|
Write data to database |
|
Everything ElseIs still to be added. Possibly automatically |


- Name: Bulbasaur
- Age: 2 years
- Sex: Female
About Me: Lorem ipsum dolor amet tote bag tacos slow-carb, plaid kinfolk post-ironic 8-bit salvia photo booth taiyaki put a bird on it ennui hoodie activated charcoal. Listicle forage disrupt ethical food truck. Selvage synth church-key, hoodie prism stumptown vape you probably haven't heard of them trust fund whatever man bun. Irony gastropub af readymade bitters tbh.


The Count of Monte Cristo
by Alexandre Dumas, pére
Chapter 10: The King's Closet at the Tuileries
Additional Information
- Year Published: 1844
- Language: English
- Country of Origin: United States of America
- Source: Dumas, A. (1844). The Count of Monte Cristo. London: Chapman and Hall.
-
Readability:
- Flesch–Kincaid Level: 6.1
- Word Count: 3,137
- Genre: Adventure
- Keywords: betrayal, forgiveness, justice, mercy, redemption, revenge
- ✎ Cite This
Downloads
We will leave Villefort on the road to Paris, travelling—thanks to trebled fees—with all speed, and passing through two or three apartments, enter at the Tuileries the little room with the arched window, so well known as having been the favorite closet of Napoleon and Louis XVIII., and now of Louis Philippe.
There, seated before a walnut table he had brought with him from Hartwell, and to which, from one of those fancies not uncommon to great people, he was particularly attached, the king, Louis XVIII., was carelessly listening to a man of fifty or fifty–two years of age, with gray hair, aristocratic bearing, and exceedingly gentlemanly attire, and meanwhile making a marginal note in a volume of Gryphius’s rather inaccurate, but much sought–after, edition of Horace—a work which was much indebted to the sagacious observations of the philosophical monarch.
“You say, sir”—said the king.
 Man of ability as he was, Louis XVIII. liked a pleasant jest.
“Sire,” continued M. de Blacas, “if it only be to reassure a faithful servant, will your majesty send into Languedoc, Provence, and Dauphine, trusty men, who will bring you back a faithful report as to the feeling in these three provinces?”
“Caninus surdis,” replied the king, continuing the annotations in his Horace.
“Sire,” replied the courtier, laughing, in order that he might seem to comprehend the quotation, “your majesty may be perfectly right in relying on the good feeling of France, but I fear I am not altogether wrong in dreading some desperate attempt.”
“By whom?”
“By Bonaparte, or, at least, by his adherents.”
“My dear Blacas,” said the king, “you with your alarms prevent me from working.”
“And you, sire, prevent me from sleeping with your security.”
“Wait, my dear sir, wait a moment; for I have such a delightful note on the Pastor quum traheret—wait, and I will listen to you afterwards.”
There was a brief pause, during which Louis XVIII. wrote, in a hand as small as possible, another note on the margin of his Horace, and then looking at the duke with the air of a man who thinks he has an idea of his own, while he is only commenting upon the idea of another, said,—
“Go on, my dear duke, go on—I listen.”
“Sire,” said Blacas, who had for a moment the hope of sacrificing Villefort to his own profit, “I am compelled to tell you that these are not mere rumors destitute of foundation which thus disquiet me; but a serious–minded man, deserving all my confidence, and charged by me to watch over the south” (the duke hesitated as he pronounced these words), “has arrived by post to tell me that a great peril threatens the king, and so I hastened to you, sire.”
“Mala ducis avi domum,” continued Louis XVIII., still annotating.
“Does your majesty wish me to drop the subject?”
“By no means, my dear duke; but just stretch out your hand.”
“Which?”
“Whichever you please—there to the left.”
“Here, sire?”
“I tell you to the left, and you are looking to the right; I mean on my left—yes, there. You will find yesterday’s report of the minister of police. But here is M. Dandre himself;” and M. Dandre, announced by the chamberlain–in–waiting, entered.
“Come in,” said Louis XVIII., with repressed smile, “come in, Baron, and tell the duke all you know—the latest news of M. de Bonaparte; do not conceal anything, however serious,—let us see, the Island of Elba is a volcano, and we may expect to have issuing thence flaming and bristling war—bella, horrida bella.” M. Dandre leaned very respectfully on the back of a chair with his two hands, and said,—
“Has your majesty perused yesterday’s report?”
“Yes, yes; but tell the duke himself, who cannot find anything, what the report contains—give him the particulars of what the usurper is doing in his islet.”
“Monsieur,” said the baron to the duke, “all the servants of his majesty must approve of the latest intelligence which we have from the Island of Elba. Bonaparte”—M. Dandre looked at Louis XVIII., who, employed in writing a note, did not even raise his head. “Bonaparte,” continued the baron, “is mortally wearied, and passes whole days in watching his miners at work at Porto–Longone.”
“And scratches himself for amusement,” added the king.
“Scratches himself?” inquired the duke, “what does your majesty mean?”
“Yes, indeed, my dear duke. Did you forget that this great man, this hero, this demigod, is attacked with a malady of the skin which worries him to death, prurigo?”
“And, moreover, my dear duke,” continued the minister of police, “we are almost assured that, in a very short time, the usurper will be insane.”
“Insane?”
“Raving mad; his head becomes weaker. Sometimes he weeps bitterly, sometimes laughs boisterously, at other time he passes hours on the seashore, flinging stones in the water and when the flint makes ‘duck–and–drake’ five or six times, he appears as delighted as if he had gained another Marengo or Austerlitz. Now, you must agree that these are indubitable symptoms of insanity.”
“Or of wisdom, my dear baron—or of wisdom,” said Louis XVIII., laughing; “the greatest captains of antiquity amused themselves by casting pebbles into the ocean—see Plutarch’s life of Scipio Africanus.”
M. de Blacas pondered deeply between the confident monarch and the truthful minister. Villefort, who did not choose to reveal the whole secret, lest another should reap all the benefit of the disclosure, had yet communicated enough to cause him the greatest uneasiness.
“Well, well, Dandre,” said Louis XVIII., “Blacas is not yet convinced; let us proceed, therefore, to the usurper’s conversion.” The minister of police bowed.
“The usurper’s conversion!” murmured the duke, looking at the king and Dandre, who spoke alternately, like Virgil’s shepherds. “The usurper converted!”
“Decidedly, my dear duke.”
“In what way converted?”
“To good principles. Tell him all about it, baron.”
“Why, this is the way of it,” said the minister, with the gravest air in the world: “Napoleon lately had a review, and as two or three of his old veterans expressed a desire to return to France, he gave them their dismissal, and exhorted them to ‘serve the good king.’ These were his own words, of that I am certain.”
“Well, Blacas, what think you of this?” inquired the king triumphantly, and pausing for a moment from the voluminous scholiast before him.
“I say, sire, that the minister of police is greatly deceived or I am; and as it is impossible it can be the minister of police as he has the guardianship of the safety and honor of your majesty, it is probable that I am in error. However, sire, if I might advise, your majesty will interrogate the person of whom I spoke to you, and I will urge your majesty to do him this honor.”
“Most willingly, duke; under your auspices I will receive any person you please, but you must not expect me to be too confiding. Baron, have you any report more recent than this dated the 20th February.—this is the 4th of March?”
“No, sire, but I am hourly expecting one; it may have arrived since I left my office.”
“Go thither, and if there be none—well, well,” continued Louis XVIII., “make one; that is the usual way, is it not?” and the king laughed facetiously.
“Oh, sire,” replied the minister, “we have no occasion to invent any; every day our desks are loaded with most circumstantial denunciations, coming from hosts of people who hope for some return for services which they seek to render, but cannot; they trust to fortune, and rely upon some unexpected event in some way to justify their predictions.”
“Well, sir, go”; said Louis XVIII., “and remember that I am waiting for you.”
“I will but go and return, sire; I shall be back in ten minutes.”
“And I, sire,” said M. de Blacas, “will go and find my messenger.”
“Wait, sir, wait,” said Louis XVIII. “Really, M. de Blacas, I must change your armorial bearings; I will give you an eagle with outstretched wings, holding in its claws a prey which tries in vain to escape, and bearing this device—Tenax.”
“Sire, I listen,” said De Blacas, biting his nails with impatience.
“I wish to consult you on this passage, ‘Molli fugiens anhelitu,’ you know it refers to a stag flying from a wolf. Are you not a sportsman and a great wolf–hunter? Well, then, what do you think of the molli anhelitu?”
“Admirable, sire; but my messenger is like the stag you refer to, for he has posted two hundred and twenty leagues in scarcely three days.”
“Which is undergoing great fatigue and anxiety, my dear duke, when we have a telegraph which transmits messages in three or four hours, and that without getting in the least out of breath.”
“Ah, sire, you recompense but badly this poor young man, who has come so far, and with so much ardor, to give your majesty useful information. If only for the sake of M. de Salvieux, who recommends him to me, I entreat your majesty to receive him graciously.”
“M. de Salvieux, my brother’s chamberlain?”
“Yes, sire.”
“He is at Marseilles.”
“And writes me thence.”
“Does he speak to you of this conspiracy?”
“No; but strongly recommends M. de Villefort, and begs me to present him to your majesty.”
“M. de Villefort!” cried the king, “is the messenger’s name M. de Villefort?”
“Yes, sire.”
“And he comes from Marseilles?”
“In person.”
“Why did you not mention his name at once?” replied the king, betraying some uneasiness.
“Sire, I thought his name was unknown to your majesty.”
“No, no, Blacas; he is a man of strong and elevated understanding, ambitious, too, and, pardieu, you know his father’s name!”
“His father?”
“Yes, Noirtier.”
“Noirtier the Girondin?—Noirtier the senator?”
“He himself.”
“And your majesty has employed the son of such a man?”
“Blacas, my friend, you have but limited comprehension. I told you Villefort was ambitious, and to attain this ambition Villefort would sacrifice everything, even his father.”
“Then, sire, may I present him?”
“This instant, duke! Where is he?”
“Waiting below, in my carriage.”
“Seek him at once.”
“I hasten to do so.” The duke left the royal presence with the speed of a young man; his really sincere royalism made him youthful again. Louis XVIII. remained alone, and turning his eyes on his half–opened Horace, muttered,—
“Justum et tenacem propositi virum.”
M. de Blacas returned as speedily as he had departed, but in the ante–chamber he was forced to appeal to the king’s authority. Villefort’s dusty garb, his costume, which was not of courtly cut, excited the susceptibility of M. de Breze, who was all astonishment at finding that this young man had the audacity to enter before the king in such attire. The duke, however, overcame all difficulties with a word—his majesty’s order; and, in spite of the protestations which the master of ceremonies made for the honor of his office and principles, Villefort was introduced.
The king was seated in the same place where the duke had left him. On opening the door, Villefort found himself facing him, and the young magistrate’s first impulse was to pause.
“Come in, M. de Villefort,” said the king, “come in.” Villefort bowed, and advancing a few steps, waited until the king should interrogate him.
“M. de Villefort,” said Louis XVIII., “the Duc de Blacas assures me you have some interesting information to communicate.”
“Sire, the duke is right, and I believe your majesty will think it equally important.”
“In the first place, and before everything else, sir, is the news as bad in your opinion as I am asked to believe?”
“Sire, I believe it to be most urgent, but I hope, by the speed I have used, that it is not irreparable.”
“Speak as fully as you please, sir,” said the king, who began to give way to the emotion which had showed itself in Blacas’s face and affected Villefort’s voice. “Speak, sir, and pray begin at the beginning; I like order in everything.”
“Sire,” said Villefort, “I will render a faithful report to your majesty, but I must entreat your forgiveness if my anxiety leads to some obscurity in my language.” A glance at the king after this discreet and subtle exordium, assured Villefort of the benignity of his august auditor, and he went on:—
“Sire, I have come as rapidly to Paris as possible, to inform your majesty that I have discovered, in the exercise of my duties, not a commonplace and insignificant plot, such as is every day got up in the lower ranks of the people and in the army, but an actual conspiracy—a storm which menaces no less than your majesty’s throne. Sire, the usurper is arming three ships, he meditates some project, which, however mad, is yet, perhaps, terrible. At this moment he will have left Elba, to go whither I know not, but assuredly to attempt a landing either at Naples, or on the coast of Tuscany, or perhaps on the shores of France. Your majesty is well aware that the sovereign of the Island of Elba has maintained his relations with Italy and France?”
“I am, sir,” said the king, much agitated; “and recently we have had information that the Bonapartist clubs have had meetings in the Rue Saint–Jacques. But proceed, I beg of you. How did you obtain these details?”
“Sire, they are the results of an examination which I have made of a man of Marseilles, whom I have watched for some time, and arrested on the day of my departure. This person, a sailor, of turbulent character, and whom I suspected of Bonapartism, has been secretly to the Island of Elba. There he saw the grand–marshal, who charged him with an oral message to a Bonapartist in Paris, whose name I could not extract from him; but this mission was to prepare men’s minds for a return (it is the man who says this, sire)—a return which will soon occur.”
“And where is this man?”
“In prison, sire.”
“And the matter seems serious to you?”
“So serious, sire, that when the circumstance surprised me in the midst of a family festival, on the very day of my betrothal, I left my bride and friends, postponing everything, that I might hasten to lay at your majesty’s feet the fears which impressed me, and the assurance of my devotion.”
“True,” said Louis XVIII., “was there not a marriage engagement between you and Mademoiselle de Saint–Meran?”
“Daughter of one of your majesty’s most faithful servants.”
“Yes, yes; but let us talk of this plot, M. de Villefort.”
“Sire, I fear it is more than a plot; I fear it is a conspiracy.”
“A conspiracy in these times,” said Louis XVIII., smiling, “is a thing very easy to meditate, but more difficult to conduct to an end, inasmuch as, re–established so recently on the throne of our ancestors, we have our eyes open at once upon the past, the present, and the future. For the last ten months my ministers have redoubled their vigilance, in order to watch the shore of the Mediterranean. If Bonaparte landed at Naples, the whole coalition would be on foot before he could even reach Piomoino; if he land in Tuscany, he will be in an unfriendly territory; if he land in France, it must be with a handful of men, and the result of that is easily foretold, execrated as he is by the population. Take courage, sir; but at the same time rely on our royal gratitude.”
“Ah, here is M. Dandre!” cried de Blacas. At this instant the minister of police appeared at the door, pale, trembling, and as if ready to faint. Villefort was about to retire, but M. de Blacas, taking his hand, restrained him.


Who am I
I am a software engineer who lives in Seoul, Korea. I like to read and run. I have few blogs related to computer science & engineering.
Education
- [2013 - 2020] Sogang University - Computer Science & Engineering
- [2012 - 2012] Whimoon High School
Experiences
- [2019.07 - 2019.09] Full Stack Developer, Magiceco, Education Startup
- [2018.07 - 2019.06] Software Engineer Intern, Nutragroup, E-Commerce
Projects
- Korean language translator from standard to dialect
- Autonomous RC Car + Camera recognition module
Skills
- Language : C++, PHP, Javascript
- Library : Jquery, Ajax
- Framework : Laravel, Django


Best Laid Plans
Starring Josh Brolin, Alessandro Nivola and Reese Witherspoon Directed By Mike Barker Running Time: 1 hour 33 minutes
(Fox Searchlight Pictures)
Best Laid Plans is well made, well acted, well directed and a fun ride. The film opens by introducing us to two friends, Bryce (Brolin) and Nick (Nivola) talking in a cafe. The sexy Lissa (Witherspoon) walks in, and the action cuts away from the cafe to Nick's answering an phone call from a panic stricken Bryce asking Nick to come to his house straight away. When Nick arrives, we found out that Lissa had accused Bryce of raping her, and Bryce, in a state of confusion, has tied her up downstairs. Suddenly, the film cuts away again, and we see how this situation came to arise. Obviously, not everything is what as it seems.
Full of little twists and turns, Best Laid Plans is a film that can only be watched once, but is good fun. The script is well written, and most of the turns you won't see coming. Although the plot is nothing new, the bulk of the movie about a failed heist, it's done well enough to provide a lot of entertainment value. There's also some intense scenes of tension, and the film is paced well enough to make sure the audience is left waiting for the next twist, and not falling asleep. This thriller gets off to a get start: most of it is thrilling and engaging.
The largely unknown cast are also very good. Brolin is excellent as the panicky, nieve Bryce, and while most actors would completely overdo the role he's playing, Bryce makes his panic seem believable, not laughable. Witherspoon, after an great turn in Pleasantville, is charming here, although her role isn't beefy enough to produce an excellent performance. She's watchable, however, and looks great as usual. This is an actress to look out for. Nivola, as the cool Nick, underplays the role to great effect, and is very watchable. His calm, cool collectiveness is great on-screen, and he carries the whole movie. He is certainly the star of the show, in a role that seems to be tailored made for him.
British director Mike Barker handles the film well, producing a stylish effort. The lighting is moody, and the action is well done. There are some great moments of direction where the audience is thrown off centre, and he uses the camera well to heighten the moments of tension, such as the camera swirling round a room or the characters. Unfortunately, style seems to be slightly more important than story, and occasionally the story does suffer due to the director working more on the look of the film. Therefore, although the story is fun, it is also somewhat slight and shallow, and won't be remembered for a long time after the film is over.
But, overall, Best Laid Plans is a pleasant surprise. I walked into the movie 'blind', i.e not knowing what to expect, and I came out pleased. It is an well made piece of filmmaking, and tells it's simple story in an entertaining way. There's twists to keep the brain happy, visuals to keep the eye happy, and some good dialogue to keep the ears happy. With a talented young cast giving it their all, a great soundtrack, and good production design, Best Laid Plans is the biggest surprise of the year so far. If you're looking for a purely enjoyable little thriller, albeit with a somewhat underdeveloped script, Best Laid Plans, although no classic, is recommended.
RATING=***1/2 OUT OF *****
A David Wilcock Review ©1999
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://www.wilcock54.freeserve.co.uk
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


---
layout: default
title: Git hub pages test
---
Blog Posts
{% for post in site.posts %}
- {{ post.date | date_to_string }} » {{ post.title }}
{% endfor %}
Highlighted Talks
Other Interviews, Talks, Etc
Prominent Open Source Projects
- Gollum: A simple, Git-powered wiki with a sweet API and local frontend.
- Jekyll: A simple, blog aware, static site generator (used for this site).
- God: Ruby process monitoring framework with easy extensibility.
- Grit: Object oriented Ruby bindings for Git (used by GitHub).
- Ernie: Ruby/Erlang Hybrid BERT-RPC server.
- ProxyMachine: Layer 7 routing proxy in Ruby with Event Machine.
- Primer: JavaScript based Flash-like API layered on top of Canvas.
- Chronic: Ruby natural language date/time parser.