Twisted Conch code examples
Simple SSH server and client
Simple telnet server
- telnet_echo.tac - A telnet server which echoes data and events back to the client
twisted.conch.insults examples
- demo.tac - Nearly pointless demonstration of the manhole interactive interpreter
- demo_draw.tac - A trivial drawing application
- demo_insults.tac - Various simple terminal manipulations using the insults module
- demo_recvline.tac - Demonstrates line-at-a-time handling with basic line-editing support
- demo_scroll.tac - Simple echo-ish server that uses the scroll-region
- demo_manhole.tac - An interactive Python interpreter with syntax coloring
- window.tac - An example of various widgets
Index
Version: 12.2.0


Rudy Hirschheim, Heinz K Klein
They examine the way in which systems will turn out differently depending on the methodological and theoretical underpinnings of the software development practice. They tell two real-world stories, and then generalise to four archetypes of development, with the final archetype being an idealistic model (from their point of view), but the main thrust being that there are various forms of 'ideal', but being reflexive about it is important.
There is a clear statement, with reference to the Typesetting case study, that prototyping technologies were considered to be too inflexible to be able to represent possible software designs, and physical mockups were preferable.
Does this suggest that our approach in Firmware Co-Design is 'neo-humanist' on the 'Boston Matrix' model of Burrell and Morgan - Subjectivist/Conflict quadrant?
Is the Firmware Co-design approach 'analyst-as-facilitator'?
"All systems developers approach the development task with a number of explicit and implicit assumptions about the nature of human organizations, the nature of the design task, and what is expected of them. This article will examine the kinds of implicit assumptions made during systems development."
"we wish to show (1) that although there is a strong, orthodox approach to systems development, there are recently developed alternatives that are based on fundamentally different sets of assumptions; (2) that these assumptions primarily deal with the attitudes adopted toward reality and how to obtain knowledge about it; (3) that these assumptions are either explicitly or implicitly made in adopting a particular development approach: (4) that the ways in which system objectives are legitimized are directly related to the development approach adopted; and (5) that important social consequences result from applying a particular systems development approach."
"The typesetters were interested in retaining the quality of typesetting
and possibly enhancing their own productivity. To retain quality, systems
design options focused on providing the flexibility and diversity of the
traditional tools of the typesetting trade by electronic
means. To meet this objective, the team found it necessary to use
hardware mock-ups to overcome the limitations of the then-available
technology. While similar to prototyping, the hardware mock-ups overcame
the bias inherent in the technology used for prototyping. The
available prototyping tools were unable to accommodate the craft skills
that were used to meet the aesthetic requirements of newpaper page
layout."
"The new design team shifted the focus of requirements analysis from the acquisition of an expert rule base to the support of the mechanics’ judgment in diagnosing maintenance needs... ...This design approach resulted in a system for experts rather than an expert system."
"...the essence of the objectivist position “is to apply models and methods derived from the natural sciences to the study of human affairs. The objectivist treats the social world as if it were the natural world” [18, p. 71. In contrast, the subjectivist position denies the appropriateness of natural science methods for studying the social world and seeks to understand the basis of human life by delving into the depths of subjective experience of individuals."
"The neohumanist paradigm seeks radical change, emancipation, and
potentiality, and stresses the role that different so-
cial and organizational forces play in understanding change. It focuses
on all forms of barriers to emancipation-in particular, ideology
(distorted communication), power, and psychological compulsions and
social constraints-and seeks ways to overcome them."
"The role of management is that of the leadership group in the organization that knows or develops the ends which are then translated and specified in terms of systems objectives. The usual assumption is that the specification is as objective as possible. The resolution of polemical issues associated with objectives is seen as the prerogative of management and not normally within the domain of the systems developer."
"The [analyst as systems expert] story, therefore, has a number of
potential dysfunctional consequences. For one, the primary emphasis is on
investigating means rather than discussing ends. There is an implicit
assumption that the ends are agreed. But in reality, ends are
controversial and the subject of considerable disagreement and debate. By
assuming the ends and thus sys,tem objectives are agreed, legitimation
can become
little more than a hollow force or thinly concealed use of power. The
prespecified ends meet the needs of certain system stakeholders at the
expense of others." [relates well to Cateye example - store owners
perceived interests dominated users?]
"[The analyst as faciltator] recognizes that knowledge about human means and ends is not easily obtained because reality is exceedingly complex and elusive. There is no single reality, only different perceptions about it. Business does not deal with an objective economic reality, but one that evolves through changing traditions... ...The developer should work from within the users’ perspective and help them to find their preferred views. He or she should ease the transition from one viewpoint to another, thereby alleviating possible resistance to change."
"To achieve consensus or acceptance, continuous interaction among all parties is critical. Through interaction, objectives emerge and become legitimized through continuous modification. Systems cannot be designed in the usual sense, but emerge through social interaction. The mechanism of prototyping or evolutionary learning from interaction with partial implementations is the way technology becomes embedded into the social perception and sense-making process."
"[In the analyst as labor partisan story s]ystems developers ...
choose...to side with the workers, designing systems which help
their
interests. In this case, they should use technology to enhance labor’s
traditional skills and craftmanship, attempting to make work both more
rewarding-economically and psychologically - and deliver a better
product"
"In pursuing the knowledge interest in emancipation, the system developer elicits (through interaction) a shared understanding of the many obstacles to human communication. The developer needs to acquire an appreciation (insider knowledge) of the different viewpoints and existential situations of the different stake-holder groupings."
"The developer needs to consider the following typical obstacles to human
communication throughout systems development: 1) Authority and
illegitimate power-they create anxieties and cause people to distort or
withhold information in order to protect themselves.
2) Peer opinion pressure (“group think”)-it creates tunnel vision for the
sake of loyalty, reducing the validity of judgments by suppressing
possible validity checks through criticism. 3) Time, space, and resource
limitations they prevent universal access to knowledge even though in
principle it is available. This includes the common situation that
knowledgeable people remain silent due to lack of motivation to
participate because of work overload or the socially created need to
withhold important information unless it is to one’s advantage to engage
in a debate. 4) Social differentiation-differences in the level of
education, specialization and personal values and beliefs increase the
risk of misunderstanding. 5) The bias and limitation of language
use--distort perceptions and lead to narrow problem definitions through
jargon and cognitive anchoring....Legitimate system objectives emerge
from a free and open discussion that leads to a shared understanding and
does not suffer from the harmful effects of these barriers."
[suggesting a radical development methodology based on technical
function, mutual understanding and emancipation] "All systems
development would proceed with the three knowledge interests in mind.
Systems would have features to support the technical knowl-
edge interest and these would be similar to those developed under the
functionalist influence. Other features would support the creation of
shared meanings and reflect the knowledge interest in mutual
understanding. This is similar to systems inspired by social
relativism.
Finally, there would be a comprehensive set of features to support
emancipatory discourse."
"The systems developer acts as a social therapist andemancipator in an attempt to draw together, in open discussion, the various stakeholders."
"Prototyping is the practical way of handling the subjective and emerging nature of requirements (cf. [26]). Prototyping, though originally conceived as an approach in its own right [82], is incorporated within the requirements specification stage of the structured approaches to mitigate the rigidity of the functionalist assumption of modeling “true requirements.” In prototyping, users and analysts interact to construct a working model of the system which is then “refined and modified in a continuous process, until the fit between user and system is acceptable” [19, p. 1631.
Habermas
Burrell, G. and Morgan, G. Sociological Paradigms and Organizational Analysis. Heinemann, London, 1979. - credited with a Boston matrix of subjective/objective and order/conflict for analysing design paradigms.
McMenamin, S. and Palmer, J. Essential Systems Analysis. Yourdon
Press, New York, 1984.


Hola 👋
HOME
WORK
EDUCATION
ABOUT ME
GUSTAVO ZAPATA
WORK
PROFESSIONAL PROJECTS AND EXTRACURRICULAR ACTIVITIES
SUNNY ECO
VISIT
SUNNY ECO
TRADE LEDGER
VISIT
TRADE LEDGER
REAL MEDIA NOW
VISIT
REAL MEDIA NOW
ZANTO
ZANTO


About Validatish¶
Validatish is a validating library, initially built to support the Formish forms library.
How does Validatish work?¶
Validatish is split into two main section, validate and validator. Validate is a set of functions that raise exceptions on failure and validator is a class wrapper around the validate library that also adds composite validators.
The Validate Module¶
Validate implements the following validators..
- validatish.validate.is_required(v)¶
- Checks the non_zero attribute but allows numberic zero to pass
- validatish.validate.is_string(v)¶
- checks that the value is an instance of basestring
- validatish.validate.is_plaintext(v, extra='')¶
Checks that the value contains only alpha-numberics
Parameters: - extra – A list of extra characters that are allowed
- validatish.validate.is_integer(v)¶
- Checks that the value can be converted into an integer
- validatish.validate.is_number(v)¶
- Checks that the value is not a string but can be converted to a float
- validatish.validate.is_email(v)¶
- Validate the value looks like an email address.
- validatish.validate.is_url(v, with_scheme=False)¶
- Uses a simple regex from FormEncode to check for a url
- validatish.validate.is_equal(v, compared_to)¶
Check the value, v, is equal to the comparison value.
Parameters: - compared_to – the value to compare to
- validatish.validate.is_one_of(v, set_of_values)¶
Check that the value is one of the set of values given
Parameters: - set_of_values – the set of values to check against
- validatish.validate.has_length(v, min=None, max=None)¶
Check that the length of the string or sequence is not less than an optional min value and not greater than an optional max value
Parameters: - max – optional max value
- min – optional min value
- validatish.validate.is_in_range(v, min=None, max=None)¶
Check that the value is not less than an optional min value and not greater than an optional max value
Parameters: - max – optional max value
- min – optional min value
The Validate Module¶
Validators implements the following validator classes
- class validatish.validator.Required¶
- Checks that the value is not empty
- class validatish.validator.String¶
- Checks whether value can be converted to an integer
- class validatish.validator.PlainText(extra='')¶
- Checks whether value is a ‘simple’ string
- class validatish.validator.Email¶
- Checks whether value looks like an email address.
- class validatish.validator.URL(with_scheme=False)¶
- Checks whether value is a url
- class validatish.validator.Integer¶
- Checks whether value can be converted to an integer
- class validatish.validator.Number¶
- Checks whether value can be converted to a number and is not a string
- class validatish.validator.Equal(compared_to)¶
- Validator that checks a value is equal to the comparison value, equal_to.
- class validatish.validator.OneOf(set_of_values)¶
- Checks whether value is one of a supplied list of values
- class validatish.validator.Length(min=None, max=None)¶
- Check whether the length of the value is not outside min/max bound(s)
- class validatish.validator.Range(min=None, max=None)¶
- Check whether the value is not outside min/max bound(s)
- class validatish.validator.Any(*args)¶
- Combines multiple validators together, raising an exception if any fail
- class validatish.validator.All(*args)¶
- Combines multiple validators together, raising an exception if they all fail
- class validatish.validator.Always¶
A validator that always passes, mostly useful as a default.
This validator tests False to make it seem “invisible” to discourage anyone bothering actually calling it.


Doug had obtained two doses of 2c-i from a friend. They were free because Doug and I's opinion of drugs are highly respected in our circles. We have eaten a lot of acid and mushrooms and well...almost every drug. Except for peyote, salvia, and DMT. These free capsules were for us to 'test drive' the 2c-i and tell other people about it. Doug dosed around 8:00 p.m. at his house. He finally made his way to my house around 10:00 p.m. Upon arriving he said he wished that he would have let me pick him up. So I'm not sure driving on it is a good idea. Although he made it. Take it as you will.
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
Doug gave me my dose and told me these were stronger than the other doses the kid had. So I ate it. I feel I need to say that neither Doug or I had eaten any food all day as to prepare for our new drug experience. We had both read online that eating before it could upset your stomach. Neither of us had an upset stomach, and I feel I could have eaten food prior to dosing and not have had an upset stomach. Again...take that as you will. The 2c-i took about 45 minutes to kick in. It felt like an acid buzz...just a little speedier.
I asked Doug if he wanted to smoke a bowl and he passed on it. Said something about 'it' being to much. Whatever that means. So we chilled in my room. Played some NES, listened to music...bullshitted. My buzz is building. Colors are everywhere. Blues, reds, purples, greens, yellows, oranges....everywhere. The lights were also nice and smooth. Brighter. More alive. Then...ZANG! 2c-i hits me all of a sudden. It's just a buzz and some colors..then...BOOM. Lights, accents, colors. Very speedy.
Now...it haden't sunk in fully. It was still coming up to me. How would I know?  I packed some nice outdoors. Wonderful weed. Tasty, tri-chromie goodness. So we smoked a bowl in my room. (Parents were upstairs. Makes any drug a little more edgier.) We finished our bowl and Doug asked to smoke another. I concured.  That's beaster.  Not a good thing to realize when your expecting the sweet taste of outdoor...then get the harsh...lung clogging beasters. But regaurdless...we smoked it.
It was after this that I realized the pot made the 2c-i to intense. So that's why Doug didn't want to smoke when he got here. He was still in his intense part. It had just hit me. All I could do was sit on the edge of my bed and ride it out. There were also very nice closed eye visuals. Geometeric anythings going in and out of each other. Crazy colors. If only they made noise. The buzz was to speedy to keep my eyes closed for to long. I feel I should have enjoyed them a little bit more. Finally...I feel the high come down. It's off the peak. Now I can relax.
The rest of the time we spent just...talking and not really doing anything.  The 2c-i lasted for about 6 to 7 hours. We smoked pot thoughout the night. There were also some mushroomish visuals...my ceiling was like water. But I would not call this tripping.  What it lacks? The mystical experience. This seems to be a drug that just gets me high. Having an enlightening expierence seems to be very unlikely.
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.


Applicant's Name Address of Applicant PAN Status select YES NO PAN Number Applicant's Name as in PAN *(as appearing in PAN) Constitution of Business select SHOP CONSTRUCTION JOB Name of Trustee/Proprietor/HUF Category of Registration Input Service Distributor Service Provider Service Provider with Aggregate Value of more than Rs. three Lakh Service Recipient Nature of Registration Select a Value 1 2


- FactorSchedule - Class in org.drip.param.product
-
Contains array of dates and factors
- FactorSchedule(byte[]) - Constructor for class org.drip.param.product.FactorSchedule
-
FactorSchedule de-serialization from input byte array
- FEBRUARY - Static variable in class org.drip.util.date.JulianDate
-
Integer Month - February
- FI - Class in org.drip.service.api
-
This class exposes all the DRIP API to clients – this class is the main functional interface.
- FI() - Constructor for class org.drip.service.api.FI
-
- FIFull - Class in org.drip.tester.product
-
Comprehensive sample API class demo'ing the usage of the FI functions
- FIFull() - Constructor for class org.drip.tester.product.FIFull
-
- FIGen - Class in org.drip.util.common
-
FIGen contains the collection of the static generic utility functions used by the internal and external
DRIP modules
- FIGen() - Constructor for class org.drip.util.common.FIGen
-
- FIUtil - Class in org.drip.util.internal
-
The FIUtil class implements utility functions meant primarily for internal DRIP modules.
- FIUtil() - Constructor for class org.drip.util.internal.FIUtil
-
- FixedHoliday - Class in org.drip.analytics.daycount
-
This class contains the fixed holiday’s date and month.
- FixedHoliday(int, int, WeekendHoliday, String) - Constructor for class org.drip.analytics.daycount.FixedHoliday
-
Constructs the object from the day, month, weekend, and description
- FixedHoliday(byte[]) - Constructor for class org.drip.analytics.daycount.FixedHoliday
-
De-serialization of FixedHoliday from byte stream
- FlatStringTo2DSDMap(String, String, String, boolean, String) - Static method in class org.drip.util.common.FIGen
-
Turns an flattened 2D (string, double) string sequence into its corresponding map
- FlatStringTo3DSDMap(String, String, String, String, boolean, String) - Static method in class org.drip.util.common.FIGen
-
Turns an flattened 3D (string, string, double) string sequence into its corresponding map
- FlatStringTo4DSDMap(String, String, String, String, boolean, String) - Static method in class org.drip.util.common.FIGen
-
Turns an flattened 4D (string, string, string, double) string sequence into its corresponding map
- FloatingHoliday - Class in org.drip.analytics.daycount
-
This class contains the floating holiday’s month, day in week, and week in month.
- FloatingHoliday(int, int, int, boolean, WeekendHoliday, String) - Constructor for class org.drip.analytics.daycount.FloatingHoliday
-
Constructs the object from the week, day, month, from front/back, week end, and description
- FloatingHoliday(byte[]) - Constructor for class org.drip.analytics.daycount.FloatingHoliday
-
De-serialization of FloatingHoliday from byte stream
- FormatPrice(double, int, int, double) - Static method in class org.drip.util.common.FIGen
-
Formats the double input by multiplying, and then adding left and right adjustments
- FormatPrice(double) - Static method in class org.drip.util.common.FIGen
-
Formats the double input by multiplying by 100, then justifies the left and the right by 2 and 3 zeros
- FormatSpread(double) - Static method in class org.drip.util.common.FIGen
-
Formats the double input by multiplying by 10000, no justification
- FormatSpreadSimple(double, int, int, double) - Static method in class org.drip.util.common.FIGen
-
Formats the double input by multiplying, and then adding left and right adjustments
- FormatSpreadSimple(double) - Static method in class org.drip.util.common.FIGen
-
Formats the double input by multiplying by 100, then justifies the left and the right by 1 and 3 zeros
- FourDSDMapToFlatString(Map<String, Map<String, Map<String, Double>>>, String, String, String) - Static method in class org.drip.util.common.FIGen
-
Flattens a 4D SSSD map structure onto a string array
- FRIDAY - Static variable in class org.drip.util.date.JulianDate
-
Days of the week - Friday
- fromAmerican(double, double[], double[], boolean, int, boolean, double, String, double) - Static method in class org.drip.param.product.EmbeddedOptionSchedule
-
Creates the discretized American EOS schedule from the array of dates and factors
- FromFlatHazard(double, String, double, double) - Static method in class org.drip.analytics.curve.CreditCurve
-
Creates a CreditCurve instance from a single node hazard rate
- FromHazardNode(double, String, double, double, double) - Static method in class org.drip.analytics.curve.CreditCurve
-
Creates an instance of the CreditCurve object from a solitary hazard rate node
- FromIRCSG(String, CalibratableComponent[]) - Static method in class org.drip.param.market.IRCurveScenarioContainer
-
Creates an IRCurveScenarioContainer instance from the currency and the array of the calibration
instruments
- fromJulian(double) - Static method in class org.drip.util.date.JulianDate
-
Creates a MM/DD/YYYY string from the input Julian double
- FromSurvival(double, String, double[], double[], double) - Static method in class org.drip.analytics.curve.CreditCurve
-
Creates a CreditCurve instance from the input array of survival probabilities
- FullBondMarketAnalytics(MarketParamsContainer, JulianDate) - Static method in class org.drip.service.env.BondManager
-
Calculates the complete set of bond measures for all the bonds from their closing bid/ask prices.
- FuncTestSuite - Class in org.drip.tester.product
-
- FuncTestSuite() - Constructor for class org.drip.tester.product.FuncTestSuite
-
- FXAPI() - Static method in class org.drip.service.sample.FXAPISample
-
Sample demonstrating the creation/usage of the FX API
USE WITH CARE: This sample ignores errors and does not handle exceptions.
- FXAPISample - Class in org.drip.service.sample
-
Demo of the FX API Sample
- FXAPISample() - Constructor for class org.drip.service.sample.FXAPISample
-
- FXAPISample() - Static method in class org.drip.tester.product.FIFull
-
Sample demonstrating the creation/usage of the FX API
- FXBasis - Class in org.drip.analytics.curve
-
This class implements the FXBasis curve representing term structure of FX basis.
- FXBasis(CurrencyPair, JulianDate, double, double[], double[], boolean) - Constructor for class org.drip.analytics.curve.FXBasis
-
Constructs an FXBasis instance from the currency pair, FX Spot, and FX basis parameters
- FXBasis(byte[]) - Constructor for class org.drip.analytics.curve.FXBasis
-
FXBasis de-serialization from input byte array
- FXCurve - Class in org.drip.analytics.curve
-
This class contains the term structure of dates/times and FX forwards (PIP/outright), and Spot FX info for
the given currency pair.
- FXCurve(CurrencyPair, JulianDate, double, double[], double[], boolean[]) - Constructor for class org.drip.analytics.curve.FXCurve
-
Creates an FXCurve from the CurrencyPair, FX Spot, and the FX Forward parameters
- FXCurve(byte[]) - Constructor for class org.drip.analytics.curve.FXCurve
-
FXCurve de-serialization from input byte array
- FXForward - Class in org.drip.product.fx
-
Class contains the FX forward product contract details - the effective date, the maturity date, the
currency pair and the product code.
- FXForward(byte[]) - Constructor for class org.drip.product.fx.FXForward
-
FXForward de-serialization from input byte array
- FXForward.FXBasisCalibrator - Class in org.drip.product.fx
-
- FXForward.FXBasisCalibrator(FXForward) - Constructor for class org.drip.product.fx.FXForward.FXBasisCalibrator
-
Constructor: Constructs the basis calibrator from the FXForward parent
- FXSpot - Class in org.drip.product.fx
-
Class contains the FX spot contract parameters - the spot date and the currency pair.
- FXSpot(JulianDate, CurrencyPair) - Constructor for class org.drip.product.fx.FXSpot
-
Constructor: Creates the FX spot object from the spot date and the currency pair.
- FXSpot(byte[]) - Constructor for class org.drip.product.fx.FXSpot
-
FXSpot de-serialization from input byte array


{% extends "global/Page.html" %} {% load otree %} {% block title %} Instructions {% endblock %} {% block content %}
This is an experiment in the economics of decision-making. If you following the instructions carefully and make appropriate decisions, you can earn an appreciable amount of money. You will receive your payment in about two weeks' time via bank transfer.
In this experiment, your earnings will be denoted in Experimental Currency Units (ECU). 50 ECU are worth £1. After the experiment is over, we will convert the total of your earnings for the whole session into pounds.
This experiment is divided into 12 rounds. In each round, you will be presented with a series of tables containing ones and zeroes. Your task is to count and report the number of ones in the table. You will earn an income of 10 ECU for each table for which you report the correct number of ones.
Each round lasts 40 seconds. At the end of the round, you will see the number of tables on which you reported the correct number of ones, and the total income you receive from these reports.
{% if session.config.tax_framing %} Just like income in real life, this income is subject to an experimental "tax", and you will be required to fill in a tax return. The tax rate on your income is 25%. This means that for every 10 ECU you declare on the tax return, you will pay 2.50 ECU in tax. {% else %} You will be required to announce your amount of income. The amount of income you announce will attract a deduction of 25%. This means that for every 10 ECU you announce, you will pay 2.50 ECU in deductions. {% endif %}
{% if session.config.mention_nhs %}All proceeds from the taxes collected on income will be provided to NHS Charities Together. We will send details on the donation to participants shortly after the completion of this series of experiments.
{% endif %}{% if session.config.tax_framing %} To fill in the tax return, you have simply to declare your income. Given the amount of income that you declare, the computer will automatically compute the total amount of tax you will be required to pay. {% else %} To fill in the announcement, you have simply to announce your income. Given the amount of income that you announce, the computer will automatically compute the total amount of deductions you will be required to pay. {% endif %}
{% if session.config.tax_framing %} Once you complete your tax form, the tax authority may choose to audit it. There is a 1 in 5 chance (or 20% probability) your tax form will be audited. {% else %} Once you complete your announcement, your announcement may be reviewed. There is a 1 in 5 chance (or 20% probability) your announcement will be reviewed. {% endif %}
{% if session.config.tax_framing %}{% if session.config.tax_framing %} After the audit is completed, you will be presented with a screen that summarises: {% else %} After the review is completed, you will be presented with a screen that summarises: {% endif %}
Now let's go through a few hypothetical examples.
{% if session.config.tax_framing %}| Example 1 | |
|---|---|
| Your Income | 10.00 ECU |
| Your Declared Income | 10.00 ECU |
| Tax Paid on Declared Income | 2.50 ECU |
| Selected by Tax Authorities for Audit? | Yes |
| Additional Tax Payable | 0.00 ECU |
| Fine | 0.00 ECU |
| END OF ROUND EARNINGS | 7.50 ECU |
| Example 2 | |
|---|---|
| Your Income | 20.00 ECU |
| Your Declared Income | 16.00 ECU |
| Tax Paid on Declared Income | 4.00 ECU |
| Selected by Tax Authorities for Audit? | Yes |
| Additional Tax Payable | 1.00 ECU |
| Fine | 1.00 ECU |
| END OF ROUND EARNINGS | 14.00 ECU |
| Example 3 | |
|---|---|
| Your Income | 16.00 ECU |
| Your Declared Income | 10.00 ECU |
| Tax Paid on Declared Income | 2.50 ECU |
| Selected by Tax Authorities for Audit? | No |
| Additional Tax Payable | 0.00 ECU |
| Fine | 0.00 ECU |
| END OF ROUND EARNINGS | 13.50 ECU |
| Example 1 | |
|---|---|
| Your Income | 10.00 ECU |
| Your Announced Income | 10.00 ECU |
| Deductions Paid on Announced Income | 2.50 ECU |
| Selected for Review? | Yes |
| Deductions from Unannounced Income | 0.00 ECU |
| Additional Deductions | 0.00 ECU |
| END OF ROUND EARNINGS | 7.50 ECU |
| Example 2 | |
|---|---|
| Your Income | 20.00 ECU |
| Your Announced Income | 16.00 ECU |
| Deductions Paid on Announced Income | 4.00 ECU |
| Selected for Review? | Yes |
| Deductions from Unannounced Income | 1.00 ECU |
| Additional Deductions | 1.00 ECU |
| END OF ROUND EARNINGS | 14.00 ECU |
| Example 3 | |
|---|---|
| Your Income | 16.00 ECU |
| Your Announced Income | 10.00 ECU |
| Deductions Paid on Announced Income | 2.50 ECU |
| Selected for Review? | No |
| Deductions from Unannounced Income | 0.00 ECU |
| Additional Deductions | 0.00 ECU |
| END OF ROUND EARNINGS | 13.50 ECU |
Each round in the experiment will consist of three stages:


Glass Eye (Nazar) | Adams Hill Park, Funded by the Glendale Arts & Culture Commission | Glendale, CA
Walled Windows | Community Contemporary | Los Angeles, CA
No Plateaus | Reising and Taylor Contemporary | Los Angeles, CA
Journeywork | Full Bloom Gallery | Los Angeles, CA
Brand 50th Annual National Juried Exhibition of Works on Paper | Brand Library and Art Center | Glendale, CA
Building Our Community | Community Contemporary | Los Angeles, CA
Too Tired For 2020 | Too Tired Project | Virtual Exhibition
Color, Shapes, & Shadows | Van Der Plas Gallery | New York, NY
We're Not Sure If We're Broken | Coaxial Arts Foundation | Los Angeles, CA
Artist in Residence | GlogauAIR | Berlin, Germany
"Four Paintings by Keywan Tafteh"
Published by Layabout Magazine. February 2022.
Artist in Residence | Chateau Orquevaux | Orquevaux, France
“Queer Artist Keywan Tafteh Shares His Thoughts on Neo-Depressionism,Interview with JP Schuning. CAMP Zine. Published by GlendaleOUT. July 2021.