Towards the end of 1933, five of the leading champions of the modern movement in Italian architecture—the engineer Gaetano Ciocca and his young partners and followers, the members of the architectural firm Banfi, Belgioioso, Peressutti, and Rogers—presented a "totalitarian" city plan for the northern city of Pavia within the framework of a contentious and highly publicized competition. Their comprehensive city plan was meant to crystallize what fascist modernists thought to be the core values of Mussolini's corporativist revolution and represented a gesture of defiance addressed to the piecemeal approaches to urban planning that informed rival proposals put forth by traditional urbanists. Whereas the latter sought gradual, incremental solutions to the problems created by the city's burgeoning economy, solutions that extended and built upon Pavia's long history as a regional capital and urban center, the Ciocca/BBPR plan proposed a clean break. Through an ambitious program of demolition and new construction, it sought to transform Pavia into a model city, rigorously laid out according to the criteria of rationalism and functionalism, as recently articulated by the likes of Le Corbusier, Ernst May, and Walter Gropius at the Athens meeting of the International Congress for Modern Architecture (CIAM). Yet—here lies the apparent (but only apparent) paradox with which this essay will concern itself—the Ciocca/BBPR Pavia plan promised to effect this transformation while renewing the city's ancient Roman origins. In both the formal proposal known as the Relazione and a subsequent exhibition dedicated to corporativist urbanism held at the Galleria del Milione in Milan in early 1934, the plan was framed by a quote from Titus Livy: NUNC IN CORPUS UNUM CONFUSI OMNES (all are united now in a single body)—a quotation from book 34 of the History of Rome in which Caesar's work as an empire builder and urban planner is evoked within the context of a broader discussion of Cato the Elder's Spanish campaign of 195 B.C. ( 1). 1
How to reconcile the modernist setting with the ancient text, the talk of a clean break with the promise to renew ancient origins, Roman bodily metaphors with fascist corporativism? This brief essay will answer these questions by teasing out how the passage from Livy stitches together the rhetorical horizons of the Ciocca/BBPR project. For the radical rupture with Pavia's immediate past promised by the city plan is linked by its authors to the restoration of a martial past identified with Hannibal's vanquisher and the legendary founder of the city, Publius Cornelius Scipio. Scipio, Cato, Caesar: such is the triumvirate that is made to sustain the claim made not only by Ciocca and BBPR, but also, in a broader and less explicit sense, by many other leading proponents of the new architecture both inside and outside of Italy, that rationalism and functionalism may be the foundation stones of a new international style, but that they are, nonetheless, profound expressions of an originary moment within Mediterranean culture. Whether the moment in question is Roman, Etruscan, or Minoan, or whether it is associated instead with the Mediterranean's vernacular architectures, matters less than the conviction that the city of the future coincides with the city of a prelapsarian remote past. The avant-garde's degree zero of representation and construction, its revolt against merely ornamental forms of historicism, its blank slates and utopic grids, close the door on antiquity only to reopen it once again in the mode of an archaeology of archaic structures. It is thus not by accident that in his 1923 Towards a New Architecture, Le Corbusier placed the lesson of Pompeii at the center of his plea for an architecture of engineers:
Pompeii must be seen, appealing in its rectangular plan. They [the Romans] had conquered Greece and, like good barbarians, they found the Corinthian order more beautiful than the Doric, because it was more ornate. On then with the acanthus capitals, and entablatures decorated with little discretion or taste! But underneath this there was something Roman, as we shall see. Briefly, they constructed superb chassis, but they designed deplorable coachwork rather like the landaus of Louis XIV. 2
Pompeii's "truth" is the naked rectangle, the elementary structure, the chassis without coachwork ( 2). The lesson of Pavia will take the argument one step further: namely, that there exists a distinctively avant-gardist antiquarianism, intimately linked to scientific archaeology, that strips away the dense foliage of acanthus leaves so that, instead of imitating the past, it can make it new.
Before addressing the particulars of the Ciocca/BBPR Pavia plan,
the passage from Livy and the larger narrative within which it is
embedded in the Relazione invites some comment. Book 34 of Livy's
History begins by recounting Cato the Elder's campaign against the
repeal of the Lex Oppia: the set of emergency measures decreed
in 215 B.C. after Rome's defeat at Cannae, prohibiting
women from wearing multicolored garments and ostentatious gold jewelry,
as well as from being driven in carriages within and around the immediate
periphery of cities, except on the occasion of religious festivals.
|
Click for larger view |
re 1
Cover page, Ciocca/BBPR proposal for a new city plan for Pavia, late 1933; source: Ciocca Archive, Museo di Arte Moderna di Rovereto/Trento (MART). |
|
Click for larger view |
re 2
"The spirit of order." Sample page from "The Lesson of Rome" chapter in Le Corbusier's Towards a New Architecture (TNA). |
Roman colonists later formed a third class of inhabitants [alongside the Spaniards and the Greeks]; these were added by the divine Caesar after the final defeat of Pompey's sons, and at the present time all the inhabitants have been amalgamated into one body, after the granting of Roman citizenship, first to the Spaniards and finally to the Greeks [nunc in corpus unum confusi omnes Hispanis prius, postremo et Graecis in civitatem Romanam adscitis]. 3
The single body politic prered by Cato's conquest of the enemy and fulfilled through Julius's amalgamation of the city's three districts subjects the unruly Spaniards and Greeks to Roman discipline and Roman law. And this triumph of discipline and law is why the con-fusio of personshere doesn't imply precisely the sort of social disarray and unruly circulation that Cato feared would result in the wake of the revocation of the Oppian laws.
There are many echoes of Livy's tale in the Ciocca/BBPR report, particularly in the second chapter, devoted to the city's history. Pavia is described, like Ampurias, as a tripartite city, divided into three areas—Pavia vecchia, Pavia ampliata, and Pavia nuova; three areas that, despite the rigorous logic of a still visible Roman city plan, have become segregated from one another over the course of the city's two millennia of history. But the deeper connection is to Hannibal's true opponents, the patrician family of the Scipios, to whose second great patriarch, Publius Cornelius Scipio, the Relazione attributes the foundation of Pavia along the banks of the River Ticino:
We should like to imagine that Pavia was established in the Roman year 535 by Publius Cornelius Scipio when, having fully armed Piacenza, he set out to thwart the advance of Hannibal. Rome was never wont to await the enemy behind its lines of defense, nor can there be any doubt that the army of the consul was burning with desire to face an enemy on an open battlefield that had eluded it by fleeing along the Rodano river the prior month. [R, 3]
The fortified camp or castrum that would later become Pavia was established, in other words, at the time of Publius Cornelius's skirmishes with Hannibal in the Ticino/Rodano region. After Hannibal's defeat of Publius in 218 B.C. that fortified camp would be reoccupied and built up along the lines of the original city plan—less a "plan" in the modern sense than a series of rudimentary square-shaped furrows—by Scipio Africanus Major, Publius's son and Hannibal's definitive vanquisher. The ties between Ampurias and Cato to Pavia and the Scipios may be complex. But the authors' intent is clear: to establish Pavia's martial foundations, to enfold these foundations within a genealogy of powerful Roman patriarchs, to associate the city with ancient Roman law and moral rigor, and to oppose it from the very moment of its foundation to barbarism, effeminacy, and orientalism. The totalitarian Ciocca/BBPR city plan will give rise to a future Pavia in harmony with and indeed literally based upon the simple geometries of Pavia's now buried Roman origins. And it effects this recovery not by awaiting behind its own lines the assault of modernity's foes, but by seeking them out on the open battlefield of public opinion and competitions.
So the story of the Scipios looms large in chapter two's attempt to account for why "the spirit of Pavia has, throughout the centuries, been a warrior spirit, its shield the shield of soldiers: that of faith and sacrifice . . ." (R, 3). But this still doesn't address the question of why a quote from Livy appears at the report's beginning and end. Why its presence on every one of the photomontage panels placed on display at the Galleria del Milione? The answer, I believe, lies in the realm of political metaphorics. To put it simply, Ciocca and BBPR read the word corporativist (not corpus)into Livy's nunc in corpus unum confusi omnes. They deliberately fascistized the Roman historian's text in order to advance the causes both of fascist corporativism and of rationalist architecture as the true interpretation of fascism's corporativist revolution.
The years 1933-1935 marked something of a turning point with respect to Mussolini's promised transformation of the relation between the economy and the state. The experiment had commenced in 1930 with the creation of seven national "guilds" or "corporations"—the Italian word corporazione means both—representing agriculture, commerce, industry, banking, navigation, transportation, and the professions, coupled together at the level of a national council responsible for coordinating their policies and harmonizing them with national priorities, as set by the central government. Twenty-two such entities would eventually come into being. But the forced incorporation of representatives from labor and capital within self-governing organs was never truly brought to term because of resistance on the part of entrenched institutional interests and industrialists. The Corporations were eventually reduced to empty shells and denied genuine clout vis-à-vis industry and genuine independence with respect to the state. In short, the experiment was already starting to run into trouble by the time of the 1933 Pavia competition. True believers, so-called "left-wing" fascists like Gaetano Ciocca, were battling the "conservative" opposition by championing a radical and integral approach to corporativism which, Ciocca and company argued—to the delight of the cultural arrière-garde, among whom corporativist skeptics abounded—was the necessary ideological counterpart to the new architecture and urbanism.
In a forthcoming book devoted to Ciocca, entitled Building Fascism/Communism/Democracy, I have spelled out at length the engineer's view (shared with other "integral corporativists" like Ugo Spirito) that corporativism represented a third way to modernization combining the best of capitalism and socialism, individualism and collectivism, within the framework of a belief system committed to endowing "mere" economic reason with a higher, more spiritual logic. 4 So I will not rehearse the argument here. But it is surely worth noting that neither Ciocca's devotion to corporativism nor his advocacy of an avant-gardist understanding of romanitas were matters of opportunism. On the contrary, in the course of the fascist decades this now forgotten but extraordinary engineer emerged as a major interpreter of corporativist doctrine in the domain of architecture and technics, and as a key mediator between fascist Italy, the Soviet Union, and the United States. Author of Giudizio sul bolscevismo (Judgment on bolshevism), Economia di massa (The mass economy), and La strada guidata (The guided roadway); chief engineer for the enormous RIV ball-bearing plant that was a centerpiece of Stalin's Five-Year Plan and of Fiat's effort to displace Ford in the Soviet marketplace; inventor of the "fast house" (casa rapida) and of the "guided roadway" (strada guidata); the Ciocca of the 1930s and 1940s dedicated himself with passion and selfless devotion to building a corporativist society through technical innovation. His mass theater projects answered Mussolini's call for the creation of facilities that could house a new fascist theater of the masses for the masses by devising a coliseum-like mass-spectacle factory much like those he had seen firsthand in the Soviet Union. His experiments in the field of social housing involved industrially mass-produced, prefabricated, rationalist peasant and worker homes bolder and more ingenious in design than those of many far more renowned architects. His ventures into animal husbandry, defined by one critic as an effort to build a sort of modernist Grand Hotel for pigs, brought to the agrarian world the same zeal for rationalization that he applied to the design of corporativist city plans, fast houses, fortresses (fortini), and mass theaters. Last but not least, he labored to bring about the construction of a nationwide transportation system of self-steering vehicles on guided roadways—a "rational" system that would reconcile the need for mass transit with private circulation, the collectivity with the individual—a fascist third way but in the domain of transportation.
After a life of only modest prominence working as a builder and transportation engineer in Milan and Turin, Ciocca was suddenly skyrocketed to fame in 1933, thanks to a rave review of Judgment on Bolshevism that appeared anonymously in a September issue of Il Popolo d'Italia, the more or less official daily of the National Fascist Party.
A number of stylistic tics betrayed the secret that its author was Mussolini. The review was immediately recycled as a first preface to the second edition of Ciocca's book, now paired with the original preface by Pietro Maria Bardi, one of the modern movement's leading champions and impresarios. At the time of the Pavia competition, the engineer was a good twenty years the senior of his partners, who were under twenty-five at the time, and there can be little doubt—judging from seniority, content, style, and the manuscript tradition—that he was the principal author of the Relazione. Certainly, the Relazione's interlacing of avant-gardist and antiquarian themes is a recurring feature in Ciocca's writings, from Judgment on Bolshevism to the Discorsi sulle cose reali (Discourses on things real) published in the popular magazine Tempo in the mid-1940s to his post-World War II technical writings. 5 Allusions to Greco-Roman literature abound. But so do claims like the following, always made with simplicity and genuine conviction:
When geometry is applied to architecture, the latter assumes the name of Rationalism. The Coliseum and the Roman aqueducts, to this day the most compelling instances of Rationalist architecture, are geometry pure and simple. The false Rationalisms that sometimes afflict us are little more than false geometry, erroneous theorems, logical receptacles riddled with holes. What I propose to do is to demonstrate how a strictly geometrical method, based on a simple and clear set of norms, can resolve all the problems . . . 6
Whether the problem of the moment was social housing, pig farms, canals, or drainage projects, Ciocca shared much the same view that was propounded by Le Corbusier and by other Mediterraneanist modernizers, a heterogeneous group extending from the likes of Giuseppe Terragni to literati like Ezra Pound. For them, Roman architecture was an architecture not of ornamentation and rhetoric but of rigorous geometries and structures, an architecture of power and for power devoted to "good arrangement, a single idea, daring and unity in construction, the use of elementary shapes, a sane morality." 7 That such geometries and structures had once been dressed up in painted, ornately carved sheets of marble seemed an accident of history. "The Romans," writes Le Corbusier with his usual aphoristic economy and gift for hyperbole, "knew nothing of the use of marble" (TNA, 159; italics in original) ( 3). According to this view, true Roman architecture consisted in naked structures freed from decorative incrustations by the march of time. Time was on the side of modernity, not history or tradition, whether this meant ticking the clock back to that moment when, in the process of their construction, ancient stone structures were complete but still free from decorative cladding; or ticking the clock forward to 1919 when the cult of architectural "honesty of thought and feeling" became integral to the program of a newly founded Bauhaus. 8 Even in its corrosive effects, time simplified things; it reduced them to their essential elements. Only structure and form, not ornamentation applied as marble and/or as paint, could stand time's test. It follows that the sound principles and austere geometries of true Roman city planning could be renewed by accelerating time's march by means of digs and demolitions. To strip a once ancient cityscape of modern incrustations of architectural verbosity, bad arrangement, and confused ideas—incrustations always already fated to tumble into heaps of rubble because of their faulty design—meant to bring back to life a city of the past that is identical to the city of the future.
Such was the spirit of the 1933 Ciocca/BBPR plan for Pavia. It sought to
apply the principles championed by the 1933 Athens meeting of the CIAM:
a functionalist approach to urban planning; the delimitation of distinct
residential, recreational, and industrial zones; the pursuit of optimal
population density and hygienic living conditions;
|
Click for larger view |
re 3
"The Romans knew nothing of the use of marble." Sample page from "The Lesson of Rome" chapter in TNA. |
the old city core, where more than a dozen city blocks were to be razed, refashioned, and rationalized according to a two-stage plan, so as to form a more aesthetically pleasing and hygienic city center with abundant green areas and space for several new buildings of value to the public like a Palace of Corporations [Palazzo delle Corporazioni] and a Ciocca-style mass theater;the expanded city, where industrial plants and working class neighborhoods would be interspersed with military zones (including anti-aircraft defenses sheltered in a park), and where a complex of urban vegetable gardens would be developed in the name of autarchy and the integration of agricultural practice into the fabric of urban life;
and the new city, where the city's transportation links would be used carefully to set apart, among other features, two areas designed to "shape the perfect Italian of tomorrow": a tranquil "city of studies" (città degli studi) and a brand new "city of sports and water recreation" (città balneare sportiva) intended as one of the major such centers of attraction in all of Italy. [R, 8-12]
The plan was prefaced by a lengthy theoretical statement, authored by Ciocca and Rogers and subsequently published in the combative Rationalist review Quadrante, defining corporativist urbanism as a response to the disorderly and unhygienic consequences of untrammeled capitalist urban development. It concluded by sounding the militant call for legal reform that would become one of Ciocca's leitmotifs in the later 1930s and the postwar:
New laws will be necessary, laws that do not yet exist, so as to eliminate all obstacles to the reconstruction of cities, be they of time, place or procedure. It will be necessary to establish by law that demolitions for reasons of hygiene should be unlimited and must take place only and as soon as hygiene demands. Nor should the owners of properties demolished in the interest of public hygiene be free to rebuild as they see fit on the irregular spaces that will be freed up (because to do so would simply perpetuate the anarchy that has resulted from the lack of planning in the past). . . . New state construction laws need to be devised that will help to regulate condominium maintenance fees as well as the financing and hygiene of construction projects . . . These are the principal difficulties that corporativism must and will overcome. Nunc in corpus unum confusi omnes [All are united now in a single body]. [R, 16]
As has already been hinted, the closing quote from Livy makes explicit what had been anticipated in chapter two, the historical preface to the Relazione, namely, that what is at stake is the recovery and renewal of an ancient modernity that encompasses the Italian peninsula as a whole:
If future auspices are to be derived from the history of the past, then Pavia has a glorious destiny lying before it. Italian cities are returning to their former state of Roman castri or fortresses. New fortresses where the people constitute a militia and every citizen has a responsibility to observe, a discipline to respect, a goal to achieve. Roman Pavia is ready for a new war, the war that Italy prefers and that pleases Caesar, who is at once a soldier and a farmer. [R, 3]
The web of references that links Cato the Elder's austere morality to the Scipios' military prowess to the protocorporativism of Julius Caesar to a present in which every citizen is a militiaman hints at a broader set of equations. The old piecemeal urbanism = Africa and Carthage; the new Rationalist urbanism = romanitas (correctly interpreted as the architecture of engineers) = cities worthy of a modern corporativist Italy united behind a twentieth-century Dux.
The Pavia city plan was submitted to local authorities in late 1933 and roundly rejected on the grounds that the legal means were unavailable to undertake the massive demolitions envisaged by Ciocca and BBPR. A far more conventional and incremental city plan was adopted in its stead. The outcome was not unexpected given that the plan involved knocking down fully one half of the housing stock found within the city walls as well as undertaking an ambitious program of new constructions including parks, mass auditoria, and athletic arenas. But as news of the project's defeat spread, Bardi smelled blood. He seized the occasion to transform the project into a casus belli in his battle against Italy's architectural arrière-garde by doing precisely as had been done in April 1932 to launch Alberto Sartoris's militantly Rationalist treatise Gli elementi dell'architettura (The elements of architecture): he mounted a show at the influential Galleria del Milione with the collaboration of the gallery director, Edoardo Persico, and the gallery owners, the Ghiringhelli brothers ( 4).The show in question opened in early 1934 and, like the Sartoris show (which had been animated by cinematographic panels executed by Gino Ghiringhelli and Luigi ni) was built around the ten two-meter by four-meter photomontages produced for the competition, which were hung in the gallery, interspersed with handwritten excerpts from the proposal and additional polemical photomontages especially produced for the occasion. The panels were dedicated to the central themes of the Ciocca/BBPR project and bore the titles:
I. The Pavia of Yesteryear (made up of different city maps from 1483 to 1724 in which "the persistence of Roman patterns" is made apparent, flanked by a representation of how Polybius described the city center; the Roman matrix is shown to have gradually succumbed to "the chaotic succession of contingencies" after 1724) (R, 8).II. Let's Clean it Up! (an "ethical and aesthetic" appeal for a return to Pavia's ancient austerity and denunciation of the love of dark and quaint neighborhoods with their "tubercular picturesque" beauty; "the true crowning glory of a city is its decus, that utility which translates into beauty") (R, 9) ( 5).
III. The Overall Urban Layout and its Major Zones (divided into a main transportation axis and four zones devoted to university study and recreation, military bases, farming and parks, and industry and work).
IV. The City Plan (the tripartite city incorporated into a single urban corpus) ( 6).
V. Traffic (comparing current traffic flow patterns with future ones with emphasis placed on the weak points that are remedied by the new plan) ( 7).
VI . The Transportation System (a complete account of all the railway, bus, car, and other linkage systems, past and future).
VII. In the Name of Health and Beauty (a mapping of the current and future natural and cultural resources of the city, to be greatly expanded thanks to the plan; a film strip cuts across the right side of the diagram tracing an ideal itinerary through the cityscape's major monuments, including archaeological walks; concentric circles linking bad hygienic conditions to morbidity rates show the consequence of the lack of planning) ( 8).
Click for larger viewre 4
Coverage of the inauguration of the Galleria del Milione show on the Ciocca/BBPR city plan for Pavia in Quadrante 11 (March 1934).
VIII. Details (close-up analysis of four key interventions in the urban fabric: three associated with squares surrounding churches, the fourth of the historical core of the city itself; extensive demolitions of buildings from the past two centuries to clear space around these areas in the name of hygiene, as well as the construction of state-of-the-art sports facilities along the banks of the Ticino River) ( 9).
IX. Alignments (a mapping of the overall geometry of the cityscape with special reference to that 50 percent of old houses that need to be demolished in order to modernize circulation, insure hygienic living conditions for all, and restore a sense of spaciousness, hierarchy, and order).
X. Hydraulics (an overall diagramming of the city's major water courses, drainage links, canals, and sewage systems as built up over the centuries, and a plan for their rationalization).
Each panel juxtaposed maps, photographs from the ground and from the
air, technical schematics, drawings, decorative elements, and signage,
accompanied by cinematic bands of images tracing ideal trajectories among
the city's public spaces and monuments. Ample coverage of the show was
provided by Quadrante. Gallery lectures were
given by the principals in the project, among them Ciocca who authored
a manifesto entitled "For the Corporative City" in which he issued a
warning that there existed a dark spot in the otherwise radiant Italy of
Mussolini: "the danger that the small-minded and backward views of many
individuals will obscure the wide and far-sighted vision of the Chief."
9
Such fears were prompted by a wave of attacks launched by antimodernists in newspapers like the daily Il Lavoro Fascista, whose commentator suggested that the Ciocca/BBPR global conception of the "corporative city" was fundamentally at odds with the demographic, environmental, and historical specificity of each and every "fascist city." 10 Banfi and Belgioioso fired back that the distinction was pure bunk: "the fascist city must be the functional political and aesthetic expression of corporativist theory." 11 Other critics objected to the particulars of the city plan. But only five years after the noise stirred up by the Pavia competition had died down, Ciocca's dark spot had grown into a blot the size of the Italian peninsula. Though its survivors would go on to become major protagonists on the postwar architectural scene, BBPR found itself virtually disbanded starting in 1938. Ernesto Rogers was forced into hiding due to the promulgation of Nazi-inspired racial laws and in 1944 Banfi and Belgioioso were shipped off to the concentration camp Mathausen-Gusen, where Banfi died within days of the war's end. Though still prominent, Bardi too was forced into anonymity by the end of the 1930s and in 1947 abandoned Italy for Brazil, where he became the founder and director of the Museu de Arte de São Paulo, one of South America's leading venues for the diffusion of modernist art, design, and architecture.
Ciocca's fortunes ebbed and flowed with the political tides. Mussolini's rave review of Judgment on Bolshevism had brought him relative prominence, but despite his access to high government circles, he never succeeded in persuading the regime to embrace fully his fast house designs, guided roadway systems, or mass theaters, not to mention more eccentric projects such as Rationalist Grand Hotels for pigs ( 10). By wartime the theorist of the fascist third way had drifted out of the fascist fold, spying for the Italo-British regional command and taking on a leading role in the Italian Resistancebetween September 1944 and April 1945.
But the moral of the story that I have attempted to recount in these
modest reflections on a forgotten episode of the fascist culture wars
is decidedly not that fascist avant-gardists such as Ciocca,
Bardi, and BBPR found themselves pushed to one side as the bad
romanitas of the rear guard triumphed over a forward-looking
Rationalist romanitas in the wake of the battle of Pavia. On the
contrary, Italian state patronage practices remained varied throughout
the 1930s and the early 1940s, with major commissions being awarded to a
wide array of beneficiaries on the cultural left, center, and right. The
moral of the story, rather, has to do with a cluster of other issues: the
complexity of actual modernist practice versus theory, the eclecticism
that often lurks within or underneath otherwise purist discourses, the
battle between old historicisms and new more oblique ones during the first
half of the twentieth century, and the key role performed by archaeology
as a distinctly modern, sometimes even modernist form of urban planning
and construction. Archaeology is not, as was often assumed until the
important work of scholars such as Nikolaus Himmelmann, Alain Schnapp,
and Bruce Trigger, reducible to the art or science of recovering the past.
12
For the past is always a realm of contention, a realm where retrospection
and the elaboration of prospective social fantasy are destined to
meet and merge, a realm in which not everything can be recovered
and in which recovery itself often presupposes demolition of surface
structures. Archaeology thus has little choice but to be founded upon
selection from among a vast array of potentially recoverable pasts
as a function of present values. Certain pasts are privileged, others
merely documented for study, others eliminated in the pursuit of deeper
beds of data. The process admits a diversity of models of discovery,
Jeffrey T. Schnapp is the founder and director of the Stanford Humanities Lab. His most recent books are Anno X La Mostra della Rivoluzione Fascista del 1932 and, with Jonathan Hammer, Ball and Hammer (Tenderenda the Phantast). Forthcoming in 2004 are Building Fascism, Communism, Democracy: Gaetano Ciocca—Builder, Inventor, Farmer, Writer, Engineer and Dante Moderno.
1. The Ciocca archive at the Archivio del '900 of the Museo di Arte Moderna di Rovereto/Trento (MART) includes extensive documentation regarding Ciocca's collaboration with BBPR, as well as key documents such as the Relazione, whose full title reads: "Concorso del piano regolatore di Pavia—Relazione" (Ciocca Archive, Scritti 2); hereafter abbreviated as R. All English translations, unless otherwise noted, are my own. As noted elsewhere in this essay, portions of the Relazione reappeared in print in Ciocca and Ernesto Roger's "La città corporative," Quadrante 10 (February 1934): 25 and Ciocca's "Per la città corporativa," Quadrante 11 (March 1934): 10-2. Both texts have been reprinted in Schnapp, Gaetano Ciocca, costruttore, inventore, agricoltore, scrittore, Quaderni di architettura 3 (Milan: Skira, 2000), 133-5.
2. Le Corbusier, Towards a New Architecture, trans. Frederick Etchells (London: J. Rodker, 1931), 156-7; hereafter abbreviated as TNA.
3. Livy, Rome and the Mediterranean (bks. 31-45), trans. Henry Bettenson (Baltimore: Penguin, 1976), 151; italics added. The Latin original reads: "tertium genus romani coloni ab divo Caesare post devictos Pompei liberos adiecti. Nunc in corpus unum confuse omnes Hispanis prius, postremo et Graecis in civitatem Romanam adscitis. . . ." Cited from Ab urbe condita. Libri XXXI-XL, ed. John Briscoe (Stuttgart: Teubner, 1991).
4. Schnapp, Building Fascism/Communism/Democracy (Stanford, Calif.: Stanford University Press, forthcoming 2004). An early sketch for this book appeared as "Between Fascism and Democracy: Gaetano Ciocca—Builder, Inventor, Farmer, Engineer," 2, no. 3 (September 1995): 117-57.
5. A full bibliography of Ciocca's writings, as well as a description of the contents of the Ciocca archive at the MART, can be found in Schnapp, Gaetano Ciocca, 187-91.
6. "La tecnica del teatro di massa," Reale Accademia D'Italia, Atti—Convegno di Lettere: Tema—Il teatro drammatico, 179.
7. TNA, 158-9. Earlier Le Corbusier writes, "Rome's business was to conquer the world and govern it. Strategy, recruiting, legislation: the spirit of order.  The Roman order was simple and direct. If it was brutal, so much the worse—or so much the better" (155-6).
8. Walter Gropius, The New Architecture and the Bauhaus, trans. P. Morton Shand (Boston: Charles T. Branford, 1935), 19. Compare the similarly moralizing stance adopted in the opening of Le Corbusier's Towards a New Architecture: "The Engineer's Aesthetic and Architecture—two things that march together and follow one from the other—the one at its full height, the other in an unhappy state of retrogression. A question of morality; lack of truth is intolerable, we perish in untruth" (TNA, 13).
9. Ciocca, "Per la città corporativa," 13.
10. Quoted from Gian Luigi Banfi and Lodovico Belgioioso, "Urbanistica corporativa," Quadrante 16/17 (August/September 1934): 40.
11. Banfi and Belgioioso, "Urbanistica corporativa," 40.
12.
I have in mind a wide array of works extending from Himmelmann's
Utopische Vergangenheit: Archaeologie und moderne Kultur (Berlin:
Mann Verlag, 1976) to Trigger's A History of Archaeological Thought
(New York: Cambridge University Press, 1989) to Schnapp's The Discovery
of the Past: The Origins of Archaeology (London: British Museum Press,
1996), though a number of multiple author volumes might also be cited.


Package com.mxgraph.util.svg
Interface ExtendedPathIterator
-
public interface ExtendedPathIterator
TheExtendedPathIterator
class represents a geometric path constructed from straight lines, quadratic and cubic (Bezier) curves and elliptical arcs. This interface is identical to that of PathIterator except it can return SEG_ARCTO from currentSegment, also the array of values passed to currentSegment must be of length 7 or an error will be thrown. This does not extend PathIterator as it would break the interface contract for that class.
-
-
Field Summary
Fields Modifier and Type Field Description static int
SEG_ARCTO
The segment type constant for an elliptical arc.static int
SEG_CLOSE
The segment type constant that specifies that the preceding subpath should be closed by appending a line segment back to the point corresponding to the most recent SEG_MOVETO.static int
SEG_CUBICTO
The segment type constant for the set of 3 points that specify a cubic parametric curve to be drawn from the most recently specified point.static int
SEG_LINETO
The segment type constant for a point that specifies the end point of a line to be drawn from the most recently specified point.static int
SEG_MOVETO
The segment type constant for a point that specifies the end point of a line to be drawn from the most recently specified point.static int
SEG_QUADTO
The segment type constant for the pair of points that specify a quadratic parametric curve to be drawn from the most recently specified point.static int
WIND_EVEN_ODD
The winding rule constant for specifying an even-odd rule for determining the interior of a path.static int
WIND_NON_ZERO
The winding rule constant for specifying a non-zero rule for determining the interior of a path.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
currentSegment()
int
currentSegment(double[] coords)
int
currentSegment(float[] coords)
int
getWindingRule()
boolean
isDone()
void
next()
-
-
-
Field Detail
-
SEG_CLOSE
static final int SEG_CLOSE
The segment type constant that specifies that the preceding subpath should be closed by appending a line segment back to the point corresponding to the most recent SEG_MOVETO.- See Also:
- Constant Field Values
-
SEG_MOVETO
static final int SEG_MOVETO
The segment type constant for a point that specifies the end point of a line to be drawn from the most recently specified point.- See Also:
- Constant Field Values
-
SEG_LINETO
static final int SEG_LINETO
The segment type constant for a point that specifies the end point of a line to be drawn from the most recently specified point.- See Also:
- Constant Field Values
-
SEG_QUADTO
static final int SEG_QUADTO
The segment type constant for the pair of points that specify a quadratic parametric curve to be drawn from the most recently specified point. The curve is interpolated by solving the parametric control equation in the range (t=[0..1]) using the most recently specified (current) point (CP), the first control point (P1), and the final interpolated control point (P2).- See Also:
- Constant Field Values
-
SEG_CUBICTO
static final int SEG_CUBICTO
The segment type constant for the set of 3 points that specify a cubic parametric curve to be drawn from the most recently specified point. The curve is interpolated by solving the parametric control equation in the range (t=[0..1]) using the most recently specified (current) point (CP), the first control point (P1), the second control point (P2), and the final interpolated control point (P3).- See Also:
- Constant Field Values
-
SEG_ARCTO
static final int SEG_ARCTO
The segment type constant for an elliptical arc. This consists of Seven values [rx, ry, angle, largeArcFlag, sweepFlag, x, y]. rx, ry are the radious of the ellipse. angle is angle of the x axis of the ellipse. largeArcFlag is zero if the smaller of the two arcs are to be used. sweepFlag is zero if the 'left' branch is taken one otherwise. x and y are the destination for the ellipse.- See Also:
- Constant Field Values
-
WIND_EVEN_ODD
static final int WIND_EVEN_ODD
The winding rule constant for specifying an even-odd rule for determining the interior of a path. The even-odd rule specifies that a point lies inside the path if a ray drawn in any direction from that point to infinity is crossed by path segments an odd number of times.- See Also:
- Constant Field Values
-
WIND_NON_ZERO
static final int WIND_NON_ZERO
The winding rule constant for specifying a non-zero rule for determining the interior of a path. The non-zero rule specifies that a point lies inside the path if a ray drawn in any direction from that point to infinity is crossed by path segments a different number of times in the counter-clockwise direction than the clockwise direction.- See Also:
- Constant Field Values
-
-


#include <Cursor.hpp>
| Cursor::Cursor |
( |
int |
x, |
|
|
int |
y, |
|
|
int |
resX, |
|
|
int |
resY, |
|
|
int |
timer |
|
) |
| |
| void Cursor::change_cursor |
( |
int |
i | ) |
|
| void Cursor::change_team |
( |
| ) |
|
| void Cursor::draw_cursor |
( |
| ) |
|
| _object Cursor::getObject |
( |
int |
mapX, |
|
|
int |
mapY |
|
) |
| |
|
inline |
| void Cursor::increase_object |
( |
Direction |
incDir | ) |
|
| void Cursor::move_cursor |
( |
ALLEGRO_KEYBOARD_STATE |
keyState | ) |
|
| bool Cursor::object_selected |
( |
| ) |
|
|
inline |
| void Cursor::setX |
( |
int |
x | ) |
|
|
inline |
| void Cursor::setY |
( |
int |
y | ) |
|
|
inline |
The documentation for this class was generated from the following files:


--- layout: default section_id: portfolio images: - images/hexapods/mechapod.jpg - images/hexapods/mechapodart.jpg ---
Here are a few photos featuring our hexapod robots.


|
EminemSurprise. Another white boy's extended middle finger flips through a rhyming dictionary and conquers the MTV music awards.The hip-hop comedy stylings of Marshall Bruce Mathers III, a.k.a. Slim Shady, a.k.a. Eminem rose to prominence in the early 2000's - partially due to producer Dr. Dre, who found beauty and poignancy in each of Mathers' smothered, angry stanzas. Dre offered Mathers a record deal, perhaps with the implied understanding that even Elvis Presley's riches were predicated on the notion that a white boy learnin' to play the blues might gain quicker worldwide acceptance and financial success. Eminem’s Marshall Mathers LP was the fastest selling solo album in the history of corporate American music sales, often deconstructed by critics sitting on that squeaky fence between praise and condemnation.
"My mom smokes more dope than I do," Eminem crooned, encouraging his mother to file a $10 million lawsuit. Despite claims to the contrary, song after song in the Eminem library reveals an unmistakably thin-skinned rapper deathly afraid of a negative review. The beats are disgruntled, manufactured pitches to suburban teenagers, alternately innovative, stolen, repetitive – tight punches of science thrown into the air, and often nowhere else. Playing a character or not, letting "loose" with your personal opinion is hardly a new practice no matter what the venue. Distilled to its essence, this material has the shelf life of the Grammy awards. Like his adult peers in the rap community, Eminem periodically punctuates his career with visits from state and local authorities. In February of 2001, London police studied videotapes of his premiere British concert to see if he incited teenage fans to take drugs. The animosity between Eminem and Insane Clown Posse is well known among their fans. Both acts sling profanity-laden lyrics at each other about their Detroit roots. After Mathers was sentenced to two years' probation for carrying a concealed weapon, it came to light the weapon was never loaded. It was a damaging blow to his street cred. Over time, Eminem came to be considered little more than a studio’s gangster. When the Gay and Lesbian Alliance Against Defamation condemned his lyrics as homophobic and misogynist – and could lead to increased violence - Eminem performed a duo with a very gay Elton John at the MTV music awards. Painful. |


Homepage dummy --> /Manager
Homepage dummy --> /Generate
Homepage dummy --> /decrypt
Homepage dummy --> /register
Homepage dummy --> /setup 2fa
Homepage dummy --> /2fa
Homepage dummy --> /logout


---
layout: post
status: publish
published: true
title: "毕业设计 DEMO_1 地图显示模块 源码分享"
author: Leask
author_login: leask
author_email<EMAIL_ADDRESS>author_url: https://leaskh.com
wordpress_id: 310
wordpress_url: http://leaskh.wordpress.com/2008/01/26/%e6%af%95%e4%b8%9a%e8%ae%be%e8%ae%a1-demo_1-%e5%9c%b0%e5%9b%be%e6%98%be%e7%a4%ba%e6%a8%a1%e5%9d%97-%e6%ba%90%e7%a0%81%e5%88%86%e4%ba%ab
date: '2008-01-26 10:02:57 +0800'
date_gmt: '2008-01-26 10:02:57 +0800'
categories:
- Computers and Internet
tags: []
comments: []
---
'=============================================================
'地图显示模块 DEMO 1
'
'设计/编程: 黄思夏
'Design/Program: Leask Huang
'Copyfree (C) 2008 Leask Huang
'
'==============================================================
Option Explicit
Dim Move_X As Long
Dim Move_Y As Long
Private Sub Map_Init()
Map_CT_X.Top = Map_FM.Top + Map_FM.Height + 10
Map_CT_Y.Left = Map_FM.Left + Map_FM.Width + 10
Map_CT_X.Height = 280
Map_CT_Y.Width = 280
Map_CT_X.Width = Map_FM.Width
Map_CT_Y.Height = Map_FM.Height
Map_CT_X.Left = Map_FM.Left
Map_CT_Y.Top = Map_FM.Top
Map_CT_X.Min = 0
Map_CT_X.Max = Map_FM.Width - Map_CT.Width
Map_CT_Y.Min = 0
Map_CT_Y.Max = Map_FM.Height - Map_CT.Height
Map_CT.Left = 0
Map_CT.Top = 0
End Sub
Private Sub Form_Load()
Map_Init
End Sub
Private Sub Map_CT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Move_X = X
Move_Y = Y
End If
End Sub
Private Sub Map_CT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Dim Move_X_Do As Long
Dim Move_Y_Do As Long
Move_X_Do = Map_CT.Left + X - Move_X
Move_Y_Do = Map_CT.Top + Y - Move_Y
If Move_X_Do > 0 Then Move_X_Do = 0
If Move_X_Do + Map_CT.Width - Map_FM.Width < 0 Then Move_X_Do = Map_FM.Width - Map_CT.Width
If Move_Y_Do + Map_CT.Height - Map_FM.Height < 0 Then Move_Y_Do = Map_FM.Height - Map_CT.Height
If Move_Y_Do > 0 Then Move_Y_Do = 0
Map_CT.Left = Move_X_Do
Map_CT.Top = Move_Y_Do
Map_CT_X.Value = Map_CT.Left
Map_CT_Y.Value = Map_CT.Top
End If
Label1(0).Caption = "X: " & X
Label1(1).Caption = "Y: " & Y
End Sub
Private Sub Map_CT_x_Scroll()
Map_CT.Left = Map_CT_X.Value
End Sub
Private Sub Map_CT_Y_Scroll()
Map_CT.Top = Map_CT_Y.Value
End Sub


Click the "Contact Me" button below to let us know that you're interested in beta testing Document Approval Workflow and we'll get back to you soon!.
We're excited to get you setup. Someone from our team will be in touch soon to help you


import { FormModule } from 'easy-framework';
Basic forms are styled with .field-group
, .form-label
, and .form-field
classes.
Note: Forms will have a unique id
, a unique for
, role
, and .pad-*
class attributes added, if not present.
import { FormModule } from 'easy-framework';
Basic forms are styled with .field-group
, .form-label
, and .form-field
classes.
Note: Forms will have a unique id
, a unique for
, role
, and .pad-*
class attributes added, if not present.
A fieldset is optionally styled with a .fieldset
class and has an optional <legend>
tag as the first child.
A Fieldset is used to group similar fields together both visually and for assitive technologies.
Form labels are styled with a .form-label
class.
Form fields are styled with a .form-field
class. Different styles are applied based on the form field.
Inline form groups are styled with .form-group-inline
class.
Field groups are styled with a .field-group
class.
Checkbox and radio fields are styled with a .checkbox-group
or .radio-group
and .checkbox-label
or .radio-label
classes.
Form fields can be disabled by adding a disabled
attribute or by adding a readonly
attribute.


Read-A-Meter
New
all
electric
water
gas
Version: 0.0
Are you sure you want to delete:
Yes
Cancel
Type:
electric
water
gas
Value:
OK
Cancel


Mushrooms - P. cubensis & Cannabis
I am 21 and have been taking hallucinogens for 3 years, experimenting with LSA, LSD and shrooms. Each trip I had was experienced with my boyfriend, we started at the same time - before meeting him neither of us had tried hallucinogens
I have always been very mentally prepared for each experience. If I was starting to go down a bad path, I have always been able to pull myself out of it; one experience caused me to forget who I was, even my name, that time I also had mo memory of ever taking any drug. But I never got freaked out, or lost control. I have also lost all intelligent thought, and been stupefied for hours – thinking that I was never going to be able to regain normal thought. Each bad moment I have had teaches me something, I value what I learn and turn the bad feeling into something positive.
However, one experience I have had I have not been able to understand. My boyfriend and I decided to each take 20 grams of fresh mushrooms each – a relatively low amount for us both at that time. He was living in halls of residence, we took them in his room during the day, we were both well rested. It was a positive light trip, we spent most of the time in each others arms enjoying the atmosphere.
But about 6 hours into the trip, when the visuals where diminishing and we were both regaining proper coherent thought.  But that was never really a problem, he was lucky enough to have a really spacious bathroom, and it was a familiar space to smoke in. Now, I have to make one thing clear, in those days I smoked weed nearly every day, I had a very high tolerance. And the spliff my boyfriend had rolled was not strong. We always smoke weed when the effects of the hallucinogen start to diminish. This time, after two or three tokes I started to feel a little nauseous – A little like the whity feeling you get when you first start smoking weed, and you had one toke too many.
As the sensation increased I felt the strongest need to drink water that I have ever had in my life. I leaned over to the sink and started drinking mouthfuls of it with my hands, I didn’t get much down before I realized that I wanted to lie down. I told my boyfriend that I felt dizzy, although the feeling I had could not really be categorized by dizzy. I stood up slowly and started towards the door. I never made it. I blacked out. According to my boyfriend I was only out for about 30 seconds. I don’t remember falling down, I remember the feeling of the doorframe trapping my fingers as I went down. But I only felt a tightness, no pain.
I woke up on the bathroom floor, with a sore head from banging it on the wall. The fingers on my left hand hurt from getting trapped between the door and its frame. The weird thing is, is that during my blackout I had a vivid and very real hallucination that I was back in bed with cuddeling boyfriend, the duration of this scene seemed very much longer than the 30 seconds that I was out.
I have not heard of people blacking out like this during tripping. Prior to this I had never fainted or lost consciousness. The only thing that I could see as the cause would have been the spliff, but that’s strange as nothing was done differently on that trip.
Im really interested if anyone could cast some light on to the situation, anyone had similar experiences?
It did not discourage me from phsycodelics. I have since tripped many more times and have never experienced anything similar.
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.


When setting up this repo for the first time enusre you that you run npm install
and bower install
from the root web dir.
Before /index.html page will display correctly you'll also need to run grunt dist
.
This repo was forked from the twbs/bootstrap and is maintained at aaronheath/webapp-boilerplate.


SKIN INC
Home
Products
Beauty tips
Lifestyle and skin
Customize
Login
Cart
Swipe to Match
Swipe Right if statement is true,
Left if unsure or not applicable to you.
Fine lines and wrinkles are of a concern to me


DWP
Page 16
May was a productive month on the DWP. Most of the ground was completed in one aisle and numerous details were added to scenes in progress such as the trailer park and the hill. “Water” was modeled in Rock Creek just outside the West Duluth yard. This is the first water feature to be modeled on the layout, but it will not be the last. More details were added to the fallen barn scene and the highway through that scene has been worked on with color and details.
Enclosed water tanks were found along the DWP right of way. It was decided to model the tanks after the octagonal style used by the Canadian National Railroad. This particular model is made from Scale Art Models own resin castings and is an impressive structure. The pumphouse is from an unknown source. To create the site, first the hardshell was cut away and a base of Styrofoam was leveled and hot glued into place. The area was then blended in with plaster cloth and Sculptamold, (see photo below). An access road was modeled alongside the tracks as the scene was reworked. The blue tape is an effort to keep the mess off the painted and ballasted mainline.
Looking at the scene from the same location as above shows what a difference a little ground cover can make. The two structures look right at home and open for business.
For rail fans the trailer park is the perfect place to live as CN GP9 # 4307 moves a cut of freight cars in the West Duluth yard. “Bliss Haven” may be wishful thinking for the trailer pack residents who don’t appreciate the noise, smoke and activity of a busy rail yard.
This little creek represents Kingsbury creek just West of the West Duluth yard. Part of the creek is painted on the backdrop while the remainder is modeled with acrylic paint and Gloss Medium. The gloss medium is built up in multiple layers to give the water depth. Blues and greens were painted in around the rocks before the gloss medium was applied. Each layer is allowed to fully cure or dry before the next layer is brushed on. The white water is Gloss gel teased up and allowed to dry than dry brushed with white acrylic paint.
Once the colors are satisfactory ground cover can be added. This step really make the previous work “pop”.
This over view shows a variety of colors and textures in the ground cover. Most of the ground foam is from Timberline Scenery.
Pleas excuse the fuzziness of the photos. While the phone camera is pretty good, it lacks depth of field. Two final shots of the finished rock and surrounding scenery. There are still scores of trees to add to this area so there will be more photos to come.
Go to DWP page 16
DWP # 1984 is the first thirsty loco to approach the tank after installation.
Bliss Haven Estates is a scene that has gradually grown more detailed and more fun to view. A large sign was added along with some more trees, people, flowers and the nifty guard bear at the entrance to the park. The bear sign is a composite of web images combined in Photoshop.
It was decided that a house should be added down the road from Bliss Haven to give the area more people presence and to give the road more purpose. The chosen site was hilly and uneven, so it was necessary to excavate the site and install a level base. This was accomplished with Styrofoam, plaster cloth and Sculptamold just like the water tank site was created.
Once the plaster was dry the site was painted with our standard earth color which is a muddy brown flat latex paint and turf and grass blend ground foam was sprinkled into the the wet paint. Additional layers of various textures of ground foam were added along with real dirt. Finally some trees were planted around the house for some vertical detail. The lower photo shows the end result. The scene can still benefit from added details such as clutter, people, some small out buildings and more trees. As it is a background scene, it looks pretty good as is.


WITNESS LIST Nominations Committee April 7, 2003 - 3:00P Commission on Human Rights FOR: Anderson, Thomas M. (Self) Whitlock, Tivy (Self) Wipf, Nila T. (Self) Commission on Jail Standards FOR: Gutierrez, David (Self) Montgomery, Horace (Self) Seale, Michael (Self) Office of Rural Community Affairs FOR: Klussmann, Wallace (Self) Saenz, Lydia Rangel (Self) Waters, Michael (Self) Texas A&M University System Board of Regents FOR: Nye, Erle A. (Self) White, John D. (Self) Texas Board of Chiropractic Examiners FOR: Daughtrey, Marcia (Self) Dickerson, Paul (Self) Jensen, Sandra (Self) Sime, David (Self) Registering, but not testifying: On: Smith, Sandra (Texas Board of Chiropractic Examiners) Texas Commission for the Blind On: Miller, Alvin Chief Financial Officer (Texas Commission for the Blind) Texas Commission on Alcohol & Drug Abuse On: Wansler, Dr. Dave (Beverly Barron) Texas Commssion for the Blind On: Murphy, Terrell E.D. (Texas Commission for the Blind) Texas Commssion on Alcohol & Drug Abuse On: Wansler, Dr. Dave E.D. (John Longoria) Texas Lottery Commission FOR: Cox, James (Self) Registering, but not testifying: For: Fenoglio, Stephen Attorney (Jim Cox) On: Dowe, Tammy (John White)


Figure 1.2.1 shows the title development process using the Magic Lantern Authoring System.
Figure 1.2.1: Title Development Process with Magic Lantern
Magic Lantern offers tools that support the following tasks:
Content creators can easily integrate diverse content elements into their
title using the Magic Lantern
supported data types. Magic Lantern supports files in multimedia formats for
3D models, geometry,
animation, 2D images, sound, and video. Magic Lantern offers very tight integration
with common
multimedia formats.
Supported file formats include:
The performance capabilities of current PC and UNIX platforms in conjunction
with the Magic Lantern
architectural structure lend speed to prototyping and efficient title development.
Programmers can build
upon the support libraries to prototype title objects and save them to the DWP.
This means that Magic
Lantern prototypes are not "disposable" efforts that have to be thrown
out when title development begins in
earnest. Successful prototypes become the basis of the final title and can be
continuously improved.
The Magic Lantern Authoring Tools make it easier for every member of the title
development team to do
title layout and tuning. The Scene Editor is used for composing interactive
worlds, navigating through
scenes, manipulating the objects in the scenes, and creating the DWP. Throughout
the development process,
titles-in-progress can be quickly viewed in the Rehearsal Player window and
edited on the fly to test new
ideas. This allows non-programming team members to interactively view and revise
artwork, scene layout,
and actor properties without assistance from the programming team.
The Magic Lantern Rehearsal Player can be attached to a debugger so that the
title can be run during the
debugging process. Targeted players can be tethered to platform-specific simulators
to test and debug a title in context of the
constraints implied by that platform. For example, an OCAP player can be tested
using an OCAP simulator.
The Magic Lantern targeting and optimization tools generate the auxiliary
runtime data structures that
accompany the title code for a specific target. This facilitates iterative testing
and optimization of the title on
the target platform. Title developers can target the title, test the performance,
and then, when necessary,
write code to optimize performance for the different targets. The Magic Lantern
targeting tools make it more
efficient to test the title at the earliest stages with the target audience
and iteratively modify the title
throughout development.
Magic Lantern is being designed from the outset to be an easily extensible
system. This allows title
developers to use the Authoring Framework API to incorporate their own specialized
tools into the system.


{% comment %} Copyright 2012 Google Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distrib- uted under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for specific language governing permissions and limitations under the License. {% endcomment %}


Sass also know as sassy stylesheet enables the writing of managable and scalable CSS. Sass comes with a load pack of toolchains some of which are: separation of concerns, arithmetical operations, functions, variable declaration, partials, ecetera, which ease the writing of CSS and as well, makes it fun and beautiful.
Functions


locals.myself |
User
|
null
|
user currently authenticated |
locals.development |
boolean
|
set to true on development enviroment, passed to template engine |
locals.staging |
boolean
|
set to true on staging enviroment, passed to template engine |
locals.production |
boolean
|
set to true on production enviroment, passed to template engine |
locals.csrf |
string
|
cross site request
forgery protection token for CSRF middleware |
locals.css |
Array
|
array of css stylesheets to export to templates |
locals.js |
Array
|
array of client side javascripts to export to templates |
locals.flash |
Object
|
flash messages used by
connect-flash middleware |


Warning: A system with that name has already been entered!
Warning: Please enter a name for this system!
Warning: Need more distances to reference systems!


pymatgen.analysis.nmr module
A module for NMR analysis
- class ChemicalShielding(cs_matrix, vscale=None)[source]
Bases:
pymatgen.core.tensors.SquareTensor
This class extends the SquareTensor to perform extra analysis unique to NMR Chemical shielding tensors
Three notations to describe chemical shielding tensor (RK Harris; Magn. Reson. Chem. 2008, 46, 582–598; DOI: 10.1002/mrc.2225) are supported.
Authors: Shyam Dwaraknath, Xiaohui Qu
Create a Chemical Shielding tensor. Note that the constructor uses __new__ rather than __init__ according to the standard method of subclassing numpy ndarrays.
- Parameters
cs_matrix (1x3 or 3x3 array-like) – the 3x3 array-like representing the chemical shielding tensor or a 1x3 array of the primary sigma values corresponding to the principal axis system
vscale (6x1 array-like) – 6x1 array-like scaling the voigt-notation vector with the tensor entries
- class HaeberlenNotation(sigma_iso, delta_sigma_iso, zeta, eta)[source]
Bases:
tuple
Create new instance of HaeberlenNotation(sigma_iso, delta_sigma_iso, zeta, eta)
- class MarylandNotation(sigma_iso, omega, kappa)[source]
Bases:
tuple
Create new instance of MarylandNotation(sigma_iso, omega, kappa)
- class MehringNotation(sigma_iso, sigma_11, sigma_22, sigma_33)[source]
Bases:
tuple
Create new instance of MehringNotation(sigma_iso, sigma_11, sigma_22, sigma_33)
- class ElectricFieldGradient(efg_matrix, vscale=None)[source]
Bases:
pymatgen.core.tensors.SquareTensor
This class extends the SquareTensor to perform extra analysis unique to NMR Electric Field Gradient tensors in units of V/Angstrom^2
Authors: Shyam Dwaraknath, Xiaohui Qu
Create a Chemical Shielding tensor. Note that the constructor uses __new__ rather than __init__ according to the standard method of subclassing numpy ndarrays.
- Parameters
efg_matrix (1x3 or 3x3 array-like) – the 3x3 array-like representing the electric field tensor or a 1x3 array of the primary values corresponding to the principal axis system
vscale (6x1 array-like) – 6x1 array-like scaling the voigt-notation vector with the tensor entries
- coupling_constant(specie)[source]
- Computes the couplling constant C_q as defined in:
Wasylishen R E, Ashbrook S E, Wimperis S. NMR of quadrupolar nuclei in solid materials[M]. John Wiley & Sons, 2012. (Chapter 3.2)
- C_q for a specific atom type for this electric field tensor:
C_q=e*Q*V_zz/h
h: planck’s constant Q: nuclear electric quadrupole moment in mb (millibarn e: elementary proton charge
- Parameters
specie – flexible input to specify the species at this site. Can take a isotope or element string, Species object, or Site object
- Returns
the coupling constant as a FloatWithUnit in MHz


Breakfast (321 calories, 6 grams fiber)
Southwestern Egg Breakfast
- 1/2 cup canned black beans, rinsed and heated
- 2 large eggs, cooked in 1/4 tsp. olive oil or coat pan with a thin layer of cooking spray (1-second spray)
- 2 Tbsp. pico de gallo or salsa
- 2 Tbsp. shredded Cheddar cheese
A.M. Snack (167 calories, 10 grams fiber)
- 1 cup raspberries
- 2 Tbsp. unsalted dry-roasted almonds
Lunch (393 calories, 5 grams fiber)
Turkey & Cheese Melt
- 2 slices whole grain bread, toasted
- 2 tsp. Dijon mustard
- 4 slices low-sodium deli turkey
- 4 slices tomato
- 1 slice Cheddar cheese
P.M. Snack (102 calories, 6 grams fiber)
Dinner (500 calories, 8 grams fiber)
- 2 1/2 cups Avocado & Shrimp Chopped Salad
- 2 diagonal slices baguette (1/4 inch thick), preferably whole-wheat,
drizzled with 1 tsp. olive oil and a pinch of kosher salt.


Football: Everton's Gomes expected to make full recovery after ankle surgery
LONDON: Everton midfielder Andre Gomes is expected to make a "full recovery" after undergoing surgery to repair a fracture dislocation of his ankle, the Premier League club said on Monday (Nov 4).
The Portugal international suffered the shocking injury when he fell awkwardly following a challenge from Tottenham's Son Heung-min in Sunday's 1-1 draw at Goodison Park.
"Everton Football Club can confirm Andre Gomes underwent surgery to repair a fracture dislocation to his right ankle earlier today and the procedure went extremely well," a club statement said.
It added: "The 26-year-old is expected to make a full recovery."
Tottenham's players were also affected by the incident, with Son - who was sent off by referee Martin Atkinson for his challenge - in tears and Serge Aurier, who collided with Gomes, substituted.
The Premier League said in a statement that Son's red card was for "endangering the safety of a player", but Spurs are expected to lodge an appeal against Atkinson's decision.
Tottenham manager Mauricio Pochettino felt the injury led to an over-reaction.
"It was clear it was never the intention of Son to create the problem that happened afterwards. It is unbelievable to see a red card," said the Spurs boss.
"We all feel sorry for Andre. I want to send my best wishes to him and to his family in this tough moment. We want to send, on behalf of the squad, our best wishes."
Though Everton cancelled out Dele Alli's opening goal with a Cenk Tosun header deep into the 12 minutes of time added on following Gomes' injury, there was little sense of celebration at full-time.
Everton defender Mason Holgate said he and his teammates felt like they owed it to Gomes to get a result, but the draw still felt like a defeat.
"It is hard when something like that happens to get going again but we showed fight and went again," Holgate said.
"But it shows what we are about as a team. We got together and I think it drove us on a bit more once we got going, trying to do it for him.
"It was really flat (in the dressing room). It was like we had been beaten."


Bigger, faster, stronger.
"If you liked Pong, you'll love Pong3D." -- Julie Farwig
"Wow... Pong3D is way better than Quake3!" -- Aaron Brown
Programming Team
Summary
Our game is a first-person OpenGL remake of the classic video game Pong. Pong3D features advanced lighting, shadows, and networked game play. This is not your father's arcade game.
In Pong3D players are assigned a wall to defend. They must use the paddle to prevent the ball from traveling past their wall. You win the networked game if you can bounce the ball past your opponents wall.
In addition to networked play, we included some features to make it fun to play without an opponent. For times when you can't find anyone to play against we built Speed and Target mode. In Speed mode, you rack up points by trying to keep the ball from hitting your wall as its speed slowly increases. In Target mode, the goal is to use our vector controller to aim your ball at the targets.
Description
Network Play
Allows for competitive game play via the Internet. One machine acts as a host
and the other acts as a client. The host machine is responsible for calculating
all physics and sending the updated information to the client. The client sends
its paddle positions to the host so that correct collisions can be detected.
To make it even more fun, both players can see where the other's paddle is moving.
Local Play
Future Enhancements
The Pong3D user-interface is intentionally simple and elegant.
Graphics Lessons Learned
How to Play
See User-Interface.
Pong3D is free for personal use. If you find the game enjoyable or if you have made some improvements or modifications please email me. Enhancements can be made for a small fee.
Note: Both versions should compile with slight modifications to the .h file and the makefile on most UNIX systems. The Single Player version was built on Windows NT and Windows 98 using both Microsoft Visual C++ 5.0 and Borland C++ 5.0. With a little work the Single Player version should work on all systems that support OpenGL and glut.
Screen Shots
What critics say
"A surefire A+ game!." -- David Schoemehl
"I love this game... can't stop playing." -- Nathan Jacobs


{% extends "touchtechnology/admin/base.html" %} {% load i18n %} {% load common %} {% block content %} {% with type=object|type %}
{% blocktrans %}You are about to delete the {{ type }} {{ object }}. This will permanently remove it from your site. Are you sure you want to continue?{% endblocktrans %}
{% else %}{% blocktrans %}You are attempting to delete a {{ type }} which has children in the site hierarchy, which is not possible.{% endblocktrans %}
{% endif %} {% endwith %} {% endblock %}


{% extends "site_base.html" %} {% load md2 %} {% block body %}
If you would like to make a donation in Michael's name, here are two suggested recipients. So far, Michael's friends have donated 215 euros to Refugees Emancipation.
The first, Chicas Poderosas ("Powerful girls"), is is a community working to bring Latina women in the Americas into the forefront of digital journalism, aiming to increase the number of Latina women working directly with newsroom technology. It's a cause that Michael was very close to; he travelled to Miami and to Bogota, Colombia, as a trainer.
The second, Refugees Emancipation, is an effort run by refugees in Berlin to set up internet cafes for other refugees. For the past 15 years, they have been working on establishing self-organizing internet cafes in residential homes and offer computer courses. It is supported by the Chaos Computer Club e.V., Freifunk Berlin and the Förderverein freie Netzwerke e.V..


|
Bullet_3DA
Tank simulaiton.
|
Files | |
| file | Column.hpp [code] |
| file | Door.hpp [code] |
| file | Entity.cpp |
| file | Entity.hpp [code] |
| file | Ground.hpp [code] |
| file | Input.hpp [code] |
| file | Key.hpp [code] |
| file | main.cpp |
| file | MyScene.cpp |
| file | MyScene.hpp [code] |
| file | Particles.hpp [code] |
| file | Physics_World.cpp |
| file | Physics_World.hpp [code] |
| file | Platform.hpp [code] |
| file | Rigid_Body.cpp |
| file | Rigid_Body.hpp [code] |
| file | Scene.cpp |
| file | Scene.hpp [code] |
| file | Shape.hpp [code] |
| file | Sphere.hpp [code] |
| file | Tank.cpp |
| file | Tank.hpp [code] |
| file | Trigger.hpp [code] |
| file | Variant.hpp [code] |
| file | View.cpp |
| file | View.hpp [code] |
| file | Wall.hpp [code] |


Welcome to Plywood
=============
Usage
====
Plywood is restful and takes simple GET or PUT arguments
JSON Tree - http://localhost:8080/tree/name-of-index/
Graphical Tree - http://localhost:8080/view/name-of-index/


Related JIRA Ticket. When selecting all child options of an optgroup in a Multiselect with the option moveSelectedToTop set to true (which is default), the empty optgroup should no longer be rendered by the Multiselect. Once one of its options becomes deselected, it should be re-rendered the next time the list opens.
By selecting all of the options in either the "fruits" or "vegetables" sections of the below Multiselect, the corresponding group header will longer render until one of those options once again becomes deselected.


IRA Waterfall Window
The IRA Waterfall windows shows a high-resolution spectrum using a technique known as a “waterfall” display. Each line of pixels in the display shows one seconds worth of spectrum, with relative powers shown as colors, using a color gradient.
The Waterfall Segment Control
This control allows you to choose which segment of the SETI spectrum you wish to display—the SETI spectrum has as many bins as the selected bandwidth, so it would be impossible to display it all at once. Move the slider to select a coarse segment, then use the Fine Segment Control to fine-tune the display.
The Dynamic Range Indicators
Immediately above the Fine Segment Control slider, there are 3 text areas that show the minimum and maximum data values in the displayed waterfall segment, as well as the ratio between these two numbers, in dB.
The Frequency Indicators
Above the waterfall display, there are 3 frequency indicators that indicate the frequency range shown in the waterfall display, with the lowest on the left, the highest on the right, and the middle value, in the middle.
Mark RFI Control
The Mark RFI control allows you to visually determine those sets of waterfall bins that the SETI analyser has determined constitute RFI. This is done by marking those bins with alternating lines of red and dark blue.
Brightness Control
The Brightness control determines the color gradient used to represent relative power values in the waterfall display. Available choices are 100, 75, 66, and 50 percent brightness. It is often useful to reduce the brightness for waterfall segments that have a low dynamic range, otherwise, they appear to be misleadingly bright.
The Color Gradient Display
This display shows the color gradient currently in use, with the corresponding relative power levels, in dB, shown at each end of the gradient display.
The Export Waterfall control
This control allows you to export the current waterfall display as an X Pixmap (XPM) file. It will pop-up a file browser, allowing you to specify the filename and directory for the export XPM file.
DISMISS
This control causes the Waterfall window to close, but waterfall data will continue to be updated.


--- layout: page title: About header-img: "img/about-bg.png" ---
a guitarist and cook planning his next adventure


<% if (App.defaults.outsider_expert_meetings_enable) { %>
<%=
RB.getString('{n} colleagues available for you').format({
n: App.defaults.total_expert_display_count
})
%>
<% } else { %>
Colleagues are standing by to help
<% } %>
Ask your co-workers now


I think you may have needed it in the passed, you want to prevent that users can access a website on port 80 but also want to prevent they got an error displayed. The script below is the solution for this issue, it will redirect the user to the https version of the website.
The script can be placed in the root of the webserver in case of IIS this is wwwroot.
redirect.htm (bron)
<script language=”JavaScript”>__function goElseWhere()
<!– begin hide
{
var oldURL = window.location.hostname + window.location.pathname;
var newURL = “https://” + oldURL;
window.location = newURL;
}
goElseWhere();
// end hide –>
</script>
The last step is to configure IIS to display this page instead of the default error page.
First how to do this in IIS 6.
Start the IIS Manager and get the properties of the default website. Select the tab called Custom Errors _and search for _HTTP error 403.4 .
When found select it and push the edit button, this will open the following window.
Select browse and search for the file redirect.htm which you have placed in the root of IIS. Click on OK _to select the file and click on _OK again to close the window above. A warning will be displayed that this error is also used by other virtual directories/websites. Click on JOK and restart IIS.
To change the custom error in IIS 7 you must follow the steps below.
Open the IIS Manager _and select the _Default Website, in the right part of the manager several icons are displayed.
Select the icon Error Pages, an overview of default error pages will be displayed. Right click somewhere on the white space en select add. The following window will be displayed.
Fill in the fields as specified below:
- status code: 403.4
- file path: %systemroot%\Inetpub\wwwroot\redirect.htm
Clickon OK _and restart _IIS.
When visiting the site http://webmail.domein.nl you will get redirected to https://webmail.domein.nl.


- call() - Method in interface com.reactivecascade.i.action.IAction
-
Execute the onFireAction
- call(IN) - Method in interface com.reactivecascade.i.action.IActionOne
-
- call(IN) - Method in interface com.reactivecascade.i.action.IActionOneR
-
- call(IN1, IN2) - Method in interface com.reactivecascade.i.action.IActionTwo
-
- call(Exception) - Method in interface com.reactivecascade.i.action.IOnErrorAction
-
Perform some cleanup or notification onFireAction to bring this object into a rest state after
irregular termination.
- CallOrigin - Annotation Type in com.reactivecascade.i
-
Mark this class or method as being particularly interesting as the "originAsync"
of an asynchronous operation.
- cancel(String) - Method in class com.reactivecascade.functional.AltFuture
-
Stop this task if possible.
- cancel(String) - Method in class com.reactivecascade.functional.SettableAltFuture
-
- cancel(String, Exception) - Method in class com.reactivecascade.functional.SettableAltFuture
-
- cancel(String) - Method in interface com.reactivecascade.i.ICancellable
-
A plain text reason must always be provided for debugOrigin purposes.
- cancel(String, Exception) - Method in interface com.reactivecascade.i.ICancellable
-
A plain text reason and an exception that originally caused the cancellation.
- cancel(boolean) - Method in class com.reactivecascade.util.AltFutureFuture
-
- classOfPersistentValue - Variable in class com.reactivecascade.reactive.PersistentValue
-
- clear() - Method in class com.reactivecascade.rest.PrioritizedGettable
-
Atomically remove all elements from the queue
- clearAsync() - Method in class com.reactivecascade.reactive.ui.AltArrayAdapter
-
- clearPreviousAltFuture() - Method in class com.reactivecascade.functional.SettableAltFuture
-
- com.reactivecascade - package com.reactivecascade
-
- com.reactivecascade.functional - package com.reactivecascade.functional
-
- com.reactivecascade.i - package com.reactivecascade.i
-
- com.reactivecascade.i.action - package com.reactivecascade.i.action
-
- com.reactivecascade.i.functional - package com.reactivecascade.i.functional
-
- com.reactivecascade.i.reactive - package com.reactivecascade.i.reactive
-
- com.reactivecascade.reactive - package com.reactivecascade.reactive
-
- com.reactivecascade.reactive.ui - package com.reactivecascade.reactive.ui
-
- com.reactivecascade.rest - package com.reactivecascade.rest
-
- com.reactivecascade.test - package com.reactivecascade.test
-
- com.reactivecascade.util - package com.reactivecascade.util
-
- compareAndSet(Object, OUT) - Method in class com.reactivecascade.functional.SettableAltFuture
-
See AtomicReference
for examples of this asynchronous pattern.
- compareAndSet(T, T) - Method in interface com.reactivecascade.i.reactive.IAtomicValue
-
Replace the current valueAR with an update, but only if the valueAR is the expected valueAR.
- compareAndSet(T, T) - Method in class com.reactivecascade.reactive.ReactiveValue
-
- context - Variable in class com.reactivecascade.AsyncBuilder
-
- createFromResource(Context, int, int) - Static method in class com.reactivecascade.reactive.ui.AltArrayAdapter
-
- currentThreadType() - Static method in class com.reactivecascade.Async
-
If the current thread belongs to more than one ThreadType>, subscribe the returned ThreadType will be the one
which created the Thread


pyaudiogame.ui
PyAudioGame's prebuilt interfaces.
| pyaudiogame.ui.Menu | Creates a menu object with options one can scroll through using the keyboard. |
| pyaudiogame.ui.Typer | Creates a Typer object which handles text input. |
| pyaudiogame.ui.Grid | Makes a grid and has functions for map creation. |
pyaudiogame.ui provides classes to perform some of the more common tasks in game development such as creating menus, diologues and maps.
Creates a class which can handle keyboard input to navigate a menu
Menu(options=["yes", "no"], default_position=0, keys={"back": "up", "forward": "down", "exit": ["escape", "backspace"], "except": "return"}, shortkeys=None, title="Test Menu", loops=True, persistent=0, sounds={})
default_position
['back']
the key that is used to go up or left through a menu, default is "up" ['forward']
the key that is used to go down or right through a menu. Default is "down" ['exit']
The key that is used to get out of the menu. This returns "exit" from the run function. Default keys are "escape" and "backspace" ['except']
The key that will choose an option and returns it from the run function. Default key is "return" default_position
default_position
default_position
. But if they hit except on an option, if they go back, their last selection will be the one selected. ['change']
for when the back or forward keys are pressed ['exit']
for when the exit key is pressed ['except']
for when the except key is pressed
| Menu.run | Runs the menu and will speak the options. |
run(actions) -> choice
Will run the menu. It will return the option the user selects. Otherwise it will return None. If the user hits the exit key, "exit" will be returned.
Pass it the actions dict from the logic function.
otherwise, the only key it pulls from the dict is ['key']
.
Creates a box which handles typing.
Typer(title="", valid_characters=['letters_simple', 'capitals', 'numbers', 'punctuation_simple'], multiline=False, length=0, current_string="")
valid_characters
Typer.character_sets
dict. Default sets are: 'letters_simple'
no capital letters 'punctuation_simple'
.,-_'\"
punctuation_medium'
\/[]
=-` multiline
allows for users to hit "return" to get a newline character.current_string
is default text that is typed in the edit box before the user enters anything. | Typer.run | Runs the typer and searches for valid characters to put into the box |
run(actions) -> text string
This returns a text string when the user hits except.
pass in a dict with the "key" item in it. Prefferably the one from App.logic.
Creates a grid, primarily for map creation.
Grid(width=50, height=50)
Note that what happens is that a grid object is created and it has info about stuff you put in that grid, like walls and whatnot.
| Grid.check | Checks if there is an object in that location |
| Grid.add_wall | Adds a wall object to the grid |
check(x, y) -> bool
Run this to check if the point at (x, y) is in an object. If yes, this function returns True.
add_wall
add_wall(min_x=1, max_x=10, min_y=5, max_y=5) -> WallObject
min_x, max_x
min_y, max_y
*note*
a Wall consists of the length of the x Wall and the length of the y Wall. so if you draw a line from the min_x
to the max_x,
that is how wide the wall will be. If you do the same to the min_y
and max_y
lines, you will get the height of the wall.
So a wall that is 1,10 and 5,5, will be 10 squares long and 1 square high. A pretty clasic wall.


Wifi Network: COAL
Wifi Password: C04lm4rch
Created by Autumn Welles / @amwelles
Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
The theory and practice of crafting websites that allow the user to enjoy its features no matter what device they are using.
If you've ever created a print stylesheet for a website (media="print") then you're already familiar with the idea of creating a specific stylesheet to come into play under certain conditions.
We write our mobile styles first, so that smaller devices don't have to worry about loading a bunch of extra styling.
.sidebar {
width: 100%;
text-align: center;
}
Then we work our way up to larger screen sizes.
@media screen and (min-width: 768px) {
.sidebar {
width: 30%;
text-align: left;
float: right;
}
}
Rather than looking for a type of device they look at the capability of the device, and you can use them to check for all kinds of things.
Just resize the browser for the most important media queries. Chrome has an emulator built in! Open up the Developer Tools, show the drawer, and select the "Emulation" tab.
* You'll need to reload the page after you press the "Emulate" button.
Before you can embrace Responsive, you have to update your processes. It also means educating clients and (for some) resetting their expectation that websites should look the same in every browser, on every device.
With disruption comes new tools and new ways of thinking.
Lots of wireframing software such as Balsamiq now offer a plethora of responsive-capable tools.
New ways of presenting designs are also popping up,
such as style tiles. The style tile to the left was
turned into the website on the right.
This is the idea that there shouldn't be a mobile web and a tablet web and desktop web. We should assume that people will try to view a website on whatever device they have with them.
Our users love their devices, and it's not their fault they've been given 1 billion to choose from!
These are just Android devices. Here's a running list of all devices.
Browsers like Chrome and Safari know that people want seamless web browsing experiences. Browse or bookmark something on your mobile phone, get home and view it on your desktop browser.
By making your website responsive, you'll ensure that it looks good no matter where your users are.
The current versions of all major browsers support media queries. There will always be someone who is, for whatever reason, using an older browser.
There's a Javascript library for that!
Google it and it probably has
Luke Wroblewski's name attached to it.
What it means is, instead of offering "lighter" content or a seemingly restrictive experience to those viewing your site on a mobile device, stop. Regroup. Plan your site out thoughtfully enough that your content is already concise and simplified to begin with. Thinking "Mobile First" helps you accomplish this while you transition to Responsive Design.
Responsive is not a fad, as it addresses a real
need for planning our sites thoughtfully.
Responsive is not a replacement for mobile apps. Responsive can save companies time and money by allowing for the development and maintenance of one set of code, but only if it's the appropriate solution.
Grab a slice of pizza!
Everytime the design starts to break,
it's time for a new media query.


Home
Reports
Address
Email
Phone
Waterfall
Activity
Team
Clockwork - Firm Phone Numbers
Enter the firm id at the end of the url and you the system will download a csv for the phone numbers of all contacts within the firm's People DB.


home
projects
contact
ananas
web design
Some of our projects...
Karol Wojtyla's quotes
Online survey form
Boxing timer landing page
Technical documentation
Get in touch...


When applying judgments, one sometimes wishes to change the names of logical variables in the applied jugements or premises, to avoid name clashes between introduced variables in a proof.
This can be done by writing an alpha-renaming qualifier after the name of a premise, written premname<X/Y>
where X
is the new variable and Y
is the variable in the formula to alpha-rename.
Example:
Suppose we have this axiom:
relation s(X:t,Y:t)
axiom [prem] forall X. exists Y. s(X,Y)
We would like to prove this property:
individual a : t
individual b : t
property [sk2] exists Z,W. s(a,Z) & s(b,W)
To prove this, we would like to use the axiom twice, once for X=a
and once for X=b
. So let’s create two instances of it:
proof {
instantiate [p1] prem with X=a
instantiate [p2] prem with X=b
tactic skolemize
showgoals
}
Notice we gave the two instances distinct names, p1
and p2
. After Skolemization, this is the proof goal we got:
theorem [prop1] {
individual _Y : t
individual _Y_a : t
property [p1] s(a,_Y)
property [p2] s(b,_Y_a)
property exists W,Z. s(a,Z) & s(b,W)
}
The Skolem symbol in p2
was automatically given a fresh name _Y_a
so as not to clash with the symbol _Y
used in p1
. Now we could witness the conclusion with W=_Y
and Z=_Y_a
. This is fragile, though, because changes to the proof might result in a name different from _Y_a
. A better approach is to use alpha renaming to the two quantifiers different variable names. For example:
property exists Z,W. s(a,Z) & s(b,W)
proof {
instantiate [p1] prem with X=a
instantiate [p2] prem with X=b
tactic skolemize
instantiate with Z=_Y1, W=_Y2
}
By renaming the bound variables in our two copies of the axiom to be Y1
and Y2
, we can make sure that the Skolem symbols have predictable names. Again, there was no need to use manual instantiation for this simple problem, but in more complex cases with nested quantifiers, this approach can make it possible to let Z3 do most of the quantifier instantiation work by only instantiating the quantifiers that the fragment checker complains about.


1 module Graphics.ChalkBoard.Active where 2 3 import Control.Applicative 4 import Graphics.ChalkBoard.Types 5 import Graphics.ChalkBoard.Utils 6 import Data.Ratio 7 import Data.Time.Clock 8 import Control.Concurrent.MVar 9 10 data Active a 11 = Active Rational -- start 12 Rational -- stop 13 (Rational -> a) -- what to do, when, starting at start, stopping at stop. 14 -- This allows <*> to be optimized, which is important. 15 | Pure a 16 17 18 -- alts: duration, event, lifetime, time, clock 19 age :: Active UI 20 age = Active 0 1 f -- TODO: check that this nevee 21 where f n | n < 0 = error $ "ballon value negative" ++ show n 22 | n > 1 = error $ "ballon value above unit (1)" ++ show n 23 | otherwise = fromRational n 24 25 actLerp :: (Lerp a) => Active UI -> a -> a -> Active a 26 actLerp (Active start stop f) a0 a1 = Active start stop (\ i -> lerp (f i) a0 a1) 27 actLerp (Pure i) a0 a1 = Pure $ lerp i a0 a1 28 29 travel :: (Lerp a) => a -> a -> Active a 30 travel = actLerp age 31 32 -- Todo: fix this so as it is exact, and does not use toRational 33 -- Takes number of 'frames' per second. 34 simulate :: Float -> Active a -> [a] 35 simulate rate (Active start stop f) = [ f step' 36 | step <- outerSteps (ceiling (toRational rate * (stop - start))) 37 , let step' = lerp step start stop 38 ] 39 simulate _ (Pure a) = [a] -- need inf concept 40 41 instance Scale (Active a) where 42 scale u (Active start stop f) = Active (scale u start) (scale u stop) 43 $ \ tm -> f (tm / toRational u) 44 scale _ (Pure a) = Pure a 45 46 47 actMove :: Float -> Active a -> Active a 48 actMove d (Active start stop f) = Active (toRational d + start) (toRational d + stop) 49 $ \ tm -> f (tm - toRational d) 50 actMove _ (Pure a) = Pure a 51 52 instance Functor Active where 53 fmap f (Active start stop g) = Active start stop (f . g) 54 fmap f (Pure a) = Pure (f a) 55 56 57 boundBy :: Active a -> Rational -> Rational 58 boundBy (Active start stop _) i 59 | i <= start = start 60 | i >= stop = stop 61 | otherwise = i 62 63 -- to real time 64 toTime :: Active a -> Rational -> Rational 65 toTime (Active low high _) r = lerp (fromRational r) low high 66 67 -- to UI time 68 fromTime :: Active a -> Rational -> Rational 69 fromTime (Active low high _) val = (val - low) / (high - low) 70 71 instance Applicative Active where 72 pure a = Pure a 73 (Pure a) <*> b = fmap a b 74 (Active start0 stop0 f0) <*> (Pure a) = Active start0 stop0 (\ i -> (f0 i) a) 75 a0@(Active start0 stop0 f0) <*> a1@(Active start1 stop1 f1) = 76 Active start stop $ \ i -> f0 (boundBy a0 i) (f1 (boundBy a1 i)) 77 where 78 start = min start0 start1 79 stop = max stop0 stop1 80 81 data Era = Before | During | After 82 deriving Show 83 84 sleep :: Float -> Active Era 85 sleep t = fmap (\ i -> if i <= 0 then Before 86 else if i >= 1 then After 87 else During) (scale t age) 88 89 both :: Active a -> Active b -> Active (a,b) 90 both a b = pure (,) <*> a <*> b 91 92 instance Over a => Over (Active a) where 93 over a1 a2 = fmap (\ (a,b) -> a `over` b) (both a1 a2) 94 95 infixr 5 `lay` 96 -- Note the different order; the second thing goes on top 97 lay :: Over a => Active a -> Active a -> Active a 98 lay a b = (b `after` a) `over` a 99 100 flicker :: Over a => [Active a] -> Active a 101 flicker = foldr1 lay 102 103 ------------------------------------------------- 104 105 --page :: Active a -> Active a -> Active a 106 107 108 109 ------------------------------------------------- 110 -- Time changers -------- 111 112 -- Do *right* after second argument. 113 after :: Active a -> Active b -> Active a 114 after act@(Active low' _ _) (Active _ high _) = actMove (fromRational (high - low')) act 115 116 -- Do *right* before the second argument 117 before :: Active a -> Active b -> Active a 118 before act@(Active _ high' _) (Active low _ _) = actMove (fromRational (low - high')) act 119 120 -- add duration. 121 duration :: Active a -> Active b -> Active () 122 duration a b = (const ()) `fmap` (a `both` b) 123 124 -- Make the duration of the first argument 125 -- the same as the duration of the second argument. 126 streach :: Active a -> Active b -> Active a 127 streach act@(Active _ _ f) aux@(Active low high _) = 128 Active low high $ \ tm -> f (toTime act (fromTime aux tm)) 129 streach (Pure a) (Active low high _) = 130 Active low high $ \ _ -> a 131 132 reverse :: Active a -> Active a 133 reverse (Active low high f) = Active low high $ \ tm -> f $ (high - tm) + low 134 135 infixr 5 `page` 136 page :: Active a -> Active a -> Active a 137 page (Active low high f) (Active low' high' f') = 138 Active low (high' + delta) $ \ tm -> 139 if tm <= high 140 then f tm 141 else f' (tm - delta) 142 where 143 delta = high - low' 144 145 instance Show a => Show (Active a) where 146 show (Pure a) = "pure (" ++ show a ++ ")" 147 show (Active low high _) = "active (" ++ show low ++ ") (" ++ show high ++ ")" 148 149 turnPages :: Active (a -> a -> a) -> [Active a] -> Active a 150 turnPages turn (x:y:xs) = x `page` (turn <*> (snap 1 x) <*> (snap 0 y)) `page` turnPages turn (y:xs) 151 turnPages _ [x] = x 152 153 -- Freeze an active value in time. 154 snap :: UI -> Active a -> Active a 155 snap _ (Pure a) = Pure a 156 snap ui a@(Active _ _ f) = Pure $ f (toTime a (toRational ui)) 157 158 transition :: Active (a -> a -> a) -> Active a -> Active a -> Active a 159 transition merge s1 s2 = merge <*> (snap 1 s1) <*> (snap 0 s2) 160 161 -------------------------------------------------- 162 163 lerpAct :: (Lerp a) => Active (a -> a -> a) 164 lerpAct = Active 0 1 (\ tm -> lerp (fromRational tm)) 165 166 167 -- 0..1 in the first k fraction, then 1 from then onwards. 168 fadein :: UI -> Active UI 169 fadein k = scale k age 170 -- fmap (\ ui -> if ui < k then lerp (ui / k) 0 1 else 1) age 171 172 173 ----------------------------------------------- 174 175 -- Take a movie of what an Active object does between two type stamps. 176 movie :: R -> R -> Active a -> Active a 177 movie start stop act@(Active _ _ f) = Active (toRational start) (toRational stop) $ f . boundBy act 178 movie start stop (Pure a) = Active (toRational start) (toRational stop) $ const a 179 180 -- | 'for' takes short movie of the Active argument, assumping starting at zero. 181 -- concept: 'for 44 (...)' runs '(...)' for 44 seconds. 182 for :: R -> Active a -> Active a 183 for n a = movie 0 n a 184 -- 185 -- 186 taking :: R -> Active a -> Active a 187 taking n a = streach a (sleep n) 188 189 190 191 -------- 192 193 data Player a = RealTime UTCTime (Active a) 194 | Frame Rational (MVar Integer) (Active a) 195 196 realTime :: Active a -> IO (Player a) 197 realTime act = do 198 tm <- getCurrentTime 199 return $ RealTime tm act 200 201 -- 202 byFrame :: Rational -> Active a -> IO (Player a) 203 byFrame fps act = do 204 v <- newMVar 0 205 return $ Frame (1 / fps) v act 206 207 play :: Player a -> IO (Maybe a) 208 play (RealTime _ (Pure a))= return (Just a) 209 play (RealTime tm act) = do 210 tm' <- getCurrentTime 211 let r :: Rational 212 r = toRational (diffUTCTime tm' tm) 213 return $ snapAt r act 214 play (Frame _ _ (Pure a)) = return (Just a) 215 play (Frame rate frameVar act) = do 216 frame <- takeMVar frameVar 217 putMVar frameVar (frame + 1) 218 let r :: Rational 219 r = rate * toRational frame 220 return $ snapAt r act 221 222 -- Internal function, only works *inside* the motion-live of an object. 223 snapAt :: Rational -> Active a -> Maybe a 224 snapAt r act@(Active start end f) 225 | r >= start && r <= end = Just $ f (boundBy act r) 226 | otherwise = Nothing 227 228 229 230