Dear reader, as of early 2020, the Tezos platform is becoming mature enough that functional and resilient applications can be built with it. Cryptonomic has been building tools for Tezos since late 2017 with the intention of creating a seamless end to end experience for Tezos developers. In this handbook, we provide a variety of resources, tutorials and overviews that will help any blockchain developer get up and running quickly with the Tezos platform.
The quickest way to become productive is to first read the Cryptonomic Stack section followed by the twenty minute tour tutorial. More detailed information about the tools mentioned can be found in the Documentation section. Support is available through Matrix / Riot and email.
This handbook is a living document so it will keep evolving as we add new content, enhance our tools and add new capabilities. Of course, we are also highly receptive to user feedback so expect us to add more content in response to user requests. Speaking of, if you have any ideas for content we should add here, do not hesitate to open a GitHub issue.
The Cryptonomic stack consists of several tools which are build to work seamlessly together. Odds are if you start working with any one of the tools, the rest will be easy for you to adopt.
The stack is great for fetching and viewing blockchain data, deploying and managing smart contracts, building wallets and visualizations and various kinds of developer tooling.
The stack isn't great yet for building user-facing dApps as battle-tested equivalents for MetaMask and other browser plugins are still under development. As we get closer to release for these tools, we will update the documentation here. Maybe you can be the one to build your own tools to make it easy to build Tezos dApps. :)
Setting up a development environment for blockchains is notoriously hard. It can be quite arduous and time-consuming to stand up blockchain and indexer nodes. Worry not, we do the hard work so you can focus purely on your work. Nautilus Cloud provides hosted Tezos and Conseil nodes so you can use them and get started right away. Once your application is ready for production, you can decide how decentralized you want to be and either continue using Nautilus Cloud or stand up your own nodes.
If you are an Ethereum developer, you can simply think of Nautilus Cloud as an equivalent of Infura, except instead of simply offering you blockchain nodes, Nautilus Cloud also offers indexers and others services to make your dApp more powerful and your life much easier.
Pulling data out of blockchains can also be notoriously difficult. Many developers choose to pull data out of their blockchain nodes and store it in a database for easy querying. This is call indexing. Conseil serves as an indexer for the Tezos blockchain. Not only does it provide blockchain data using REST but it also provides metadata to help developers identify and pull the data they need. Nautilus Cloud provides access to Conseil nodes for the major Tezos networks. See the Tutorials section for guides on querying data with Conseil. Conseil is written in the functional style using the Scala programming language.
Notable third-party development libraries which integrate with Conseil include ConseilPy (Python) and TezosKit (Swift) and TezosJ (Android).
Most front end developers these days like to work with Node libraries. ConseilJS is an NPM library written in TypeScript that allows developers to read from and write to the Tezos blockchain. A variety of applications can be built using ConseilJS. At Cryptonomic, we have used it to build Galleon, Arronax and Mininax, among other projects. ConseilJS is also available as a standalone JavaScript file.
For Ethereum developers, ConseilJS is a rough analogue of web3.js but supports a greater class of functionalities, including key management, hardware wallet connectivity and blockchain data queries.
Galleon is a wallet for the Tezos platform. It works equally well with real tez from mainnet and play tez from the major testnet faucets. Developers will find Galleon useful for deploying and invoking smart contracts without writing front end code. This is especially useful if you are simply trying to prototype smart contract code using a tool like SmartPy.
Block explorers can be fairly limiting if you are not a regular wallet users. Blockchain developers need to run rich queries to check on their application's behavior, debug issues and get analytics information about app usage. This is why we created Arronax (using Conseil as its data provider). Arronax will allow you to run queries and generate reports tailored to your specific needs. It will help you find your top users, find your biggest transactions and most popular smart contract entry points.
Sometimes you just want to keep things simple and use a good old block explorer. We built Mininax as a retro mininax explorer serving as an entrypoint into Arronax as a fun summer project using ReasonML. Now it's evolving into a full-fledged explorer in its own right. Soon, there will be features which will make viewing and investigating smart contracts much more intuitive.
In this tutorial, we are going to get a quick taste of the Cryptonomic stack by deploying and examining a simple Tezos smart contract.
If you are not at least mildly familiar with the Cryptonomic stack, it might be worthwhile reading our overview.
We need to get access to the blockchain and its data by visiting Nautilus Cloud and logging in with our GitHub account. Once you are logged in you should see something like this:
Nautilus Cloud offers two environments, 'prod' which runs against the Tezos mainnet and 'dev' which runs against a testnet. For each environment, we get the URL to use to access Conseil and Tezos nodes along with the API keys we need to use. In this tutorial, we will be working with a testnet so let's note the URLs and the Conseil API key (in this case 'ab682065-864a-4f11-bc77-0ef4e9493fa1').
Now we need to get some testnet funds with which we can originate a contract and play with it. Let's download the Galleon wallet and install it on our system. Once the wallet is up, we'll need to click on 'Settings' on the top right and make the wallet point to the testnet by changing the settings for both the Tezos and Conseil nodes:
Let's click on "Back to Wallet" and then "Create new Wallet" to get a new wallet going. Pick a file location and provide a strong password as requested. On the next screen, we'll use the "Import Fundraiser Wallet" option to import a free faucet account with tez for us to play with. Visit the Tezos Faucet and download a JSON document. The document should look something like this:
{ "mnemonic": [ "avocado", "settle", "lounge", "midnight", "frozen", "fortune", "caution", "conduct", "turtle", "slim", "repair", "venture", "short", "idea", "dawn" ], "secret": "774ee65fd9cc68c1368e921fd3c5ef0a9368701e", "amount": "17214214921", "pkh": "tz1RQS5JmG93Cm3tcg7ciWbVTzNTBQT7Qf99", "password": "cmaWby2yF6", "email"<EMAIL_ADDRESS>}
Transfer the contents of the JSON document into the Galleon import screen so it looks something like this:
After you hit the Import button and wait for a couple of minutes, you should see your account address and non-zero tez balance:
Not bad! We have 17,214 tez to play with!
Now we'll write a very simple Tezos smart contract in SmartPy using the online SmartPy IDE. Here is the code we are going to use:
import smartpy as sp class MyContract(sp.Contract): # Sets stored string at initialization. def __init__(self, param1): self.init(contents = param1) # Updates stored string when called. @sp.entry_point def update(self, params): self.data.contents = params # Test @sp.add_test(name = "TheTest") def test(): # We define a test scenario, together with some outputs and checks scenario = sp.test_scenario() # We first define a contract and add it to the scenario c1 = MyContract("Hello") scenario += c1 # And call some of its entry points scenario += c1.update("Goodbye") # Finally, we check its final storage scenario.verify(c1.data.contents == "Goodbye")
This contract simply stores a string. It's given an initial value during origination and it has a function which allows that value to be updated. In the test above, the contract is initialized with "Hello" and is later updated to "World". Very simple! Paste this code into the SmartPy editor and hit the green play button. You should see something like this:
The SmartPy editor is a great tool for prototyping Tezos smart contracts. Not only is SmartPy an intuitive Python-like language but the editor allows us to write unit tests to validate our functionality. On the right side, we can see the initial state of the contract as well as the effect of each test. Neat! Feel free to play around with SmartPy later to get a sense of the language and all the functionality of the editor.
Of course, Michelson is the official language of Tezos smart contracts and our code so far is in SmartPy. Click on the Michelson tab in the editor and then 'Code' to get the Michelson code corresponding to the SmartPy code we just wrote:
Now we will use Galleon to deploy this contract and, later, call it once. In Galleon, click on "Interact with Contracts" and then "Deploy a New Contract". Change the format to "Michelson", paste in the code from above, set the initial storage to "Hello", pick a high fee and set the gas and storage limits as shown and deploy the contract:
It's a good idea to use high fees on testnets but feel free to choose any appropriate fee during mainnet deployments. After waiting for a couple of minutes, click on the link that shows up and it will direct you to a Mininax page showing details of the origination. Indeed, the initial storage of the deployed contract on the blockchain contains the string "Hello":
Let's invoke the update() function of the smart contract so that the storage contains "Goodbye" instead of "Hello". In Galleon, click on "Interact with contracts" and then "Invoke an Existing Contract". Use the settings shown below:
Once again, we'll wait a couple of minutes before clicking on the link that shows up. Mininax now shows the updated storage value!
Of course, many of us prefer to deploy and interact with contracts programatically instead of using a GUI wallet. Worry not, we have ConseilJS at our disposal! As you can see in this GitHub gist, both the actions above can be done with a few lines of code. As this is a twenty minute tour, we are not going to look at the specific of the code but here are the most relevant bits for your reference:
const nodeResult = await TezosNodeWriter.sendContractOriginationOperation(tezosNode, keystore, 0, undefined, fee, '', 1000, 100000, contract, storage, TezosParameterFormat.Michelson); const nodeResult = await TezosNodeWriter.sendContractInvocationOperation(tezosNode, keystore, address, 10000, fee, '', freight, gas, entrypoint, parameter, TezosParameterFormat.Michelson);
Observe these lines use the settings we obtained from Nautilus Cloud:
const tezosNode = 'https://tezos-dev.cryptonomic-infra.tech:443'; const conseilServer = { url: 'https://conseil-dev.cryptonomic-infra.tech:443', apiKey: 'ab682065-864a-4f11-bc77-0ef4e9493fa1', network: 'carthagenet' };
Some of the materials in the Documentation section go over the details of contract interaction with ConseilJS.
Now for the final step we can run some simple analytics on our contract using Arronax. A shared report shows us all the invocations of the contract with address KT1EhyNUyAUG42udmJzfAz7WDL2daDNb2cwv deployed and invoked by the ConseilJS code above. The report should look something like this:
Observe, at the time this tutorial was last updated, there were four invocations of the contract and a new string was stored each time. Click the Filter button and see how we are specifically looking at transactions sent to KT1EhyNUyAUG42udmJzfAz7WDL2daDNb2cwv. Feel free to click on columns and try different combinations of columns to explore the dataset.
So there you have it, a lightening round through the Cryptonomic stack. Don't hesitate to seek help if any of these bits were confusing for you. Check out the Documentation section to get more in depth information about each product. Happy hacking!
The FA1.2 smart contract standard marked a new step in the development possibilities of the Tezos ecosystem by setting specifications for the creation and management of new fugible tokens on the Tezos network.
We can now deploy smart contracts to create tokens that can be transferred and exchanged with no loss of value directly on the Tezos blockchain!
More detailed information on the standard can be found here!
Using ConseilJS, we can easily deploy and invoke such a contract! Before we start, make sure you have NodeJS and ConseilJS installed. You can run:
npm i conseiljsto add our package to your Node project. If you don't have NodeJS, check this out for more information on how to get started! We only support Node v12.16.1 which is the current LTS version, so make sure you install NVM (Node Version Manager) to updrade and downgrade Node as needed, which can be found here.
First, we need to login to Nautilus Cloud. Keep the page handy, we'll need the API keys and node links later. Let's work in TypeScript, and get a fresh .ts file in your NodeJS project. Throw these few lines at the top, they'll handle all of the imports we need for this:
// This imports the FileSystem module which allows us to read files in import * as fs from 'fs'; // These lines contain all of the ConseilJS imports needed for our code import { TezosConseilClient, TezosWalletUtil, setLogLevel, KeyStore, Tzip7ReferenceTokenHelper } from 'conseiljs'; import { ConseilQueryBuilder, ConseilOperator, ConseilDataClient } from 'conseiljs';
Let's set up some constants needed for connecting and deploying to the blockchain. All of this information can be found on Nautilus Cloud! We'll need the URL of a tezos node and the URL of the Conseil Server (along with our API key to gain access). Using these, we can define these constants:
const tezosNode = '...'; // You can get this from Nautilus Cloud, make sure you take the testnet one! const conseilServer = { url: '...', apiKey: '...', network: 'carthagenet' }; // Enter both the testnet Conseil Node URL and API Key here! const networkBlockTime = 30 + 1; // Because testnet's block time is 30 seconds, we wait 31 seconds before checking for a block update
Make sure your links above go to port 443! The URL should end with ':443', if it doesn't, add that to the URL for it to work!
Now let's get some funds to play with. Visit the testnet faucet and download two sets of keys:
{ "mnemonic": [ "right", "bomb", "sea", "paper", "picnic", "wealth", "slush", "hair", "maximum", "tobacco", "ritual", "air", "treat", "inherit", "undo" ], "secret": "2448de482f7c249ca0d0bb7fb30aa4faa65eb1ef", "amount": "2406500031", "pkh": "tz1fLQFXALX4pntvRrER21PSQtyaBFYFR7Ut", "password": "8mV9AHVZkF", "email"<EMAIL_ADDRESS>}
And another one!
{ "mnemonic": [ "crucial", "process", "manage", "more", "damp", "frog", "inside", "reveal", "below", "mandate", "web", "wrist", "grocery", "give", "fitness" ], "secret": "320f40c4d5b416f58b5e0b099474188e8be7a331", "amount": "26523282433", "pkh": "tz1UvB93uihSL2ktgePmRrN5C71VMYjAGrWC", "password": "GscjPmXhau", "email"<EMAIL_ADDRESS>}
With these accounts ready, we can get started directly in ConseilJS! With the files that we downloaded earlier, we don't need to manually enter data like we did in the previous tutorial. We can import the FileSystem module (imported before as fs) to quickly load and parse the JSON files into an object as seen below. Now, using the TezosWalletUtil, which was imported from ConseilJS, we can feed in the values from the JSON file to initialize the account from the file using the unlockFundraiserIdentity() function.
async function initAccount(account: string): Promise{ console.log(" ~~ initAccount"); console.log(`loading ${account} faucet file`); const faucetAccount = JSON.parse(fs.readFileSync(`${account}.json`, 'utf8')); const keystore = await TezosWalletUtil.unlockFundraiserIdentity(faucetAccount['mnemonic'].join(' '), faucetAccount['email'], faucetAccount['password'], faucetAccount['pkh']); console.log(`public key: ${keystore.publicKey}`); console.log(`secret key: ${keystore.privateKey}`); console.log(`account hash: ${keystore.publicKeyHash}`); return keystore; }
Moving on, we start getting to the real meat of the code. Let's make an async run function that will handle all of the necessary code:
async function run() { }
Inside the function, let's start by setting up some more constants. We need to have a contract originator and issuer, which will come from the two files we downloaded from the faucet. Set these two constants to be the names of the files you downloaded, which also happen to be the account IDs. Eventually, we will pass this string to the initAccount() function we wrote before to set up those accounts. The originator is the account which will deploy the smart contract, while the issuer is the account that will control the issuing of fungible tokens.
const originator = "tz1VXhEA5CiVWeyQP4FomBKTFRC1cmsBWZcY"; const issuer = "tz1XthtNSi8tdnizeEDULvpzx7mxvverYK4b";
We also need to define some temporary variables, which we will use throughout the code to store outputs and other data. We can store these as follows, and then initialize the originator account, which we'll need to use to originate the contract. We can store its data in the "keystore" variable so we can access it at any time.
let groupid =''; let contractAddress = ''; let mapid = 0; let keystore = await initAccount(originator);
Now with all of this set up, let's deploy the contract! ConseilJS has a module called Tzip7ReferenceTokenHelper (referred to henceforth as TokenHelper), which gets its name from the TZIP-7 proposal and the reference implementation of the token contract in that proposal. The module can be used to deploy and invoke that contract easily! The deployContract() function gives us flexibility to set essential features of the contract, like the supply. We can store the output in a groupid variable to reference the operation later.
// supply groupid = await Tzip7ReferenceTokenHelper.deployContract(tezosNode, keystore, 100_000, keystore.publicKeyHash, true, 0);
We should make sure the operation succeeded, using the awaitOperationConfirmation() method of the the TezosTokenClient class, and passing in the groupid from the previous call. This will return some data about the completed operation, which we can then parse to get the contractAddress.
// duration let conseilResult = await TezosConseilClient.awaitOperationConfirmation(conseilServer, conseilServer.network, groupid, 5, networkBlockTime); contractAddress = conseilResult['originated_contracts'];
Let's throw in some log statements for good measure to verify that the contract is in the place that we expect using the verifyDestination() function in the TokenHelper module.
console.log(`deployed token at ${contractAddress} (${groupid})`); console.log(`verify: ${await Tzip7ReferenceTokenHelper.verifyDestination(tezosNode, contractAddress)}`);
Now, you might be wondering, "we deployed a contract, but where is it?" The great thing about the TokenHelper is that it has a default token contract that it will deploy and set up! For simple deployments of tokens, this is ideal, and if we want to go back and define a more complex token smart contract, we can easily deploy that as well using ConseilJS!
Now that we have a contract deployed, we can collect the storage from that contract to get more specifics about it, like the map ID, which we will need to use later to get data about the contract.
const simplestorage = await Tzip7ReferenceTokenHelper.getSimpleStorage(tezosNode, contractAddress); console.log(`simplestorage: ${JSON.stringify(simplestorage, undefined, 2)}`); mapid = simplestorage.mapid;
This is all good, we have a contract deployed. But let's say we want to transfer the "ownership" of the contract to a different account. Say, if we coded the contract for someone else, that account should have control. Luckily for us, this is no problem in ConseilJS! Using the setAdministrator() function of the TokenHelper, we can quickly perform this operation.
console.log(`token administrator: ${await Tzip7ReferenceTokenHelper.getAdministrator(tezosNode, contractAddress)}`); // fee gas freight groupid = await Tzip7ReferenceTokenHelper.setAdministrator(tezosNode, keystore, contractAddress, issuer, 100_000, 125_000, 1_000); console.log(`token administrator: ${await Tzip7ReferenceTokenHelper.getAdministrator(tezosNode, contractAddress)}`);
Now if we want to perform more contract operations, we need to initialize the issuer account, just as we did before with the originator.
keystore = await initAccount(issuer);
Now the fun begins! With the TokenHelper, we can quickly and easily perform different token actions with the contract we deployed, without having to go through the complex and tedious contract entrypoints. To start, now that we have the issuer set up, we need to activate the ledger, which is the smart contract functionality of making and recording transactions. When we initially deployed the contract, we set it to "paused" instead of "active" so that we could get the contract set up before we run it. Now that it’s ready, we can activate it to use it’s functionality! The following code uses the TokenHelper to activate the contract so we can start calling it, while the surrounding log statements print whether we are active or not.
console.log(`token ${(await Tzip7ReferenceTokenHelper.getPaused(tezosNode, contractAddress) === true) ? 'paused' : 'active' }`); // fee gas freight groupid = await Tzip7ReferenceTokenHelper.activateLedger(tezosNode, keystore, contractAddress, 50_000, 125_000, 100); console.log(`token ${(await Tzip7ReferenceTokenHelper.getPaused(tezosNode, contractAddress)) ? 'paused' : 'active' }`);
But now we have an activated ledger without any tokens yet! Once again, TokenHelper comes to the rescue as we can mint new tokens easily using the mint() function. The log statements output the amounts of coin in circulation, while the mint statement we are calling puts a whopping 2 trillion tokens into circulation, US Federal Reserve style.
console.log(`current supply: ${await Tzip7ReferenceTokenHelper.getTokenSupply(tezosNode, contractAddress)}`); // fee amount gas freight groupid = await Tzip7ReferenceTokenHelper.mint(tezosNode, keystore, contractAddress, 50_000, issuer, 2_000_000_000_000, 125_000, 100); console.log(`new supply: ${await Tzip7ReferenceTokenHelper.getTokenSupply(tezosNode, contractAddress)}`); console.log(`${issuer} balance: ${await Tzip7ReferenceTokenHelper.getAccountBalance(tezosNode, mapid, issuer)}`);
Now that we have a billion tokens, let's spread the love and airdrop some to other accounts. Let's start by generating a Conseil Query to get 30 large testnet accounts. We first initialize a blank Query, and then add different fields and predicates to build an increasingly complex query. Just a warning, this script will take a while to run!
let largeAccountQuery = ConseilQueryBuilder.blankQuery(); largeAccountQuery = ConseilQueryBuilder.addFields(largeAccountQuery, 'account_id'); largeAccountQuery = ConseilQueryBuilder.addPredicate(largeAccountQuery, 'balance', ConseilOperator.GT, [9000000000]); largeAccountQuery = ConseilQueryBuilder.addPredicate(largeAccountQuery, 'account_id', ConseilOperator.STARTSWITH, ['tz']); largeAccountQuery = ConseilQueryBuilder.addPredicate(largeAccountQuery, 'account_id', ConseilOperator.IN, [originator, issuer], true); largeAccountQuery = ConseilQueryBuilder.setLimit(largeAccountQuery, 30); const largeAccountResult = await ConseilDataClient.executeEntityQuery(conseilServer, 'tezos', conseilServer.network, 'accounts', largeAccountQuery); const largeAccounts = largeAccountResult.map(a => a.account_id);
Now that we have this data, we can iterate through it, and use a TokenHelper method to transfer the token over to their accounts easily!
for (let i = 0; i < largeAccounts.length; i++) { // fee source destination amount gas freight groupid = await Tzip7ReferenceTokenHelper.transferBalance(tezosNode, keystore, contractAddress, 50_000, keystore.publicKeyHash, largeAccounts[i], 1_000, 125_000, 100); console.log(`balance transfer to "${largeAccounts[i]}"`); }
And we've done it! Let's repeat the steps for the 30 smallest accounts.
let smallAccountQuery = ConseilQueryBuilder.blankQuery(); smallAccountQuery = ConseilQueryBuilder.addFields(smallAccountQuery, 'account_id'); smallAccountQuery = ConseilQueryBuilder.addPredicate(smallAccountQuery, 'balance', ConseilOperator.LT, [9000000000]); smallAccountQuery = ConseilQueryBuilder.addPredicate(smallAccountQuery, 'balance', ConseilOperator.LT, [999000000]); smallAccountQuery = ConseilQueryBuilder.addPredicate(smallAccountQuery, 'account_id', ConseilOperator.STARTSWITH, ['tz']); smallAccountQuery = ConseilQueryBuilder.addPredicate(smallAccountQuery, 'account_id', ConseilOperator.IN, [originator, issuer], true); smallAccountQuery = ConseilQueryBuilder.setLimit(smallAccountQuery, 90); let smallAccountResult = await ConseilDataClient.executeEntityQuery(conseilServer, 'tezos', conseilServer.network, 'accounts', smallAccountQuery); const smallAccounts = smallAccountResult.map(a => a.account_id); console.log(smallAccounts.length); for (let i = 0; i < largeAccounts.length; i++) { for (let j = 3 * i, k = 3 * (i + 1); j < k; j++) { groupid = await Tzip7ReferenceTokenHelper.approveBalance(tezosNode, keystore, contractAddress, 50_000, smallAccounts[j], 100, 125_000, 100); console.log(`approve allowance for "${smallAccounts[j]}"`); } } console.log(`current supply: ${await Tzip7ReferenceTokenHelper.getTokenSupply(tezosNode, contractAddress)}`); console.log(`${issuer} balance: ${await Tzip7ReferenceTokenHelper.getAccountBalance(tezosNode, mapid, issuer)}`);
Those last two log statements let us find out how many tokens we put into circulation and our (the issuer's) remaining token balance. Isn't creating a currency fun!
To look at the code in its entirety, checkout out this gist and the corresponding Medium article. Once again, feel free to reach out for any assistance whatsoever, and see our Documentation for a more in-depth look at the products used. Happy Hacking!
Visit the tutorial on the Conseil wiki.
ConseilJS is the Cryptonomic one-stop solution for all of your Tezos needs. Using this web library, you can build powerful web apps and DApps that can leverage the full depth of the Tezos platform.
Let’s start by querying some accounts.
The following tutorial’s code is in web based JS. It can be entered in a script tag, or a standalone ‘.js’ file called from an HTML page. Instead of using Node, it has been imported using the following CDN link here. Just copy and paste it above where your JS is initialized like this:
<script src="https://cdn.jsdelivr.net/gh/cryptonomic/conseiljs/dist-web/conseiljs.min.js" integrity="sha384-eSd4aru4A1k5ejohBE9T8uPo4P1TT6TTdnuO71HrrNr0pmZaF+C5/YQyYv0JNqhV" crossorigin="anonymous"></script>
Keep in mind that the “integrity” section changes with every update, so if your code doesn’t work, get the latest CDN from the link above.
For a more robust installation of ConseilJS, you can see the instructions here for your language of choice (TypeScript or JavaScript).
We first need to visit Nautilus Cloud in order to procure our ConseilJS API Keys and Tezos Node connection information for the appropriate Tezos Network (mainnet or testnet). If you’d rather host your own Tezos and Conseil node, you can do that too, but for simplicity, we recommend using our own hosted solutions.
We can initialize a connection to Conseil with our API Keys as follows:
const conseilServer = { url: 'https://conseil-prod.cryptonomic-infra.tech:443', apiKey: 'f86ab59d-d2ea-443b-98e2-6c0785e3de8c', network: 'mainnet' };
For the URL, put in the link to the Conseil Node. We can also make another constant to store the Tezos Node address, so let’s do that now as well.
const tezosNode = “https://tezos-prod.cryptonomic-infra.tech:443”
The ‘conseilServer’ object can now be used to authenticate different Conseil queries, while the ‘tezosNode’ will come in handy for many different on-chain operations.
Now, let’s use the ConseilQuery class to start querying for account balances. We start with a blank query:
let query = conseiljs.ConseilQueryBuilder.blankQuery();
Then, we add on the fields we want to be part of the result set, in this case, the “balance” of the accounts, and their “account_id.” We can add as many fields as we want here, given that they are valid fields, but for now, let’s keep it simple.
query = conseiljs.ConseilQueryBuilder.addFields(query, 'balance', 'account_id');
If we want a specific account, we can add a predicate too, which allows us to query by different conditional operators. This takes in a ConseilOperator enum that we use to send different parameters to the query.
query = conseiljs.ConseilQueryBuilder.addPredicate(query, 'account_id', conseiljs.ConseilOperator.EQ, ["tz1gfArv665EUkSg2ojMBzcbfwuPxAvqPvjo"]);
Here, we are mandating that the account ID of the query is equal to the address given, using ‘conseiljs.ConseilOperator.EQ’. Feel free to replace the address there with your own address! You can find more information about the different ConseilOperators here.
 If we want ordered data, we need to specify which element(s) to order by, and whether it should be ascending or descending with the ConseilSortDirection enum.
query = conseiljs.ConseilQueryBuilder.addOrdering(query, "balance", conseiljs.ConseilSortDirection.DESC);
There is a default limit of 100 rows of output per query. However, this is easy to increase or decrease!
query = conseiljs.ConseilQueryBuilder.setLimit(query, 684);
Now we have a basic query set up for accounts and balances!
let query = conseiljs.ConseilQueryBuilder.blankQuery(); query = conseiljs.ConseilQueryBuilder.addFields(query, 'balance'); query = conseiljs.ConseilQueryBuilder.addFields(query, 'account_id'); query = conseiljs.ConseilQueryBuilder.addOrdering(query, "balance", conseiljs.ConseilSortDirection.DESC); query = conseiljs.ConseilQueryBuilder.setLimit(query, 250);
We can now run this query using the ConseilDataClient, passing in the configuration from Nautilus Cloud, the “entity” that we want to query (in this case, “accounts”), and the query itself. Note that this is an asynchronous function, so it should be in its own async function, and will delay further execution until the query is loaded from the server.
result = await conseiljs.ConseilDataClient.executeEntityQuery(conseilServer, 'tezos', conseilServer.network, 'accounts', query);
In order to make this asynchronous function work, let’s make an async wrapper function for the executeEntityQuery function that will print the results, and return them as well.
let execute = async function(query, entity) { let result = await conseiljs.ConseilDataClient.executeEntityQuery(conseilServer, 'tezos', conseilServer.network, entity, query); console.log(result) return result }
The function returns an array of objects which we can then use for whatever purpose we dream of, such as graphing or running further operations. We can use this function to execute the query as follows:
result = execute(query, "accounts")
Let’s take a step back here to think about what we’re doing. Each operation performed is included in a block on the chain. ConseilJS uses the API provided by Nautilus Cloud to access data indexed by Conseil. The queries that we run are powered by Cryptonomic’s servers that index block data and convert the blockchain into more accessible relational database tables. If this were to be done without ConseilJS, we’d have to connect to a TezosNode directly using the tezos client, and manually define and run all of these operations. This greatly simplifies the Tezos development process!
Accounts are one of many entities. If we want to see different operation details, or even block details, we can simply specify the entity that you want to query in executeEntityQuery and adjust your predicates accordingly (we’re querying the blocks entity next!)
To see all of the different entities and predicates in action, check out Cryptonomic’s own data analytics engine, Arronax! This site acts as a powerful GUI for our Conseil Querying, and runs off of a Conseil and ConseilJS.
The interface allows you to add fields, predicates, and even aggregations with ease. It works not only as a standalone querying tool, but also as a test board for making sure your queries work as intended before running them in ConseilJS.
Here is the complete Accounts Query code that you can play around with yourself!
A common account operation is a delegation, which is essentially choosing a baker and offering them the stake from your tez in return for their baking rewards.
This is the Tezos Liquid Proof of Stake (LPoS) model in action! Instead of a regular proof of stake model, where a user’s baking and voting rights come strictly from the amount of coin that they hold, the LPOS means that a user’s stake is liquid, allowing users to lend their stake to other bakers for a share of the baking profits.
To query bakers that we might want to delegate to, we can query run another Conseil query. There are a number of ways to gauge a baker’s performance, such as their delegated balance (the higher results in a higher likelihood of baking a block), or the number of blocks that a baker has baked. Let’s work with the latter.
The number of blocks a baker has baked is not a property of the “bakers” entity. Instead, we know the baker that baked each block, so we can run a simple query on the “blocks” entity to get our list of bakers.
The first steps should be no puzzle by now, create a blank query, and add the fields we want. In this case, we want the block hash, which will act like a unique identifier for each block, and the baker that produced each block.
let query = conseiljs.ConseilQueryBuilder.blankQuery(); query = conseiljs.ConseilQueryBuilder.addFields(query, 'baker'); query = conseiljs.ConseilQueryBuilder.addFields(query, 'hash');
Then, we can add a predicate for all blocks produced after a certain date. This will make sure our baker data is recent and relevant! You don’t have to add a field to a query if you want it to be in a predicate, so we don’t need to include the timestamp data as a field.
query = conseiljs.ConseilQueryBuilder.addPredicate(query, 'timestamp', conseiljs.ConseilOperator.AFTER, [date]);
Now we can add a new element to the query: the aggregation function. This allows us to aggregate data per unique element in the table: in this case, the block hash. We can set up a counting aggregation function, and apply it to the block hashes. As a result, the query will count all of the block hashes per baker, and create a new row, titled “count_hash.”
query = conseiljs.ConseilQueryBuilder.addAggregationFunction(query, "hash", conseiljs.ConseilFunction.count);
The new row that we have should be sorted, so that we can easily find the baker with the most blocks. So we can add a quick ordering to the “count_hash” table. And finally set a limit of 20, so our data is quickly queried and downloaded.
query = conseiljs.ConseilQueryBuilder.addOrdering(query, "count_hash", conseiljs.ConseilSortDirection.DESC); query = conseiljs.ConseilQueryBuilder.setLimit(query, 20);
Now that we have the query set up, one more familiar line should run it for us. Remember, we’re querying the “blocks” entity, not bakers!
const result = await conseiljs.ConseilDataClient.executeEntityQuery( conseilServer, 'tezos', conseilServer.network, 'blocks', query );
We can also call this in our wrapper function that we defined earlier:
result = execute(query, "blocks")
The output is once again an array of objects:
[{count_hash: "5015", baker: "tz1irJKkXS2DBWkU1NnmFQx1c1L7pbGg4yhk"}, {count_hash: "2268", baker: "tz1gfArv665EUkSg2ojMBzcbfwuPxAvqPvjo"}, {count_hash: "2170", baker: "tz2TSvNTh2epDMhZHrw73nV9piBX7kLZ9K9m"}, {count_hash: "1939", baker: "tz1S8MNvuFEUsWgjHvi3AxibRBf388NhT1q2"}, {count_hash: "1726", baker: "tz3NExpXn9aPNZPorRE4SdjJ2RGrfbJgMAaV"}]
You can find the complete baker query here!
Before we can delegate our stake though, we need to initialize some accounts.
These queries can be used for their own standalone data analysis, or they can be used as the foundations for powerful dapps that interact with the chain and submit different operations. This makes coding a custom wallet app, multipurpose querying and transaction tool, or even your own GUI to a deployed smart contract is much easier with the ConseilJS interface.
The foundations of all of these queries are account operations, such as transferring tez or delegating. If we want to run account operations of our own, we need to set up and activate our own account. Let’s use the Testnet Faucet to get loaded with some XTZ. ConseilJS makes it simple to set up the account (remember to update the keys and URL in the conseilServer object from Mainnet to Testnet!)
const conseilServer = { url: 'https://conseil-dev.cryptonomic-infra.tech:443', apiKey:, network: 'carthagenet' };
We can copy the JSON file we get from the Faucet into our application, and send it to the TezosWalletUtil, using the unlockFundraiserIdentity() function.
const keystore = await TezosWalletUtil.unlockFundraiserIdentity( faucetAccount.mnemonic.join(' '), faucetAccount.email, faucetAccount.password, faucetAccount.pkh );
This returns a keystore object, which contains our public and private key pair that we can use to authenticate many of the different operations we might want to accomplish. But not yet!
After this is done, we need to pass the keystore to another function to activate the account. The TezosNodeWriter can send an activation operation with the keys generated by the Wallet Util. This claims the associated account and allows us to use it and the tez that it stores, and is necessary because these testnet accounts mimic the original Tezos fundraiser accounts, where activation served as a security measure for protecting people’s funds.
const result = await TezosNodeWriter.sendIdentityActivationOperation( tezosNode, keystore, faucetaccount.secret );
We have one more step until we’re good to go! The account revelation “reveals” the account by publishing its public key on the blockchain, allowing other accounts to confirm transactions signed by our account’s public key. It’s another method of the TezosNodeWriter.
const revelationResult = await TezosNodeWriter.sendKeyRevealOperation(tezosNode, keystore);
The full code for activating testnet accounts downloaded from the faucet can be found here!
If you need to work on transactions with real XTZ, ConseilJS can easily create and manage mainnet accounts for you! The process for creating a keystore for a mainnet account is just as simple.
First, we use the TezosWalletUtil function to generate a mnemonic, which is the random assortment of letters you might remember from the faucet. We can use these letters to activate an account, with the TezosWalletUtil’s unlockIdentityWithMnemonic() function.
const mnemonic = TezosWalletUtil.generateMnemonic(); const keystore = await TezosWalletUtil.unlockIdentityWithMnemonic(mnemonic, '');
It’s a good idea to log each of these so your users (or you!) can note these down just in case.
The next step is to reveal the account, the same way that we revealed the faucet generated account. While we don’t have to activate it this time, because this is a brand new account it will be empty, so before we can do anything, we would need to make sure the account has funds. So if you’re just playing around, we recommend using a faucet account for simplicity. Keeping the keys handy, we can now do things like transfer tez, or delegate! So let’s do that.
Let’s delegate to the baker with the most blocks baked, back from the query we had run on bakers. Thanks to the ordering we had applied, the baker with the most bloks is the first object in the list returned to us. Putting all of the tools we’ve learned together, this becomes quite simple using another method of the TezosNodeWriter class.
const result = await conseiljs.TezosNodeWriter.sendDelegationOperation( tezosNode, keystore, keystore.publicKeyHash, result[0].baker, 10000 );
Now all that’s left is to wait for the pay period and collect our fresh tez!
The full code, with testnet account activation, the original baker query, and testnet delegation can be found here!
In order to transfer, you’ll need the keystore of your own account, and the account ID of another account. If you’re on testnet and need an account, just pick one off from Arronax’s testnet accounts page.
From there, transferring funds is really quite simple. The TezosNodeWriter has a sendTransactionOperation() which greatly simplifies the operation. Keep in mind that the amount and fee are measured in micro-tez (µꜩ) .
const result = await TezosNodeWriter.sendTransactionOperation( tezosNode, keystore, ‘Account ID’, amount, fee, ''” ); console.log(`Injected operation group id ${result.operationGroupID}`);
This operation, and all of the other operations we’ve done, is stored in the “result” variable, which contains a few operation details. Unfortunately, Tezos testnet currently has a problem with returning the operation ID. In order to counter this, we have a function that accepts the ID as an input, and returns the proper ID.
function clearRPCOperationGroupHash(hash) { return hash.replace(/\"/g, '').replace(/\n/, ''); }
You can get the correct group ID as follows:
result.operationGroupID = clearRPCOperationGroupHash(result.operationGroupID)
Now that we have the operation ID stored, say we want the gas that the transaction consumed, and its cycle. Let’s start with a blank query.
let query = conseiljs.ConseilQueryBuilder.blankQuery();
And then add the “operation_group_hash”, the “gas_consumed”, and the “cycle” as fields.
query = conseiljs.ConseilQueryBuilder.addFields( query, ‘operation_group_hash', ‘gas_consumed’, ‘cycle’ );
Then, just as we did with the account information query, we can add a predicate to the operation ID, that it must equal the ID returned by our transaction, so we get the details specific to that operation.
query = conseiljs.ConseilQueryBuilder.addPredicate( query, ‘operation_group_hash’, conseiljs.ConseilOperator.EQ, [result.operationGroupID] );
Running this query against the “operations” entity will give us an object with the cycle and consumed gas for our operation.
const result = await conseiljs.ConseilDataClient.executeEntityQuery( conseilServer, 'tezos', conseilServer.network, 'operations', query );
For the whole transaction code, check this out!
That’s all for a quick welcome tour of ConseilJS! If you need help, please feel free to reach out to us via email, or our Riot channels. For more documentation of ConseilJS, check out our docs page here. Good luck!
Coming soon...
Coming very soon!


--- template: example.html title: Device-Orientation example shortdesc: Listen to DeviceOrientation events. docs: > This example shows how to track changes in device orientation. tags: "orientation, openstreetmap" ---
α :
β :
γ :
heading :


The link you entered doesn't lead anywhere.
Missing something? Please send me your suggestions over the Feedback Form.


Atention: The example below needs to be interpolated {{example}} for example. Not allowed to used here on highlight code.
Atention:
{{example}}


We monetize mices!
- benchmark mission-critical communities
- exploit mission-critical ROI
- envisioneer user-centric infomediaries
- iterate best-of-breed communities
- monetize front-end schemas
- empower value-added models
- morph global relationships
- incubate user-centric e-markets
- engage value-added eyeballs
- unleash holistic infrastructures
- optimize B2C functionalities


This is the
Header
section
This is the
Sidebar
Link 1
Link 2
Link 3
This is the
Content
section
Baby panda wants to play!


I will explain scope in the context of functions; When a variable is declared outside of a function e.g.
var food = "chips" function cooking(){}
that variable has GLOBAL scope. This means that the variable's value ("chips") is true both outside and inside of any function. You can change the value of that variable inside of a function by re-declaring it inside the functiom, but if you use it again outside of the function, its value will remain that same as when it was first declared. A variable with LOCAL scope is a varible whose value is true only inside of a function. When you only declare a variable inside a function e.g.
function cooking() { var food = "cake" return food }
that variable will only hold that value ("cake") inside of that function.


<Next version of Ox>
<Previous version of Ox>
Ox: Fixes and new features in version 1.07
New features and remarks, version 1.07
-
Matrix cache enhancements. Ox 1.07 can be up to 3 times faster
than version 1.06. The speed improvement is obtained by optimization
of the run-time engine, and introduction of an internal cache.
The size of the cache can be controlled. To switch off caching,
use -rc0,0 as a command line argument.
-
There are changes in the command line switches, run Ox without source code
to see.
-
New functions: exit, fft,
isdotfeq, lower, limits, vecr,
prodc, prodr, setdiagonal, setlower, setupper,
strlwr, strupper, sumsqrc, sumsqrr, upper.
-
invert() now optionally returns the logarithm of the absolute
determinant, and the sign (not the determinant anymore).
-
determinant() will now print a message if the result is deemed unreliable.
Remaining LU based routines (declu, logdet, invert) can signal
in the return code that the result could be unreliable.
-
Now interpreting m[a] as m[vecr(a)] if a is a matrix.
-
Introduction of dot-relational operators (.|| .&& .!= .== .>= .>
.< .<=). These will al return a matrix of zeros and ones.
The operators without a dot will return the scalar 1 or 0.
Most code will be unaffected, but if you use dot-conditional
expressions, you will have to use the dot-relational operators in it.
-
Rudimentary Gauss to Ox translator.
-
The loadmat() and savemat() functions can now
directly load/save the following file types: PcGive (.in7.bn7),
Excel (.xls, up to version 4), Lotus (wks, wk1), Gauss data (.xht/.dat)
and Gauss matrix (.fmt) files.
These can also be loaded directly into a database.
-
An external declaration can now specify matrix size, e.g:
decl x[5][5] = 1;
-
Introduction of 'How to' chapter.
Fixed bugs in version 1.07
There was a partial rewrite of the run-time engine
(especially matrix indexing and function calling).
-
When assigning x, when x is
const decl x;
at external level, to a class member, the class member would
suddenly become static.
-
Fixed bug in x[][] = , and in |ing from [0][1] matrix.
-
There was a problem with declu when giving a upper triangular
matrix as input (could think it was singular). Changed the
algorithm. Also, returned U didn't have lower triangular part
set to zero.
-
olsc() and olsr() return the wrong (X'X)^-1 matrix (ols2c
and ols2r are correct).
-
simnor.ox works fine in OxRun, but gives out of memory message
in Oxlw. This is caused by the graphics, but I haven't been able to
locate the problem yet.


This tool calculates statistical significance for little experiments.
| Sample | Affected | Conversion Rate | |
|---|---|---|---|
| Group A | |||
| Group B | |||
Just so you know...
89% or less could just be a fluke
90% is pretty good for a rough sense
95% is good enough for academic publishing
99% or higher is awesome
...but this is all assuming you set up the experiment correctly.


We extend services!
- mesh robust methodologies
- empower transparent networks
- aggregate dynamic applications
- recontextualize impactful technologies
- synthesize cross-platform networks
- envisioneer rich channels
- embrace 24/365 networks
- iterate proactive functionalities
- target front-end content
- strategize ubiquitous action-items
- drive mission-critical e-markets
- deliver one-to-one portals
- envisioneer cross-platform synergies


{% extends 'base.html'%} {% import "bootstrap/wtf.html" as wtf %} {%block content%}
To help you get started here's a quote for the moment...
{{ quote.quote }}
~ {{ quote.author }}
{{ blog.body }}
Posted on {{moment(blog.timestamp).format('MMMM Do YYYY, h:mm:ss a')}} by {{blog.user.username}} add comment {% if blog.user == current_user %} Update Delete {% endif %}


Uses of Class
com.opengamma.strata.pricer.DiscountingPaymentPricer
-
Packages that use DiscountingPaymentPricer Package Description com.opengamma.strata.pricer Calculators for financial instruments.com.opengamma.strata.pricer.bond Calculators for bonds.com.opengamma.strata.pricer.capfloor Calculators for Ibor cap-floor.com.opengamma.strata.pricer.cms Calculators for CMS.com.opengamma.strata.pricer.fx Calculators for FX instruments, such as FX forward and FX swap.com.opengamma.strata.pricer.fxopt Calculators for FX options.com.opengamma.strata.pricer.impl.swap Internal implementations of rate swap calculations.com.opengamma.strata.pricer.payment Calculators for payment instruments.com.opengamma.strata.pricer.swaption Calculators for swaptions. -
-
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer
Fields in com.opengamma.strata.pricer declared as DiscountingPaymentPricer Modifier and Type Field Description static DiscountingPaymentPricer
DiscountingPaymentPricer. DEFAULT
Default implementation. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.bond
Constructors in com.opengamma.strata.pricer.bond with parameters of type DiscountingPaymentPricer Constructor Description DiscountingBillTradePricer(DiscountingBillProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.DiscountingFixedCouponBondProductPricer(DiscountingFixedCouponBondPaymentPeriodPricer periodPricer, DiscountingPaymentPricer nominalPricer)
Creates an instance.DiscountingFixedCouponBondTradePricer(DiscountingFixedCouponBondProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.capfloor
Methods in com.opengamma.strata.pricer.capfloor that return DiscountingPaymentPricer Modifier and Type Method Description protected DiscountingPaymentPricer
VolatilityIborCapFloorTradePricer. getPaymentPricer()
Gets the payment pricer.Constructors in com.opengamma.strata.pricer.capfloor with parameters of type DiscountingPaymentPricer Constructor Description BlackIborCapFloorTradePricer(BlackIborCapFloorProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.NormalIborCapFloorTradePricer(NormalIborCapFloorProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.SabrIborCapFloorTradePricer(SabrIborCapFloorProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.VolatilityIborCapFloorTradePricer(VolatilityIborCapFloorProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.cms
Constructors in com.opengamma.strata.pricer.cms with parameters of type DiscountingPaymentPricer Constructor Description DiscountingCmsTradePricer(DiscountingSwapProductPricer swapPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.SabrExtrapolationReplicationCmsTradePricer(SabrExtrapolationReplicationCmsProductPricer cmsProductPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.fx
Constructors in com.opengamma.strata.pricer.fx with parameters of type DiscountingPaymentPricer Constructor Description DiscountingFxSingleProductPricer(DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.fxopt
Constructors in com.opengamma.strata.pricer.fxopt with parameters of type DiscountingPaymentPricer Constructor Description BlackFxSingleBarrierOptionTradePricer(BlackFxSingleBarrierOptionProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.BlackFxVanillaOptionTradePricer(BlackFxVanillaOptionProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.ImpliedTrinomialTreeFxSingleBarrierOptionTradePricer(ImpliedTrinomialTreeFxSingleBarrierOptionProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.VannaVolgaFxVanillaOptionTradePricer(VannaVolgaFxVanillaOptionProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.impl.swap
Constructors in com.opengamma.strata.pricer.impl.swap with parameters of type DiscountingPaymentPricer Constructor Description DiscountingKnownAmountPaymentPeriodPricer(DiscountingPaymentPricer paymentPricer)
Creates an instance.DiscountingNotionalExchangePricer(DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.payment
Methods in com.opengamma.strata.pricer.payment that return DiscountingPaymentPricer Modifier and Type Method Description DiscountingPaymentPricer
DiscountingBulletPaymentTradePricer. getPaymentPricer()
Gets the underlying payment pricer.Constructors in com.opengamma.strata.pricer.payment with parameters of type DiscountingPaymentPricer Constructor Description DiscountingBulletPaymentTradePricer(DiscountingPaymentPricer paymentPricer)
Creates an instance. -
Uses of DiscountingPaymentPricer in com.opengamma.strata.pricer.swaption
Constructors in com.opengamma.strata.pricer.swaption with parameters of type DiscountingPaymentPricer Constructor Description BlackSwaptionTradePricer(BlackSwaptionCashParYieldProductPricer cashParYieldPricer, BlackSwaptionPhysicalProductPricer physicalPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.HullWhiteSwaptionPhysicalProductPricer(DiscountingPaymentPricer paymentPricer)
Creates an instance.NormalSwaptionTradePricer(NormalSwaptionCashParYieldProductPricer cashParYieldPricer, NormalSwaptionPhysicalProductPricer physicalPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.SabrSwaptionTradePricer(SabrSwaptionCashParYieldProductPricer cashParYieldPricer, SabrSwaptionPhysicalProductPricer physicalPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.VolatilitySwaptionTradePricer(VolatilitySwaptionProductPricer productPricer, DiscountingPaymentPricer paymentPricer)
Creates an instance.
-


Segment Form
Segment Form
Enter segment data
Index type
Triangular
Trapezoidal
Third option
Select index type
Initial Velocity
Initial velocity of the segment
Final Velocity
Final Velocity of the segment
Initial Position
Final Position
Initial Time
Final Time


MGCounts
Thing
YouTube
YouTube Subscriber Count (API)
YouTube View/Like/Dislike Count
YouTube Estimated Subscriber Count
YouTube Live Viewers
YouTube Comment Likes
StoryFire
StoryFire Subscriber Counter
StoryFire View/Like/Dislike Count
Fake
Fake Sub Counter
Fake View Counter
Global Clickers
Global Clicker
Global Clicker V2
Global Clicker V3
Global Clicker V4
Global Clicker V5
Discord
Discord Server Member Count
Mee6 XP Counter
Roblox
Roblox User Follower Count
Roblox Group Member Count
Reddit
Reddit Subscriber Count
Twitter
Twitter Follower Count
Geometry Dash
Geometry Dash User Stats
Github
Github Follower Count
COVID
COVID19/Coronavirus Counter
Counter Groups
Dream SMP All Members
Top 100 YouTubers


The Unbearable Lightness of Being
Directed by Philip Kaufman
Written by Philip Kaufman and Jean-Claude Carriere
Based upon the novel by Milan Kundera
Starring Daniel-Day Lewis (The Last of the Mohicans), Juliette Binoche (The English Patient), and Lena Olin (Night Falls on Manhattan)
Produced by Saul Zantz (The English Patient)
As Reviewed by James Brundage
When I first watched The Unbearable Lightness of Being, I was dating a poet who had read and loved the book. Not wanting to involve myself in reading the book at that point, I rented the movie instead. I loved it then and I love it now, but, at this point in time, I can compare it to the novel by Milan Kundera. The two are both vastly similar and vastly different. As an adaptation, it succeeds in transcribing the events of the novel, but does not do as well in successfully demonstrating its points.
The Unbearable Lightness of Being focuses on Tomas (Daniel-Day Lewis), a Don Juanist terrified of commitment and a surgeon at a Prague hospital. He is trapped between his platonic and semi-erotic love of Teresa (Academy Award winner Juliette Binoche), a photographer and his wife and a erotic and semi-platonic love of Sabina (Lena Olin), a painter and his mistress.
 Sabina, on the other hand, is having to deal with her very first tinges of jealousy as the only man she may have ever truly loved is now obviously in love with another woman.
As a necessary subtext, this occurs at the same time as the occupation of Czechoslovakia by the Soviet Union.
This is where the book and the movie, a perfect joined atom before, begin their fission. In the book, a major point was a philosophical protest to the occupation of Czechoslovakia, to the point where the book devotes some one hundred pages entirely on this subject. In the movie, it is a subtext and a backdrop. The few times that it does appear, it does a cameo.
Those cameos, on the other hand, are so powerful in their own respects that they would be academy-award cameos. One such is a magnificent black and white re-creation of the invasion of Czechoslovakia, which is packed with all of the emotional content that the one hundred pages of the book could muster and more. Kudos to Walter Murch, the cinematographer of the film.
Following the invasion, Sabina, Tomas, and Teresa emigrate to Geneva, Switzerland, where they end up in the same predicament that they were in at the beginning of the film.
Returning to the part of the story that the film harks on, The Unbearable Lightness of Being is successfully able to ponder: polygamy or monogamy? It also, despite numerous sex scenes and adulterous encounters, paints more poignantly than any other film the damage that Tomas' "lightness of being" (polygamy) does to a faithful person.
Teresa loves Tomas enough, however, not to try to change him. Instead, she herself attempts to experience this "lightness of being", trying modeling for nude photographs by and taking nude photographs of Sabina and a very unsuccessful adultery with an Engineer.
Teresa is unable, of course, to feel this lightness, and instead is only faced with an increasing sadness as she fails again and again. The sadness is perfectly transmitted to the screen thanks to Juliette Binoche's performance. She was, is, and forever will be one of the actresses that does good in any role.
This is not a date movie. The question laid unto the viewer is too heavy for a couple in the early stages of their relationship to ponder. Nor is it what the other critics say: "The most openly sexual American film in ages." (Rolling Stone). Sex was used to advertise it, and, although it plays a major role, the movie and the book are both about love, not sex.
As far as the adaptation goes on other methods, there are several things left out. Teresa's family, mentioned extensively in the book, is brought up only once in the movie. Sabina's affair with a man named Franz is a quick event in the movie, but a major plot of the book. Also, the desire to protest towards freedom is more focused on in the novel.
This is a movie for those few willing to accept the challenge of an intellectually stimulating film with a long running time, difficult philosophical questions, literary references, and political means and motives. If you can deal with that, which I KNOW is a lot to ask, then please pick it up. Please enjoy this film. And, should you enjoy the film, please read the book.
Neither will disappoint.
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


migraine patients headache Headache study treatment (.) University chronic Department days pain clinical Correspondence: Migraine baseline compared mean associated episodic number frequency medication data placebo preventive response Neurology, acute monthly studies Italy; efficacy migraine. analysis aura primary attacks patient Neurology higher Medical age months significant using headaches patients. reported use Patients USA; years reduction group received significantly (%) Results: disability used Clinical included Hospital, .±. Health symptoms Results galcanezumab Center, []. results Medicine, Methods: change erenumab vs. Research approved (.%) high according brain month showed subjects migraine, (abstract effect headache. average different overuse Italy criteria diagnosis new risk therapy period Ethics Hospital based population total International Sciences, Pain daily study. (., attack observed present prior reduced role Chronic changes disease fremanezumab Background: Rome, USA CGRP P). duration greater patients, time Teva disorders effective headache, Background factors increase Unit, University, common history increased <. Methods groups related secondary treated Center hours including onset performed score European References approval severity treatment. Centre, conducted versus Classification prevalence differences management randomized did drug trigeminal days, dose effects pediatric (n=) Novartis association children obtained stimulation Conclusion: Institute Lilly School levels lower phase Table characteristics impact nerve safety Department, cluster enrolled -week Conclusions: Copenhagen, evaluate rate Eli MOH aim assess burden cortical evidence improvement (-., intensity migraineurs possible presence research specific < Mean following health migraine: neurological severe similar type MRI assessed diagnosed diagnostic disorder findings .%, Conclusions depression double-blind, quality pressure previous sleep activity care follow-up important mechanisms participants presented central demonstrated life prophylactic therapeutic underwent Data ICHD- Week consent overall receptor scores years, Month NCT Study evaluated events medical review stroke survey work .%; Fig. calcitonin day drugs > Committee However, Neurological UK; antibody blood controls failed general model outcome peptide potential -.) MIDAS cerebral healthy individuals nVNS outcomes proportion treatment, women (.% New Spain; and/or attributed case cervical considered current electroCore, gene-related prevention symptom Allergan Clinic, Maria control defined identified measures test Conclusion Faculty Glostrup, TTH completed features previously rates trial Danish Erenumab London, Pavia, better difference early frequent low p=.). psychiatric quarterly relationship shown suggest visual (CM) (N=) Ashina IRCCS Medicine adverse anxiety developed double-blind monoclonal order placebo-controlled population. seen NDPH OnabotulinumtoxinA Science cause having impairment methods period. randomized, reductions relevant study, treatments week (%), (OR (Table Centre College National PBO Phase activation active analyses female followed incidence injection onabotulinumtoxinA physical vascular CA, Group Pharmaceuticals, adults aged aimed baseline, cases head intake level likely moderate normal percentage statistically weeks year (SD) (p<.). .). Cephalalgia Rigshospitalet affected characterized correlation does effectiveness imaging investigate local prospective (p=.). Brain Denmark Pharmaceuticals. Weeks body collected fees functional information main medications neck provided range right sample standard Germany; Health, Pharma Primary Turkey; allodynia aura. available fully involved long-term national negative open-label peripheral provide referred Basel, EVOLVE- decreased intracranial large odds respectively. site support (.%), CM. Disorders HIT- Italian Objective: Society United decrease detoxification development investigated multiple placebo, receive refractory responders sensory tertiary therapies trials triptans (Fig. Jan consecutive direct healthcare lack photophobia report suffering (/) -month AG, Denmark; Efficacy MMD Neuroscience, Questionnaire Sapienza Sciences Unit cognitive consumption controls. determine doses improved independent measured mild nausea need prophylaxis protocol recent respondents years. (.%). ;:-. AEs BMI Dr. Emergency Foundation, Moreover, Pain. Pennsylvania, abnormal analyzed class clinically economic headaches. migrainous pain. persistent respectively, single studies. subcutaneous symptomatic tolerability trigger (mean Cephalalgia. MHDs NHS RESULTS: Treatment additional administered combined comorbidity estimated ethics experienced identify induced initial institutional literature matter months, oral p-value people pharmacological positive reducing regression values visits years) –.±. (SE) (−., Barcelona, Board Company, Foundation Introduction Lipton Materials Messoud Neuroscience Research, Spain combination comorbid controlled cortex dosing evaluation factor hospital human long monthly: months. occurrence p<.). parameters poor practice productivity recorded second studies, tension-type version CSD David PRESTO San Silberstein TrPs aura, concomitant condition employee examination individual magnetic meningeal min p=.) pituitary profile psychological questionnaire recruited revealed serum types vestibular vitamin weekly (p<.) .), Disability Federation France; LLC; METHODS: Mayo Medication Paolo Professor, RCVS Regional Review [-] administration age, attacks, benefit center conditions costs cranial described disorders. especially excitability groups. headache: increasing ischemic known mg, minutes objective outpatient particularly pathophysiology placebo. receives showing suffer systematic term -mg BoNT-A Change Child Disorders, Dodick Inc., Inc.; Indianapolis, King’s LLC, Laura Martelletti PFO Stephen Trust, [,]. achieving causes cohort cost determined frequently grants habituation infusion left male matched mechanism occur pain, protein receiving relation retinal spinal studied subgroup syndrome tension times triptan unilateral visit {border-style >% (EM) (quarterly: ,±, American Amgen Belgium; Cristina DNA EVOLVE-, Francesca Introduction: Jefferson Neurol P<.) Pediatric Peter abnormalities absence admitted adolescents adult analgesics analysis. bilateral compare family gene genetic group. humanized hypertension indicate indirect longer loss mainly measure models neurons occipital occurred points randomised recurrent selected social statistical treat useful withdrawal (): Berlin, CSF Company; Florence, Global Group, Institute, Joshua Mondino PREEMPT Tassorelli Turin, achieved animal appropriate area arteries attacks. disorders, edition form frequency, highly images improve key medication. migraine-specific motor multicenter, non-invasive online options pathophysiological period, preliminary prevalent program px;} repeated respectively). resulted sTMS sensitivity sensitization small started status subgroups suggesting terms underlying various working worse −.) #ffffff;} (%). (p=.) .-. Acute Assessment CM, CONCLUSIONS: Carlo Fremanezumab Furthermore, Goadsby Informed Madrid, Scale THC-CBD Trial Vall Vincenzo [.]; able advisory analgesic applied assessment attack. brainstem cells criteria. cross-sectional dedicated differ disability. episodes expression external function good guidelines headaches, help influence informed lasmiditan major nasal older p<.) painful play prescribed provides puncture responses screening selectively supported therapy. trigeminovascular value white (MOH) -day Aurora Baseline Birmingham, CDH Coppola Division Elena Frazer, Gianluca Headache. Norwegian OnabotA Phoenix, Results. Secondary Sheena Switzerland addition, affect approach attention cardiovascular cerebrospinal comparison complete confirmed consistent countries course days/month della experience exposure failure females health-care hoc interventions isolated lead leading lumbar mixed mutation nICP personal phonophobia proposed published ratio remaining remains represent scale series shows suggested sustained tests treatments. upper variables volume years; (.-.) (CGRP), .%. Allergan, Anne Cerebral Curr Diener Drug Eric Ethical Experimental HDs Michael O). P=.) P=.; PACAP Safety TIA Thomas Universitario Vitamin access assigned continued days. disability, disease. disorder. end fluid focus follow forms honoraria included. inflammatory like limited medication-overuse mg) neuralgia old onset, osmophobia participation pattern platform post real red sponsored spontaneous stock taken targets treating usually vagus written young (μm) -.; -.;-. .%b :-. ;():-. Albert Approval Centro Cohen Einstein Francesco Giorgio ICHD IIH Impact Inc. Ltd. MA, MSQ Neurol. Neurosurgery, OBJECTIVE: Objectives Onabotulinumtoxin Overall, Paul References: Regarding Robert Sacco Switzerland; Universidad Zhang age. altered artery causing classification confidence consultancy correlate criterion data, days). disabling diseases dysfunction emotional fulfilled global highest hypersensitivity increases index indicated induce injury leads learning multivariate networks neuronal observational onabotA open p=.), past population, possibly post-hoc predictors reduces region represents resource set spreading subgroups. sufferers superior symptoms. system. temporal tryptophan venous vomiting women, (CGRP) (CM). (n=), -item -year Associated Association Aura BACKGROUND: Based Behavioral Brighina CM: Clinic Consent Depression Effect Employee FHM Federico Galcanezumab General Grazzi Headache, Here, Institutional MMDs Marco Migraine-Specific Molecular Number OLE Ospedale Overuse Patient Pharmaceutical Philadelphia, REGAIN Training Trondheim, World York, action activities analysis, approximately areas arterial autonomic board boards, caused committees comorbidities correlated degree demographic divided epilepsy evoked fewer final given groups, hormonal include interaction investigator knowledge latent lost maintained majority network occurring occurs overuse. p<.), pension performance physician physicians placebo-controlled, progression pulse receptors registered required resonance responder retrospective sham stratified structured substantial suggests sumatriptan target time. tool tract transient traumatic trochlear use, variable vomiting, weight worsening yawning (). (IgGa) (NCT) (beta (–.±. .%) APPROVAL ASL Academy According Age Allergan; Analyses Antonio Barbara Burden CGRP, CI: Changes Clínico Daniel Declaration Department. Diagnostic ETHICS HFEM Headaches IN, IRCCS, Intracranial Istanbul Istituto LSM London Lorenzo L’Aquila, MSMD Milan, NY, Neurophysiology Neurosciences, Nice, Norway Norway; Oaks, P<.). Palermo, Palermo; Paola Public REGISTRATION: Raieli Ronghua S.p.A.; School, Service Sleep States TRIAL Test Thousand Using account age: and, asked auras characterize chronification classified clinic committee complex cost-effectiveness data. days; develop developing discontinuation drugs. dural eligible emergency endogenous environmental evaluating features. follow-up. frontal funded groups: heart illicit induction inflammation inhibition inhibitory injections intensity, international intervention lasting later layer mass means men metacognitive methylation middle mitochondrial monitoring month, mood needed needs neural neurologists neuropathic pain/tension pathways patient-reported patient. phenotype plc, position practice, processing project prospective, publish randomly rare regulations. restricted resulting service session site. subjects. symptoms, threshold widely worldwide Week <% <.) (EM: (p=.), (range ,,, ,±,; ADA Anna Autonomic Bambino Birmingham Bronx, CLUB Children ClinicalTrials.gov, Cluster Current Day Discussion Discussion: EEG Facility, Fremanezumab, G., Internal Italy. JBOARD Jensen Laboratory Marina Michel Mikol NIHR-Wellcome Netherlands; Novartis; Palermo Paula Pharmaceuticals Quality Queen Raffaele STPP Science, Simona Stewart TREX TTH. Tehran, Tension Trust Università [.] ability adherence appears aspects associations blinded calculated called centre childhood commonly confirm continuous cutaneous deficiency design designed diary difficult excessive experimental extension factors. free group, high-frequency ibuprofen interactions interictal internal logistic median medicine members month. non-responders particular pathogenesis patients’ peak phases pilot point pooled presenting provider publication: randomised, recognized registration: remained reported. respectively response. result retrospectively routine safe scan seizure sickness specificity stimuli suffered testing topiramate trauma understand unmet users women. younger İstanbul, (.±. (EVOLVE-) (IHS). AG; AZ, Acknowledgements Analysis Arizona, Average Bologna, Campus Care ClinicalTrials.gov Conclusions. DAs Disclosures: Disease Episodic Europe Food Funding Germany, Giorgia Grazia Guidelines Hanover, Hospitals Irvine, Liebler Lifting Long-term MHD MMA MMD, MOH. Mental Methods. Modena NCT, Objective PPG Pamela Piero Reggio Response Reuter Richard S.p.A. Samuela Technology, Three-month Uwe Yang [], activity. added allow analysed application beta biomarker carried consensus conventional cycle del demonstrate dependence depressive dietary digital disease, distinct dura electronic epidemiological equally evolution exercise explain explore explored female, focal gender half however, investigation items kind linear macular males manage manual marker meaningful medication, menstrual mg: model, model. month) motion n=; neurophysiological origin overuse, overweight p<. pain: paracetamol participated patients) patients: perception phonophobia, positively potentially practice. prednisone preferred probably processes propranolol prospectively reduce release remission require respect respiratory scans school scientific short specifically start state structures technique therapy, thickness tissue travel understanding van visit= –.±., >= ():-. (T) (TTH<EMAIL_ADDRESS>(nVNS) (p=.); (–. .%), .%). .-.) .±., Additionally, Aim Akershus Alberto Alder Ann Anxiety Applied Baseline= Boston, Brussels, Buse CI, CVST Cefalee Cefaly® Charité Cherubino Chiara Claudia Dublin, EM, Emilia, Feng Following Galca Germany Hcy Helsinki Human ICHD-III ID-CM ITT Idiopathic Industries January June Klatt LFEM M-ICHD MHDs/month MSMD, Massimiliano Migraine: Ministry Modena, Netherlands Neurosciences OSA Olesen Osman Pareja Pellesi Pierelli Placebo Policlinico Post Prevention Psychiatric Quality-of-Life Roma, Rome Scientific Services Site Statistical Steiner TPM TTH, Tehran Tepper Tommaso Torre Total USA, Unit. Universitätsmedizin Valladolid, Virginia Voice Work Yalın Yeung abortive affects alcohol alterations amitriptyline amplitude anti-CGRP antibodies appear approaches available. baseline. cannabinoids care. carriers case-control cell cerebellum comparing conditions. consider consisted consists controls, department depression, depression. diagnosis. disabilities discontinued disturbances dorsal edition. education efficacy. endpoint epigenetic examine examined expressed facial facilitation factors, fiber flags follow-up, future generalized generally hand, hormones hours, hypothesis includes indicates intent-to-treat interval, involvement laboratory life. making medications. method migraine-like modified monthly, muscle musculoskeletal nervous nociceptive non-missing normal. numerous observation onset. optimal option perfusion perspective, photophobia, post-traumatic posterior preceding predict prescription presentation proper questionnaires recently reflect reports responded responsible results. score, screener selective sessions severity, sham-controlled significance skin stressful supports surgical survey. systems systems. therapies. transcranial triggers use. volunteers were: wide years). Change <.). (< (.%)pts, (.%, (.), (AEs) (EVOLVE-); (IS), (N=), (age (all (mean±SEM: (n= (n=, (p<.), (quarterly (with -week, Allodynia Andrew Background. Barbanti Bigal Biomedicine CALCA CBT CM-MO CTE California, Catanzaro, Children’s Clin Compostela, Cortical D., DW, EVOLVE-) Effects Ellipse Ernesto Evans GMB_mg: Giulia Giuseppe GmbH; Group-, HRU Healthcare IIH. Imaging Index Irimia Israel Italy, LCD LLC. Laboratories, Lars Left, Leiden Licia Life MD, MIGRAINE MacGregor Management March Material Medical, Mersin Monthly N=; NADPH Neurologia, Neurosonology Nomigren® Objectives: Oslo, P<.), PA, PAG PRO PTCH Pistoia Polo Pozo-Rosich Pozzilli Prevalence RCTs Reed Reference Right, Romina Ruiz SISC Santa Santiago Score September Silvia Simon Step Stroke Summary Surgical Symptoms TRPA Transcranial Turkey VAS Valeriani Wang accordance acid algorithm allodynia. amitriptyline, analyze aortic attack, aura: baseline; binds blocks carotid cases. characteristic characteristics, children. circumference clinics close code comparisons complained compliance concept contraceptives cord cortex. criteria, currently days/month) description device diet differential diffusion directly disorder, dissection documented domain duration, dysfunctions d’Hebron education, electrical essential estimate ethical evaluated. event executive exhibited exists expected experts explained fat females, financial flow food functioning galcanezumab, galcanezumab-treated ganglion gender, headache-related hemiplegic hypotension idiopathic implicated implications improvements indicating infection, interval lived localization magnesium males, management. mechanical metabolic million molecular necessary neuroimaging neurologic nociceptors novel nutraceuticals p=., pain-free parents participate plasma post-baseline post-treatment principal process prognosis progressive px; question questions ranging rates, reactivity recall recommended reference regarding regions relationships reliable remain resolution reveal reversible reviewed safety, setting sham, specialist stable steroid stop structural subject subjective subsequent successful sufficient supplement them, therapies, thrombosis toxin training unique utility world yielded {font-family Özgür (CH) (EVOLVE- (HIT-) (NCT). (PBO) (Spearman (T: (for (n=). (nVNS, -). -mg=.; .%a /). ;:. ARNAS Abuse Adverse Again, Altamura Amgen, Amgen; Angela Annik BTX-A Basking Blumenfeld Body Brandes CH, Case Clinico Comorbidities Company DBF December EHF ESA Elisa Elizabeth Evaluation External F., Ferrari Filippo Finally, García-Azorín Gaul Geppetti German Group. Groups: HIT Headache: ISR-AEs IT-EC-ID Interestingly, Iran; Ireland, Jes Kingdom; LJ, LP-ICP Lanfranco Lanteri-Minet Latina, Leiden, ML, MTBI Magna Manack Manjit Matharu Mersin, Michela Movement MwA MwoA NCT) NH, NHWS NRS NRX Neck Neurologia Neurology. North Outcomes Overall Oxford PACNS Papetti Paris, Parisi Pearlman Pfizer Physical Pierangeli Pontino, Preventive Prof. RB, RESULTS Rep. Ridge, Roberto Russo S., SAMURAI Sabrina Salvatore Sances Sarah Schoenen Schwedt Scienze Society, Spanish State Sumatriptan Systems TMS TOT Therapeutic Therapy Thus, Timothy Type Visual [-]. abuse acting activate adequate allowed angiography annual anterior applicability areas. assessments assuming available, behalf behavioral block cases, causal cephalic characteristics. collaboration comparable connectivity consent. consequence considering consultant contribute correlates cycles decision define delle department, descriptive detected diagnose discussed diseases, distance domains dosage dropout dynamic efficacy, endpoints entire epidural error established exception excitatory exogenous experiences false far feasibility features, filled firing font-size foods freedom full-time functioning, grade guidelines. hallodynia highlighted highlights importance improvement. included: increasingly infection interviews intracortical involving it. item limit link literature. living location lowest make marked maximal measurements measures. migraine/probable minor missed month), mutations nausea, nicotine non noted options. outside ownership parallel-group participants. pathology pathway peptides periventricular pharmaceutical pivotal placebo) placebo: plant plasticity plus population-based populations pre-existing predictive prevention. problem programs promising proportions protective rapid rarely ratios real-world reason recurrence refer referring regardless region. relative relevance rescue response, samples sensitive serotonin services severity. short-term societal starting stiffness stimulations structure survey, susceptibility system, tDCS targeting techniques test. tested text tightening time, transmission treatments, triggered triptans. typical university unknown. validated vaping variability vasoconstriction vasodilation version). vertigo way weak Baseline –.±.; (> (-), (CI (ClinicalTrials.gov, (ICHD- (MIDAS), (Spearman’s (at (from (higher (i.e., (including (number (p< (range: (reduction (–) (−. ,±,%, .-., ;():–. A., ANOVA APOE Activity Athens, Aubrey Audrey Aurastop Aurora, Aycardi Belgium Beth Biomedical Biotechnologies, Biotechnology, Board, Bono Botox CI) COMPEL CONCLUSION: CSD. Campos Carlos, Carolei Cerrahpasa Cevoli Cheng Clínica Compared Craven Cutaneous César DC, Dawn Deaconess Demonte Dept. Derya Despite Diagnosis Dietetics, Dipartimento Domenico Don Donna Duisburg-Essen, Dumas Dustin EBP Early Economics Epidemiology, Eur Europe, February Fernández-de-las-Peñas Fierro Fondazione Further, Future G.B. Giovanni Good Graecia Granato Guy’s HRQoL Hans-Christoph Harvard Head Health. ICHD-, IDAP Injection Investigación Iranian Istanbul, James Jeffrey Jersey, Jessica Katsarava Key King's Literature Liège, Louise Luca M., MEDICAL METHODS MO, MRMHDs Main Matteo Med Medico-Surgical Meeting Messina Michele Migraine, Mitsikostas Mollan NCT). NJ, NR- NSAIDs Nasal Nerve Nevertheless, Novartis, November Nutrition OBJECTIVES: Occipital October Oral Organization P=.). PAC PBO: PDH PHQ- PTC Participants Petolicchio Pharma; Pharmaceuticals; Pharmacology, Physicians Positive Pressing Previous Princiotta Productivity Prophylactic Psychiatry Psychology, QOL Rainero Rapisarda Rasmussen Reductions Registration: Rehabilitation Responders RoI Rotterdam, Russell SIH SPARTAN STRIVE Sara Section Serum Significant Similarly, Social Spain, Square, Stauffer Stovner Sunfa TAWH TIA. Tarantino Teva, The Throbbing Todd Traitement Trigeminal Turkish Universitari Uzuner Vascular Vision WB, WMH White Yes, Yuju abstract acceptable accompanying act actions addiction addition adjusted admittance alexithymia alternative anthropometric anti-allodynic applying assumed avoid basilar behaviour benefits best biological both, botulinum bout brain. cells, cervicogenic channels chapter child chronic) cingulate clear clemastine clinical, coherence collection company component compound consistently consulting contributed conversion coronary correlations corresponding cortex, countries, critical cumulative date day. delivered despite detection diagnoses diagnosis, distributed dizziness dopaminergic dose. double; drug. duration. eTNS effective. effects. efficacious efficient electrophysiological employees entered error]: excluded exertion expenditure expert exposed familial fatty feature flash form, generic genomic glucose goal great growing heterogeneous home hours. hypertension. identification immediately incidence, inclusion index, inhibits injuries innovative input intake. interests iron language late led life, likelihood line little localized maintenance male, medications, mentioned met mg), mg; modulation molecules month). months) months). movements multidisciplinary muscles natural negatively neuralgia, neurology notice? nuclei nucleus observations occupational ongoing opinion outcomes, ovarian ownership. parent parietal patent patient, patient’s patterns perceived percent percentages peripapillary persons pharmacy phase. phenomena plays politicians premonitory prevalence, preventing problems procedures productive prognostic prolonged providing psychotherapy questionnaires. quintile rat rate, real-life reasons records regimens reliability relief respectively) scores, scores. selection seven signs simultaneously sites sites. smokers socio-demographic sociodemographic software status, step strategies strategy stress strictly strong studies; subcutaneously subset supine supplementation supraorbital suspected taking technology them. thought thresholds thrombophilic thunderclap tomography trauma. traumas trial. trials. two-year typically univariate utilization velocity verify vessel visit, vital woman year. years), - €,. (), (,%). (-). (.); (::) (CSD) (FFQ) (MA) (MIDAS) (MO) (MRI) (MSMD), (OR=., (Phase (SD (VHIR), (both<EMAIL_ADDRESS><EMAIL_ADDRESS>(in (nVNS; (see (the (≥% -hour -hydroxyvitamin -year-old .%c .-.%). .-.). .]; .±.; AMY APOA ASST ATP Aalborg Action, Adams Africa, Alder, Ali America, Amitriptyline Annette Annual Appointment Area Associate Associations, Atlas B., Baraldi Bari Bari, Basic Belgrade, Benemei BiTox Bietti Bio-Medico Biohaven, Biostatistics Board. Boehringer Bosnia British Burstein Bussone CaMEO Cannabinoids Carboni Catanzaro Centre. Christian Città Civico Class Cochrane Cognitive Combined Commission Communications, Complete Conclusion. Congress Consortium Corporation, Correlation Cosentino Council Critical Curelator DBP Dalla Dartmouth, Della Diamond Different Discussion. Division, Douleur, Ducros Duration Département EHF; EM. East Education, Epilepsy Erasmus Essen, Fabrizio Fink Fiorin Fitzgerald Follow-up Ford France France, GFK, GON-B Galcanezumab, Geisel Germany. GfK Greco Greece Greece; Guerrero Guerzoni Guidetti Hashmat HealthSOAF Heart Henrik Hospitalo-Universitaire IHS ISDN Impairment Intractable Ireland; Irene Isabel Janet Jean Jennifer Juan Jul;():-. Kharkiv Kristen L., LCP Lambru Lampl Leeds Leicester, Leonardi ME, MHDs/ MOH, MPFID-PI MRI, MTT Mainardi Maja Mansoureh Marchese Martin Metabolic Method: Milano; Moscow, Nappi Navarra, Neuroimaging Neurologic Neurologist Neurologists Neuromedicine Neuromodulation Neurophthalmology, Neurophysiology, Neuropsichiatry Non Non-invasive Nummular Outcome Outpatient P<. P<.; PCA PFO. PREMIUM PRES PREVA Padova, Padua, Parameter Participants’ Patricia Pavia; People Persistent Perugia, Pharma, Pini Practice Prakash Pucci Puma Quintana RCVS, RCVS. REGAIN, Rachel Radiology, Ramirez Rebeca Rebecchi Region Retinal Rey Ribbe Rigmor Risk Roberta Roma Royal Russia; S-L Sarchielli Schytz Scottsdale, Services, Severity Silva-Néto Society. Sophie Specific Spontaneous Springer Stabbing Stefano Stella Stephanie Studies Study. Sweden Symptom TCZ TJ, Tanacethum Teresa Thomas’ Time Tinelli Tirana, Togha Trieste, UOC Uludüz Universitat VEP VIP Valencia, Valentina Vangaa Vedanta Verena Vernieri Veruska Vestibular Viana Viganò Vos WML WPAI Walsh West Zanchin [,,]. [., [.], [n=], aPLs accompanied achieve acutely administration, admission affinity ages aims allodynia, allows alter angle anonymity antagonist apnea appeared appendix attacks/week; attended attending balance basal basic beginning billion biomarkers boards border-color border-width brain, burden. captured carbohydrate case, category centers cephalalgic cerebellar cerebrovascular challenging children, chronification. clinic. clinicians comparative comprised concentrations, concerning confidentially consequences consulted contributions control. covariance crucial cytokines debilitating decade deficit definite den detect development. disclose. discuss disruption double drugs, d’Evaluation eCH educational efficiency elevated employed encourage enrolled. establish estimates estrogen etiology events. evidence-based exacerbation exploratory extracellular extremely fact failures fees, female. field finding flashes fluctuations fold foramen frequency. fulfilling funding gain galcanezumab. ganglia genes glial globally glycemic gold gray handled history, hyperintensities hypothalamic immune impairment, improving inflammation, inflammation. influenced infusion. inner insomnia instrument intake, integrated interim intervals intravenous involves ipsilateral itself larger largest layer, layers lecture level. levels. light limb loading located longitudinal low, macrophages marital markers mast matching max maximum measurement mediators metabolism migraine; migraine? migraines migraineurs. moderate/severe moderately modulating movement multicenter nerves neurogenic neurologist neurons. neurosarcoidosis neurostimulation nosographic not. nuclear nummular occurrence, ocular ones opportunity organizations. originate overused p>.). p<,). panels paroxysmal particular, pathogenetic periods perivascular persistence perspectives pharmacist phase, phone postural potentials practical pre-injury predicted predicting predictor pretreatment primarily probability processed production profiles program. propensity protocol. providers publications purposes. quantitative quarterly, questionnaire. random ranged rated reached recording regards repetitive representing reproductive requires resources respond results, return reverted rho=., rotation run-in saline scales screened search self-administered self-reported separate separation setting. sex sex, share sick signal signs, similarities sinus size slight slightly so-called solid; sought source specialists. standardized starts stepwise stimulation. stocks. stopped stroke, studying subarachnoid subjects, substance subtypes susceptible symptom: tDCS-Group tablet targeted tend tenderness test, tests, tests. tissues, took treatment-emergent trend trials, type. ultrasound uncontrolled unknown unremitting usual validation validity valproate value; varied visits, vivo waves weeks. well. withdrawal. x-min year, {font-style {font-weight Average Difference −.; ≥%, "C. "Overweight" %), &; <.); (,%) (.%; (.). (..), (BMI) (BioNeC), (Botox®) (CM), (CM: (EBC) (EHF) (EM). (ICHD-) (Investigator), (MIDAS (MOH). (Migraine (NCT (NDPH) (NRS (PEA) (Study (Suppl (V<EMAIL_ADDRESS>(frequency, (group (n=; (on (onabotA<EMAIL_ADDRESS><EMAIL_ADDRESS>(quarterly, (r=., (sTMS<EMAIL_ADDRESS>(two (years) -), -,; -months -point -second -times .(.) .±.SD :–. ;():. ;:- ;:–. ADM_ AE, AIM-D AM, Aalborg, Abbreviations: Abnormal Administration Aires, Al-Karagholi Alba, Alcorcón, Alessandra Alessandro Alexithymia Algology Alliance, Almirall, Also, Ambrosini Ameri Ana Andrea Andreou Anesthesia, Angelo April Arbor, Asia Attack Australia; Avanir Avanir, Aynur BACKGROUND BID Battan Battan, Begasse Bendtsen Benhaddi Besta" BioPharmaceuticals Bonferroni Boston Box Brescia, Brunelli, Brusa Budapest, Buenos Burden. CADASIL CGRP. CHRONIC CM-MOH CONCLUSIONS CPH Cambridge Canada, Capital Cariddi, Carles Carmela Casper Castaldo Catholic Cecchi, Cefalee, Center. Characteristics Charly Chi-square Christensen Cinzia City, Columbia Controls Conversely, Correpondence: Cowan Cox Criteria Czech DADO DDIs DTI Daily Database Demographic Deparment Departamento Departments Dependence Diary Dip. Diseases Disorder Dominguez Doppler Dresden, ETT Economic Effectiveness ElectroCore Eleonora Elisabetta Emil England Epidemiology Ertsey Evangelista Exposure-adjusted FAAH FFTx FFTy Facial Factors Family Female: Fisioterapia, Florence Foundation. Frequency Functional GAD- GMB_mg Gabriella Gambardella Gentile Gesù Ghanizada Ghiotto Ghorbani Given Group-: HCP Hansen Hemicrania Herzegovina; Hicham High History Hormonal Hormosan Hôpital ICA ICHD-II ID-M III Iannacchero Icco Incidence Independent India Individuals Informatics, Innocenzo Innsbruck, Institutes JA. Jahromi Javier Joan Jones Joseph K.-Laflamme KDs Kantar Keywords: Khan Lancet Lenght Levi Linde Lisotto Liverpool, Lloyd Location Logistic London; Lucia Luise Lørenskog; MCA MDX MHDs, MPFID-EA MRA MRI. MSQ-EF MSQ-RFR Magis Magnetic Male: Marcelo Mark María Massachusetts Massachusetts, Matilde Matter McAllister Med. Medicina Mehmet Meningeal Mia Michigan, Minen Moavero Moavero, Mohammad Mona Montefiore Months Multiple Munich, Musculoskeletal NOM-S Nashville Nashville, Negro Network Neurologiche Nicoletta Nicolodi OLE, ONS OSA. Occupational Ocupacional, Onset Open Organs, Orsay, Oslo Osmophobia P<., P., P.O. P=. PA. PAs PCS PEA PGA PT: Pablo Paolucci, Papetti, Parthenium, Past Patent Perfusion Peripapillary Personal Pfizer, Physiology, Pilati Pisana, Possible Post-hoc Practice, Prague Prague, Presentation Project Prospective Qualitative Rating Razeghi Recent Recurrent Rehabilitación Report Republic; Rho= Ricci Right Rigshospitalet, Rigshospitalet-Glostrup, RoM Robbins Rosaria Rosario Rosich Rossi Rozen Rubino Ruff, Russia, SAE SAFA-D SCP SHSs SICI SK, SSDI Saint Salute Samaira Sandoval Sanitaria Scott Searches Semmelweis Sensory Serrano Service, Servicio Seven Sex Sforza Sham-Group Silver Similar Simmaco Sinclair Single Sonia Soodeh Southern Spain. Spreading St. Stanford States; Stockholm, Straube Stroke.


What is left when a cone or pyramid has its top sliced off.
Often the slice has been made parallel to the base of the cone or pyramid.
Many household items are frusta of particular solids.
Yoghurt pots are frusta of cones.
Some sweet containers are frusta of pyramids.
The spelling frustum is more usually considered to be correct today, although frustrum is still widely used, particularly when making the plural - frustra.


{% extends "base.html" %} {% load url from future %} {% block title %} Weekly FMC - Archives {% endblock %} {% block content %}
No scrambles have been posted.


[gecode-users] propagation consistency of count (single value) constraint
Kish Shen
kisshen at cisco.com
Thu Aug 27 17:48:02 CEST 2015
As a follow up to my previous post on this, then from the reference
documentation, for
count(home, x, y, IRT_EQ, z)
where y and z are int, then there is only one consistency level
supported, and it is not domain consistent.
We have a rostering program (originally written for our ic solvder),
which I used to test the Gecode interface, and it uses count
constraints, and changing the consistency level affected the execution
times significantly for certasin problem instances. I took a look again
at the code, and the count constraints are with y and z being integers.
(the execution times are faster with ICL_BND than ICL_DOM)
The count single vsalue constraint is posted to Gecode using only one
propagator, the version with y and z being IntVar (and if they are
integers, they are posted as IntVar with a singleton domain). This is
done for all constraints that have variants that accept both IntVar and
int, as this avoid me having to write a lot of code to distinguish the
argument types, and I remember asking about this here a while ago and I
think Chirstian said that Gecode will figure out the best propagator to
use for the argument.
So my questions are: is the propagator posted the one with y and z being
int? If so, is there more than consistency level for the propagator, as
my result seem to suggest? The difference is very significant, e.g. for
one instance:
ICL_BND: 0.73s ICL_DOM: 198s
the ICL_BND times are more than 100 times faster, and the only
difference between the two runs are the count constraint posted with
ICL_BND rather than ICL_DOM (running on the same machine, of course).
Cheers,
Kish
More information about the users
mailing list


- Elections covered
- District, County, and Unitary councils (including the City of London Corporation and Isles of Scilly Council)
- Directly elected mayors (Local Authority and Combined Authority)
- Police and Crime Commissioners
- London Assembly and Mayor of London
- Northern Ireland Assembly
- Scottish Parliament
- Senedd Cymru/Welsh Parliament
- UK Parliament
- National and Local Authority-wide referendums
- Geographical
- Dates
- Ward/division/constituency information: name,
total seats, number of seats contested, link to
boundary legislation; geographical groupings
(UK nation or English region)
- Candidates
-
Nomination data
-
Profile data (where collected)
- Social media profiles
- Photos
- Email addresses
- Statements to voters
- Favourite biscuits
- Election Leaflets
- Year of birth
- Polling Places
- Polling place address
- Polling Place latitude and
longitude (where provided by the local authority)
- Latitude and longitude of the postcode centroid
- Address disambiguation (split postcodes)
- if there are two polling stations in a
postcode, we send you to the right place.
- Hustings (experimental field)
- We have the capacity to collect and publish
information about hustings events - please
get in touch if this is something you are
interested in.
- Special Notifications
- When there are special notifications in specific
elections, additional information will be provided.
Examples include:
- Notifications of cancelled or postponed elections
- Voting pilots (eg. advance voting)
- Rapid updates if polling stations change near to or during polling day


Green Leafy Vegetables
Leafy green vegetables are an important part of a healthy diet. They're packed with vitamins, minerals and fiber but low in calories.Get some now and move towards healthy life.
Call US :- +91<PHONE_NUMBER>
Live long, have some veggies. Fresh from Farm
Checkout our gallery for more
Sale
New
Sale
Sale
veggies and fruits under one roof. Eat Healthy Stay Fit


The Risk Management Model seeks to manage risk on the $[PortfolioTarget,T:QuantConnect.Algorithm.Framework.Portfolio.PortfolioTarget] collection created by the Portfolio Construction Model. It is applied to the targets before they reach the Execution Model. There are many creative ways to manage risk. Some examples of this might be:
To set a Risk Management Model use the $[AddRiskManagement(),M:QuantConnect.Algorithm.QCAlgorithm.AddRiskManagement] method:
# Setting a risk management model self.AddRiskManagement( NullRiskManagementModel() )
// Setting a risk management model AddRiskManagement( new NullRiskManagementModel() );