Cross-Chain Atomic Swaps
What are cross-chain atomic swaps?
A cross-chain atomic swap is method of exchanging different cryptocurrencies directly between two peers. Like trading dollars for pesos, it's a process in which two people can exchange one cryptocurrency for another, but without trust or third-party moderation. We say the swaps are "atomic" because they must be all-or-nothing. To protect both users, there must be no scenario in which one person can control both coins at the same time.
Atomic swaps can be executed between many blockchains, but not all. For the scheme to work, both
chains need some kind of relative timelock operation (like OP_CHECKSEQUENCEVERIFY
), as well as the ability
to hash a blob of data and check against a given hash. In this guide we'll
be focusing on just Bitcoin and Bitcoin Cash, using the bcoin
and bcash libraries respectively. It's a bit of
a game: the rules can't be broken, but you still have to pay attention. The magic
machine at the core of the atomic swap is called the Hash Time-Locked Contract, or HTLC.
HTLCs
Blockchains are like a stack of locked mailboxes with deposit slots. When you want to receive Bitcoin from someone, you tell them which mailbox to put the coin into.
Bob decides to pay Alice. He puts 0.5 BTC in the slot of Mailbox “A” which is locked by Lock “A”. When Alice is ready to spend the coin or move it somewhere else, she uses her Key “A” to open the lock and take out the coin.
HTLCs are more complicated. First of all, they have TWO locks, and EITHER lock can open the mailbox and expose the coin. They also use much fancier locks than usual.
TIME LOCKS
Time locks still require the right key but they ALSO require a certain amount of time to pass. Even if you have the key for this lock, you still need to wait until the time “expires” before you can open it.
HASH LOCKS
Hash locks require the right key but they ALSO require a SECRET CODE to be entered, like the PIN on an ATM. Even if you have the key for this lock, you also need to enter the right code to open it. When you enter the secret code, it is visible for the entire world to see, like the screen on a calculator.
Let's swap!
For now we’ll ignore the time locks, but just keep in mind they are there. In an ideal situation, only the hash locks are used anyway. As we'll see later on, the time locks are only used as refunds in order to cancel the swap. Let’s say Alice wants Bitcoin and Bob wants Bitcoin Cash. They agree to swap the coins they have for the coins they want.
Alice makes two hash locks, that both require the EXACT SAME secret code. However, one requires her Key “A” but the other requires Bob’s Key “B”. Alice knows the secret code but keeps it a secret for now.
Alice puts Hash Lock “A” on a Bitcoin mailbox, and Hash Lock “B” on a Bitcoin Cash mailbox. Alice deposits her Bitcoin Cash into Mailbox “B” and Bob deposits his Bitcoin into Mailbox “A”.
MAGIC TIME!
Once the coins are both deposited, Alice goes over to Bitcoin Mailbox “A”. She puts in her Key “A” and enters the secret code she came up with earlier. With the key and the code entered, the mailbox is opened and she can acquire the Bitcoin. Meanwhile, Bob is watching Bitcoin Mailbox “A” and SEES ALICE ENTER HER SECRET CODE. Now Bob knows the code too! He goes over to Bitcoin Cash Mailbox “B”, puts in his Key “B” and enters the secret code he JUST LEARNED from watching Alice. Voila! Bob opens Bitcoin Cash Mailbox “B” and the coin is his. Alice and Bob have just successfully swapped coins on two separate blockchains without ever trusting each other or any third-party.
But what if things don’t go according to plan?
Let’s say Bob put his Bitcoin into Mailbox “A” but then never heard from Alice again. If she doesn’t enter her secret code, Bob can’t get the Bitcoin Cash he wanted. Bob needs a way to get his original Bitcoin BACK if Alice doesn’t participate. This is where the time locks come in.
The time locks allow both parties to refund themselves in case the swap does not succeed as planned. The reason we use time locks for this is to eliminate the possibility that one person ends up with both coins, leaving the other person with nothing. When the locks are put on the HTLC mailboxes, the time locks are set to give each counterparty a chance to redeem the swap without interference. If the swap never happens, everyone can take back the coins they started with after the time expires.
The length of time on each lock is important to ensure that the game can only be played fairly. In our story, Alice’s time lock should be longer (say like a week) and Bob’s lock should be much shorter (like a day). Broadly speaking this is because Alice knows the hash lock secret and therefore has a major advantage. The game doesn’t really begin until she reveals her secret code so we make her refund much more cumbersome. If Bob thinks Alice is going to flake out, he can refund his Bitcoin from Mailbox “A” long before Alice can refund her Bitcoin Cash from Mailbox “B”.
To illustrate why this is important, consider if the times were reversed. If Mailbox “B” had the shorter refund time, Alice could wait until that time expires, refund herself the Bitcoin Cash from Mailbox “B” AND THEN ALSO enter the secret code into Bitcoin Mailbox “A” and take the Bitcoin that Bob sent. Alice would have all the money and Bob would be broke!
Scripts
Now it's time to turn these "two-lock mailboxes" into actual Bitcoin transactions. For this guide we will describe a very simple method of constructing and executing smart contracts that sacrifice some privacy and potentially some security. It is not recommended these be used as is in production. For details on how the implementation can be improved, see next steps below.
This will be the redeem script in the output of our Hash Time-Locked Contract:
OP_IF
OP_SHA256
<hash of secret>
OP_EQUALVERIFY
<pubKey of swap>
OP_CHECKSIG
OP_ELSE
<relative locktime>
OP_CHECKSEQUENCEVERIFY
OP_DROP
<pubKey of refund>
OP_CHECKSIG
OP_ENDIF
The Hash Lock is the first section of the script, executed when OP_IF
reads a true
value from the stack.
It expects a secret value and an ECDSA signature. It hashes the secret and checks that it matches a given hash,
then it checks the signature against the given public key. To redeem the HTLC this way, we will use the following
script in the input of a transaction:
<signature of swap>
<secret value>
<true>
Keep in mind that the stack is first-in / last-out, so if this input script looks "upside-down" that's because the last element will end up being on the top of the stack when the redeem script is run.
The time lock is executed when OP_IF
gets a false
value. This causes script execution to skip all OP codes
until it finds OP_ELSE
, where it continues processing up to OP_ENDIF
. The time lock will only be checked when if (false)
.
First it executes a Check Sequence Verify routine, which fails if the given relative locktime has not yet passed. Then it simply checks a signature against a given public key like usual. To redeem the transaction with this path, we will use this input script:
<signature of refund>
<false>
Creating HTLC scripts with bcoin and bcash
The bcoin
and bcash
libraries are so similar that we can use the exact same commands
to create HTLCs on both chains, and build a working application with wallets. A finished package
can be found at https://github.com/pinheadmz/swap-test. First, we'll
review the Swap
class in lib/swap.js
that is able to build scripts, addresses, and transactions
on any compatible library passed to it. With almost no conditionals, we can make this library completely
chain-agnostic.
// lib/swap.js
class Swap {
constructor(lib, network){
// Require the library by name and set the network for every module
this.libName = lib;
this.lib = require(lib);
this.lib.Network.set(network);
// Import each module we'll need from the library
this.Outpoint = this.lib.Outpoint;
this.Coin = this.lib.Coin;
this.MTX = this.lib.MTX;
this.TX = this.lib.TX;
this.Address = this.lib.Address;
this.hd = this.lib.hd;
this.KeyRing = this.lib.KeyRing;
this.Script = this.lib.Script;
this.Stack = this.lib.Stack;
this.consensus = this.lib.consensus;
this.util = this.lib.util;
this.ChainEntry = this.lib.ChainEntry;
// Verify things like SegWit, CSV, Bitcoin Cash FORKID, etc.
this.flags = this.Script.flags.STANDARD_VERIFY_FLAGS;
// We will base our relative locktime on TIME, not BLOCKS
this.CSV_seconds = true;
}
For example, observe how creating a new object with new Swap('bcoin', 'testnet')
would
give us the specific Address
module for making Bitcoin addresses. We could create a second object for
bcash
that would, with the exact same line of code, give us the module for Bitcoin Cash addresses.
SWEET.
The next three functions we'll need will compile our Bitcoin scripts from the last section into the actual byte code used in serialized transactions on the network. To learn more about working with scripts, check out the bcoin.io guides Intro to Scripting and the more advanced Time Locked Bitcoin Transactions w/ CLTV.
// lib/swap.js
class Swap {
...
// REDEEM script: the output of the swap HTLC
getRedeemScript(hash, refundPubkey, swapPubkey, locktime){
const redeem = new this.Script();
redeem.pushSym('OP_IF');
redeem.pushSym('OP_SHA256');
redeem.pushData(hash);
redeem.pushSym('OP_EQUALVERIFY');
redeem.pushData(swapPubkey);
redeem.pushSym('OP_CHECKSIG');
redeem.pushSym('OP_ELSE');
redeem.pushInt(locktime);
redeem.pushSym('OP_CHECKSEQUENCEVERIFY');
redeem.pushSym('OP_DROP');
redeem.pushData(refundPubkey);
redeem.pushSym('OP_CHECKSIG');
redeem.pushSym('OP_ENDIF');
redeem.compile();
return redeem;
}
// SWAP script: used by counterparty to open the hash lock
getSwapInputScript(redeemScript, secret){
const inputSwap = new this.Script();
inputSwap.pushInt(0); // signature placeholder
inputSwap.pushData(secret);
inputSwap.pushInt(1); // <true>
inputSwap.pushData(redeemScript.toRaw()); // P2SH
inputSwap.compile();
return inputSwap;
}
// REFUND script: used by original sender of funds to open time lock
getRefundInputScript(redeemScript){
const inputRefund = new this.Script();
inputRefund.pushInt(0); // signature placeholder
inputRefund.pushInt(0); // <false>
inputRefund.pushData(redeemScript.toRaw()); // P2SH
inputRefund.compile();
return inputRefund;
}
}
You might notice there are two extra lines marked with // P2SH
that you didn't see in the input scripts
section above. This is required by the mechanics of Pay-To-Script-Hash transactions. The transaction output
we are spending from contains only a hash of the redeem script. The actual redeem script itself is provided
by the input scripts at the time the coin is being spent, so they are included here.
The lines marked // signature placeholder
are required before the transaction is signed. The laws of the finite
universe prevent us from signing a message that already contains its own signature, and the
Bitcoin Protocol therefore expects the signatures to be removed
from a transaction script during verification. Eventually we will sign our transactions with these Int(0)
's
in the scripts, then replace them with the final signatures for broadcasting to the network.
Funding the swap
This is an easy process. We have our HTLC redeem script ready to go, we just need to turn that into a P2SH address, and send some coins! This is where the similarity between libraries is crucial. For both networks, we can generate valid P2SH addresses using the same function:
// lib/swap.js
class Swap {
...
getAddressFromRedeemScript(redeemScript){
// P2SH wrapper around 160-bit hash of serialized redeem script
return this.Address.fromScripthash(redeemScript.hash160());
}
}
On testnet, using two different instances of our Swap
class, this function will give us the
following example addresses:
Redeeming the swap
Once funds are sent to the P2SH addresses, we can spend them using either the swap
or
refund
input scripts. We have already generated the scripts so we just need to create a transaction
and sign it! Generating the signatures is handled entirely by the TX
module in each library:
// lib/swap.js
class Swap {
...
signInput(
mtx,
index,
redeemScript,
value,
privateKey,
sigHashType,
version_or_flags
) {
return mtx.signature(
index,
redeemScript,
value,
privateKey,
sigHashType,
version_or_flags
);
}
}
Uhh... what the heck is version_or_flags
? Ok, here we finally have some divergence between
bcoin
and bcash
. In the tx.signature()
function, bcoin
expects a version
integer to select either
legacy or SegWit serialization
for signing. Since Bitcoin Cash does not have any SegWit features at all, this parameter is instead used
to pass additional SigHash flags used for
replay protection at the time of the hard fork.
Due to a similar inconsistency, we will need to pass different values for sigHashType
depending on
which chain we are constructing transactions for. With those disclaimers behind us, let's build the transaction!
The following function puts together all the pieces to complete the swap. For more detail on how these MTX
methods work, see the bcoin.io guide Working with transactions.
// lib/swap.js
class Swap {
...
// Works for both refund and swap
getRedeemTX(
address,
fee,
fundingTX,
fundingTXoutput,
redeemScript,
inputScript,
locktime,
privateKey
){
// Create a mutable transaction object
const redeemTX = new this.MTX();
// Get the output we want to spend (coins sent to the P2SH address)
const coin = this.Coin.fromTX(fundingTX, fundingTXoutput, -1);
// Add that coin as an input to our transaction
redeemTX.addCoin(coin);
// Redeem the input coin with either the swap or refund script
redeemTX.inputs[0].script = inputScript;
// Create the output back to our primary wallet
redeemTX.addOutput({
address: address,
value: coin.value - fee
});
// If this was a refund redemption we need to set the sequence
// Sequence is the relative timelock value applied to individual inputs
if (locktime)
redeemTX.setSequence(0, locktime, this.CSV_seconds);
else
redeemTX.inputs[0].sequence = 0xffffffff;
// Set SIGHASH and replay protection bits
let version_or_flags = 0;
let type = null;
if (this.libName === 'bcash') {
version_or_flags = this.flags;
type = this.Script.hashType.SIGHASH_FORKID | this.Script.hashType.ALL;
}
// Create the signature authorizing the input script to spend the coin
const sig = this.signInput(
redeemTX,
0,
redeemScript,
coin.value,
privateKey,
type,
version_or_flags
);
// Insert the signature into the input script where we had a `0` placeholder
inputScript.setData(0, sig);
// Finish up and return
inputScript.compile();
return redeemTX;
}
}
Once we've completed and signed the transaction, we can test that it verifies against the network rules:
// lib/swap.js
class Swap {
...
verifyMTX(mtx){
return mtx.verify(this.flags)
}
}
Agreeing on and executing a swap
Now that we have all the tools, you might be asking yourself "What is the minimum amount of information two parties need to send each other to engage in a swap?" This is where some additional crypto-magic comes in to play. It turns out that besides the exchange rate and volume, the only thing the two trading partners need to exchange is:
- One ECDSA public key from each party
- A hashed secret from one party
Using these data and the scripting functions from the last section, both parties can deterministically derive the P2SH addresses for the contracts on both chains. By watching for transactions in and out of those addresses on both chains, everyone will have everything they need to play the atomic swap game.
We can add two simple functions to generate these data, using the bcrypto module as a utility:
// lib/swap.js
class Swap {
...
// Generate a random secret and derive its SHA-256 hash
getSecret() {
secret = bcrypto.random.randomBytes(32);
const hash = bcrypto.SHA256.digest(secret);
return {
'secret': secret,
'hash': hash
}
}
// Generate an ECDSA public / private key pair
getKeyPair(){
// Generate new random private key
const master = this.hd.generate();
const key = master.derivePath('m/44/0/0/0/0');
privateKey = key.privateKey;
// Derive public key from private key
const keyring = this.KeyRing.fromPrivate(privateKey);
const publicKey = keyring.publicKey;
return {
'publicKey': publicKey,
'privateKey': privateKey,
}
}
}
They key exchange method is up to the users on the application layer. They could save a little space
by agreeing on a protocol in advance. We can imagine preset, hard-coded locktimes and perhaps
a common exchange rate API. In my demonstration repository, I have a script app/prep-swap.js
that imports
the bstring module and encodes the keys into base58
strings which Alice and Bob can send each other:
// app/prep-swap.js
/*
* Create parameters for swap
*/
const {base58} = require('bstring');
const Swap = require('../lib/swap');
const swap = new Swap('bcoin', 'testnet'); // could be any library for this step
const secret = swap.getSecret();
const keys = swap.getKeyPair();
const pub = {
hash: secret.hash.toString('hex'),
publicKey: keys.publicKey.toString('hex')
};
const priv = {
secret: secret.secret.toString('hex'),
privateKey: keys.privateKey.toString('hex'),
};
const pubBase58 = base58.encode(new Buffer(JSON.stringify(pub)));
const privBase58 = base58.encode(new Buffer(JSON.stringify(priv)));
console.log('\n --- \n');
console.log('PUBLIC: send to counterparty:\n', pubBase58);
console.log('\n --- \n');
console.log('PRIVATE: keep safe and pass to run script:\n', privBase58);
console.log('\n --- \n');
Running the script above with the command node app/prep-swap.js
returns output like this:
Using the blockchain to communicate
Remember, part of the swap protocol involves Alice revealing her secret value to Bob. That is done on the blockchain, so Bob needs to watch the chain for Alice's redemption transaction and pull the secret value out of it somehow. Since we know the exact structure of Alice's input script we can expect her secret to be the second value in the script. Once we catch Alice's transaction we need to figure out which input is redeeming the swap, then grab the secret. We discover the input by looking for the P2SH address we derived earlier.
// lib/swap.js
class Swap {
...
extractSecret(tx, address){
// Find the input that spends from the P2SH address
for (const input of tx.inputs){
const inputJSON = input.getJSON();
const inAddr = inputJSON.address;
// Once we find it, return the second script item (the secret)
if (inAddr === address)
return input.script.code[1].data;
}
return false;
}
}
Watch-only wallets and events
The last mechanism we need to make a functional atomic swap application is a wallet, or several wallets. Refer to the bcoin.io guide Events and Sockets for more background on events and "joining wallets" with websockets.
To run an atomic swap with bcoin and bcash, an application will run four servers:
- bcoin node
- bcoin wallet
- bcash node
- bcash wallet
You can see my design in app/run-swap.js
in the
completed repository. Notice the
configuration section of the README
which lists the port numbers for each server.
For brevity, we'll just review the last step in our swap story: Bob extracting the HTLC secret from Alice's Bitcoin Cash sweep-transaction and using it to sweep his own Bitcoin transaction. Keep in mind that by the time the following code is run, Bob has already deposited BTC into the swap address for Alice to sweep. The code is presented linearly here but in the actual application it is organized a bit differently.
We assume the application has already constructed BTC_Swap
and BCH_Swap
objects,
as well as BTC_WalletClient
, BCH_WalletClient
, BTC_NodeClient
and BCH_NodeClient
.
// app/run-swap.js
// Derive the redeem script
const BTC_RedeemScript = Swap.getRedeemScript(
hash,
publicKey_Alice,
publicKey_Bob,
timelock
);
// Derive P2SH address from the script
const BTC_AddrFromScript = BTC_Swap.getAddressFromRedeemScript(BTC_RedeemScript);
const BTC_P2SH_Address = BTC_AddrFromScript.toString('testnet');
// Create a watch-only wallet to catch Alice's BTC sweep and get its details
BTC_WalletInfo = await BTC_WalletClient.createWallet('SwapWithAlice', {watchOnly: true});
// Get the wallet we just created
const BTC_Wallet = BTC_WalletClient.wallet('SwapWithAlice');
// Import the watch-only address into the wallet's default account
await BTC_Wallet.importAddress('default', BTC_P2SH_Address);
// Listen for events by "joining" the wallet with it's API token
await BTC_WalletClient.join('SwapWithAlice', BTC_WalletInfo.token);
// Establish the entire swap-seep procedure and bind it to the watch-only wallet
BTC_Wallet.bind('confirmed', async (wallet, txDetails) => {
// Get details from Alice's TX, emitted by the event
const fundingTX = BTC_Swap.TX.fromRaw(txDetails.tx, 'hex');
// Extract the HTLC secret value
const revealedSecret = BTC_Swap.extractSecret(
fundingTX,
BTC_P2SH_Address
);
/* Create a TX on the BITCOIN CASH chain to sweep Alice's BCH output.
* We assume `BCH_RedeemScript` has already been derived and we have verified
* that Alice has sent the right amount of BCH to that P2SH address.
* Alice's BCH funding TX is stored as `Alices_BCH_FundingTX`, and
* the output that concerns Bob is `Alices_BCH_FundingTX_OutputIndex`.
*/
// Derive the input script to redeem the BCH transaction
const BCH_SwapScript = BCH_Swap.getSwapInputScript(
BCH_RedeemScript,
revealedSecret
);
// Build a BCH transaction to spend Alice's output
const swapTX = BCH_Swap.getRedeemTX(
Bobs_BCH_WalletAddress,
feeRate,
Alices_BCH_FundingTX,
Alices_BCH_FundingTX_OutputIndex,
BCH_RedeemScript,
BCH_SwapScript,
null,
Bobs_PrivateKey
);
// Finalize and serialize the TX for broadcast
const finalTX = swapTX.toTX();
const stringTX = finalTX.toRaw().toString('hex');
// Broadcast BCH swap-sweep TX, and we're done!
const broadcastResult = await BCH_NodeClient.broadcast(stringTX);
});
Alice will have similar code running on her end. When she broadcasts her BTC sweep transaction, Bob's code will automatically catch it, derive the HTLC secret, and sweep the BCH transaction.
Next steps
We've built a very simple atomic swaps application! But what have we sacrificed for convenience?
To improve privacy, we might want to use separate public keys for each blockchain, instead of using the same key on both networks (although it is very cool and convenient that public keys can be re-used on these two networks).
We have been using raw public keys, but most of the time in Bitcoin we exchange hashed (RIPE-160) public keys. In our case, this hash would require a few extra OP codes in the redeem script.
We should also check all the amounts being transacted and return an error if the counterparty didn't send the right amount.
The watch-only wallets work great, but what if Bob creates his watch-only wallet AFTER Alice sends her first transaction? How will Bob ever know? The app should be able to rescan recent blockchain history to make sure it hasn't missed anything on launch.
CSV encoding. We built our app using timelocks based in seconds, not blocks. BIP 68 describes a specific bit-by-bit encoding scheme that must be used to create a valid timelock value. Look for the function
CSVencode()
inlib/swap.js
User interface: all this command line copying/pasting is not a great user experience. A better UI or bpanel plugin would make the application much easier to use.
If you have any ideas or suggestions please feel free to post an issue or pull request in the proof-of-concept repo! https://github.com/pinheadmz/swap-test
HAPPY SWAPPING!
References
On-chain atomic swaps for Decred and other cryptocurrencies.
Mastering Bitcoin: Hash Time Lock Contracts (HTLC)
SF Cryptocurrency Dev: James Prestwich's Summa: Atomic, Cross-chain Contracts
BIP 68: Relative lock-time using consensus-enforced sequence numbers


WQMY
networking - the wired network connection is active ,but can't ...
The operating system is Ubuntu10.04. The icon of network connection . If <IP_ADDRESS> is unreachable, there is something wrong with your local .
http://stackoverflow.com/questions/6860684/the-wired-network-connection-is-active-but-cant-connect-to-the-internet
| frey brothers barn vertical grills stalls/flight victoria bc to phoenix arizona/ reusable pavement marking stensils |
|
|---|---|
| happy trails aquisition limited partnerships | Williamsport |
| Branding | MyNetworkTV cannot connect to wired network |
| photos 50 calaber rifle wind runner | peter o'toole my favorite year: 29 (lincoln high school in tallahassee fl) & movie the fugitive kind-DT 45.3 (UHF) |
| translation of duchess into spanish | see article |
| Owner | New Age Media, LLC Wired network problem on X220 - Lenovo Community |
| First air date | December 30, 1988 |
| peter o'toole my favorite year | MYNetworkTV |
| windows xp operating disk | WOLF-TV, .21 or .28 for truggy |
| ati nvidia video cards release date | WILF (1988-2006) |
| Former channel number(s) | Troubleshoot Wired Network Connection Problem on PS3 |
| 57 mountain doppler radar | missed connective tissue disorder (1988-1998) paper punch hole size chart / girls leopard print high heels (1998-2006) |
| donald richie japanese film | 50 online how to colect stamps 420 kW (WOLF-DT3) |
| barbara ann's country home furnishings | 243 m 488 m (WOLF-DT3) |
| ernest deininger in philadelphia | 52075 73375 (WOLF-DT3) |
| Transmitter coordinates | thermostat for a water heater small greenies smart chip biscuits (WOLF-DT3) |
IT: Frequently Asked Questions about Student Wired Network Service
Jun 19, 2012 . Can I use a Wi-Fi connection with the wired network service? I have a registered device, but cannot connect to the campus network. What do I .
http://www.it.cornell.edu/services/resnet/faq.cfm
Laptop can't connect to wired network - Super User
Jun 19, 2012 . I have a wired internet connected to my PC. If I try to connect the same wire to my laptop it does not work. I also have Netgear Wireless 150 .
http://superuser.com/questions/438675/laptop-cant-connect-to-wired-network
Contents |
[henry kissinger's work as a scientist] History
Can't connect to network via wired connection - The FreeBSD Forums
I could connect to the internet. Downloaded sudo and lynx. I then restarted and now I cannot connect to the internet. I seem to be able to get my .
http://forums.freebsd.org/showthread.php?t=35594
Troubleshoot network connection problems
For more information, see DNS (Domain Name System): frequently asked questions. Can't connect to a home network (wired connection). Make sure the router .
http://windows.microsoft.com/en-us/windows-vista/troubleshoot-network-connection-problems
You cannot connect to an 802.1X wired network when you run an ...
Fixes an issue in which you cannot connect to an 802.1X wired network when you run an automated build process.
http://support.microsoft.com/kb/976210
Why can't I connect to a network?
Learn how solve some common problems with connecting to a network. . I can't connect to other computers on my home network, or I can't share files and .
http://windows.microsoft.com/en-us/windows7/cant-connect-to-a-network
Connect to a wired (Ethernet) network
To set up most wired network connections, all you need to do is plug in a . You can't plug one computer directly into another one with a network cable (at least, .
https://help.gnome.org/users/gnome-help/3.5/net-wired-connect.html.en
Airport Extreme wired AND extend network - Need Input - Apple ...
Feb 26, 2012 . Wireless is extended, and works fine. Items can be plugged into Unit 2 and get connectivity, but I cannot connect Unit 2 to the wired network.
https://discussions.apple.com/thread/3765023?start=0&tstart=0
Cant connect to Wired or Wireless network - Networking, Internet ...
Welcome to our community! Here you'll find great solutions, advice and how-to's, discussions and friends. Feel free to browse our blogs, forums .
http://en.community.dell.com/support-forums/network-internet-wireless/f/3324/p/19435800/20048871.aspx
Cannot connect desktop(wired) & laptop(wireless) - Networking
Oct 11, 2012 . Once again the sun sinks into its nightly reprieve; for the third time since I first set out on this mission. Before me, only the piercing glows of .
http://www.tomshardware.com/forum/34459-42-cannot-connect-desktop-wired-laptop-wireless
Laptop cannot connect to either wireless or wired networks ...
Hello, I have had a Acer Aspire 5742-6814 for a month or so now. Yesterday it suddenly would not connect to the wireless network in my .
http://www.sevenforums.com/network-sharing/180153-laptop-cannot-connect-either-wireless-wired-networks.html
Can't connect to Wired Network after installing 12.04 - Ask Ubuntu
Sep 24, 2012 . Plugged in LAN cable into the computer and it says network disconnected. from what I understand on the things I've read, it's not getting the .
http://askubuntu.com/questions/192276/cant-connect-to-wired-network-after-installing-12-04
What can I do when I cannot connect - Gateway
Q: What can I do when I cannot connect to a wired or wireless router in Windows . Note: You may not see all of the options listed, depending on which network .
http://support.gateway.com/s/software/microsof/Vista/FAQ/7513617faq21.shtml
[mini lights no end plug] Digital channels
| Channel | Name | forms of phosphorus stormwater | women's ncaa basketball standings | Programming |
|---|---|---|---|---|
| 53.1 | cannot connect to wired network DT | number of use times | human remains found in ny | Main cannot connect to wired network programming / MyNetworkTV |
| 53.2 | WOLF DT | militiary retirment pay with vsi | 33rd virginia militia civil war | Simulcast of petosky by the bay festival michigan |
| 53.3 | WSWB DT | 480i | 4:3 | Simulcast of employee rehabilitation reliance retail controversy |
Help please! PS3 won't connect to the internet (wired network ...
Jan 10, 2008 . PS3 won't connect to the internet (wired network). Started by Ben J Loews , Jan 10 2008 04:55 AM. You cannot start a new topic; Please log in .
http://www.hometheaterforum.com/topic/263979-help-please-ps3-wont-connect-to-the-internet-wired-network/
[lake hamilton inn lakeside] References
[blogthings what your name means] External links
- book chapter a blushing girl ballam
- the shire golf uk
- alpha cannine kennels website houston tx
- insulate ceiling with metal roof
- making chicken cordon bleu
- e-machine t2824 motherboard fuse location
|
|


 He lets go of the branch he is holding on to and falls onto the Lion, which is asleep underneath the tree. This frightens the Lion and it runs away. The man goes home and hides from the Lion underneath skins. The Lion chases and bites the man (presumably killing him).
Comments
1) This story is found in Book I in two parts
Contributors
Date
20 May 1871 (it is unclear whether this story was told on this date as there are others on the same page)
Categories
Keywords
Lion (a man falls on) , Lion (chases a man up a tree) , Lion (and a man) , man (falls on a Lion) , man (hides in a springbok skin sack) , man (his wife hides him) , man (falls asleep in a tree) , man (dreams of falling) , springbok skin (a man hides from a Lion under) , skin (of springbok) , skin (a man hides from a Lion under) , tree (man falls asleep in and falls on a Lion) , Early Race (a story of the) , Early Race (a man falls upon the Lion)
Story Pages
158-159, 334-335


Software Engineer
<EMAIL_ADDRESS>650-924-5614
blakesanie.com
in/blakesanie
Georgia Inst. of Technology
M.S. Computer Science, Dec 23
B.S. Computer Science, Dec 22
|
Python |
JavaScript |
Java |
|
SQL |
HTML & CSS |
C & C++ |
|
PyTorch |
AWS & GCP |
Docker |
|
Redis |
MongoDB |
React.js |
|
Spark |
Tensorflow |
Selenium |
|
Jupyter |
Databricks |
Firebase |
|
Git |
Data Structures |
|
AI & ML |
Statistical Analysis |
|
UI & UX |
Algorithm Design |
|
Jira |
Distributed Systems |
|
Slack |
Cloud Architecture |
|
Linux |
Database Design |
|
Jetbrains |
Network Analysis |
|
Figma |
CI/CD Pipelines |
|
French Fluency (Verbal & Written) |
|
Farsi Language (Conversational) |
|
Effective Leadership |
|
Critical Thinking |
|
Agile Methodology |
|
Conflict Resolution |
College of Computing, Georgia Tech - Atlanta, GA
Head Graduate Teaching Assistant, Artificial Intelligence
08/21
- Present
Capital One - New York, NY
Software Engineering Intern, Commercial Lending Tech
06/23
- 08/23
Capital One - Chicago, IL
Software Engineering Intern, Card Data Engineering & Analytics
06/22
- 08/22
Schonfeld Strategic Advisors - New York, NY
Software Engineering Intern, Treasury Technology
06/21
- 08/21
Sanie Quantitative Research - Personal Venture
Distal Radius Object Identification - Emory Dept. of Orthopedics
AWS Certified Cloud Practitioner - Amazon Web Services
Certified Secure Software Engineer (CSSE) - Capital One


Answer Retrieval - Terms of Use
This Agreement sets forth the terms governing your use of the Answer Retrieval application ("the Application"). By using the Application, you agree to these Terms of Use; if you do not agree to these all of these Terms of Use, do not
use this Application.
The Application is made available to you, as an individual person, non-exclusively by International Business Machines Corporation ("IBM") at no charge via an Internet connection provided by you.
The Application and any related software, documentation, content or other materials provided by IBM in connection with the Application are owned by IBM or a third party supplier, and are copyrighted and licensed, not sold. Transfer of your rights
under this Agreement is not permitted.
You are authorized to use the Application and associated content for your own personal use for informational purposes only. The Application is not intended to be used for productive or commercial purposes, and such use is not permitted.
Your use of the Application is also subject to IBM's Online Application Privacy Statement http://www.ibm.com/privacy/us/en/. IBM tracks the mouse clicks, touch screen choices, or other "web clicks"
you make in the Application. IBM uses these clicks to develop and enhance IBM products and services.
The Application may be unavailable during maintenance scheduled determined by IBM, and other scheduled or non-scheduled downtimes may occur. Either party may terminate use or access to the Application at any time.
You are responsible for your use of the Application and associated content and the results obtained from their use. You are also responsible for any information, data or other materials ("User Materials") that you submit or provide in connection
with the Application, including ensuring that you have all necessary authorizations to permit IBM and its subcontractors to use, host, cache, record, copy and display such User Materials without charge. IBM has no responsibility for the User
Materials that you submit or provide in connection with the Application. All User Materials which you submit or provide to the Application or to IBM are non-confidential.
IBM may utilize the User Materials to develop and enhance IBM products and services.
The Application source code is available for download under a separate URL that contains associated license terms.
The Application and associated content are provided "AS IS", with no warranties, express or implied, including without limitation, warranties of merchantability, fitness for a particular purpose, or non-infringement. IBM and its affiliates and
suppliers will not be liable, under any contract, tort, strict liability, or other theory, for any direct, special, punitive, indirect, incidental, or consequential damages, including, but not limited to, loss of or damage to data, loss of
anticipated revenue, profits, savings, or goodwill, work stoppage or impairment of other assets, whether or not foreseeable and whether or not you have been advised of the possibility of such damages. You are responsible for compliance with
any applicable laws and regulations which may govern your accessing and use of the Application.
It is IBM's policy to respect the intellectual property rights of others. To report the infringement of copyrighted material, please visit the Digital Millennium Copyright Act Notices page at: http://www.ibm.com/legal/us/en/dmca.html.
The laws of the State of New York, excluding its conflicts of laws rules, govern this Agreement and your use of the Application.
IBM wants to know what you think about the Application and how IBM can make them better. You can do this by providing your comments and feedback via online forums or other submission vehicles, including questions asked in the Application, that
IBM makes available to you. By providing your comments and feedback to IBM, you authorize IBM to publish and display them and to use them in the development and enhancements of its products and Application.


Up: Part II: Inflection Previous: COMPARISON OF ADJECTIVES Next: ADVERBS
The Personal Pronouns.—The pronouns of the first, second, and third person are declined as follows:
| SINGULAR | |||
| Nom. | ἐγώ I | σύ thou | — he, she, it (325 d) |
| Gen. | ἐμοῦ; μου enclitic | σοῦ; σου enclitic | οὗ; οὑ enclitic |
| Dat. | ἐμοί; μοι enclitic | σοί; σοι enclitic | οἷ; οἱ enclitic |
| Acc. | ἐμέ; με enclitic | σέ; σε enclitic | ἕ; ἑ enclitic |
| DUAL | ||
| N. A. | νώ we two | σφώ you two |
| G. D. | νῷν | σφῷν |
| PLURAL | |||
| Nom. | ἡμεῖς we | ὑ̄μεῖς you | σφεῖς they |
| Gen. | ἡμῶν | ὑ̄μῶν | σφῶν |
| Dat. | ἡμῖν | ὑ̄μῖν | σφίσι ( ν ) |
| Acc. | ἡμᾶς | ὑ̄μᾶς | σφᾶς |
a. The enclitic forms μου, μοι, με; σου, σοι, σε are used when the pronoun is unemphatic, the longer forms ἐμοῦ, ἐμοί, ἐμέ and the accented σοῦ, σοί, σέ are used when the pronoun is emphatic. Thus, δός μοι τὸ βιβλίον give me the book, οὺκ ἐμοί, ἀλλὰ σοὶ ἐπιβουλεύουσι they are plotting not against me, but against you. See 187 a. On the use after prepositions see 187 N. 2.
b. For ἐγώ, ἐμοί, σύ the emphatic ἔγωγε, ἔμοιγε (186 a), σύγε occur. Also ἐμοῦγε, ἐμέγε.
c. The use of the plural you for thou is unknown in Ancient Greek; hence ὑ̄μεῖς is used only in addressing more than one person.
d. Of the forms of the third personal pronoun only the datives οἷ and σφίσι (ν) are commonly used in Attic prose, and then only as indirect reflexives (1228). To express the personal pronouns of the third person we find usually: ἐκεῖνος, οὗτος, etc., in the nominative (1194), and the oblique forms of αὐτός in all other cases.
e. For the accus. of οὗ the tragic poets use νιν (encl.) and σφε (encl.) for masc. and fem., both sing. and pl. (= eum, eam; eos, eas). Doric so uses νιν. σφίν is rarely singular (ei) in tragedy.
f. ἡμῶν, ἡμῖν, ἡμᾶς, ὑ̄μῶν, ὑ̄μῖν, ὑ̄μᾶς, when unemphatic, are sometimes accented in poetry on the penult, and -ῑν and -ᾱς are usually shortened. Thus, ἥμων, ἧμιν, ἧμας, ὕ̄μων, ὗμιν, ὗμας. -ῑν and -ᾱς are sometimes shortened even if the pronouns are emphatic, and we have ἡμίν, ἡμάς, ὑ̄μίν, ὑ̄μάς. σφάς occurs for σφᾶς.
1. Homer inflects the personal pronouns as follows. (The forms ἀμμ-, ὐμμ- are Aeolic).
| SINGULAR | |||
| Nom. | ἐγώ, ἐγών | σύ, τύ̄νη | |
| ( ἐμεῖο, ἐμέο, ἐμεῦ, | σεῖο, σέο, σεο (encl. | εῖο, ἕο, ἑο (encl.), | |
| Gen. | ( μευ (encl.), ἐμέθεν | A 396), σεῦ , | εὗ, εὑ (encl.), |
| ( | σευ (encl.), σέθεν | ἕθεν, ἑθεν (encl.) | |
| Dat. | ἐμοί, μοι (encl.) | σοί, τοι (encl.), τεΐν | ἑοῖ, οἷ, οἱ (encl.) |
| Acc. | ἐμέ, με (encl.) | σέ, σε (encl.) | ἑέ, ἕ, ἑ (encl.), μιν (encl.) |
| DUAL | |||
| N. A. | νῶϊ, νώ | σφῶϊ, σφώ | σφωε (encl.) |
| G. D. | νῶϊν | σφῶϊν, σφῷν ( δ 62) | σφωϊν (encl.) |
| PLURAL | |||
| Nom. | ἡμεῖς, ἄμμες | ὑ̄μεῖς, ὔμμες (and voc.) | |
| Gen. | ( ἡμείων, ἡμέων | ὑ̄μείων, ὑ̄μέων | σφείων, σφέων, |
| ( | σφεων (encl.), σφῶν | ||
| Dat. | ( ἡμῖν, ἄμμι ( ν ) | ὑ̄μῖν, ὔμμι ( ν ) | σφίσι ( ν ), σφισι ( ν ) (encl.), |
| ( | σφιν (encl.) | ||
| Acc. | ( ἡμέας, ἄμμε | ὑ̄μέας, ὔμμε | σφέας, σφεας (encl.), |
| ( | σφε (encl.) |
σφε (encl.) is used as accus. of all genders and numbers.
2. Herodotus inflects the personal pronouns as follows:
| SINGULAR | |||
| Nom. | ἐγώ | σύ | |
| Gen. | ἐμέο, ἐμεῦ, μευ (encl.) | σέο, σεῦ, σευ (encl.) | εὑ (encl.) |
| Dat. | ἐμοί, μοι (encl.) | σοί, τοι (encl.) | οἱ (encl.) |
| Acc. | ἐμέ, με (encl.) | σέ, σε (encl.) | ἑ (encl.), μιν (encl.) |
| PLURAL | |||
| Nom. | ἡμεῖς | ὑ̄μεῖς | σφεῖς |
| Gen. | ἡμέων | ὑ̄μέων | σφέων, σφεων (encl.) |
| Dat. | ἡμῖν | ὑ̄μῖν | σφίσι, σφισι (encl.) |
| Acc. | ( ἡμέας | ὑ̄μέας | σφέας, σφεας (encl.), neut. |
| ( | σφεα (encl.) |
σφίσι is used for ἑαυτοῖς, -αῖς; σφι (encl.) for αὐτοῖς, -αῖς; σφεα (encl.) for αὐτά.
3. Ionic μιν (encl.) is used in all genders (eum, eam, id), but not in the plural. ἄμμι, ὔμμε occur a few times, σέθεν often, in tragedy.
4. The chief forms peculiar to Doric are: I. ἐγών also before consonants; G. ἐμέος, ἐμοῦς, ἐμεῦς; D. ἐμίν; Pl. N. ἁ̄μές; G. ἁ̄μέων, ἁ̄μῶν; D. ἁ̄μίν(ῐ̄), ἇμιν; A. ἁ̄μέ. II. τύ, τύ̄νη; G. τέος, τεοῦς, τεῦς, τέο, τεῦ, τεοῦ; D. τίν, τί̄νη; A. τέ, τίν, τύ; Pl. N. ὑ̄μές; G. ὑ̄μέων; D. ὑ̄μίν, ὗμιν; A. ὑ̄μέ. III. G. ἑοῦς, ἑοῦ; D. ϝίν; A. νίν; Pl. G. σφείων, ψέων; D. φίν, ψίν; A. σφέ, ψέ.
Stems.—I. (ε᾽) με- (cp. Lat. me), νω- (cp. Lat. νο̄-ς), (ε᾽)μο-, ἡμε-. ἐμοῦ is from ἐμέο; ἡμεῖς from ἀμμε-ες (37) with the rough breathing in imitation of ὑ̄μεῖς; ἡμῶν from ἡμέων, ἡμᾶς from ἡμέας with ᾱ not η by 56. ἐγώ is not connected with these stems. II. συ- and σε- from τϝε; το-; σφω-; ὑ̄με- from ὑμμε- (37). III. ἕ for σϝε (cp. Lat. se), ἑέ for σεϝε, οἷ for σϝο-ι, and σφε-. The form of the stems and formation of the cases is often obscure.
The Intensive Pronoun αὐτός.—αὐτός self is declined thus:
| SINGULAR | DUAL | PLURAL | |||||||||
| Masc. | Fem. | Neut. | Masc. | Fem. | Neut. | Masc. | Fem. | Neut. | |||
| Nom. | αὐτός | αὐτή | αὐτό | N.A. | αὐτώ | αὐτά̄ | αὐτώ | Nom. | αὐτοί | αὐταί | αὐτά |
| Gen. | αὐτοῦ | αὐτῆς | αὐτοῦ | G.D. | αὐτοῖν | αὐταῖν | αὐτοῖν | Gen. | αὐτῶν | αὐτῶν | αὐτῶν |
| Dat. | αὐτῷ | αὐτῇ | αὐτῷ | Dat. | αὐτοῖς | αὐταῖς | αὐτοῖς | ||||
| Acc. | αὐτόν | αὐτήν | αὐτό | Acc. | αὐτούς | αὐτά̄ς | αὐτά |
αὐτός is declined like ἀγαθός (287), but there is no vocative and the neuter nominative and accusative have no -ν. But ταὐτόν the same is common (328 N.).
Hdt. has αὐτέων in the genitive plural. For the crasis ωὐτός (Hom.), ωὑτός, τωὐτό (Hdt.), see 68 D.
αὐτός is a definite adjective and a pronoun. It has three meanings:
a. self: standing by itself in the nominative, αὐτὸς ὁ ἀνήρ or ὁ ἀνὴρ αὐτός the man himself, or (without the article) in agreement with a substantive or pronoun; as ἀνδρὸς αὐτοῦ of the man himself.
b. him, her, it, them, etc.: standing by itself in an oblique case (never in the nominative). The oblique cases of αὐτός are generally used instead of οὗ, οἷ, ἕ, etc., as ὁ πατὴρ αὐτοῦ his father, οἱ παῖδες αὐτῶν their children.
c. same: when it is preceded by the article in any case: ὁ αὐτὸς ἀνήρ the same man, τοῦ αὐτοῦ ἀνδρός of the same man.
N.—The article and αὐτός may unite by crasis (68 a): αὑτός, αὑτή, ταὐτό or ταὐτόν; ταὐτοῦ, ταὐτῆς; ταὐτῷ, ταὐτῇ, etc. Distinguish αὑτή the same f. from αὕτη this f.; ταὐτά the same n. from ταῦτα these things n.; ταὐτῇ from ταύτῃ.
Reflexive Pronouns.—The reflexive pronouns (referring back to the subject of the sentence) are formed by compounding the stems of the personal pronouns with the oblique cases of αὐτός. In the plural both pronouns are declined separately, but the third person has also the compounded form. The nominative is excluded by the meaning. There is no dual.
| myself | thyself | himself, herself, itself | |
| Gen. | ἐμαυτοῦ, -ῆς | σεαυτοῦ, -ῆς (σαυτοῦ, -ῆσ) | ἑαυτοῦ, -ῆς, -οῦ (αὑτοῦ, -ῆς, -οῦ) |
| Dat. | ἐμαυτῷ, -ῇ | σεαυτῷ, -ῇ (σαυτῷ, -ῇ) | ἑαυτῷ, -ῆ, -ῷ (αὑτῷ, -ῇ, -ῷ) |
| Acc. | ἐμαυτόν, -ήν | σεαυτόν, -ήν (σαυτόν, -ήν) | ἑαυτόν, -ήν, -ό (αὑτόν, -ήν, -ό) |
| ourselves | yourselves | themselves | |
| Gen. | ἡμῶν αὐτῶν | ὑ̄μῶν αὐτῶν | ἑαυτῶν or σφῶν αὐτῶν |
| Dat. | ἡμῖν αὐτοῖς, -αῖς | ὑ̄μῖν αὐτοῖς, -αῖς | ἑαυτοῖς, -αῖς, -οῖς or σφίσιν |
| αὐτοῖς, -αῖς | |||
| Acc. | ἡμᾶς αὐτούς, -ά̄ς | ὑ̄μᾶς αὐτούς, -ά̄ς | ἑαυτούς, -ά̄ς, -ά or σφᾶς αὐ- |
| τούς, -ά̄ς |
a. For ἑαυτῶν, etc., we find αὑτῶν, αὑτοῖς, -αῖς, αὑτούς, -ά̄ς. Distinguish αὑτοῦ of himself from αὐτοῦ (328).
Hom. never compounds the two pronouns: thus, ἐμέθεν αὐτῆς, σοὶ αὐτῷ, οἷ αὐτῷ, ἑὲ αὐτόν, ἓ αὐτήν. Hdt. has a few cases of the uncompounded forms; usually ἐμεωυτοῦ, -τῷ, -τόν, σεωυτοῦ, ἑωυτοῦ, ἑωυτῶν, -οῖσι, -ούς, and σφέων αὐτῶν, etc. The forms with εωυ started with ἑωυτῷ in the dative from ἑο(ῖ) αὐτῷ, and spread thence to the other cases.
Possessive Pronouns.—Possessive pronouns, formed from the stems of the personal pronouns, are declined like ἀγαθός, ἄξιος (287).
| ἐμός ἐμή ἐμόν | my, my own; mine | ἡμέτερος -ᾱ -ον | our, our own; ours |
| σός σή σόν | thy, thine own; thine | ὑ̄μέτερος -ᾱ -ον | your, your own; yours |
| [ ὅς ἥ ὅν | his (her, its) own] | σφέτερος -ᾱ -ον | their own |
a. Distinguish the adjectival from the pronominal use: ὁ ἐμὸς φίλος or ὁ φίλος ὁ ἐμός my friend (adj.) from φίλος ἐμός a friend of mine (pron.). See 1196 a.
b. ὅς is not used in Attic prose. For his, her, its, αὐτοῦ, -ῆς, -οῦ are used.
1. Hom. has also τεός thy, ἑός for ὅς his, her own, ἁ̄μός our, ὑ̄μός your, σφός their (rarely of the singular), νωΐτερος of us two, σφωΐτερος of you two. For ἐμός Attic poetry may use ἁ̄μός (sometimes printed ἀ̄μός) our.
2. ὅς, ἑός in Hom. may mean my own, your own (1230 a).
Reciprocal Pronoun.—The reciprocal pronoun, meaning one another, each other, is made by doubling the stem of ἄλλος (ἀλλ-αλλο-). It is used only in the oblique cases of the dual and plural. (Cp. alii aliorum, alter alterius).
| DUAL | PLURAL | |||||
| Gen. | ἀλλήλοιν | ἀλλήλαιν | ἀλλήλοιν | ἀλλήλων | ἀλλήλων | ἀλλήλων |
| Dat. | ἀλλήλοιν | ἀλλήλαιν | ἀλλήλοιν | ἀλλήλοις | ἀλλήλαις | ἀλλήλοις |
| Acc. | ἀλλήλω | ἀλλήλᾱ | ἀλλήλω | ἀλλήλους | ἀλλήλᾱς | ἄλληλα |
The Definite Article.—The definite article ὁ, ἡ, τό (stems ὁ-, ἁ̄-, το-) is thus declined:
| SINGULAR | DUAL | PLURAL | |||||||||
| Nom. | ὁ | ἡ | τό | N. A. | τώ | τώ | τώ | Nom. | οἱ | αἱ | τά |
| Gen. | τοῦ | τῆς | τοῦ | G. D. | τοῖν | τοῖν | τοῖν | Gen. | τῶν | τῶν | τῶν |
| Dat. | τῷ | τῇ | τῷ | Dat. | τοῖς | ταῖς | τοῖς | ||||
| Acc. | τόν | τήν | τό | Acc. | τούς | τά̄ς | τά |
a. The definite article is a weakened demonstrative pronoun, and is still used as a demonstrative in Homer (1100).
b. τά̄ (especially) and ταῖν, the feminine forms in the dual, are very rare in the authors, and are unknown on Attic prose inscriptions of the classical period.
Hom. has also gen. τοῖο, gen. dat. dual τοῖιν; nom. pl. τοί, ταί; gen. pl. fem. τά̄ων; dat. pl. masc. τοῖσι, fem. τῇσι, τῇς (Hdt. τοῖσι, τῇσι). Doric are τῶ, τᾶς, etc.; pl. also N. τοί, ταί; G. fem. τᾶν. Generally poetic are τοῖσι, ταῖσι. τοὶ μέν, τοὶ δέ occur rarely in tragedy for οἱ μέν, οἱ δέ.
Demonstrative Pronouns.—The chief demonstrative pronouns are ὅδε this (here), οὗτος this, that, ἐκεῖνος that (there, yonder).
| SINGULAR | |||||||||
| Nom. | ὅδε | ἥδε | τόδε | οὗτος | αὕτη | τοῦτο | ἐκεῖνος | ε ᾿κείνη | ἐκεῖνο |
| Gen. | τοῦδε | τῆσδε | τοῦδε | τούτου | ταύτης | τούτου | ἐκείνου | ἐκείνης | ἐκείνου |
| Dat. | τῷδε | τῇδε | τῷδε | τούτῳ | ταύτῃ | τούτῳ | ἐκείνῳ | ἐκείνῃ | ἐκείνῳ |
| Acc. | τόνδε | τήνδε | τόδε | τοῦτον | ταύτην | τοῦτο | ἐκεῖνον | ἐκείνην | ἐκεῖνο |
| DUAL | |||||||||
| N. A. | τώδε | τώδε | τώδε | τούτω | τούτω | τούτω | ἐκείνω | ἐκ είνω | ἐκείνω |
| G. D. | τοῖνδε | τοῖνδε | τοῖνδε | τούτοιν | τούτοιν | τούτοιν | ἐκείνοιν | ἐκείνοιν | ἐκείνοιν |
| PLURAL | |||||||||
| Nom. | οἵδε | αἵδε | τάδε | οὗτοι | αὗται | ταῦτα | ἐκεῖνοι | ἐκεῖναι | ἐκεῖνα |
| Gen. | τῶνδε | τῶνδε | τῶνδε | τούτων | τούτων | τούτων | ἐκείνων | ἐκείνων | ἐκείνων |
| Dat. | τοῖσδε | ταῖσδε | τοῖσδε | τούτοις | ταύταις | τούτοις | ἐκείνοις | ἐκείναις | ἐκείνοις |
| Acc. | τούσδε | τά̄σδε | τάδε | τούτους | ταύτᾱς | ταῦτα | ἐκείνους | ἐκείνᾱς | ἐκεῖνα |
a. ὅδε is formed from the old demonstrative ὁ, ἡ, τό this or that, with the indeclinable demonstrative (and enclitic) ending -δε here (cp. hī-c from hī-ce, Fr. ce-ci). For the accent of ἥδε, οἵδε, αἵδε see 186.
b. οὗτος has the rough breathing and τ in the same places as the article. ου corresponds to the ο, αυ to the α, of the article. For οὗτος as a vocative, see 1288 a. (οὗτος is from ὁ + the particle *υ + the demonstrative suffix το ¨ ς).
c. ἐκεῖνος has a variant form κεῖνος in poetry, and sometimes in prose (Demosthenes). (ἐκεῖνος stands for ἐκε(ι)-ενος from ἐκεῖ there + suffix -ενος.)
d. Other demonstrative pronouns are
| τοσόσδε | τοσήδε | τοσόνδε | so much, so many ) | pointing forward |
| τοιόσδε | τοιά̄δε | τοιόνδε | such (in quality) ) | (to what follows). |
| τηλικόσδε | τηλικήδε | τηλικόνδε | so old, so great ) |
These are formed from -δε and the (usually) poetic τόσος, τοῖος, τηλίκος with the same meanings.
e. Combinations of the above words and οὗτος are
| τοσοῦτος | τοσαύτη | τοσοῦτο(ν) | so much, so many ) | pointing backward |
| τοιοῦτος | τοιαύτη | τοιοῦτο(ν) | such (in quality) ) | (to what precedes). |
| τηλικοῦτος | τηλικαύτη | τηλικοῦτο(ν) | so old, so great ) |
The forms in -ν are more common than those in -ο. Attic prose inscriptions have only -ον.
Hom. always, Hdt. rarely, has the final ν.
f. The dual rarely has separate feminine forms.
g. The deictic suffix -ῑ may be added to demonstratives for emphasis. Before it α, ε, ο are dropped. Thus, ὁδί̄ this man here, ἡδί̄, τοδί̄, G. τουδί̄, τησδί̄, etc.; οὑτοσί̄, αὑτη̆ί̄, τουτί̄, οὑτοῐί̄, τουτωνί̄. So with other demonstratives and with adverbs: τοσουτοσί̄, οὑτωσί̄, ὡδί̄. For -ῑ we have, in comedy, -γῑ or (rarely) -δῑ formed from γ(ε), δ(ε) + ί̄. Thus, αὑτηγί̄, τουτογί̄, τουτοδί̄.
For τοῖσδε Hom. has also τοῖσδεσσι or τοῖσδεσι. Doric has n. pl. τούτοι, ταύται, gen. pl. fem. ταυτᾶν (Aeol. ταύτᾱν). κεῖνος occurs in Hdt. (together with ἐκεῖνος). Doric and Aeolic have κῆνος.
Interrogative and Indefinite Pronouns.—The interrogative pronoun τίς, τί who, which, what? never changes its accent to the grave (154). The indefinite pronoun τὶς, τὶ any one, some one, anything, something is enclitic (181 b).
| SINGULAR | ||||||
| Interrogative | Indefinite | |||||
| Nom. | τίς | τί | τὶς | τὶ | ||
| Gen. | τίν-ος, τοῦ | τιν-ός, τοῦ | ||||
| Dat. | τίν-ι, τῷ | τιν-ί, τῷ | ||||
| Acc. | τίν-α | τί | τινά | τὶ |
| DUAL | ||
| N. A. V. | τίν-ε | τιν-έ |
| G. D. | τίν-οιν | τιν-οῖν |
| PLURAL | ||||||
| Nom. | τίν-ες | τίν-α | τιν-ές | τιν-ά | ||
| Gen. | τίν-ων | τιν-ῶν | ||||
| Dat. | τί-σι ( ν ) | τι-σί ( ν ) | ||||
| Acc. | τίν-ας | τίν-α | τιν-άς | τιν-ά |
a. ἄττα (not enclitic) is sometimes used for the indefinite τινά. ἄττα is derived from such locutions as πολλάττα, properly πολλά ¨ ττα (for τ[ιγλιδε]α).
Hom. and Hdt. have G. τέο, τεῦ, D. τέῳ (τῷ Hom.), G. τέων, D. τέοισι. These forms are also indefinite and enclitic (gen. τεῶν Hdt.). Hom. has ἄσσα for the indefinite τινά.
ἄλλος .—The indefinite pronoun ἄλλος another (Lat. alius, cp. 110) is declined like αὐτός: ἄλλος, ἄλλη, ἄλλο (never ἄλλον).
Δεῖνα .—The indefinite pronoun δεῖνα, always used with the article, means such a one. It is declined thus: sing. ὁ, ἡ, τὸ δεῖνα; τοῦ, τῆς, τοῦ δεῖνος; τῷ, τῇ, τῷ δεῖνι; τὸν, τὴν, τὸ δεῖνα; plur. (masc.) οἱ δεῖνες, τῶν δείνων, τοὺς δεῖνας.  5. δεῖνα is rarely indeclinable. Its use is colloquial and it occurs (in poetry) only in comedy.
Other indefinite pronominal adjectives are: ἕτερος, -ᾱ, -ον: with article, the other, one of two, the one (Lat. alter, alteruter); without article, other, another, a second (alius). By crasis (69) ἅ̄τερος, θά̄τερον, etc. ἑκάτερος, -ᾱ, -ον: each (of two) uterque; pl. either party, both parties, as utrique. ἕκαστος, -η, -ον: each, each one, every, every one, used of more than one (quisque). μόνος, -η, -ον: alone, only, sole. πᾶς (299): all, entire, every. The negatives οὐδείς, μηδείς (349 b) no one (poetical οὔτις, μήτις, in prose only οὔτι, μήτι, declined like τὶς; accent 186), Lat. nemo, nullus. οὐδέτερος, μηδέτερος neither of two (Lat. neuter).
Relative Pronouns.—The relative pronoun ὅς, ἥ, ὅ who, which, that is declined thus:
| SINGULAR | DUAL | PLURAL | |||||||||
| Nom. | ὅς | ἥ | ὅ | N. A. | ὥ | ὥ | ὥ | Nom. | οἵ | αἵ | ἅ |
| Gen. | οὗ | ἧς | οὗ | G. D. | οἷν | οἷν | οἷν | Gen. | ὧν | ὧν | ὧν |
| Dat. | ᾧ | ᾗ | ᾧ | Dat. | οἷς | αἷς | οἷς | ||||
| Acc. | ὅν | ἥν | ὅ | Acc. | οὕς | ἅ̄ς | ἅ |
a. The feminine dual forms ἅ̄ and αἷν are seldom, if ever, used in Attic.
b. ὅς is used as a demonstrative in Homer and sometimes in prose (1113).
c. The enclitic particle -περ may be added to a relative pronoun (or adverb) to emphasize the connection between the relative and its antecedent. Thus, ὅσ-περ, ἥ-περ, ὅ-περ the very person who, the very thing which; so ὥσπερ just as. ὅσπερ is declined like ὅς.
d. Enclitic τε is added in ἐφ᾽ ᾧτε on condition that, οἷός τε (186 a) able to, ἅτε inasmuch as.
1. Hom. uses the demonstrative forms ὁ, ἡ, τό (332) as relatives (1105). In this case the nom. pl. has τοί, ταί (332 D.).
2. Besides the forms in 338, Hom. has gen. ὅο (miswritten ὅου) and ἕης.
3. Hdt. has ὅς, ἥ, τό, οἵ, αἵ, τά. In the oblique cases he uses τοῦ, τῆς, etc.; though, especially after prepositions capable of elision, he has the relative forms, as δι᾽ οὗ, παρ᾽ ᾧ, κατ᾽ ἥν, ὑπ᾽ ὧν; also ἐς ὅ.
The indefinite or general relative pronoun ὅστις, ἥτις, ὅ τι whoever (any-who, any-which), any one who, whatever, anything which, inflects each part (ὅς and τὶς) separately. For the accent, see 186.
| SINGULAR | |||
| Nom. | ὅστις | ἥτις | ὅ τι |
| Gen. | οὗτινος, ὅτου | ἧστινος | οὗτινος, ὅτου |
| Dat. | ᾧτινι, ὅτῳ | ᾗτινι | ᾧτινι, ὅτῳ |
| Acc. | ὅντινα | ἥντινα | ὅ τι |
| DUAL | |||
| N. A. | ὥτινε | ὥτινε | ὥτινε |
| G. D. | οἷντινοιν | οἷντινοιν | οἷντινοιν |
| PLURAL | |||
| Nom. | οἵτινες | αἵτινες | ἅτινα, ἅττα |
| Gen. | ὧντινων, ὅτων | ὧντινων | ὧντινων, ὅτων |
| Dat. | οἷστισι ( ν ), ὅτοις | αἷστισι ( ν ) | οἷστισι ( ν ), ὅτοις |
| Acc. | οὕστινας | ἅ̄στινας | ἅτινα, ἅττα |
a. The neuter ὅ τι is sometimes printed ὅ, τι to avoid confusion with the conjunction ὅτι that, because.
b. The shorter forms are rare in prose, but almost universal in poetry (especially ὅτου, ὅτῳ). Inscriptions have almost always ὅτου, ὅτῳ, ἅττα.
c. The plural ἅττα is to be distinguished from ἄττα (334 a).
d. τὶς may be added to ὁπότερος, ὅσος, οἷος (340) to make them more indefinite, as ὁποῖός τις of whatsoever kind.
e. οὖν, δή, or δήποτε may be added to the indefinite pronouns to make them as general as possible, as ὁστισοῦν (or ὅστις οὖν), ἡτισοῦν, ὁτιοῦν any one whatever, any thing whatever, and so ὁποιουσ-τινασ-οῦν, ὁστισ-δή-ποτε, or ὁστισ-δηποτ-οῦν. In these combinations all relative or interrogative force is lost.
f. The uncompounded relatives are often used in an exclamatory sense, and sometimes as indirect interrogatives. Indefinite relatives may be used as indirect interrogatives.
Hom. has the following special forms. The forms not in () are used also by Hdt. In the nom. and acc. Hdt has the usual forms.
| SINGULAR | PLURAL | |||||
| Nom. | ( ὅτισ ) | ( ὅ ττι ) | ἅσσα | |||
| Gen. | ( ὅττεο ), ( ὅττευ ) ὅτευ | ὅτεων | ||||
| Dat. | ὅτεῳ | ὁτέοισι | ||||
| Acc. | ( ὅτινα ) | ( ὅ ττι ) | ( ὅτινασ ) | ἅσσα |
Correlative Pronouns.—Many pronominal adjectives correspond to each other in form and meaning. In the following list poetic or rare forms are placed in ().
| Interrogative: | Relative | Indefinite Relative | ||
| Direct or | Indefinite | Demonstrative | (Specific) or | or Indirect |
| Indirect | (Enclitic) | Exclamatory | Interrogative | |
| τίς who? | τὶς | (ὁ, ὅς) ὅδε this | ὅς who, which | ὅστις whoever, |
| which? what? | some one, any | (here), hic | qui | any one who |
| qui? | one, aliquis, | οὗτος this, that | quisquis, | |
| quidam | is, ille | quicunque | ||
| ἐκεῖνος ille | ||||
| πότερος | πότερος or | ἕτερος the one or | ὁπότερος | ὁπότερος |
| which of two? | ποτερός one of | the other of two | whichever | whichever |
| uter? | two (rare) | alter | of the two | of the two |
| utercumque | ||||
| πόσος how | ποσός of some | (τόσος) ( so | ὅσος as | ὁπόσος |
| much? how | quantity or | τοσόσδε ( much, | much as, | of whatever |
| many? quan- | number | τοσοῦτος ( so | as many as | size, number |
| tus? quot? | ( many | quantus, quot | quantuscumque, | |
| tantus, tot | quotquot | |||
| ποῖος | ποιός of some | (τοῖος) ) such | οἷος of which | ὁποῖος |
| of what sort? | sort | τοιόσδε ) talis | sort, | of whatever sort |
| qualis? | τοιοῦτος ) | (such) as | qualiscumque | |
| qualis | ||||
| πηλίκος | πηλίκος | ( so old, | ἡλίκος of | ὁπηλίκος |
| how old? | of some | ( so | which age, | of whatever age |
| how large? | age, size | (τηλίκος) ( young, | size, (as old, | or size |
| τηλικόσδε ( so | large) as | |||
| τηλικοῦτος ( large, | ||||
| ( so | ||||
| ( great |
Hom. has (Aeolic) ππ in ὁππότερος, ὁπποῖος, and σς in ὅσσος, τόσσος, etc. Hdt. has κ for π in (ὁ)κότερος, (ὁ)κόσος, (ὁ)κοῖος.


ME, MYSELF & IRENE (20th Century Fox) Starring: Jim Carrey, Renee Zellweger, Chris Cooper, Robert Forster, Richard Jenkins, Anthony Anderson, Mongo Brownlee, Jerod Mixon. Screenplay: Peter Farrelly & Mike Cerrone & Bobby Farrelly. Producers: Bradley Thomas & Bobby Farrelly & Peter Farrelly. Directors: Bobby Farrelly & Peter Farrelly.  Reviewed by Scott Renshaw.
The National Alliance for the Mentally Ill went public ten days before the release of ME, MYSELF & IRENE with a protest of the film's flippant tone towards multiple personality disorders. They were offended, which is not an uncommon reaction to a Farrelly Brothers movie. In fact, it was probably a shrewd move on NAMI's part to beat the rush condemning ME, MYSELF & IRENE. Operating strictly from memory, here's a list of the groups that could conceivably find something in the film to be offended by: African-Americans, little people, African-American little people, lesbians, law enforcement officers, animal rights activists, albinos, nursing mothers, users of feminine itch remedies ... and, of course, advocates for the mentally ill.
Farrelly Brothers movies -- including KINGPIN and THERE'S SOMETHING ABOUT MARY -- are tasteless, crude and, yes, occasionally offensive. They're also funny in the sort of I-can't-believe-I-actually-saw-that way usually associated with vintage Mel Brooks, or the Zucker-Abrahams-Zucker team. There's nothing remotely ennobling about ME, MYSELF & IRENE, the story of Charlie Baileygates (Jim Carrey), a Rhode Island state trooper with a little problem. After his wife leaves him for another man, Charlie is left with three growing boys and a need to avoid confrontations. His repressed id eventually takes the form of an alter-ego named Hank that appears whenever Charlie is enraged and unmedicated.  Unfortunately, Charlie has forgotten his medication, meaning Charlie and Hank both have the opportunity to grow infatuated with Irene while they're on the run.
Fans of THERE'S SOMETHING ABOUT MARY -- and I count myself quite squarely among them -- may find IRENE a bit disappointing by comparison. Carrey and Zellweger aren't nearly the perfect comic odd couple Ben Stiller and Cameron Diaz were, nor is Carrey the sort of comic performer whose ordinary guy demeanor works to balance the Farrellys' warped sensibilities. The story is an unnecessarily convoluted parade of double-crossing characters involved in a dirty business deal the specific nature of which I still can't explain. There are a few missed opportunities, like ignoring genial narrator Rex Allen, Jr. for much of the film. And like the Farrellys' previous films, it's easily 15 minutes longer than it needs to be, padded with musical cues that only distract from the real reason for watching a Farrelly Brothers movie: seeing what gut-busting affront to good taste they'll come up with next.
Mere words can't possibly do justice to those affronts. IRENE's finest moments may not reach the epic heights of MARY's zipper or hair gel scenes, but they come close. There's a ridiculously funny running gag involving Charlie's three "sons" from his wife's affair, a trio of immense black youths with Mensa minds and Richard Pryor mouths. Hank's uninhibited rampage of vengeance upon his first emergence gets more outrageous by the moment. Then there's a morning visit to the lavatory that turns into a battle between Charlie and his own excretory equipment. Sometimes it seems that it's a long time between laughs in a Farrelly Brothers movie, but maybe that's a good thing. Often, you still haven't recovered from the last one five minutes ago by the time the next one rolls around.
I'm not about to delve into whether or not NAMI was "right" in criticizing IRENE for its approach to multiple personality disorder, including repeatedly using "schizo" as a synonym. I do know that ME, MYSELF & IRENE strikes me as a wildly comic spin on THE INCREDIBLE HULK more than anything else, with Carrey's contorted transformations a special effect all by themselves. That's only part of the amazingly adept physical comedy Carrey pulls off, battling with his own body like Steve Martin in ALL OF ME ... or, come to think of it, like Carrey himself in LIAR LIAR. This time, however, he doesn't have to fight against insipid moralizing. ME, MYSELF & IRENE may be uneven and peculiarly violent in its resolution, but it's pure in its refusal to sentimentalize anything. Everything is profane and nothing sacred in the Farrelly universe. Maybe that is worth protesting. Or maybe, when you're laughing so hard that you forget to be offended, it's worth applauding.
On the Renshaw scale of 0 to 10 repeat offenders: 7.
Visit Scott Renshaw's Screening Room http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the Screening Room for details, or reply to this message with subject "Subscribe".
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


If you work with High Net Worth (HNW) individuals, SoGive can help you to support them with their philanthropy, including managing inheritance charity funds.
Benefit from SoGive's expertise around charitable giving, including legal structures, impact data, and recommendations to make it easy to make good choices.
There are additional benefits to your firm's PR and reputation. SoGive's social media support makes it easy for clients to share their enthusiasm and tell family and friends about their giving. Social media sharing promotes your brand. These positive news posts include a link to your firm.
Notes about Charitable giving and taxes


| Home | Trees | Indices | Help |
|
|---|
|
|
This is the MDP package for parallel processing. It is designed to work with nodes for which a large part of the computation is embaressingly parallel (like in :class:`~mdp.nodes.PCANode`). The hinet package is also fully supported, i.e., there are parallel versions of all hinet nodes. This package consists of two decoupled parts. The first part consists of parallel versions of the familiar MDP structures (nodes and flows). At the top there is the :class:`~ParallelFlow`, which generates tasks that are processed in parallel (this can be done automatically in the train or execute methods). The second part consists of the schedulers. They take tasks and process them in a more or less parallel way (e.g. in multiple processes). So they are designed to deal with the more technical aspects of the parallelization, but do not have to know anything about flows or nodes.
|
|||
|
ExecuteResultContainer Default result container with automatic restoring of the result order. |
|||
|
FlowExecuteCallable Implements data execution through a Flow. |
|||
|
FlowTaskCallable Base class for all flow callables. |
|||
|
FlowTrainCallable Implements a single training phase in a flow for a data block. |
|||
|
JoinParallelException Exception for errors when joining parallel nodes. |
|||
|
ListResultContainer Basic result container using simply a list. |
|||
|
NoTaskException Exception for problems with the task creation. |
|||
|
NotForkableParallelException Exception to signal that a fork is not possible. |
|||
|
OrderedResultContainer Default result container with automatic restoring of the result order. |
|||
|
ParallelCheckpointFlow Parallel version of CheckpointFlow. |
|||
|
ParallelCloneLayer Parallel version of CloneLayer class. |
|||
|
ParallelExtensionNode Base class for parallel trainable MDP nodes. |
|||
| ParallelFDANode | |||
|
ParallelFlow A parallel flow provides the methods for parallel training / execution. |
|||
|
ParallelFlowException Standard exception for problems with ParallelFlow. |
|||
|
ParallelFlowNode Parallel version of FlowNode. |
|||
|
ParallelHistogramNode Parallel version of the HistogramNode. |
|||
|
ParallelLayer Parallel version of a Layer. |
|||
|
ParallelSFANode Parallel version of MDP SFA node. |
|||
|
ProcessScheduler Scheduler that distributes the task to multiple processes. |
|||
|
ResultContainer Abstract base class for result containers. |
|||
|
Scheduler Base class and trivial implementation for schedulers. |
|||
|
SleepSqrTestCallable Callable for testing. |
|||
|
SqrTestCallable Callable for testing. |
|||
|
TaskCallable Abstract base class for task callables. |
|||
|
TaskCallableWrapper Wrapper to provide a fork method for simple callables like a function. |
|||
|
ThreadScheduler Thread based scheduler. |
|||
|
TrainResultContainer Container for parallel nodes. |
|
|||
__package__ =
|
|
__package__
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1-MDP on Mon Apr 27 21:56:15 2020 | http://epydoc.sourceforge.net |


ros-update - Update system installed from vcs
a name specifying a system.
currently supported method is git
.
When system are already installed and the system has .git
in the system directory it invoke git pull
and ros install
the system.
ros(1), ros-install(1) _


Controller
Obtain data from internal, trusted sources.
Or
Obtain direct value from random access reference access map.


Making the most of their Sunday, Ranbir Kapoor, Arjun Kapoor and others spotted playing football; view pics
by TIMESOFINDIA.COMWhile some people prefer to enjoy a laid back weekend, a few others try to make the most of the leisure time by indulging in a fun activity. And Ranbir Kapoor, Arjun Kapoor and a couple of other glam world celebs fall in the latter category. Thus, they made the most of their Sunday by enjoying an amazing game of football in Juhu.
While Arjun Kapoor was seen sporting an all black ensemble for the game, Ranbir was seen in two different looks. He was seen in a red and a neon green loose fitted tee while he played the sport. Check out the pictures here:
Meanwhile, on the work front, Ranbir Kapoor will next be seen in Ayan Mukerji’s ‘Brahmastra’ with Alia Bhatt. On the other hand, Arjun Kapoor is gearing up for the release of his upcoming period drama ‘Panipat’. Starring him, Sanjay Dutt and Kriti Sanon in the lead, the movie is slated to release on December 6.


{% extends 'base.html' %} {% block navbar %}
{% endblock navbar %} {% block content %}Quizzes created by you can only be edited. If you want to try playing them, log out first.
{% include "filter_quiz.html" %}| Id | Name | Author | Category | Topic | Description | |
|---|---|---|---|---|---|---|
| {{ quiz.id }} | {{ quiz.name }} | {{ quiz.author.username }} | {{ quiz.category }} | {{ quiz.topic }} | {{ quiz.description }} | Play |


Scroll events cought from the service.
{{ textContent }}
Scroll callbacks from the attribute on this element.
{{ textContent }}


Comper
The comper component has a history option. If turned on, then it will
link with the browser history. You can use the browser back and
forward buttons to undo and redo, and you can bookmark any state of
the comper.


This is a simple proxy Web service that serves saved events of a given user of GoOut.net in an iCalendar format. See homepage on GitHub for more info and source code.
https://goout.net/en/profile/your-name/ydtc/
ydtc
Your textual GoOut ID
Show GoOut events since 2016 2017 2018 2019 the day of calendar retrieval
Language Česky Deutsch Suomi English Polski Eesti
Show long-term events as long multi-day events as separate events for start and end aggregated, max one entry per day
http link
webcal link


Major Blow For Chiefs Clash
by Soccer LadumaThere’s been a major blow dealt to Maritzburg United ahead of their big Telkom Knockout clash with Kaizer Chiefs, and it leaves Eric Tinkler with a decision to make…
Read: Another Chiefs Man Gets Bafana Call-Up
Siyanda Xulu has been a big player for the Team of Choice since they snapped him up as a free agent from the Amakhosi in 2017, and he’s continued to shine in 2019/20 after Tinkler decided to deploy him in a different position as a defensive midfielder.
Now though, with a chance to reach the TKO final on the line, the Maritzburg head coach will have to find an alternative in that number six position after the Bafana Bafana international picked up an ankle injury that is set to rule him out for at least a month.
Xulu picked up his injury in the 2-2 draw with Bloemfontein Celtic last Friday as his teammates heroically fought back from 2-0 down to keep up their unbeaten run despite being reduced to 10 men when the 27-year-old had to be stretchered off.
Read: Mokoena Stunner Seals Big SA Victory
According to Siya sources, the former Amakhosi man will now miss around four weeks of action as he recovers from the ankle knock, meaning that he will definitely not be available for their semifinal on November 24.
Who do you think should replace Xulu in the Maritzburg XI?


This page is served by the reverse proxy behind an Alien cluster. If you see this page, this means the cluster is starting but no node is available yet ...
For online documentation and support please refer to
alien4cloud.github.io.
Thank you for using Alien4Cloud.


45
Brooklyn, New York
Comedian
Lives with wife
Above Average
Below Average
Average
iPhone 8 (iOS 13.1)
MacBook Air (macOS Catalina 10.15.2)


Object that encapsulates application process information such as the process ID, region hash, or region hint. There will be one ApplicationStatus for the node (board domain) on each side of the shared memory.
More...
#include <ApplicationStatus.hpp>
|
| virtual | ~ApplicationStatus ()=default |
| |
| virtual void | set_hint (int cpu_idx, uint64_t hint)=0 |
| | Set the current hint bits for a CPU. More...
|
| |
| virtual uint64_t | get_hint (int cpu_idx) const =0 |
| | Get the current hint bits for a CPU. More...
|
| |
| virtual void | set_hash (int cpu_idx, uint64_t hash, uint64_t hint)=0 |
| | Set the hash and hint of the region currently running on a CPU. More...
|
| |
| virtual uint64_t | get_hash (int cpu_idx) const =0 |
| | Get the hash of the region currently running on a CPU. More...
|
| |
| virtual void | reset_work_units (int cpu_idx)=0 |
| |
| virtual void | set_total_work_units (int cpu_idx, int work_units)=0 |
| | Reset the total work units for all threads to be completed as part of a parallel region. Calling this method also resets the work completed for the CPU. More...
|
| |
| virtual void | increment_work_unit (int cpu_idx)=0 |
| | Mark a unit of work completed for this CPU. More...
|
| |
| virtual double | get_progress_cpu (int cpu_idx) const =0 |
| | Get the current progress for this CPU. Progress is the fraction of the total work units that have been completed. More...
|
| |
| virtual void | update_cache (void)=0 |
| | Updates the local memory with the latest values from the shared memory. Any calls to get methods will use these values until the cache is updated again. More...
|
| |
|
| static std::unique_ptr< ApplicationStatus > | make_unique (int num_cpu, std::shared_ptr< SharedMemory > shmem) |
| | Create an ApplicationStatus object using the given SharedMemory. The caller is responsible for calling buffer_size() when creating the shared memory, or attaching to an existing shared memory region before passing the object to this method. More...
|
| |
| static size_t | buffer_size (int num_cpu) |
| | Return the required size of the shared memory region used by the ApplicationStatus for the given number of CPUs. More...
|
| |
|
| static constexpr size_t | M_STATUS_SIZE = geopm::hardware_destructive_interference_size |
| |
Object that encapsulates application process information such as the process ID, region hash, or region hint. There will be one ApplicationStatus for the node (board domain) on each side of the shared memory.
◆ ~ApplicationStatus()
| virtual geopm::ApplicationStatus::~ApplicationStatus |
( |
| ) |
|
|
virtualdefault |
◆ buffer_size()
| size_t geopm::ApplicationStatus::buffer_size |
( |
int |
num_cpu | ) |
|
|
static |
Return the required size of the shared memory region used by the ApplicationStatus for the given number of CPUs.
- Returns
- Minimum buffer size required for the SharedMemory used by ApplicationStatus.
◆ get_hash()
| virtual uint64_t geopm::ApplicationStatus::get_hash |
( |
int |
cpu_idx | ) |
const |
|
pure virtual |
◆ get_hint()
| virtual uint64_t geopm::ApplicationStatus::get_hint |
( |
int |
cpu_idx | ) |
const |
|
pure virtual |
Get the current hint bits for a CPU.
- Parameters
-
| [in] | cpu_idx | Index of the Linux logical CPU. |
- Returns
- The current hint for the given CPU.
Implemented in geopm::ApplicationStatusImp.
◆ get_progress_cpu()
| virtual double geopm::ApplicationStatus::get_progress_cpu |
( |
int |
cpu_idx | ) |
const |
|
pure virtual |
Get the current progress for this CPU. Progress is the fraction of the total work units that have been completed.
- Parameters
-
| [in] | cpu_idx | Index of the Linux logical CPU. |
- Returns
- Fraction of the total work completed by this CPU.
Implemented in geopm::ApplicationStatusImp.
◆ increment_work_unit()
| virtual void geopm::ApplicationStatus::increment_work_unit |
( |
int |
cpu_idx | ) |
|
|
pure virtual |
Mark a unit of work completed for this CPU.
- Parameters
-
| [in] | cpu_idx | Index of the Linux logical CPU |
Implemented in geopm::ApplicationStatusImp.
◆ make_unique()
| std::unique_ptr< ApplicationStatus > geopm::ApplicationStatus::make_unique |
( |
int |
num_cpu, |
|
|
std::shared_ptr< SharedMemory > |
shmem |
|
) |
| |
|
static |
Create an ApplicationStatus object using the given SharedMemory. The caller is responsible for calling buffer_size()
when creating the shared memory, or attaching to an existing shared memory region before passing the object to this method.
- Returns
- A unique_ptr to the new ApplicationStatus object.
◆ reset_work_units()
| virtual void geopm::ApplicationStatus::reset_work_units |
( |
int |
cpu_idx | ) |
|
|
pure virtual |
◆ set_hash()
| virtual void geopm::ApplicationStatus::set_hash |
( |
int |
cpu_idx, |
|
|
uint64_t |
hash, |
|
|
uint64_t |
hint |
|
) |
| |
|
pure virtual |
◆ set_hint()
| virtual void geopm::ApplicationStatus::set_hint |
( |
int |
cpu_idx, |
|
|
uint64_t |
hint |
|
) |
| |
|
pure virtual |
Set the current hint bits for a CPU.
- Parameters
-
| [in] | cpu_idx | Index of the Linux logical CPU |
| [in] | hint | Bitfield of hint to set for the CPU. Any existing hint will be overwritten. |
Implemented in geopm::ApplicationStatusImp.
◆ set_total_work_units()
| virtual void geopm::ApplicationStatus::set_total_work_units |
( |
int |
cpu_idx, |
|
|
int |
work_units |
|
) |
| |
|
pure virtual |
Reset the total work units for all threads to be completed as part of a parallel region. Calling this method also resets the work completed for the CPU.
- Parameters
-
| [in] | cpu_idx | Index of the Linux logical CPU |
Implemented in geopm::ApplicationStatusImp.
◆ update_cache()
| virtual void geopm::ApplicationStatus::update_cache |
( |
void |
| ) |
|
|
pure virtual |
Updates the local memory with the latest values from the shared memory. Any calls to get methods will use these values until the cache is updated again.
Implemented in geopm::ApplicationStatusImp.
◆ M_STATUS_SIZE
| constexpr size_t geopm::ApplicationStatus::M_STATUS_SIZE = geopm::hardware_destructive_interference_size |
|
staticconstexprprotected |
The documentation for this class was generated from the following files:


Exit
Hilman
Location: Padang
Hilman
Location: Padang
Hilman
Location: Padang
Hilman
Location: Padang
ASDJNDWPIFPIJOASKFV{AMDHWOAFC AWIDJMAWPOCMK
Username
Shuffle Card
Turn
Chat
-
Hilman
Congratulation, You did it brow!!
Congratulation, You did it brow!!
Hilman
Congratulation, You did it brow!!
Hilman
Send


Volunteer
Data updated at: 30, May 2021 15:00. DISCLAIMER: All of these resources provided on an “as and when basis” and “as in” based on a fact check done by volunteers who are dedicated to help individuals and families in such challenging times. By using these resources, you are agreeing that WBCAN, however, do not accept any responsibility or liability for the accuracy, content, completeness, legality or reliability of the information contained in any of these.
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Biswajit
Red Volunteer
Atanu
Amitabha
Bibhash
Birendra
Ananta
Arnab
Red Volunteer
Aspak
Bosudeb
Himadri
District: Purba Medinipur
Location: Badalpur/Haipur
Availability Status: Available
Topendu
District: Purba Medinipur
Location: Badalpur/Haipur
Availability Status: Available
Mirza Rahim
District: Purba Medinipur
Location: Dulalpur Region
Availability Status: Available
Koushik
Joydeb
Tapas
Bhabani
Arun
Rabindra
District: Purba Medinipur
Location: Badalpur/Haipur
Availability Status: Available
Robi
Pranab
Kalyan
Pranab
Subho
Saikat
Rahim
District: Purba Medinipur
Location: Dulalpur Region
Availability Status: Available
Ali Raja
Satya
Gobindo
District: Purba Medinipur
Location: Badalpur/Haipur
Availability Status: Available
Bhabani
District: Purba Medinipur
Location: Badalpur/Haipur
Availability Status: Available
Tehran
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Red Volunteer
Syed Abu
District: Purba Medinipur
Location: Chaitanyapur1,2
Availability Status: Available
Sk Nazir Hossen
Suvendu Samanta
Tathagata Parui
Sukumar Bera
Subhodip Sarkar
Buddhadeb Maiti
District: Purba Medinipur
Location: Chaitanyapur1,2
Availability Status: Available
Akash Rehman
District: Purba Medinipur
Location: Gobindapur Region
Availability Status: Available
Sk Zidan
District: Purba Medinipur
Location: Gobindapur Region
Availability Status: Available
Prabir Pike
Meghnath Dalui
Sk Nazir Hossen
Kishore
District: Purba Medinipur
Location: Raghunathpur Bari
Availability Status: Available
Rabindranath Samanta
District: Purba Medinipur
Location: Raghunathpurbari
Availability Status: Available


The quickest way to get started is to point your html <script>
tag to a Google CDN URL.
This way, you don't have to download anything or maintain a local copy.
There are two types of AngularJS script URLs you can point to, one for development and one for production:
To point your code to an AngularJS script on the Google CDN server, use the following template. This example points to the minified version 1.5.6:
<!doctype html>
<html ng-app>
<head>
<title>My AngularJS App</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
</head>
<body>
</body>
</html>
This option is for those who want to work with AngularJS offline, or those who want to host the AngularJS files on their own servers.
If you navigate to https://code.angularjs.org/, you'll see a directory listing with all of the AngularJS versions since we started releasing versioned build artifacts. Each directory contains all artifacts that we released for a particular version.
2.
(e.g. 2.0.0-beta.17
) — they are not related to
AngularJS. They contain build artifacts from Angular versions.
Each directory under https://code.angularjs.org/ includes a set of files that comprise the
corresponding version. All JavaScript files (except for angular-mocks
which is only used during
development) come in two flavors — one suitable for development, the other for production:
<filename>.js
— These files are non-obfuscated, non-minified, and human-readable by opening
them in any editor or browser. In order to get better error messages during development, you
should always use these non-minified scripts.
<filename>.min.js
— These are minified and obfuscated versions, created with the
Closure compiler. Use these versions for
production in order to minimize the size of the application that is downloaded by your user's
browser.
<filename>.min.js.map
— These are
sourcemap files. You can
serve them alongside the .min.js
files in order to be able to debug the minified code (e.g. on a
production deployment) more easily, but without impacting performance.
The set of files included in each version directory are:
angular.zip
— This is a zip archive that contains all of the files released for this AngularJS
version. Use this file to get everything in a single download.
angular.js
— The core AngularJS framework. This is all you need to get your AngularJS app
running.
angular-csp.css
— You only need this file if you are using
CSP (Content Security Policy). See
here for more info.
angular-mocks.js
— This file contains an implementation of mocks that makes testing angular
apps even easier. Your unit/integration test harness should load this file after angular.js
is
loaded.
angular-loader.js
— Module loader for AngularJS modules. If you are loading multiple
script files containing AngularJS modules, you can load them asynchronously and in any order as long
as you load this file first. Often the contents of this file are copy&pasted into the index.html
to avoid even the initial request to angular-loader[.min].js
.
See angular-seed for
an example of usage.
Additional AngularJS modules: Optional modules with additional functionality. These files
should be loaded after the core angular[.min].js
file:
angular-animate.js
— Enable animation support. (API docs)angular-aria.js
— Make your apps accessible to users of
assistive technologies. (API docs)angular-cookies.js
— A convenient wrapper for reading and writing browser cookies.
(API docs)angular-message-format.js
— Enhanced support for pluralization and gender specific
messages in interpolated text. (API docs)angular-messages.js
— Enhanced support for displaying validation messages.
(API docs)angular-parse-ext.js
— Allow Unicode characters in identifiers inside AngularJS expressions.
(API docs)angular-resource.js
— Easy interaction with RESTful services.
(API docs)angular-route.js
— Routing and deep-linking services and directives for AngularJS apps.
(API docs)angular-sanitize.js
— Functionality to sanitize HTML. (API docs)angular-touch.js
— Touch events for touch-enabled devices.
(API docs)docs/
— This directory contains all the files that compose the https://docs.angularjs.org/
documentation app. These files are handy to see the older versions of our docs, or even more
importantly, view the docs offline.
i18n/
- This directory contains locale specific
ngLocale
AngularJS modules to override the defaults defined in the main ng
module.


It's way too hard to keep all of my music stored on one machine in a lossless format, have it backed up to another machine, synced to my iPod in MP3 and have it pleasingly playable on my OS X computer. Way too hard. Really.
Especially since fixes to track listings and so forth seem to vanish like smoke in the breeze. Banshee and Rhythmbox both pretend to help, but that's only so they can mess with my life more.


| Modifier and Type | Field and Description |
|---|---|
int |
activeSpriteId
Sprite ID of the object that triggers the event (either the avatar,
or something created by the avatar).
|
int |
activeTypeId
Type id of the object that triggers the event (either the avatar,
or something created by the avatar).
|
boolean |
fromAvatar
True if the avatar triggered the event, false
otherwise (example: something that is thrown by the
avatar hits a sprite).
|
int |
gameStep
Game step when the event happened.
|
int |
passiveSpriteId
Sprite ID of the object that received the event (what did the avatar,
or something created by the avatar, collided with?).
|
int |
passiveTypeId
Type id of the object that received the event (what did the avatar,
or something created by the avatar, collided with?).
|
Vector2d |
position
Position where the event took place.
|
public int gameStep
public boolean fromAvatar
public int activeTypeId
public int passiveTypeId
public int activeSpriteId
public int passiveSpriteId
public Vector2d position
public Event(int gameStep, boolean fromAvatar, int activeTypeId, int passiveTypeId, int activeSpriteId, int passiveSpriteId, Vector2d position)
gameStep
- when the event happened.fromAvatar
- did the avatar trigger the event (true), or something created by him (false)?activeTypeId
- type of the sprite (avatar or from avatar).passiveTypeId
- type of the sprite that collided with activeTypeId.activeSpriteId
- sprite ID of the avatar (or something created by the avatar).passiveSpriteId
- sprite ID of the other object.position
- where did the event take place.


Diabetes Women Pregnancy Representation
This is a representation of the diabetes data in women during pregnancy to show the evolution of their glucose and the age of pregnancy.
Age Rate in pregnant women with Diabetes
Diabetes Evolution Records of a pregnant woman in a Hospital


For every conversation exist two firebase object. This is the messages object.
For every conversation exist two firebase object. This is the typing object.
Id of the conversation, needed to identify it.
| - (JSQMessagesBubbleImage*) imgBubbleIncoming |
|
protected |
Image of an incoming message bubble.
| - (JSQMessagesBubbleImage*) imgBubbleOutgoing |
|
protected |
Image of an outgoing message bubble.
| - (NSMutableArray*) messages |
|
protected |
Mutable array with the messages.
| - (NSMutableArray*) messengerItems |
|
protected |
Mutable array with the messenger items.
| - (JSQMessagesAvatarImage*) placeholderProfilePicture |
|
protected |
Placeholder of the users' profile picture, displayed as long as the users' pictures aren't loaded.
| - (NSMutableDictionary*) profilePictures |
|
protected |
Mutable dictionary with the users' profile pictures.
| - (NSIndexPath*) selectedIndex |
|
protected |
Index of the message bubble in case the user selects one of the message bubbles.
Title in the navigation bar.
The documentation for this category was generated from the following file:
- Controllers/Chat/ESMessengerView.m


Taking breaks is the single most important thing I do when trying to solve a science, coding or writing problem
If the current pattern of thoughts in your short-term memory isn't solving the problem, maybe it's time to reset
Here's a doggo we spotted taking a break in Th...


Funding approved to renovate Alva boat ramp
by WFTX Digital TeamLEE COUNTY, Fla. -- The Alva boat ramp is getting a new look.
Tuesday, Lee County commissioners approved a renovation for the boat ramp.
The boat ramp on Pearl Street will be extended to two lanes. The boarding dock will also be replaced, the parking lot will be improved and upgraded so that it is ADA accessible.
The project will cost nearly half a million dollars and is being funded by boater registration fees.
It is expected to be completed by spring 2020.


BLOG
ABOUT
START WRITING
×
Enhance your creative writing skills!
Improve your vocabulary and become a better student
Holy guacamole!
You should check in on some of those fields below.
×
Full Name
Student Number
Program of Study
Education
Year
One
Two
Three
Four
Postgraduate
Hobbies and Interests
Register
Writings
12-08-2020
How to make a great research project.
By | Author Name
12-08-2020
How to make a great WFH setup.
By | Author Name
12-08-2020
DIgital Literacy for freshmans
By | Author Name
12-08-2020
How to ace your Assignments
By | Author Name
12-08-2020
Getting Help on Campus.
By | Author Name
12-08-2020
How to use library resources
By | Author Name
12-08-2020
How to manage your finances as a student
By | Author Name
12-08-2020
How to build productive study habits.
By | Author Name
Load more articles


+++
title = "Git Profile Manager"
linkTitle = "Git Profile Manager"
+++
{{< blocks/cover title="GPM: Basic Profile Support for Git" image_anchor="top" height="med" color="orange" >}}
}}">
Documentation
GitHub
Allows you to quickly apply any Git configuration options for switching between contexts and projects. Fully open-source.
{{< blocks/link-down color="info" >}}
{{< /blocks/cover >}}
{{% blocks/lead color="primary" %}}
Git Profile Manager (GPM) is a simple command-line tool to make switching projects or identities with Git easier. GPM lets you quickly apply any number of Git configuration commands repeatably, perfect for things like changing emails, signing keys or command behaviour when changing between projects.
{{% /blocks/lead %}}
{{< blocks/section color="dark" >}}
{{% blocks/feature icon="fa-tools" title="Simple and Reliable" url="/docs/getting-started/profiles/" %}}
Profiles are stored in easy-to-edit text files, and applied using Git itself.
{{% /blocks/feature %}}
{{% blocks/feature icon="fas fa-cloud-download-alt" title="Easy to Install" url="/docs/getting-started/installation/" %}}
Available as native packages for common platforms as well as single binaries so you can install it anywhere.
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/agc93/git-profile-manager" %}}
GPM is fully open-source and open to community contributions and fixes!
{{% /blocks/feature %}}
{{< /blocks/section >}}
{{< blocks/section >}}
{{< /blocks/section >}}


Dang nhap that bai
Dang nhap that bai
Dang nhap that bai
{{ user.email }} dang nhap thanh cong
Email
Password


The Filipino Youth Summit (FYS) is an advocacy-based youth conference in the country where student-leaders gather to participate in reviewing local and national government initiatives, addressing national issues, and collaborating towards a more empowered and progressive nation. The summit will be composed of collaborative discussions, and issues-centered talks to further unite the Filipino Youth of common interest.
Through greater awareness and understanding among the regions, FYS 2018 envisions to provide a platform for youth leaders from all over the country to share ideas for social transformation.
> To promote a deeper understanding of
various national issues
> To elevate the involvement of the Filipino Youth at national and regional activities
> To build a network of youth committed to developing long-term solutions
The Filipino Youth Summit DLSU is brought to you by the Office of the Vice President for External Affairs (OVPEA). Click here to see the organizers.
The Central Committee of the Filipino Youth Summit comprises of students from De La Salle University. It is composed of twelve (12) different committees: Programs, External Programs, Facilitators, Delegate Relations, Corporate Relations, Media & Publicity, Digital Content, Secretariat, Finance, Materials, Food, and Venue. Click here to see the list of team leaders.
The Filipino Youth Leaders serve as the representatives from the different regions in the Philippines. In the conference, they will be assisting the Central Committee in ensuring the success of the summit. Click here to see the list of the youth leaders.


NFL Teams
Notes
There is one bug in this application
The spinner never goes away, it should go away and the NFL standings should be shown as soon as they are succesfully loaded.


In 2017, it's essential to have a website for your wedding. So when it came time for me to tie the knot, it only made sense for me to develop my own site for this special occasion.


arcgis.features.enrich_data module¶
These functions help you explore the character of areas. Detailed demographic data and statistics are returned for your chosen areas.
enrich_layer retrieves information about the people, places, and businesses in a specific area, or within a selected travel time or distance from a location.
enrich_layer¶
-
arcgis.features.enrich_data.
enrich_layer
(input_layer, data_collections=[], analysis_variables=[], country=None, buffer_type=None, distance=None, units=None, output_name=None, context=None, gis=None, estimate=False, return_boundaries=False, future=False)¶ -
The
enrich_layer
method enriches your data by getting facts about the people, places, and businesses that surround your data locations. For example: What kind of people live here? What do people like to do in this area? What are their habits and lifestyles? What kind of businesses are there in this area?The result will be a new layer of input features that includes all demographic and geographic information from given data collections.
Parameter
Description
input_layer
Required layer. The features to enrich with new data. See Feature Input.
data_collections
Optional list of strings. This optional parameter defines the collections of data you want to use to enrich your features. Its value is a list of strings. If you don’t provide this parameter, you must provide the analysis_variables parameter.
For more information about data collections and the values for this parameter, visit the Esri Demographics site.
analysis_variables
Optional list of strings. The parameter defines the specific variables within a data collection you want to use to your features. Its value is a list of strings in the form of “dataCollection.VariableName”. If you don’t provide this parameter, you must provide the dataCollections parameter. You can provide both parameters. For example, if you want all variables in the KeyGlobalFacts data collection, specify it in the dataCollections parameter and use this parameter for specific variables in other collections.
For more information about variables in data collections, visit the Esri Demographics site. Each data collection has a PDF file describing variables and their names.
country
Optional string. This optional parameter further defines what is returned from data collection. For example, your input features may be countries in Western Europe, and you want to enrich them with the KeyWEFacts data collection. However, you only want data for France, not every country in your input layer. The value is the two-character country code.
For more information about data collections and the values for this parameter, visit the Esri Demographics site.
buffer_type (Required if input_layer contains point or line features)
Optional string. If your input features are points or lines, you must define an area around your features that you want to enrich. Features that are within (or equal to) the distances you enter will be enriched.
Choice list: [‘StraightLine’, ‘Driving Distance’, ‘Driving Time ‘, ‘Rural Driving Distance’, ‘Rural Driving Time’, ‘Trucking Distance’, ‘Trucking Time’, ‘Walking Distance’, ‘Walking Time’]
distance (Required if input_layer contains point or line features)
Optional float. A value that defines the search distance or time. The units of the distance value is supplied by the units parameter.
units
Optional string. The linear unit to be used with the distance value(s) specified in the distance parameter.
Choice list: [‘Meters’, ‘Kilometers’, ‘Feet’, ‘Yards’, ‘Miles’, ‘Seconds’, ‘Minutes’. ‘Hours’]
output_name
Optional string. If provided, the task will create a feature service of the results. You define the name of the service. If output_name is not supplied, the task will return a feature collection.
context
Optional string. Context contains additional settings that affect task execution. For
enrich_layer
method, there are two settings.Extent (extent)-a bounding box that defines the analysis area. Only those features in the input_layer that intersect the bounding box will be analyzed.
Output Spatial Reference (outSR) the output features will be projected into the output spatial reference.
gis
Optional, the GIS on which this tool runs. If not specified, the active GIS is used.
estimate
Optional Boolean. If True, the number of credits to run the operation will be returned.
return_boundaries
Optional boolean. Applies only for point and line input features. If True, a result layer of areas is returned. The returned areas are defined by the specified buffer_type. For example, if using a buffer_type of StraightLine with a distance of 5 miles, your result will contain areas with a 5 mile radius around the input features and requested analysis_variables variables. If False, the resulting layer will return the same features as the input layer with analysis_variables variables.
The default value is False.
future
Optional boolean. If True, the result will be a GPJob object and results will be returned asynchronously.
:returns result_layer : feature layer Item if output_name is specified, else Feature Collection.
USAGE EXAMPLE: To enrich US block groups with population as analysis variable. blkgrp_enrich = enrich_layer(block_groups, analysis_variables=["AtRisk.MP27002A_B"], country='US', output_name='enrich layer')