A WSO2 Open Source Project
After downloading a release for your system, please follow the installation instructions. For more information, see Getting Started. If you are building from source, follow the build instructions.


Learning Optimal Transport from Samples
Searching for an optimal transport encourages a mapping that minimizes the total cost of transporting mass from $\alpha$ to $\beta$, as originally formulated in Monge (1781). Shape matching, data assimilation, and brain functional transportation are among many interesting research areas leading such efforts to find appropriate mappings between $\alpha$ and $\beta$ for appropriate applications.
In this blog post we may indicate locations in source and target with $\alpha$ and $\beta$ respectively but distributions with $a$ and $b$.
The motivation of this post is coming from a recent paper from Makkuva et al., where they proposed a novel approach to learn optimal transport from samples (ICML 2020).
Here, first lets touch base on the Monge problem itself and then later explain the Makkuva et al.,‘s sampling approach to learn the mappings.
It worth mentioning that optimal transport originally was propose for resource allocation between different warehouses, traffic handling, allocating soldiers into different camps and etc etc ..
Monge Problem
Lets define some resources $x_1,..,x_n$ in $\alpha$ and some resources $y_1,..,y_m$ in $\beta$. Then, we specify weight vectors $a$ and $b$ over these resources and define matrix $C$ as a measure of pairwise distances between points $x_i \in \alpha$ and relative points derived from $T (x_i)$ in $\beta$; Monge problem aims to solve the following optimizing problem:
$$ \min_{ T} \\\{ \sum_i C(x_i, T (x_i)) : T_{\sharp} \alpha = \beta \\\} $$
where push-forward operator $\sharp$ is used to exhibit direction of the transportation plan.
Kantrovich Relaxation
Kantrovich proposed a relaxation to the Monge problem in which we are allowed to dispatch a bin from source to multiple locations in target. We define feasible solutions for this problem with $U$ as :
$$ U(a,b) = \\\{{T} \in \mathrm{R}^{n\times m}_+ : {T} \mathrm{1}_m =a , {T}^T\mathrm{1}_n=b\\\}, $$
as it makes sure that we are not losing any particle or mass during the transportation plan $T$ for vectors of all $1$ and distributions $a$ and $b$. An optimum solution is obtained by solving the following problem for a given ground metric matrix $C \in \mathbb{R}^{n\times m}$ : $$ L_c(a,b) = \min_{{T} \in U(a,b)} <C,{T}> = \sum_{i,j} C_{i,j} {T}_{i,j}. $$
Linear Programming:
If we do a little bit of linear algebra, we can formulate the Kantrovich relaxation with linear programming:
$$
L_c(\alpha,\beta) = \min_{{T}}C^T {T} \textbf{ s.t, } A\underline{{T}}= \begin{bmatrix}
\alpha \\\
\beta
\end{bmatrix}
$$
where:
Algorithmic solutions are well-established in the literature as they aim for solving the linear program. In high dimensional (continuous and semi-discrete) space the proposed algorithms don’t extend as they demand huge computational cost and intractable solutions. Few lines of research suggested quantization of space to handle the curse of dimensionality. For example A Gradual, Semi-Discrete Approach is proposed in ICML 2019 (by UIUC group) to learn mappings in two steps:
- If the source randomness of the network is a distribution, then optimal transport is achieved by a deterministic evaluation.
- Lets say we have an optimal transport mapping between a generator network and target distribution. Then, we can decrease Wasserstein distance via a regression between the generated data and the mapped target points ($\Phi_1,\Phi_2,..,\Phi_N$): $$ L(x) = \frac{1}{B} \sum_{j=1}^B \min_i (c(x_j,y_i)-\Phi_i) + \frac{1}{N} \sum_{i=1}^N \Phi_i $$
However, this approach requires evaluation on every single point. A heuristic idea is to sample some points and add those sampled constraints as regularizers. Yet, this could lead to bias and not getting true distribution out of it. Makkuva et al., proposed an approach to learn optimal transport based on samples via exploring the set of all convex functions.
They establish their method on top of Kantrovich’s relaxation formula:
$$ W(a,b) = \sup_{(f,g) \in \phi_c} \mathrm{E}_a[f(x)]+\mathrm{E}_b[g(y)] $$
where $\phi_c$ is the set of constrained functions defined by: $f(x)+g(y) \leq \frac{1}{2} ||x-y||^2$.
Long story short the authors taking advantage of Input-convex Neural Networks and explore functions $f$ and $g$ in a set of convex functions.
Input-convex Neural Networks
Input-convex Neural Networks are class of deep neural networks whose outputs are convex with respect to their inputs. The output of the network is defined recursively according to:
$$ f(x;\theta) = h_L \quad \text{where} \quad h_{l+1} = \sigma_l (W_lh_l+b_l+A_lx), \quad l=0,1,..,L-1 $$
or based on the following schema:
Indeed, Makkuva et al., solve the Kantrovich dual via ICNN functions without introducing new regularization.
$$ W(a,b) = C_{a,b} -\inf_{(f,g) \in \phi_c} \mathrm{E}_a[f(x)]+\mathrm{E}_b[g(y)] $$
in which $C_{a,b} = \frac{1}{2} \mathrm{E}[x^2] + \frac{1}{2} \mathrm{E}[y^2]$ achieved from : $f(x)+g(y) \leq 1/2||x-y||^2$. However, we can reduce this to only learning one function based on Villani, 2013:
$$ W(a,b) = C_{a,b} -\inf_{(f,f^*) \in \text{icnn}(a)} \mathrm{E}_a[f(x)]+\mathrm{E}_b[f^*(y)] $$
for $f^*(y) = \sup_x <x,y> -f(x)$ is the convex conjugate of $f(.)$.
At the end we can define optimal transport map $\triangledown f^*$:
$$ \mathrm{E}_b ||\triangledown f^*(y)- y|| = \inf_{T: T_{\sharp}a=b} \mathrm{E}_b ||T(y)-y|| $$
derived from Brenier’s Theorem.
Brenier’s Theorem
This is based on Brenier’s theorem that if b admits a density with respect to the Lebesgue measure on $\mathrm{R}^d$, then there is a unique optimal coupling $\pi$ for the primal problem:
$$ d \pi (x,y) = df(y) \delta_{x=\triangledown f^*(y)}. $$


Role: {HIDDED}
Name: {HIDDED}
Email: {HIDDED}
Telagram: {HIDDED}
Twitter: {HIDDED}
GitHub: {HIDDED}
I specialize in web and software development
and web management, I have lots of experience from
all the projects I have done over the years to help
your business grow. I work with C, C++, C#, Java,
Python, HTML, CSS and Javascript I mostly been working
on Cyber Security and improving my skills. I am hoping to
host my own server and work on my skills, so I can get a
job in IT because that's where my heart lies.


Keeping focus isn't about concentration only. Its also a state of mind which is heavily influenced of your shape. You dont have to become athlete in five minutes, but its always great to develop little habits, that will eventually transfer to bigger ones.
Caffeine is a stimulant drug often used to improve mental processing. There are many effects of caffeine on the brain, as well as body so be caution and mix it up with tea.
Efficiency is result of many factors. One, and probably most crucial, is planing. Pick up your diary or try this online one (#shameless promotion) and plan out your day, things you want to get done, habits to fulfill and motivations to keep the drive.
 You can believe those but you know what is
better? Try it yourself. Here are 3 challenges to try out:
Squads
Push-ups
Abs
You might not find it as a big deal, but your elders appreciate any word from you. Pick your phone and dial them up.
Being thirst is an alarm that your body needs fluid. Dont wait, and stay hydrated. Optimal amount should be half a liter per every 15 kilograms of your body weight. Quarter of gallon per 60 pounds, if your area is using Imperial system of measurement.
It may the greatest epidemic of our society. The term “sitting disease” has been used to describe the negative effects of our modern sedentary lifestyle. The average person spends more then half of day time sitting. If you manage to walk for 2 minutes every hour, you will lower chance of having health issue related to siting jobs by 33 %.
Clean up your workspace! Knowing where things are keeps you on top of your game. People who pile paperwork often obscure items underneath the stacks, resulting in wasted time trying to find what they are looking for.
Meditation is an approach to training the mind, similar to the way that fitness is an approach to training the body. But many meditation techniques exist — so how do you learn how to meditate? Try Insight timer. Free app that is used by millions.
Some clever man once said, that you live as long as you learn new things every day. Once you stop you just waiting to die. Try to encrypt this into your daily workflow and read short and interesting article. Here is my "go to place" place
If yes, dont forget to check what is love doing or schedule launch together. If not, find one. No excuses, just install that tinder and start swiping.
Once in a while you will lose your phone or your notebook will break or a good cup of tea ends up where it isn't suppose to be. You cant avoid those things, but you can make sure, they will do a lot less damage. Backup your files now!. Time machine it if you like apples or Veeam for Windows


input
ui.grid.edit
directive to provide binding between input[date] value and ng-model for angular 1.2 It is similar to input[date] directive of angular 1.3
Supported date format for input is 'yyyy-MM-dd' The directive will set the $valid property of input element and the enclosing form to false if model is invalid date or value of input is entered wrong.
<input> </input>


| t01 |
viruses, human(s), zoonotic, disease(s), transmission, health, animal(s) |
214 |
10 |
| t02 |
bat(s), samples, detected, %, analysis, coronaviruses, sequences, species, phylogenetic |
181 |
6 |
| t03 |
host, species, cross-species, viral, evolutionary, cross-species_transmission, sharing, adaptation, pathogen, shifts |
67 |
2 |
| t04 |
coronavirus, sars-cov, syndrome, respiratory, acute, severe, mers-cov, SARS, acute_respiratory_syndrome, middle |
48 |
9 |
| t05 |
cell(s), immune, response, lines, IFN, receptor, expression, replication, antiviral |
40 |
0 |
| t06 |
habitat, spatial, forest(s), vampire, areas, community, urban, dynamics, abundance |
32 |
0 |
| t07 |
niv, nipah, nipah_virus, hev, hendra, hendra_virus, henipavirus, paramyxoviridae, sera, antibodies |
36 |
0 |
| t08 |
bird(s), avian, influenza, wild_birds, wild, duck(s), poultry, anas |
38 |
1 |
| t09 |
astroviruses, -, astrovirus, material, users, MATERIAL, SUPPLEMENTARY, authorized, ELECTRONIC, supplementary |
22 |
0 |
| t10 |
lyssavirus, myotis, adenoviruses, island, rabies, M., EBLV-1, daubentonii, free-tailed, colonies |
27 |
1 |
| t11 |
macaque(s), helvum, RVA, cynomolgus, MHC, rhesus, e._helvum, eidolon_helvum, E. |
22 |
0 |
| t12 |
sars-cov-2, chimpanzees, apes, masked, palm, masked_palm_civets, pangolins, simian, gorillas, retroviruses |
25 |
2 |
| t13 |
hepatitis, rodent(s), hantavirus, rat, rattus, shrews, HCV, norvegicus, hantaviruses |
27 |
0 |
| t14 |
bartonella, world, leptospira, blood, flies, spp, α-gal, parasites, =, α-gal_epitopes |
20 |
0 |
| t15 |
%, T., YOKV, consumption, respondents, aavs, gondii, foxes, letea, wild_pigs |
17 |
0 |


Oryza barthii (Oryza barthii, ABRL00000000) and Oryza brachyantha (Oryza brachyantha, Oryza_brachyantha.v1.4b) were aligned using the LastZ alignment algorithm (LastZ) in Ensembl release 76. Oryza barthii was used as the reference species. After running LastZ, the raw LastZ alignment blocks are chained according to their location in both genomes. During the final netting process, the best sub-chain is chosen in each region on the reference species.
Full list of pairwise alignments| Gap open penalty (O) | 400 |
| Gap extend penalty (E) | 30 |
| HSP threshold (K) | 3000 |
| Threshold for gapped extension (L) | |
| Threshold for alignments between gapped alignment blocks (H) | |
| Masking count (M) | |
| Seed and Transition value (T) | 1 |
| Additional parameters | |
| Scoring matrix (Q) | Default |
Number of alignment blocks: 286150
| Genome coverage(bp) | Coding exon coverage (bp) | |
|---|---|---|
| Oryza barthii | ||
| Covered: 137,670,245 out of 308,272,304 | Matches: 26,143,957 out of 39,538,509 | |
| Uncovered: 170,602,059 out of 308,272,304 | Mis-matches: 8,154,651 out of 39,538,509 | |
| Insertions: 834,881 out of 39,538,509 | ||
| Uncovered: 4,405,020 out of 39,538,509 | ||
| Oryza brachyantha | ||
| Covered: 108,946,151 out of 260,838,168 | Matches: 22,076,962 out of 33,473,466 | |
| Uncovered: 151,892,017 out of 260,838,168 | Mis-matches: 6,230,814 out of 33,473,466 | |
| Insertions: 458,334 out of 33,473,466 | ||
| Uncovered: 4,707,356 out of 33,473,466 |


An item, ability, or situation where a character can purchase items at a discount at shops. Sometimes, a store owner will give you one after you save the store from bandits, or for buying enough items, or there might be a monster inexplicably carrying one. (Maybe the monster saved the store from bandits earlier?)
In some older Video Games inspired by (or based on) Dungeons & Dragons, having a high Charisma score would cause merchants to charge you less for items. Alternately, some RPGs allow you to negotiate the price on goods, and having a higher skill in the bargaining department may be able to get you the goods at a lower price than usual.
Also, this tends to be one of the perks of a 100% Heroism Rating or a local favor in your Alliance Meter.
Compare Money Multiplier, which makes purchasing easier from the other side.
Examples:
- Advance Wars
- Hachi and Colin's abilities involve purchasing units at a discount. Unfortunately for Colin, you get what you pay for; his units have decreased attack. Hachi's units don't have these penalties, but his discounts aren't as deep as Colin's, though his power can make them MUCH cheaper. They're both considered a Gamebreaker.
- Kanbei's ability is the inverse, where he pays more for his units in exchange for better attack, essentially an inverse of Colin's ability.
- The Binding of Isaac
- The valuable Steam Sale item reduces the prices of all items in shops for the rest of that playthrough. Strangely, the Steam Sale itself can appear in shops.
- Rebirth adds a variation in the form of the consumable Credit Card: using this item in a shop (or Devil Room!) allows you to grab every item in the room for free.
- Castlevania
- In Castlevania: Order of Ecclesia, Jacob gives Shanoa a VIP Card after she has spent 100,000 gold in his shop, it gives a 10% discount on all items in the shop
- In Castlevania: Aria of Sorrow, the Tsuchinoko soul gives a 20% discount on shop purchases. Finding the soul is another business, though...
- In Clash at Demonhead, on your 30th visit to the shop, all of the normally-rotating items are available for purchase, and you only have to pay half-price for them.
- In Crying Suns, the Pirate Transponder auxiliary system gives you a 20% discount at all shops.
- Crypt of the NecroDancer: The Coupon item causes the next shop item touched to be purchased for free. This is especially useful for the hidden heart container shops, or for buying Plate Mail.
- In Deadly Premonition, doing sidequests for Lilly will get you increasingly good discount cards for the convenience store she owns.
- Dead Rising 2 has two "Bargaining" magazines each providing 10% discount at pawn shops.
- Diablo II, Act 2. After killing Radament in the sewers beneath Lut Gholein, Atma the tavernkeeper tells the player she's asked the other vendors in town to give you reduced prices on goods.
- Dragon Quest
- In Dragon Quest II, getting the Gold Card with extreme luck in a slot machine will lower the price of items in all shops by 25%.
- In Dragon Quest V, getting a gold ball in a tombola drawing will net you a "Loyalty Card" that lowers the price of items in all shops by 20%.
- In The Elder Scrolls II: Daggerfall, what fits most closely with this are the first benefits for joining the Fighters Guild and the Order of Arkay — cheaper weapon/armor-repair and disease-healing, respectively. Many of the joinable factions make something free (at least eventually), but only those give a non-100% discount.
- Etrian Odyssey III has Coupons, which slash one item's price in half - it's up to you whether you use it to purchase the Infinity +1 Sword or a basic Medica. Also, you will only find eight of them. Ever. New Game+ does not restock them, so choose wisely.
- Fallout:
- The Barter skill allows you to buy from vendors at closer to cost as well as sell items to them at closer to their true worth. It can also be used in speech challenges when bribing an NPC or getting them to part with information for less than they'd normally charge you. Fallout 4 lacks skill scores, and so bases both directly off the Charisma stat and your rank in the Cap Collector perk.
- Merchants occasionally offer discounts for helping them out or having a favorable reputation with their affiliated area. In Goodsprings, the starting town in Fallout: New Vegas, you can get a discount from the bartender for fixing her radio.
- Final Fantasy:
- In Final Fantasy VI, having Edgar in your party will allow you to receive 50% discount when buying from the merchants in Figaro Castle.
- In Final Fantasy VIII, Tonberry possesses abilities that allow you to receive discounts and sell for a higher price at every shop in the game.
- O'aka from Final Fantasy X can offer you discounts on the items he sells if you have lend him enough money (his prices are usually higher than other shops).
- Final Fantasy X-2 made it possible for O'aka to be a source of infinite money, since once you pay off his debt by buying overpriced items, he starts selling certain items at prices lower than what you'd sell them to him for.
- In Fire Emblem, the Silver Card halves the prices of items in shops when held by the buyer.
- One event in FTL: Faster Than Light lets you turn your scrap into a random weapon, augmentation or a drone schematic, but if you bring along a Lanius crewmember, you can use them to reduce the price.
- In A Short Hike two stamina powerups, Golden Feathers, can be purchased for 40 coins each at the Visitor Center. The vendor remarks that "a boy" purchased all the other feathers. Upon reaching the entrance to the final area you find this boy, who talks to you rudely and sells four Golden Feathers for 100 coins each, a 2.5x markup!  You can choose to donate 400 coins, and will receive a trading item that later results in a powerful stamina upgrade. If you do this before purchasing any feathers your kindness is rewarded further, as the boy sells all subsequent feathers for the normal 40 coin price thus saving the player up to 240 coins.
- Into Space: Each Expensive achievement in the first game lowers prices of upgrades by 5%.
- Kingdom of Loathing has the LARP Membership card, from one of the Halloween events, that gives a 10% discount at stores that sell food and/or drink. Accordion Thieves can get a 5% discount from nearly every store in the game (except those that don't use Meat) with the passive skill Five Finger Discount.
- The Legend of Zelda
- In The Legend of Zelda: Majora's Mask, the Ghost Hut in Ikana Canyon normally costs you 30 rupees, but if you play the Song of Healing before talking to the proprietor, you will only be charged 10. Also, Tingle will sell you his maps at a discounted rate if you purchase them in the place they're a map of. (i.e. A map of Great Bay will cost less if purchased in Great Bay.)
- The Legend of Zelda: Phantom Hourglass and The Legend of Zelda: Spirit Tracks have discount cards to Beedle's shop.
- Mocked hilariously and ruthlessly in The Legend of Zelda: The Wind Waker with the "Complimentary ID" and the equivalent "Compliment Card" in Phantom Hourglass you are given if you purchase enough items from Beedle's Shop. You would expect it to be some manner of discount card, but it literally makes him just shower you in compliments, healing you to full health, and finish with remarking that praise is rather nice sometimes.
- In the Mario & Luigi games, your 'Stache (Horn for Bowser in Bowser's Inside Story) stat gets you a discount (as well as increases your chance of a Critical Hit).
- Mass Effect
- In Mass Effect, putting enough points into charm skill gets you a tiny discount in shops. Likewise putting points in intimidation skill gives extra credits when selling items.
- In Mass Effect 2, Shepard can get a discount from stores by convincing the shop keepers. In The Citadel's case, they can get discounts there by giving the store an endorsement, saying it's their favorite store on The Citadel. Funnily enough, this can be done with ALL the stores on the Citadel.
- Knights of the Old Republic: If you hand the rakghoul serum over to the kindly doctor running the free clinic instead of the crime boss, the doctor gives you a discount at his shop. Now, seeing that you have low hit points at this juncture and can't self-heal, this is more useful than it looks, especially if you can shake down the inexhaustable Pazaak shark in the Lower City.

- In Metal Gear Solid 4: Guns of the Patriots, Drebin 893 will offer Old Snake a 20% discount if your game clock is currently on Sunday or Wednesday. During Act 5, he cuts all prices in half due to the slump.

- In Persona 4, Shiroku will give discounts on rainy days and Margaret will give discounts depending on how much of the Persona Compendium you have completed. Golden has Daidara giving discounts if you catch him still in his store on rainy nights.
- Pokémon Black and White: some Pass Powers include getting discounts at stores at a certain rate for 3 minutes.
- Pokemon Xand Y has the similar "Bargain" O-Power, which grants a 10%, 25% or 50% discount on items for 3 minutes depending on the power's level. In addition, there's the event-only Discount Coupon item, which grants a discount when shopping for clothes.
- In Red Dead Redemption, you receive discounts and sell for more if your honor level is high enough.
- The RollerCoaster Tycoon series had an inversion as you could give out vouchers for free rides on a certain ride, free food or drink, half-price/free entrance to the park. It costs money to run the marketing campaigns but it entices a lot more guests to visit, useful if the scenario required a certain amount of guests.
- Rusty's Real Deal Baseball lets you drive down the real-world price of each of its minigames. For the games that are required to buy to advance the plot, you have to give Rusty a donut, give the right responses to his dialog, and possibly give him an item that you earn from playing the games in order to get the lowest possible price. For the other games, you have to use discount coupons that you earn from playing the games or StreetPassing other players.
- In the Shadow Hearts series, collecting discount cards lets you try to get goods cheaper, but the discount isn't automatically applied. You have to win a minigame, which gets harder the more you're trying to reduce the price. If you mess up, you have to pay the full amount. The maximum you can try for is normally 10% per card collected.
- In the console Skylanders games, every Winged Sapphire you collect gives you a 2% discount on all items and upgrades.
- In System Shock 2, one OS upgrade makes items from replicators cost 20% less nanites. Individual replicators can also be hacked to give an extra discount and also replace a junk item with a more useful onenote .
- Some Tales series games feature consumables that reduce prices next time you shop while others have a "shop rating" score (either universal or individual to each shop) that goes up as you do business. A higher shop rating increases your discount, representing either a "frequent customer" discount or the party getting better at haggling.
- Team Fortress 2: In Mann vs Machine, Medics can purchase upgrades for their Medigun that would discount the price of Power Up Canteens to a minimum of 5 credits.
- Terraria has the discount card which, as its name implies, gives you a discount on all shops by 20%. This is a rare drop by Pirates during a pirate invasion and takes up an accessory slot to get the discount. Normally it wouldn't be anything too major, but since some items are completely unique to NPC venders such as purification powder, yellow pressure plates (a unique variant of pressure plate not found in a game world), and certain crafting tables as well as some items being findable but rare like bullets, this item is actually very helpful for maintaining an inventory.
- Tradewinds Legends has the Hydra Head item, that scares merchants so bad they give you a discount just to make you take it away.
- Tradewinds Odyssey also has the Frequent Customer card for the shipyard and drydocks.
- Ultima II uses Charisma to make merchants sell their items to you at a discount.
- One of potential daily tributes in Warframe is a coupon that gives between 20% and 75% discount on the next platinum purchase.
- Players in World of Warcraft, as their reputation with a given faction goes up, receive increasing discounts on items bought from NPC vendors associated with that faction, up to 20% at Exalted reputation. Goblin players in particular always receive Exalted-level discounts regardless of their reputation, unless the vendor has no affiliations. Further, players in a sufficiently high-leveled guild receive a 10% bonus on all vendor purchases on top of applicable reputation bonuses.
- Our Miss Brooks: The episode "Christmas Gift Mixup" features a Running Gag where Mrs. Davis, Walter Denton, Mr. Boynton and Mr. Conklin give Miss Brooks "hints" as to what they'd like for Christmas. They helpfully relay the costs of their gifts, and lend Miss Brooks their "exclusive" savings card that gives sale prices at a local discount store.
- Neopets used to offer in-game discount cards to players who signed up for various advertising offers.
- Sales, coupons, membership discounts, etc.
- Military ID cards. You would be amazed at the discounts, freebies, and special services you will be offered if you whip one of these out.
- Student ID cards.


for
, while
,
or do
statements which
can only exit by throwing an exception. While such statements may be correct, they
are often a symptom of coding errors.
Example:
for (;;) { }
Use the checkbox below to ignore the infinite loop statements inside Thread.run
.
It may be useful for the daemon threads.
Example:
new Thread(() -> { while (true) { } }).start();


The quote was established {{quotes.createdDate|dayCount}} day(s) ago
Created by: {{quotes.publisher}}


These tools should mostly be in the Tools > Obfuscation section as well, but there may be some Windows built-in methods as well


Scene III
The garden of the castle.
DESDEMONA
[Enter DESDEMONA, CASSIO, and EMILIA]
Be thou assured, good Cassio, I will do
All my abilities in thy behalf.
EMILIA
Good madam, do: I warrant it grieves my husband,
As if the case were his.
DESDEMONA
O, that's an honest fellow. Do not doubt, Cassio,
But I will have my lord and you again
As friendly as you were.
CASSIO
Bounteous madam,
Whatever shall become of Michael Cassio,
He's never any thing but your true servant.
DESDEMONA
I know't; I thank you. You do love my lord:
You have known him long; and be you well assured
He shall in strangeness stand no further off
Than in a polite distance.
CASSIO
Ay, but, lady,
That policy may either last so long,
Or feed upon such nice and waterish diet,
Or breed itself so out of circumstance,
That, I being absent and my place supplied,
My general will forget my love and service.
DESDEMONA
Do not doubt that; before Emilia here
I give thee warrant of thy place: assure thee,
If I do vow a friendship, I'll perform it
To the last article: my lord shall never rest;
I'll watch him tame and talk him out of patience;
His bed shall seem a school, his board a shrift;
I'll intermingle every thing he does
With Cassio's suit: therefore be merry, Cassio;
For thy solicitor shall rather die
Than give thy cause away.
EMILIA
Madam, here comes my lord.
CASSIO
Madam, I'll take my leave.
DESDEMONA
Why, stay, and hear me speak.
CASSIO
Madam, not now: I am very ill at ease,
Unfit for mine own purposes.
DESDEMONA
Well, do your discretion.
[Exit CASSIO]
[Enter OTHELLO and IAGO]
IAGO
Ha! I like not that.
OTHELLO
What dost thou say?
IAGO
Nothing, my lord: or if--I know not what.
OTHELLO
Was not that Cassio parted from my wife?
IAGO
Cassio, my lord! No, sure, I cannot think it,
That he would steal away so guilty-like,
Seeing you coming.
OTHELLO
I do believe 'twas he.
DESDEMONA
How now, my lord!
I have been talking with a suitor here,
A man that languishes in your displeasure.
OTHELLO
Who is't you mean?
DESDEMONA
Why, your lieutenant, Cassio. Good my lord,
If I have any grace or power to move you,
His present reconciliation take;
For if he be not one that truly loves you,
That errs in ignorance and not in cunning,
I have no judgment in an honest face:
I prithee, call him back.
OTHELLO
Went he hence now?
DESDEMONA
Ay, sooth; so humbled
That he hath left part of his grief with me,
To suffer with him. Good love, call him back.
OTHELLO
Not now, sweet Desdemona; some other time.
DESDEMONA
But shall't be shortly?
OTHELLO
The sooner, sweet, for you.
DESDEMONA
Shall't be to-night at supper?
OTHELLO
No, not to-night.
DESDEMONA
To-morrow dinner, then?
OTHELLO
I shall not dine at home;
I meet the captains at the citadel.
DESDEMONA
Why, then, to-morrow night; or Tuesday morn;
On Tuesday noon, or night; on Wednesday morn:
I prithee, name the time, but let it not
Exceed three days: in faith, he's penitent;
And yet his trespass, in our common reason--
Save that, they say, the wars must make examples
Out of their best--is not almost a fault
To incur a private cheque. When shall he come?
Tell me, Othello: I wonder in my soul,
What you would ask me, that I should deny,
Or stand so mammering on. What! Michael Cassio,
That came a-wooing with you, and so many a time,
When I have spoke of you dispraisingly,
Hath ta'en your part; to have so much to do
To bring him in! Trust me, I could do much,--
OTHELLO
Prithee, no more: let him come when he will;
I will deny thee nothing.

OTHELLO
I will deny thee nothing:
Whereon, I do beseech thee, grant me this,
To leave me but a little to myself.
DESDEMONA
Shall I deny you? no: farewell, my lord.
OTHELLO
Farewell, my Desdemona: I'll come to thee straight.
DESDEMONA
Emilia, come. Be as your fancies teach you;
Whate'er you be, I am obedient.
[Exeunt DESDEMONA and EMILIA]
OTHELLO
Excellent wretch! Perdition catch my soul,
But I do love thee! and when I love thee not,
Chaos is come again.
OTHELLO
What dost thou say, Iago?
IAGO
Did Michael Cassio, when you woo'd my lady,
Know of your love?
OTHELLO
He did, from first to last: why dost thou ask?
IAGO
But for a satisfaction of my thought;
No further harm.
OTHELLO
Why of thy thought, Iago?
IAGO
I did not think he had been acquainted with her.
OTHELLO
O, yes; and went between us very oft.
OTHELLO
Indeed! ay, indeed: discern'st thou aught in that?
Is he not honest?
OTHELLO
Honest! ay, honest.
IAGO
My lord, for aught I know.
OTHELLO
What dost thou think?
OTHELLO
Think, my lord!
By heaven, he echoes me,
As if there were some monster in his thought
Too hideous to be shown. Thou dost mean something:
I heard thee say even now, thou likedst not that,
When Cassio left my wife: what didst not like?
And when I told thee he was of my counsel
In my whole course of wooing, thou criedst 'Indeed!'

IAGO
My lord, you know I love you.
OTHELLO
I think thou dost;
And, for I know thou'rt full of love and honesty,
And weigh'st thy words before thou givest them breath,
Therefore these stops of thine fright me the more:
For such things in a false disloyal knave
Are tricks of custom, but in a man that's just
They are close delations, working from the heart
That passion cannot rule.
IAGO
For Michael Cassio,
I dare be sworn I think that he is honest.
IAGO
Men should be what they seem;
Or those that be not, would they might seem none!
OTHELLO
Certain, men should be what they seem.
IAGO
Why, then, I think Cassio's an honest man.
OTHELLO
Nay, yet there's more in this:
I prithee, speak to me as to thy thinkings,
As thou dost ruminate, and give thy worst of thoughts
The worst of words.
IAGO
Good my lord, pardon me:
Though I am bound to every act of duty,
I am not bound to that all slaves are free to.
Utter my thoughts? Why, say they are vile and false;
As where's that palace whereinto foul things
Sometimes intrude not? who has a breast so pure,
But some uncleanly apprehensions
Keep leets and law-days and in session sit
With meditations lawful?
OTHELLO
Thou dost conspire against thy friend, Iago,
If thou but think'st him wrong'd and makest his ear
A stranger to thy thoughts.
IAGO
I do beseech you--
Though I perchance am vicious in my guess,
As, I confess, it is my nature's plague
To spy into abuses, and oft my jealousy
Shapes faults that are not--that your wisdom yet,
From one that so imperfectly conceits,
Would take no notice, nor build yourself a trouble
Out of his scattering and unsure observance.
It were not for your quiet nor your good,
Nor for my manhood, honesty, or wisdom,
To let you know my thoughts.
OTHELLO
What dost thou mean?
IAGO
Good name in man and woman, dear my lord,
Is the immediate jewel of their souls:
Who steals my purse steals trash; 'tis something, nothing;
'Twas mine, 'tis his, and has been slave to thousands:
But he that filches from me my good name
Robs me of that which not enriches him
And makes me poor indeed.
OTHELLO
By heaven, I'll know thy thoughts.
IAGO
You cannot, if my heart were in your hand;
Nor shall not, whilst 'tis in my custody.
IAGO
O, beware, my lord, of jealousy;
It is the green-eyed monster which doth mock
The meat it feeds on; that cuckold lives in bliss
Who, certain of his fate, loves not his wronger;
But, O, what damned minutes tells he o'er
Who dotes, yet doubts, suspects, yet strongly loves!
IAGO
Poor and content is rich and rich enough,
But riches fineless is as poor as winter
To him that ever fears he shall be poor.
Good heaven, the souls of all my tribe defend
From jealousy!
OTHELLO
Why, why is this?
Think'st thou I'ld make a lie of jealousy,
To follow still the changes of the moon
With fresh suspicions? No; to be once in doubt
Is once to be resolved: exchange me for a goat,
When I shall turn the business of my soul
To such exsufflicate and blown surmises,
Matching thy inference. 'Tis not to make me jealous
To say my wife is fair, feeds well, loves company,
Is free of speech, sings, plays and dances well;
Where virtue is, these are more virtuous:
Nor from mine own weak merits will I draw
The smallest fear or doubt of her revolt;
For she had eyes, and chose me. No, Iago;
I'll see before I doubt; when I doubt, prove;
And on the proof, there is no more but this,--
Away at once with love or jealousy!
IAGO
I am glad of it; for now I shall have reason
To show the love and duty that I bear you
With franker spirit: therefore, as I am bound,
Receive it from me. I speak not yet of proof.
Look to your wife; observe her well with Cassio;
Wear your eye thus, not jealous nor secure:
I would not have your free and noble nature,
Out of self-bounty, be abused; look to't:
I know our country disposition well;
In Venice they do let heaven see the pranks
They dare not show their husbands; their best conscience
Is not to leave't undone, but keep't unknown.
OTHELLO
Dost thou say so?
IAGO
She did deceive her father, marrying you;
And when she seem'd to shake and fear your looks,
She loved them most.

OTHELLO
I am bound to thee for ever.
IAGO
I see this hath a little dash'd your spirits.
OTHELLO
Not a jot, not a jot.
IAGO
I' faith, I fear it has.
I hope you will consider what is spoke
Comes from my love. But I do see you're moved:
I am to pray you not to strain my speech
To grosser issues nor to larger reach
Than to suspicion.
IAGO
Should you do so, my lord,
My speech should fall into such vile success
As my thoughts aim not at. Cassio's my worthy friend--
My lord, I see you're moved.
OTHELLO
No, not much moved:
I do not think but Desdemona's honest.
IAGO
Long live she so! and long live you to think so!
OTHELLO
And yet, how nature erring from itself,--
IAGO
Ay, there's the point: as--to be bold with you--
Not to affect many proposed matches
Of her own clime, complexion, and degree,
Whereto we see in all things nature tends--
Foh! one may smell in such a will most rank,
Foul disproportion thoughts unnatural.
But pardon me; I do not in position
Distinctly speak of her; though I may fear
Her will, recoiling to her better judgment,
May fall to match you with her country forms
And happily repent.
OTHELLO
Farewell, farewell:
If more thou dost perceive, let me know more;
Set on thy wife to observe: leave me, Iago:
IAGO
[Going] My lord, I take my leave.
OTHELLO
Why did I marry? This honest creature doubtless
Sees and knows more, much more, than he unfolds.
IAGO
[Returning] My lord, I would I might entreat
your honour
To scan this thing no further; leave it to time:
Though it be fit that Cassio have his place,
For sure, he fills it up with great ability,
Yet, if you please to hold him off awhile,
You shall by that perceive him and his means:
Note, if your lady strain his entertainment
With any strong or vehement importunity;
Much will be seen in that. In the mean time,
Let me be thought too busy in my fears--
As worthy cause I have to fear I am--
And hold her free, I do beseech your honour.
OTHELLO
Fear not my government.
IAGO
I once more take my leave.
[Exit]
OTHELLO
This fellow's of exceeding honesty,
And knows all qualities, with a learned spirit,
Of human dealings. If I do prove her haggard,
Though that her jesses were my dear heartstrings,
I'ld whistle her off and let her down the wind,
To pray at fortune. Haply, for I am black
And have not those soft parts of conversation
That chamberers have, or for I am declined
Into the vale of years,--yet that's not much--
She's gone. I am abused; and my relief
Must be to loathe her. O curse of marriage,
That we can call these delicate creatures ours,
And not their appetites! I had rather be a toad,
And live upon the vapour of a dungeon,
Than keep a corner in the thing I love
For others' uses. Yet, 'tis the plague of great ones;
Prerogatived are they less than the base;
'Tis destiny unshunnable, like death:
Even then this forked plague is fated to us
When we do quicken. Desdemona comes:
[Re-enter DESDEMONA and EMILIA]
If she be false, O, then heaven mocks itself!
I'll not believe't.
DESDEMONA
How now, my dear Othello!

DESDEMONA
Why do you speak so faintly?
Are you not well?
OTHELLO
I have a pain upon my forehead here.
DESDEMONA
'Faith, that's with watching; 'twill away again:
Let me but bind it hard, within this hour
It will be well.
OTHELLO
Your napkin is too little:
[He puts the handkerchief from him; and it drops]
Let it alone. Come, I'll go in with you.
DESDEMONA
I am very sorry that you are not well.
[Exeunt OTHELLO and DESDEMONA]
EMILIA
I am glad I have found this napkin:
This was her first remembrance from the Moor:
My wayward husband hath a hundred times
Woo'd me to steal it; but she so loves the token,
For he conjured her she should ever keep it,
That she reserves it evermore about her
To kiss and talk to. I'll have the work ta'en out,
And give't Iago: what he will do with it
Heaven knows, not I;
I nothing but to please his fantasy.
[Re-enter Iago]
IAGO
How now! what do you here alone?
EMILIA
Do not you chide; I have a thing for you.
IAGO
A thing for me? it is a common thing--
IAGO
To have a foolish wife.
EMILIA
O, is that all? What will you give me now
For the same handkerchief?
EMILIA
What handkerchief?
Why, that the Moor first gave to Desdemona;
That which so often you did bid me steal.
IAGO
Hast stol'n it from her?
EMILIA
No, 'faith; she let it drop by negligence.
And, to the advantage, I, being here, took't up.
Look, here it is.
IAGO
A good wench; give it me.
EMILIA
What will you do with 't, that you have been
so earnest
To have me filch it?
IAGO
[Snatching it] Why, what's that to you?
EMILIA
If it be not for some purpose of import,
Give't me again: poor lady, she'll run mad
When she shall lack it.
IAGO
Be not acknown on 't; I have use for it.
Go, leave me.
[Exit EMILIA]
I will in Cassio's lodging lose this napkin,
And let him find it. Trifles light as air
Are to the jealous confirmations strong
As proofs of holy writ: this may do something.
The Moor already changes with my poison:
Dangerous conceits are, in their natures, poisons.
Which at the first are scarce found to distaste,
But with a little act upon the blood.
Burn like the mines of Sulphur. I did say so:
Look, where he comes!
[Re-enter OTHELLO]
Not poppy, nor mandragora,
Nor all the drowsy syrups of the world,
Shall ever medicine thee to that sweet sleep
Which thou owedst yesterday.
OTHELLO
Ha! ha! false to me?
IAGO
Why, how now, general! no more of that.
OTHELLO
Avaunt! be gone! thou hast set me on the rack:
I swear 'tis better to be much abused
Than but to know't a little.
OTHELLO
What sense had I of her stol'n hours of lust?
I saw't not, thought it not, it harm'd not me:
I slept the next night well, was free and merry;
I found not Cassio's kisses on her lips:
He that is robb'd, not wanting what is stol'n,
Let him not know't, and he's not robb'd at all.
IAGO
I am sorry to hear this.
OTHELLO
I had been happy, if the general camp,
Pioners and all, had tasted her sweet body,
So I had nothing known. O, now, for ever
Farewell the tranquil mind! farewell content!
Farewell the plumed troop, and the big wars,
That make ambition virtue! O, farewell!
Farewell the neighing steed, and the shrill trump,
The spirit-stirring drum, the ear-piercing fife,
The royal banner, and all quality,
Pride, pomp and circumstance of glorious war!
 Othello's occupation's gone!
IAGO
Is't possible, my lord?
OTHELLO
Villain, be sure thou prove my love a whore,
Be sure of it; give me the ocular proof:
Or by the worth of man's eternal soul,
Thou hadst been better have been born a dog
Than answer my waked wrath!
OTHELLO
Make me to see't; or, at the least, so prove it,
That the probation bear no hinge nor loop
To hang a doubt on; or woe upon thy life!
OTHELLO
If thou dost slander her and torture me,
Never pray more; abandon all remorse;
On horror's head horrors accumulate;
Do deeds to make heaven weep, all earth amazed;
For nothing canst thou to damnation add
Greater than that.
IAGO
O grace! O heaven forgive me!
Are you a man? have you a soul or sense?
God be wi' you; take mine office.
That livest to make thine honesty a vice!
O monstrous world! Take note, take note, O world,
To be direct and honest is not safe.
I thank you for this profit; and from hence
I'll love no friend, sith love breeds such offence.
OTHELLO
Nay, stay: thou shouldst be honest.
IAGO
I should be wise, for honesty's a fool
And loses that it works for.
OTHELLO
By the world,
I think my wife be honest and think she is not;
I think that thou art just and think thou art not.
I'll have some proof. Her name, that was as fresh
As Dian's visage, is now begrimed and black
As mine own face. If there be cords, or knives,
Poison, or fire, or suffocating streams,
I'll not endure it. Would I were satisfied!
IAGO
I see, sir, you are eaten up with passion:
I do repent me that I put it to you.
You would be satisfied?
OTHELLO
Would! nay, I will.
IAGO
And may: but, how? how satisfied, my lord?
Would you, the supervisor, grossly gape on--
Behold her topp'd?
OTHELLO
Death and damnation! O!
 What then? how then?
What shall I say? Where's satisfaction?
It is impossible you should see this,
Were they as prime as goats, as hot as monkeys,
As salt as wolves in pride, and fools as gross
As ignorance made drunk. But yet, I say,
If imputation and strong circumstances,
Which lead directly to the door of truth,
Will give you satisfaction, you may have't.
OTHELLO
Give me a living reason she's disloyal.
IAGO
I do not like the office:
But, sith I am enter'd in this cause so far,
Prick'd to't by foolish honesty and love,
I will go on. I lay with Cassio lately;
And, being troubled with a raging tooth,
I could not sleep.

OTHELLO
O monstrous! monstrous!
IAGO
Nay, this was but his dream.
OTHELLO
But this denoted a foregone conclusion:
'Tis a shrewd doubt, though it be but a dream.
IAGO
And this may help to thicken other proofs
That do demonstrate thinly.
OTHELLO
I'll tear her all to pieces.
IAGO
Nay, but be wise: yet we see nothing done;
She may be honest yet. Tell me but this,
Have you not sometimes seen a handkerchief
Spotted with strawberries in your wife's hand?
OTHELLO
I gave her such a one; 'twas my first gift.
IAGO
I know not that; but such a handkerchief--
I am sure it was your wife's--did I to-day
See Cassio wipe his beard with.
IAGO
If it be that, or any that was hers,
It speaks against her with the other proofs.
OTHELLO
O, that the slave had forty thousand lives!
One is too poor, too weak for my revenge.
Now do I see 'tis true. Look here, Iago;
All my fond love thus do I blow to heaven.
'Tis gone.
Arise, black vengeance, from thy hollow cell!
Yield up, O love, thy crown and hearted throne
To tyrannous hate! Swell, bosom, with thy fraught,
For 'tis of aspics' tongues!
OTHELLO
O, blood, blood, blood!
IAGO
Patience, I say; your mind perhaps may change.
 Now, by yond marble heaven,
[Kneels]
In the due reverence of a sacred vow
I here engage my words.
IAGO
Do not rise yet.
[Kneels]
Witness, you ever-burning lights above,
You elements that clip us round about,
Witness that here Iago doth give up
The execution of his wit, hands, heart,
To wrong'd Othello's service!
[They rise]
OTHELLO
I greet thy love,
Not with vain thanks, but with acceptance bounteous,
And will upon the instant put thee to't:
Within these three days let me hear thee say
That Cassio's not alive.
IAGO
My friend is dead; 'tis done at your request:
But let her live.
OTHELLO
Damn her, lewd minx!
Come, go with me apart; I will withdraw,
To furnish me with some swift means of death
For the fair devil. Now art thou my lieutenant.
IAGO
I am your own for ever.
[Exeunt]
Scene IV
Before the castle.
DESDEMONA
[Enter DESDEMONA, EMILIA, and Clown]
Do you know, sirrah, where Lieutenant Cassio lies?
Clown
I dare not say he lies any where.
Clown
He's a soldier, and for one to say a soldier lies,
is stabbing.
DESDEMONA
Go to: where lodges he?
Clown
To tell you where he lodges, is to tell you where I lie.
DESDEMONA
Can any thing be made of this?
Clown
I know not where he lodges, and for me to devise a
lodging and say he lies here or he lies there, were
to lie in mine own throat.
DESDEMONA
Can you inquire him out, and be edified by report?
Clown
I will catechise the world for him; that is, make
questions, and by them answer.
DESDEMONA
Seek him, bid him come hither: tell him I have
moved my lord on his behalf, and hope all will be well.
Clown
To do this is within the compass of man's wit: and
therefore I will attempt the doing it.
[Exit]
DESDEMONA
Where should I lose that handkerchief, Emilia?
EMILIA
I know not, madam.
DESDEMONA
Believe me, I had rather have lost my purse
Full of crusadoes: and, but my noble Moor
Is true of mind and made of no such baseness
As jealous creatures are, it were enough
To put him to ill thinking.
EMILIA
Is he not jealous?
DESDEMONA
Who, he? I think the sun where he was born
Drew all such humours from him.
EMILIA
Look, where he comes.
DESDEMONA
I will not leave him now till Cassio
Be call'd to him.
[Enter OTHELLO]
How is't with you, my lord
OTHELLO
Well, my good lady.
[Aside]
O, hardness to dissemble!--
How do you, Desdemona?
DESDEMONA
Well, my good lord.
OTHELLO
Give me your hand: this hand is moist, my lady.
DESDEMONA
It yet hath felt no age nor known no sorrow.
OTHELLO
This argues fruitfulness and liberal heart:
Hot, hot, and moist: this hand of yours requires
A sequester from liberty, fasting and prayer,
Much castigation, exercise devout;
For here's a young and sweating devil here,
That commonly rebels. 'Tis a good hand,
A frank one.
DESDEMONA
You may, indeed, say so;
For 'twas that hand that gave away my heart.
OTHELLO
A liberal hand: the hearts of old gave hands;
But our new heraldry is hands, not hearts.
DESDEMONA
I cannot speak of this. Come now, your promise.
OTHELLO
What promise, chuck?
DESDEMONA
I have sent to bid Cassio come speak with you.
OTHELLO
I have a salt and sorry rheum offends me;
Lend me thy handkerchief.
OTHELLO
That which I gave you.
DESDEMONA
I have it not about me.
DESDEMONA
No, indeed, my lord.
OTHELLO
That is a fault.
That handkerchief
Did an Egyptian to my mother give;
She was a charmer, and could almost read
The thoughts of people: she told her, while
she kept it,
'Twould make her amiable and subdue my father
Entirely to her love, but if she lost it
Or made gift of it, my father's eye
Should hold her loathed and his spirits should hunt
After new fancies: she, dying, gave it me;
And bid me, when my fate would have me wive,
To give it her. I did so: and take heed on't;
Make it a darling like your precious eye;
To lose't or give't away were such perdition
As nothing else could match.
OTHELLO
'Tis true: there's magic in the web of it:
A sibyl, that had number'd in the world
The sun to course two hundred compasses,
In her prophetic fury sew'd the work;
The worms were hallow'd that did breed the silk;
And it was dyed in mummy which the skilful
Conserved of maidens' hearts.
DESDEMONA
Indeed! is't true?
OTHELLO
Most veritable; therefore look to't well.
DESDEMONA
Then would to God that I had never seen't!
DESDEMONA
Why do you speak so startingly and rash?
OTHELLO
Is't lost? is't gone? speak, is it out
o' the way?
DESDEMONA
Heaven bless us!
DESDEMONA
It is not lost; but what an if it were?
DESDEMONA
I say, it is not lost.
OTHELLO
Fetch't, let me see't.
DESDEMONA
Why, so I can, sir, but I will not now.
This is a trick to put me from my suit:
Pray you, let Cassio be received again.
OTHELLO
Fetch me the handkerchief: my mind misgives.
DESDEMONA
Come, come;
You'll never meet a more sufficient man.
OTHELLO
The handkerchief!
DESDEMONA
I pray, talk me of Cassio.
OTHELLO
The handkerchief!
DESDEMONA
A man that all his time
Hath founded his good fortunes on your love,
Shared dangers with you,--
OTHELLO
The handkerchief!
DESDEMONA
In sooth, you are to blame.
EMILIA
Is not this man jealous?
DESDEMONA
I ne'er saw this before.
Sure, there's some wonder in this handkerchief:
I am most unhappy in the loss of it.
EMILIA
'Tis not a year or two shows us a man:
They are all but stomachs, and we all but food;
To eat us hungerly, and when they are full,
They belch us. Look you, Cassio and my husband!
[Enter CASSIO and IAGO]
IAGO
There is no other way; 'tis she must do't:
And, lo, the happiness! go, and importune her.
DESDEMONA
How now, good Cassio! what's the news with you?
CASSIO
Madam, my former suit: I do beseech you
That by your virtuous means I may again
Exist, and be a member of his love
Whom I with all the office of my heart
Entirely honour: I would not be delay'd.
If my offence be of such mortal kind
That nor my service past, nor present sorrows,
Nor purposed merit in futurity,
Can ransom me into his love again,
But to know so must be my benefit;
So shall I clothe me in a forced content,
And shut myself up in some other course,
To fortune's alms.
DESDEMONA
Alas, thrice-gentle Cassio!
My advocation is not now in tune;
My lord is not my lord; nor should I know him,
Were he in favour as in humour alter'd.
So help me every spirit sanctified,
As I have spoken for you all my best
And stood within the blank of his displeasure
For my free speech! you must awhile be patient:
What I can do I will; and more I will
Than for myself I dare: let that suffice you.
EMILIA
He went hence but now,
And certainly in strange unquietness.
IAGO
Can he be angry? I have seen the cannon,
When it hath blown his ranks into the air,
And, like the devil, from his very arm
Puff'd his own brother:--and can he be angry?
Something of moment then: I will go meet him:
There's matter in't indeed, if he be angry.
DESDEMONA
I prithee, do so.
[Exit IAGO]
Something, sure, of state,
Either from Venice, or some unhatch'd practise
Made demonstrable here in Cyprus to him,
Hath puddled his clear spirit: and in such cases
Men's natures wrangle with inferior things,
Though great ones are their object. 'Tis even so;
For let our finger ache, and it indues
Our other healthful members even to that sense
Of pain: nay, we must think men are not gods,
Nor of them look for such observances
As fit the bridal. Beshrew me much, Emilia,
I was, unhandsome warrior as I am,
Arraigning his unkindness with my soul;
But now I find I had suborn'd the witness,
And he's indicted falsely.

DESDEMONA
Alas the day! I never gave him cause.
EMILIA
But jealous souls will not be answer'd so;
They are not ever jealous for the cause,
But jealous for they are jealous: 'tis a monster
Begot upon itself, born on itself.
DESDEMONA
Heaven keep that monster from Othello's mind!
DESDEMONA
I will go seek him. Cassio, walk hereabout:
If I do find him fit, I'll move your suit
And seek to effect it to my uttermost.
CASSIO
I humbly thank your ladyship.
[Exeunt DESDEMONA and EMILIA]
[Enter BIANCA]
BIANCA
Save you, friend Cassio!
CASSIO
What make you from home?
How is it with you, my most fair Bianca?
I' faith, sweet love, I was coming to your house.
BIANCA
And I was going to your lodging, Cassio.
What, keep a week away? seven days and nights?
Eight score eight hours? and lovers' absent hours,
More tedious than the dial eight score times?
O weary reckoning!
CASSIO
Pardon me, Bianca:
I have this while with leaden thoughts been press'd:
But I shall, in a more continuate time,
Strike off this score of absence. Sweet Bianca,
[Giving her DESDEMONA's handkerchief]
Take me this work out.
BIANCA
O Cassio, whence came this?
This is some token from a newer friend:
To the felt absence now I feel a cause:
Is't come to this? Well, well.
CASSIO
Go to, woman!
Throw your vile guesses in the devil's teeth,
From whence you have them. You are jealous now
That this is from some mistress, some remembrance:
No, in good troth, Bianca.
CASSIO
I know not, sweet: I found it in my chamber.
I like the work well: ere it be demanded--
As like enough it will--I'ld have it copied:
Take it, and do't; and leave me for this time.
BIANCA
Leave you! wherefore?
CASSIO
I do attend here on the general;
And think it no addition, nor my wish,
To have him see me woman'd.
CASSIO
Not that I love you not.
BIANCA
But that you do not love me.
I pray you, bring me on the way a little,
And say if I shall see you soon at night.
CASSIO
'Tis but a little way that I can bring you;
For I attend here: but I'll see you soon.
BIANCA
'Tis very good; I must be circumstanced.
[Exeunt]


---
start: 2016-10-05 13:00
edition: 19
participate: "https://www.eventbrite.com/e/building-intelligent-bots-using-microsoft-bot-framework-and-cognitive-services-tickets-28223458123"
subheader: "Building Intelligent Bots using Microsoft Bot Framework and Cognitive Services"
subnote:
talk :
agenda:
-
time: "6:45 pm - 7:30 pm"
title: "How to build which allows systems to see, hear, speak, understand and interpret users needs with natural communication using in Intelligent APIs in Microsoft Bot Framework and Cognitive Services."
speaker_profile: "By: Pranav Ainavolu"
image: "pranav_ainavolu.jpg"
-
time: "7:30 pm - 7:45 pm"
title: "Break & Networking"
-
time: "7:45 pm - 8:30 pm"
title: "Continued..."
speaker_profile: "By: Shravan Kumar Kasagoni"
image: "shravan_kumar_kasagoni.jpg"
---


The purpose is to evaluate the weather conditions in relation to the latitude and determine ideal vacation locations and corresponding hotels in the given cities.
Data was pulled from the OpenWeather API and Google Maps APIs to generate random cities and determine weather and visualize on a map. Matplotlib was used in combination with pandas in the python script and generated through jupyter notebooks, this allowed for ease of edit, update, and viewing of the weather and map data.
The notebook selected and detailed cities and the weather data using the weather API. Using that to then plot various scatter plots and linear regressions between latitude and a variety of variables. Then further analyzing then between the two hemispheres, northern and southern, based on the latitude and the given variables.


Quiz
Title
Time
Create
Option 1
Option 2
Title
Question 1
Question
#1
#2
Correct answer:
Seconds to answer:
Optional image url:
Title
Nick:
Submit
Name
Points
Streak


Donald Knuth married Nancy Jill Carter on 24 June 1961, while he was a graduate student at the California Institute of Technology. They have two children, John Martin Knuth and Jennifer Sierra Knuth.
Chinese name
Knuth's Chinese name is Gao Dena (simplified Chinese: 高德纳; traditional Chinese: 高德納; pinyin: Gāo dé nà). In 1977, he was given this name by Frances Yao, shortly before making a 3-week trip to China. In his 1980 volume of The Art of Computer Programming (simplified Chinese: 计算机程序设计艺术; traditional Chinese: 電腦程式設計藝術; pinyin: Jìsuànjī chéngxù shèjì yìshù), Knuth explains that he embraced his Chinese name because he wanted to be known by the growing numbers of computer programmers in China at the time. In 1989, his Chinese name was placed atop the Journal of Computer Science and Technology's header, which Knuth says "makes me feel close to all Chinese people although I cannot speak your language".
Humor
One of Knuth's reward checks"Nested parens"—Donald Knuth (on Jacob Appelbaum's shirt within the two parentheses), Jacob Appelbaum, and Donald Knuth
Knuth used to pay a finder's fee of $2.56 for any typographical errors or mistakes discovered in his books, because "256 pennies is one hexadecimal dollar", and $0.32 for "valuable suggestions". According to an article in the Massachusetts Institute of Technology's Technology Review, these Knuth reward checks are "among computerdom's most prized trophies". Knuth had to stop sending real checks in 2008 due to bank fraud, and instead now gives each error finder a "certificate of deposit" from a publicly listed balance in his fictitious "Bank of San Serriffe".
He once warned a correspondent, "Beware of bugs in the above code; I have only proved it correct, not tried it."


I waited years to try LSD. It had become such a hard drug to find by the time I was interested in it, so I waited a long time to try the FIRST drug I was really interested in.
The place: a wonderful campground in a forest in Ohio. The atmosphere turned out to be better than I could have hoped for.
I took a single hit of blotter (it had fractals on the back) at 11pm. It was hard to tell exactly when I started feeling the effects, as I was too excited and jumpy to begin with. I think it was about fifteen to twenty minutes though.
Normally I can be pretty paranoid, especially on psychedelics. I would never dream of taking mushrooms in a forest in another country with people I had not met before...but LSD turned out to be much different. I think it was the rather slow and long rise to the peak - it gave me enough time to adjust to the changes.
As I neared my peak, a group of us walked down a path to the edge of a lake.  I watched the light dance around the lake with a life of its own. The stars moved constantly, and each star appeared to be a small cluster of three or four stars. The body buzz was neither unpleasant nor enjoyable. More a tensed-up feeling of anticipation. It didn't bother me though, and even added its own effect to the feel of the trip. There were times when laughter would bubble up from my depths for no reason. Life is funny, amazingly funny!
I tried smoking some bud a little after the peak, and as I suspected I promptly got much higher. At this point it was suggested to me that I should go for a journey into the forest. I walked off with another guy (I still have no idea who he was, just that he was tripping too) and was lost within ten steps. The darkness under the trees was thick. It looked like the air itself was inky black. None of this bothered me, though. I'm not sure if I could have been bothered, as I was so utterly confused by this point that I had no room for thought. We stumbled around in a daze, trying to figure out where it was we were going in the first place.
I ventured back to the campsite after only a few minutes, when I realized there was no point in going somewhere I didn't know.
LSD lasts a long time. I wish it would last a little longer still...but the length is something I have never experienced before. Mushrooms are mostly over with in five hours, sometimes much less. I had taken my hit at 11pm and by the time 6am rolled around I was far too many hours into my trip. Everyone else at the site had fallen asleep by the time the sun peeked over the horizon. I decided to go back down to the edge of the lake, to watch the sunrise.
The ten minutes that I watched that sunrise will live with me forever. The feel of the place and time left me in such a state of awe I had no words to describe it. I still don't, really. The sun was rising on the opposite side of the lake, casting its rays directly towards me and across the rippling water. A foot or two of mist covered the entire lake as well. A gentle breeze came up from behind me and began to blow all the mist away from me and towards the rising sun. The top of the mist rippled and rolled like the top of the water below it, except the mist travelled away from me while the light twinkling on the water came towards me. If I experience another moment like that in this life...I will count myself greatly gifted.
I hiked back up the hill to the campsite and tried to take a nap. No use...still too much energy.
I finished coming down by lunch, with the last visuals subsiding around 10am or so. I left with my ride shortly after lunch and headed straight back to Canada.
I have learned much from what I experienced, and I know there is still too much more to learn. LSD is a great teacher, indeed.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


@alias(<protoMsg>) <messageDef>;
The @alias keyword is used for messages which take conditional parameters in an assembly handler. For example, if the assembly handler takes a word parameter normally and a dword only if a certain flag is set, you will need to have two C messages with the two different parameters. The @alias keyword allows this. Its arguments are shown below:
protoMsg
messageDef
@message void MSG_MY_MSG(word par); @alias(MSG_MY_MSG) void MSG_MY_SECOND_MSG(dword par);
See Also: @message
<ret> = @call [,<flags>] [{<cast_ret>}] \ <obj>::[{<cast_par>}]<msg>(<param>*);
The @call keyword sends the specified message to the specified object and makes the caller wait until the message is processed before continuing. The arguments of @call are shown below:
ret
flags
cast_ret
obj
cast_par
msg
cast
parameter.
param
The flags allowed with @call are shown below:
forceQueue
must also be passed. Note that due to implementation constraints, events will be checked from last to first rather than from first to last.
checkDuplicate
, above, except that it checks only the last message in the event queue.
checkDuplicate
and
checkLastOnly
by superseding the duplicate (old) event with the new one. The new event will be put in the duplicate's position in the event queue. If a duplicate is found but the
replace
flag is not passed, the duplicate will be dropped and the new event will be put at the end of the queue.
replace
flag.Additionally, @call alows the use of several special expressions in place of the recipient:
@call self::MSG_VIS_DRAW(flags, gstate);
@call process::MSG_HELLO_RESPOND();
attr = @call application::MSG_GEN_GET_ATTRIBUTES();
If you need to send a message to an object's superclass, use the @callsuper keyword rather than @call.
gstate = @call myObj::MSG_META_CUT(); retVal = @call {MSG_MY_MSG} myObj::MSG_OTHER_MSG(); retVal = @call myObj::MSG_MY_MSG(10, param1);
See Also: @send, @callsuper, @message, @method, @object
<ret> = @callsuper [{<cast_ret>}] \ <obj>::<class>::[{<cast_par>}]<msg>(<param>*) [<flags>]+;
@callsuper;
The @callsuper keyword does two things: The most useful is to pass a received message on to the superclass to ensure default behavior is preserved; the second, and less used, acts just like @call but sends the message to the recipient's superclass rather than the recipient's class. This is rarely used but can be used if only default behavior is required of the message. Its arguments are shown below:
ret
obj
cast_ret
.
class
cast_par
.
msg
param
flags
(void) @callsuper myObj::MySupClass::MSG_MY_MSG();
See Also: @call, @send, @message, @method
@chunk <type> <name> [= <init>];
The @chunk keyword declares a resource chunk containing data of some kind. Data can be of any GEOS or C data type or structure, including a string of characters. The chunk must be declared between the resource delimiters @start and @end. Its arguments are described below:
type
name
init
If you will need to access the chunk from another executable file, you must declare it in the other file with @extern. Objects are declared with @object.
typedef struct { int a; int b; } MyStruct;
typedef char MyString[13];
@start MyDataResource, data; @chunk word MyWordChunk; @chunk MyStruct MyMSChunk = {5, 10}; @chunk MyString MyStringChunk = "My string"; @end MyDataResource;
See Also: @start, @end, @object, @extern
@chunkArray <stype> <aname> [= {<init>}];
The @chunkArray keyword declares a Chunk Array, a special kind of chunk. Only uniform-element-size chunk arrays may be declared with this keyword. It has the following arguments:
@chunkArray int someints;
@chunkArray dword somedwords = {123456789, 6021023, 31415926};
See Also: @chunk, @elementArray
@class <cname>, <super> [, master [, variant]];
The @class keyword begins a class definition. All instance data and messages for the class are declared between @class and @endc. The arguments of @class are listed below:
cname
super
master
variant
@class MyTriggerClass, GenTriggerClass; @endc
@class MyMasterVarClass, MetaClass, master, variant; @endc
See Also: @endc, @classdecl
@classdecl <cname> [, neverSaved];
The @classdecl keyword defines a given class structure in memory. Every new class that will be used by an application must appear in an @classdecl declaration. The arguments for this keyword are shown below:
cname
neverSaved
@classdecl MyTriggerClass; @classdecl MyProcessClass, neverSaved;
See Also: @class
@instance @composite <iname> = <linkFieldName>;
The @composite keyword appears as a subcommand of @instance. It is a type of instance data--it indicates that an object of this class can have several children and that the @composite instance data field will be an optr to the first of its children. The arguments of the @composite keyword are given below:
iname
linkFieldName
@class GenTrigWithKidsClass, GenTriggerClass; /* GI_link is the GenClass sibling link field. */ @instance @composite GTWKI_comp = GI_link; @endc
See Also: @instance, @link
<fname> = @default [<op> [~]<attr>]*; /* to use default value of instance data field */
@default <varRoot> = <super>; /* to specify default superclass of a variant class */
@default <fname> = <value>; /* to specify a default value for an instance data field defined by a superclass. */
<fname> = @default;
The @default keyword can be used in several ways: to specify the default value of an instance data field, to represent the default value of an object's instance data field, or to specify the default superclass of a variant class. It may also be used when defining a class to specify a default value to use with an instance data field defined by a superclass.
The @default keyword is most commonly used when modifying default instance data values of bitfield-type fields. The defaults are set in the @class definition and may be modified in the @object declaration. The arguments of @default are shown below:
fname
op
attr
@object GenPrimaryClass MyPrimary { GI_states = @default & ~GENS_MAXIMIZED; GI_attrs = @default | GENA_TARGETABLE; }
The @default keyword can also be used to specify the default superclass of a variant class. In this case, it has the following arguments:
To specify a class' default value for an instance data field when that instance data field is defined by a superclass, @default has the following arguments:
To represent an object's default value for an instance data field, @default has the following arguments:
See Also: @object, @instance, @class
@define <mname>[(<pdef>)] <macro>
The @define directive defines a Goc macro. You can define C macros with the #define directive; macros that use Goc operators, keywords, or code must be defined with @define. Similarly, macros defined with @define must be later used with the "@" marker preceeding them; otherwise, the Goc processor will scan over the macro and will not evaluate it. The arguments of @define are listed below:
mname
mname
to invoke the macro.
pdef
macro
@define MyChunk(a) @chunk char[] a = "text"; @define MyText(a,b) @chunk char[] a = "b";
/* You can later use these macros as follows: */
@MyChunk(Text1) @MyText(Text2, newText)
/* This will evaluate to the following: */
@chunk char[] Text1 = "text"; @chunk char[] Text2 = "newText";
@deflib <libName>
Most Goc libraries will have a .goh header file. This file should begin with a @deflib directive. This will see to it that no library header file is included more than once in a given compilation. The file must end with an @endlib directive. The @deflib directive takes the following argument:
@deflib hellolib
See Also: @endlib
@dispatch [noFree] [{<cast>}] <nObj>::<nMsg>::<event>;
The @dispatch keyword sends a previously-encapsulated message to the specified object. This keyword is analogous to @send; use @dispatchcall if the event must be processed immediately. The encapsulated event must have been defined with @record. The arguments of @dispatch are given below:
noFree
cast
nObj
null
.
nMsg
null
.
event
@dispatch null::null::myEvent; @dispatch newObject::null::myEvent; @dispatch null::MSG_NEW_MSG::myEvent;
See Also: @record, @send, @dispatchcall
<ret> = @dispatchcall [noFree] [{<cast>}] <nObj>::<nMsg>::<event>;
The @dispatchcall keyword sends a previously-encapsulated message to the specified object. This keyword is analogous to @call; use @dispatch if the event can be sent with no return values. The encapsulated event must have been defined with @record. The arguments of @dispatchcall are given below:
ret
noFree
cast
nObj
null
.
nMsg
null
.
event
retVal = @dispatchcall null::null::myEvent; retVal = @dispatchcall newObject::null::myEvent; (void) @dispatchcall null::MSG_NEW_MSG::myEvent;
See Also: @record, @send, @dispatchcall
@elementArray <stype> <aname> [= {<init>}];
The @elementArray keyword declares a Element Array, a special kind of Chunk Array. It has the following arguments:
See Also: @chunk, @chunkArray
@end <segname>
The @end keyword denotes the end of a resource block definition that had been started with @start. Its one argument is the name of the resource segment.
@start MenuResource; @end MenuResource;
See Also: @start, @header, @object, @chunk
@endc
The @endc keyword denotes the end of a class definition begun with @class. It has no arguments.
See Also: @class
@endif
The @endif directive denotes the end of a block of conditionally-compiled code. It is used with @if, @ifdef, and @ifndef.
See Also: @if, @ifdef, @ifndef
@endlib
Most Goc libraries will have a .goh header file. This file should end with an @endlib directive. This will see to it that no library header file is included more than once in a given compilation. The file must begin with an @deflib directive.
See Also: @deflib
@exportMessages <expname>, <num>;
The @exportMessages keyword sets aside a number of message spots so the messages may be declared elsewhere. This allows users of the class to declare messages that are guaranteed to be unique across all subclasses. Exported messages are declared with the @importMessage keyword. The arguments of @exportMessages are shown below:
expname
num
@exportMessages MetaUIMessages, 50; @exportMessages MyExportedMessages, 12;
See Also: @importMessage, @reserveMessages, @message
@extern <type> <name>; @extern method <cname>, <manme>+
The @extern keyword allows code in a given compilation session to access objects, chunks, monikers, and methods defined in another compilation session. The compiler will assume the element exists and will be linked by the Glue linker. If Glue is unable to locate and link the external resource element, it will respond with an error. The arguments of @extern are given below:
type
object
,
chunk
,
visMoniker
, or
method
.
name
@extern chunk MyChunk; @extern object MyBlueTrigger; @extern visMoniker GAL_visMoniker;
If @extern is being used to declare a method which is in a different file from the class declaration, it has the following arguments:
Some confusion has arisen about when to use
@extern
. The following notes will hopefully prove useful.
Your class' definition should not be broken up over files. If you wish to keep your class definition in a file separate from your other code, this file should be a .goh file.
If your class is
declared
(@classdecl) in a file other than where it is
defined
(@class), then the declaring file should
@include
the defining file.
Normally the declaring file contains all method definitions for the class. If any method definitions are in another file, then both files will need an
@extern
keyword like so:
In file containing class declaration:
@extern method MyClass, MSG_MY_DO_SOMETHING;
In file containing method code:
@extern method MyClass, MSG_MY_DO_SOMETHING(word myArg) { /* Method code here */ }
All objects declared in a static tree (e.g., your application's generic tree) should be in the same source file. If they are in different files, then they may be joined into a single tree only by dynamically adding objects from one file as children to objects of the other.
Note that if one file contains a tree of objects, then you may incorporate the whole tree by simply dynamically adding the top object in the file to the main tree. You won't have to add each object individually.
If an object declared in one source file will send a message to an object in another source file, you must include an
@extern
line in the source file containing the sending object:
@extern object ReceivingObjectName;
The message itself should be sent in the following manner (with variations possible if you will be using
@call
, passing arguments, or what have you):
optr ROOptr; ROOptr = GeodeGetOptrNS(@ReceivingObjectName); @send ROOptr::MSG_DO_SOMETHING(0, 0);
See Also: @chunk, @object, @visMoniker
gcnList(<manufID>,<lname>) = <oname> [, <oname>]*;
The gcnList keyword, which does not have the keyword marker @ preceeding it, puts the listed objects onto the specified notification list. GCN lists are specified by both manufacturer ID and list type. The arguments of the gcnList keyword are given below:
manufID
lname
oname
@object GenApplicationClass HelloApp = { GI_comp = HelloPrimary; gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_WINDOWS) = HelloPrimary; }
See Also: @object
@send @genChildren::<msg>(<params>);
Any composite object in a generic object tree (therefore a subclass of
GenClass
) can send a message that will be dispatched at once to all of its children. Note that any message sent with @genChildren as the destination must be dispatched with the
@send
keyword and therefore can have no return value and can not pass pointers in its parameters.
[@send | @call] @genParent::<msg>(<params>);
Any composite object in a generic object tree (therefore a subclass of
GenClass
) can use the @genParent address to send a message to its generic parent. This can be used with either @send or @call.
@gstring <gsname> = {[<command> [, <command>]+]}
The @gstring keyword lets you declare a chunk containing GString data in Goc source code.
GS...()
macros are used to specify the bytes.An example:
@gstring MultPrimContentOneGraphic = { GSSetGStringBounds(10,10,48,64), GSSetTextColorIndex(C_VIOLET), GSSetFont(FID_DTC_URW_SANS, 54.0), GSSetTextStyle(TS_ITALIC, ~TS_ITALIC), GSDrawText(10, 10), "1", GSEndString() };
The
GSSetGStringBounds()
command has been set up to optimize use of this GString: the programmer has pre-computed the drawing bounds of the GString. The graphics system will use the pre-computed bounds to speed up clipping.
The
GSEndString()
command signals that the GString is done. In all but the rarest cases, all GStrings should end with an end-gstring command.
@header <type> [= <init>];
The @header keyword sets the header of an object or data resource segment to a custom structure. The structure must begin with an LMemBlockHeader or ObjLMemBlockHeader. The arguments of @header are given below:
type
init
typedef struct { LMemBlockHeader meta; int a; int b; } MyLMemBlockHeader;
@start MyDataResource, data;
@header MyLMemBlockHeader = 10, 12;
@end MyDataResource;
See Also: @start, @end, @object, @chunk
@if (<cond>)
The @if directive denotes the beginning of a conditionally-compiled block of code. If the expression detailed in
cond
equates to
true
, then the code between the @if directive and the first corresponding @endif directive will be compiled with the rest of the code.
cond
@if 0 /* code not compiled */ @endif
@if MyMacro /* code compiled if MyMacro is defined */ @endif
@if defined(MyMacro) || MY_CONDITION /* code compiled either if MyMacro is defined or * if MY_CONDITION is non-zero */ @endif
See Also: @ifdef, @ifndef, @endif
@ifdef <item>
The @ifdef directive is similar to the @if directive in use, except the condition it evaluates is based solely on whether the
item
is defined or not (if
item
is defined, the following code is compiled).
See Also: @if, @ifndef, @endif
@ifndef <item>
The @ifndef directive is similar to the @ifdef directive in use, except the condition it evaluates is based solely on whether
item
is not defined (if
item
is not defined, the following code is compiled).
See Also: @if, @ifdef, @endif
@importMessage <expname>, <messageDef>;
The @importMessage keyword declares a message with a reserved message number set aside earlier by @exportMessages. The arguments of this keyword are given below:
expname
messageDef
@importMessage MyExportedMessages, word MSG_MY_MSG( byte param1, byte param2);
See Also: @exportMessages, @reserveMessages, @message
@include <fname>
The @include directive is used to include Goc files into a code file. It is similar to the #include directive in C. Its only argument is a file name (
fname
) enclosed in either angled brackets or quotation marks. If you use quotation marks, the compiler will look first in the file's own directory; if you use angled brackets, it will look first in the standard include directories.
@include <stdapp.goh> @include "Art/mkrGenDoc"
See Also: @extern
@instance <insType> <iname> = <default>;
The @instance keyword declares an instance data field for a class. This keyword will appear between the class delimeters @class and @endc. Its arguments are shown below:
insType
iname
default
The Goc preprocessor allows the use of several special types of instance data fields. To use these special types, insert the proper keyword (type name) in place of the
insType
argument above and do not include a default value for the field (
default
). The possible special types and their meanings are given in the list below (see the individual keyword entries for more detail):
default
argument in the declaration to be the same as the name of the corresponding @link field. This is important; otherwise, your program will not compile properly.Note that if you want to declare instance data fields for variable-sized data, you should use the @vardata keyword rather than @instance.
@instance int myInteger = 10;
typedef struc { int a; int b; } MyStruc; @instance MyStruc strucField = {7, 11};
@instance @visMoniker GI_moniker;
@instance @link VI_link; @instance @composite VCI_comp = VI_link;
@instance @kbdAccelerator GI_kbdAcc;
See Also: @vardata, @visMoniker, @link, @composite, @kbdAccelerator
@instance @kbdAccelerator <iname>;
The @kbdAccelerator keyword follows @instance to create an instance data field that will contain a keyboard accelerator. The
iname
argument is the name of the instance data field.
@instance @kbdAccelerator GI_kbdAcc;
See Also: @instance
@instance @link <iname>;
The @link keyword follows @instance to define a link instance data field pointing to the object's next sibling in the object hierarchy. The
iname
argument is the name of the instance data field. Note that the name of the link field must be set as the default value of the corresponding @composite field.
@instance @link GI_link; @instance @composite GI_comp = GI_link;
See Also: @instance, @composite
@localize { <string> <min>-<max> }; @localize { <string> <length> }; @localize { <string> }; @localize <string>; @localize not;
This keyword is used to specify instructions for translators. When appearing under a
@visMoniker
or
@chunk
construction, this keyword specifies a string which the ResEdit program will show to translators localizing the geode.
For example:
@visMoniker FakeItemMoniker = "Data:";
@localize "This string will appear at the head of the list";
The arguments of this keyword are as follows:
@message <retType> <mname>([@stack] <param>*);
The @message keyword defines a message and its parameters and return values. This keyword will appear within a class definition (i.e., between @class and @endc). The message defined with @message will automatically be valid for the class for which it is defined as well as for subclasses of that class. The arguments of this keyword are shown below:
retType
mname
@stack
from the way they are listed in the declaration.
param*
@message void MSG_TRIGGER_PUSHED(int push1);
@message word MSG_MY_MSG(byte firstParam, word secParam, long thirdParam);
See Also: @method, @reserveMessages, @exportMessages, @importMessage, @record
@method [<hname>,] <cname>, <mname>+ [{<code>}];
The @method keyword begins definition of a method (message handler). Its arguments are listed below:
hname
cname
mname
+@method MyClass, MSG_MY_MSG { /* method code goes here */ }
@method MyClassMethod, MyClass, MSG_MY_MSG { /* method code goes here */ }
See Also: @message
@noreloc <iname>;
The @noreloc keyword specifies that an instance data field (defined in the previous program statement) is not relocatable. Normally optr fields are assumed to be relocatable and will be automatically relocated by the system when shutting down and coming back from a shutdown; by means of the @noreloc, this automatic behavior can be turned off for a given field.
@object <class> <name> <flags>* = { [<fieldName> = <init>;]* [<varName> [= <init>];]* }
The @object keyword defines an object in an object resource block. It must appear between @start and @end. Its arguments are defined below:
class
name
flags
ignoreDirty
is supported. When set, this flag indicates that changes to the object should not be saved to a state file.
fieldName
varName
init
Many fields may be specified in the object declaration. Each field reference must be defined in a class in the object's class ancestry. Additionally, not all fields must be set. If a field is not specified within the @object declaration, the field will be set to its default value as defined by the class.
@start MyObjectResource;
@object GenTriggerClass MyTrigger ignoreDirty = { GI_visMoniker = "MyTrigger's Moniker"; }
@object GenApplicationClass MyApp = { GI_comp = MyPrimary; gcnList(MANUFACTURER_ID_GEOWORKS, GAGCNLT_WINDOWS) = MyPrimary; }
@object GenPrimaryClass MyPrimary = { GI_comp = MyMenu, MyInteraction, MyView; GI_visMoniker = "My Primary's Moniker";
}
@object MyClass NewObject = { NO_instance1 = 1; NO_instance6 = `C'; }
@end MyObjectResource;
See Also: @start, @end, @extern, @class, @instance, @vardata
@optimize
This directive may be placed at the top of a .goh file. The directive instructs Goc to generate a specially processed .poh file which contains all the information of the .goh file, but is somewhat faster to compile. This .poh file is automatically regenerated if the corresponding .goh file has been changed since the last compilation.
@protominor <prototypeName>
When creating a new version of an existing library, use the
@protominor
keyword to declare new messages and variable data fields for a class. Suppose your original class declaration looked like so:
@class MyClass, SuperClass; @message void MSG_M_DO_THIS(void); @vardata void TEMP_M_DONE_FLAG; @endc
Having released this version of your class, you wished to release another version in which this class handled another message. You wanted to specify that this new message would only work with this new version of the library. This would be set up like so:
@class MyClass, SuperClass; @message void MSG_M_DO_THIS(void); @vardata void TEMP_M_DONE_FLAG; @endc @protominor MyVersion20 @message void MSG_M_DO_THAT(void);
You would also need to add an "incminor" line to the end of your .gp file:
incminor MyVersion20
To do the equivalent version control with routines, use the
incminor
.gp file directive.
See Also:
@protoreset
@protoreset
The
@protoreset
keyword signals that the rest of a file should ignore any previous
@protominor
statements.
@class MyFirstClass, SuperClass; @message void MSG_M1_DO_THIS(void); @vardata void TEMP_M1_DONE_FLAG; @endc @protominor MyVersion20 @message void MSG_M1_DO_THAT(void); @protoreset
@class MySecondClass, SuperClass; @instance word M2I_token; @vardata void ATTR_M2_IGNORE_TOKEN; @protominor MyVersion20 @vardata word ATTR_M2_ALTERNATE_TOKEN; @endc
@prototype <messageDef>;
The @prototype keyword allows multiple messages to have the same pass and return parameters. Use @prototype to define the pass and return values, then use @message to declare the messages that have these parameters. The messages defined with @message will have different message numbers and will invoke different methods. The
messageDef
argument is a standard message definition.
@prototype word MSG_MY_PROTO(byte param1);
@message(MSG_MY_PROTO) MSG_MY_MSG; @message(MSG_MY_PROTO) MSG_MY_SECOND_MSG;
See Also: @alias, @message
<event> = @record <obj>::<msg>(<param>*);
The @record keyword encapsulates an event for later use with @dispatch or @dispatchcall. The arguments of @record are as follows:
event
obj
null
to indicate that the recipient will be determined when the message is sent.
msg
null
to indicate that the message will be determined when it it sent.
param
myEvent = @record myObj::MSG_VIS_VUP_CREATE_GSTATE();
See Also: @dispatch, @dispatchcall, @call, @send
@reloc <iname>, [(<count>, <struct>)] <ptrType>; @reloc <iname>, <fn>, [(<count>, <struct>)] <ptrType>;
The @reloc keyword designates an instance data field that contains data requiring relocation on startup. Note that this does not include instance fields declared with the @composite and @link fields, but it does include any handle or pointer fields you may have. Note that there are two different formats for the use of @reloc. The first represents a normal instance field; the second represents a variable data instance field (see @vardata). This is not used with @instance or @vardata but stands alone.
The arguments of @reloc are shown below:
iname
count
struct
ptrType
optr
(object pointer),
ptr
(far pointer), or
handle
.
fn
@reloc MO_myHandle, handle; @reloc MO_myVarHandle, 0, handle; @reloc MO_myTable, (10, MyStruct), ptr;
See Also: @instance, @vardata
@method [<hname>,] <cname>, _reloc { <code>};
The _reloc keyword is used to write relocation handlers for classes, if you need to relocate-unrelocate instance data when it's either read in or saved to state.
The arguments of _reloc are show below:
@reserveMessages <number>;
The @reserveMessages keyword reserves the given number of message spots. Messages are numbered sequentially according to the order of their declaration; this keyword allows one or more numbers to be skipped in the numbering process, allowing application upgrades without making earlier versions obsolete. The single argument is the number of message spots to skip.
@reserveMessages 25;
See Also: @exportMessages, @importMessage, @message
@send [<flags>+] [(<cast_ret>)] <obj>::[{<cast_par>}]<msg>(<param>*);
The @send keyword sends a given message to the specified object. The message will be sent and the sender's thread will continue executing without waiting for a response. If return values or synchronization is important, use the @call keyword. The parameters of @send are shown below:
flags
cast_ret
obj
cast_par
msg
cast
argument .
param
The flags allowed with @send are shown below:
forceQueue
must also be passed. Note that due to implementation constraints, events will be checked from last to first rather than from first to last.
checkDuplicate
, above, except that it checks only the last message in the event queue.
checkDuplicate
and
checkLastOnly
by superseding the duplicate (old) event with the new one. The new event will be put in the duplicate's position in the event queue. If a duplicate is found but the
replace
flag is not passed, the duplicate will be dropped and the new event will be put at the end of the queue.
replace
flag.@send, forceQueue MyObj::MSG_MY_MSG(10, x); @send MyObj::MSG_SET_ATTR(attributesParam);
See Also: @call, @callsuper, @message, @method
<fname> = [@specificUI] <mod>* <key>;
The @specificUI keyword is used when setting a keyboard accelerator instance field in an object declaration. It tells the UI to allow the use of the keystrokes specified, even if they are normally reserved for the specific UI. The keyword itself takes no arguments; those shown are for the
GenClass
instance data field
GI_kbdAccelerator
. These are
fname
mod
control
,
ctrl
,
shift
,
alt
.
key
@object MyClass MyObject { GI_kbdAccelerator = ctrl shift `k'; }
See Also:
GenClass
, @kbdAccelerator, @instance
@message <retType> <mname>([@stack] <param>*);
This keyword may be used if the message might be sent from assembly language code instead of Goc. It indicates that the arguments will be passed on the stack; the handler will pop them off the stack in
reverse order
from the way they are listed in the declaration.
See Also: @message
@start <segname> [, <flag>];
The @start keyword indicates the beginning of a resource block. The end of the block is denoted by the keyword @end. The arguments of @start are listed below:
segname
flags
data
, when set, indicates the block will be a data resource rather than an object resource. The flag
notDetachable
, when set, indicates the block should not be saved to a state file. @start MenuResource; @end MenuResource;
@start MyDialogResource, notDetachable; @end MenuResource;
@start MyStringResource, data; @end MyStringResource;
See Also: @end, @header, @object, @chunk
@uses <class>;
If you know that a variant class will always be resolved to be a subclass of some particular class, you can declare this with the @uses keyword. This will let the variant class define handlers for the "used" superclass. The keyword uses the following argument:
Warnings: You must make sure that the variant class's inheritance is always resolved such that the used class is one of its ancestor classes.
See Also: @class
@vardata <type> <vname>;
The @vardata keyword creates a vardata data type for a class. Each type created with @vardata can be simply the name of the type, or it can have additional data (a single structure). The arguments of @vardata are given @defaultbelow:
type
void
in place of a type.
vname
@vardata dword MY_FIRST_VAR_DATA;
typedef struc { int a; int b; } MyStruc;
@vardata MyStruc MY_SECOND_VAR_DATA; @vardata void MY_THIRD_VAR_DATA;
See Also: @vardataAlias, @instance
@vardataAlias (<origName>) <newType> <newName>;
The @vardataAlias keyword allows you to set up variable data fields with varying amounts of extra data. That is, a single variable data field in the instance chunk could have two different sizes and two different names. The arguments of @vardataAlias are listed below:
origName
newType
void
instead of a type.
newName
/* defined in GenTriggerClass */
@vardata word ATTR_GEN_TRIGGER_ACTION_DATA;
/* A special GenTrigger that uses a different data * type is defined in the application: */
@object GenTriggerClass MyTrigger = { GTI_actionMsg = MSG_MY_APPS_MESSAGE; GTI_destination = process; @vardataAlias (ATTR_GEN_TRIGGER_ACTION_DATA) dword ATTR_MY_TRIGGER_SPECIAL_DATA;
See Also: @vardata, @instance
@send @visChildren::<msg>(<params>);
Any composite object in a visible object tree (therefore a subclass of
VisCompClass
) can send a message that will be dispatched at once to all of its children. Note that any message sent with @visChildren as the destination must be dispatched with the
@send
keyword and therefore can have no return value.


| DOSE: T+ 0:00 |
2 hits |
oral |
LSD |
(blotter / tab) |
| T+ 3:30 |
repeated |
insufflated |
Cocaine |
(powder / crystals) |
I've taken a fair amount of acid the past few years, but none at all the past 5 or 6 months.
Last night I took 2 papertrips -'blotter' a madhatter and a california sunshine, I was at a friends house, who refused to do acid, this is because of bad comments passed to him about the drug, he said he'd wait and see how well i was doing before he'd munch 1... so we are alone, music was playing, mainly listen to soft rock (Limp Bizcit, Korn -some house) mood was awsome, have no fears of parents rocking up or just uninvited guests...
I munched at about 21:30, he ditched me a while to go and get some coke for him, and later, save some for me...
So I felt all the usual about 45 minutes later, things start moving, etc... and I noticed an ant that appeared to be many ants after about 5 minutes (I think 5 minutes), this ant just became more and more ants, it was hectic and i thought I should take the show to another room till he got back...
It bothered me to walk to the next room, cause it was like replacing your thoughts of that room in another room, I didn't feel comfortable once, uptight, metalic taste in my mouth, my eyes kept on delaying...I walked into his glass sliding door and this was completely hectic, cause that moment just kept on playing back in my head, and I felt like I was to be carefull of where I was walking and not to stand on anything..(there is nothing to stand on).
He got back at about 22:15 and when he walked in the first thing he said was, 'did you notice the sliding door?' and that just freaked me out. Were ants everywhere or I was just too scared to want to notice ants, and he didn't know about the sliding door, he meant that he just that day had a sliding door put into his lounge... this is not how I thought of it though...
I thought he knew...
He had the coke and began cutting the shit on his glass table, it looked dirty and unclean in full meaning of the word, I felt like my life was going to end with a line...like that line could ruin my life, I mean 'it is cocaine you know'
We wondered around his house for a while talking and laughing at weird and sort of storyless pictures hung on his walls, it depressed me how he could have a picture of his grandmother on the wall and right next to it have a picture of 2 dwarf mime artists playing tricks on each other, something about that made me think of treachery and just then I started to discover(in my head) that his whole family are treacherous toward each other and just some things made me think of him becoming treacherous toward me, and I became more uncalm and more hectic and I couldn't look at him the same...
I thought he would at some point stab me, and do things to me that would end our friendship...
I couldn't handle the sight of him, and he kept on pushing me for an answer... wanting to know why I couldn't trust him or talk to him, to me it was like he was starting to torture me for something I wouldn't tell him...

I cut the lines about 4cm's long and about 3mm thick, I shnarfed first, as soon as my head rose, for some reason I laughed in such a cynical way and (a burst) he looked at me and I just saw him as like my protector, and the hallucinations toned down by like 80% and I was on an elite coke vibe, plenty of depth in thought (but in a realistic manner) I felt completely comfortable as he shnarfed his line, and he said to me when he rose from the table, 'I lost you just now, and where ever you were, you are not taking me there.'
No more acid for ME, no more acid EVER, not in this lifetime, depending on the music and vibe and place, things can become so sick and twisted that I forget reality so harshly that people can look by 1 action like they are conspiring against you...
The coke helped me to forget my fantasy (this was chaos) always talking about how fun the world would be in complete Anarchy...
LSD helped me to realise that it was the world I created for myself, but that world will help me to only become more Chaotic in my head if I continue to be rebelious in words and in action...
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.