Ruins have always incited a reflective, lyrical, or melancholic response. People are perversely fascinated by the sight of crumbling temples, of abandoned cities overgrown with shrubs, of marble heads peering out through the sand, of roads grown silent. They take a macabre pleasure in observing the evidence of human decay and the final victory of nature over civilization. Individuals through the ages have taken different lessons from this drama.
Some see in ruins a cautionary tale of the futility of greatness and the inevitability of rot. Like the anamorphic portrayal of the skull in Holbein's magnificent painting, The Ambassadors, ruins serve for them as a reminder that everything human will one day perish. For others, however, ruins represent the longevity of human creation. The Parthenon, the famed city of Persepolis destroyed by Alexander, and the mosaics of Leptis Magna in North Africa stand as testaments of art and engineering, humanity's defiance against the sands of the desert and of the hourglass.
While we, like people in the past, may be stirred by the majesty of the Pyramids or moved by the ashes of Carthage, we nevertheless have a different perception of the material past. Our view is colored by archaeology, which, in its desire to save and restore the past, transforms it into something modern. Archaeology paradoxically makes ruins look "unancient": skeletal remains brought to life in sound and light shows. Scrubbed, fenced off, and scaffolded, ruins have never looked as they do now.
 Quite often people constructed their houses or entire cities on the wreck of previous settlements, as Christian Rome was built upon the pagan city. Early Christian churches often incorporated broken columns, fragments of sculptures, or marble slabs from classical temples into their structures. These early buildings were essentially syncretic (in the way early Christianity was), combining the pagan and the Christian architecturally as well as theologically. Ruins formed part of the urban and natural environment, a habitat not only for bushes, birds, and bats, but also for hermits, visitors, and madmen. Christopher Woodward waxes elegiac about how until the nineteenth century the Colosseum was an enchanting garden of rare plants and flowers—brought as seeds, it is believed, by the exotic animals once slaughtered there—and a refuge for poets, artists, beggars, pilgrims, and eccentrics. 1 The Acropolis was cramped with postclassical structures, including a Frankish tower and an Ottoman minaret. Today, with these buildings gone, the Acropolis is supposed to represent the classical period, even though in that age it never looked like this.
Both Macaulay and Woodward mourn the cleansing and ordering of the past. "It is the familiar tragedy of archaeology—the sacrifice of beauty to knowledge," Macaulay complains. 2 This sacrifice of stillness and mystery represents for Woodward a loss to the poet. For the archaeologist, "the scattered fragments of stone are parts of a jigsaw, or clues to a puzzle for which there is only one answer, as in a science laboratory" (IR, 30). The poet, by contrast, looks for any answer stirred by the imagination. Macaulay and Woodward bring to the fore that peculiarly modern dilemma: Should we leave the material past as it is, deriving inspiration from it? Or should we clean it up and protect it, thereby rendering it static? There is little doubt on which side they stand.
Woodward, for instance, longs for the Colosseum of yesteryear, the garden visited by Chateaubriand, Goethe, Byron, Poe, and fictionally by James's Daisy Miller. Instead of today's "bald, dead and bare circle of stones," he yearns for the 1820s when Stendhal watched an Englishman ride his horse in the arena at night. "I wish that could be me," he adds wistfully (IR, 30-1). Macaulay and Woodward dream of the rapture among ruins experienced by travelers before archaeology, like the indefatigable Lady Hester Stanhope arriving in 1846, as one of the first Europeans, to the once glorious Roman city of Palmyra, hidden deep in the deserts of the Levant; or the French architect who chanced upon the extraordinary Doric Temple of Apollo at Bassae (Arcadia), forgotten for centuries except by local shepherds.
Those who take the hair-raising drive to this temple today, passing by villages clinging hopefully to cliffs, come upon a Christo-like work—a bizarre-looking structure covered by a white, gleaming canvas rising in a series of cone towers. Archaeologists have taken this extreme step to protect the temple from the harsh mountain environment while they restore it by disassembling the entire structure piece by piece. The effect of the cover, which may last for decades, is virtually to erase the temple from the mountain. In place of the Doric masterpiece is a postmodern work. "Et in arcadia non ego," Macaulay and Woodward would say. One can only imagine how travelers from the ancient geographer Pausanias onwards reacted upon arriving at the solitary spot and witnessing the austere splendor of the ruins so vulnerable, exposed to wind and ice. What hubris must have possessed the cosmopolitan architects of the Parthenon to construct a temple on a mountain in Arcadia! "A noble wreck in ruinous perfection!" wrote Byron of the Colosseum 3 —mournful lines describing the Temple of Apollo at Bassae as well.
The protective wrap that robs the temple of its nobility points to the uniqueness of our modern, archaeological conception of ruins. In the service of the state and the doctrines of nationalism and historic preservation, archaeology has tidied sites by razing non-ancient buildings, clearing the temples of vegetation, cataloguing all the fallen pillars, fencing them off from the city, guarding them from further decay. Archaeology has attempted for a hundred years to spruce up aging beauties by removing blemishes and wrinkles.
Has the whitewashing of the edifices led to the departure of the Muses, as Macaulay and Woodward fear? Can modernized ruins still mesmerize? Do we have a spiritual relationship to ancient sites fenced off from their urban and natural setting, trampled by tourists, and littered with Kodak boxes? Can a building on which neither spider webs may form nor owls roost still stir our imagination? 4
A look at the way modernist Greek poets understood and used the past in their work could help us answer some of these questions. For these poets, like their nineteenth-century predecessors, made frequent references to antiquity. The ruins of Athens had become an inevitable topic for these poets for two reasons. First, the international discourse of Hellenism, which had posited classical Greece as the fountainhead of European civilization, had rendered classical culture a compelling topic for all the arts. Modern Greeks poets followed suit. Unlike the Europeans, however, who sought their continental roots in Hellas, modern Greeks traced their national genealogy to the ancient Greeks. They came increasingly to view themselves as heirs to an illustrious tradition.
Second, Greek poets could see classical monuments every day. Yiannis Psycharis (1854-1929) had the major political, artistic, and philosophical luminaries of Athens come to life on the Acropolis, for instance in To Taxidi mou (1888 [My journey]). 5 Not solely a topic to be learned abstractly in the Gymnasium, the classics could be seen in the refurbished Parthenon, heard in the purified Greek language, and experienced in pre-Christian customs. Thus, unlike Hölderlin, Freud, Ernest Renan, or Virginia Woolf, Greek poets never had to ask themselves whether the Hellas taught in school actually existed. Few experienced moments of epiphany on the Acropolis or rapture in the Temple of Poseidon at Sounion. These poets had joined artists, architects, city-planners, historians, linguists, folklorists, and philologists in the grand enterprise of the nineteenth century to restore classical Greece.
In order to understand the relationship between archaeology and modernist poetry, we need to look briefly at the way archaeology (along with folklore and literary criticism) had been conscripted in the nineteenth-century mission to resurrect Hellas. As Greeks began in the latter part of the eighteenth century to trace the source of their ethnic uniqueness in antiquity, they employed archaeology to provide the material basis for their claims. 6 In one respect this was a predictable method of justifying authority. Royal families and ethnic groups have often sought the prestige of a glorious past to bolster their power. In modernity, as the Greek case shows, this pursuit has been spearheaded by a nationalism that sought for the first time in history a union between culture and power, the nation and the state, the government and the governed. 7 In their quest for liberation from the Ottoman Empire and the establishment of an independent nation-state, Greek nationalists used classical antiquity as a way of demonstrating to Europeans the efficacy, integrity, and durability of Greek culture. They also identified the value of a glorious past in their strategy to endow Greeks with the self-assurance to undertake the exciting but perilous journey towards modernity. As the earliest people of the Ottoman Empire to seek political sovereignty, they were the first to see the significance of both the existing monuments and future archaeological discoveries as banners of national identity. The Greeks were the first to understand the larger political significance of archaeology, seeing in it a means of legitimating geographical and historical claims, of demonstrating a diachronic continuity, and of instilling in people a sense of pride about their past. Other nations in the Balkans and the Near East have subsequently employed this argument in their pursuit of independence.
Although the growing Greek interest in the past was partly a result of the European discourse of Hellenism, it was also a nationalist reaction to the plunder, motivated by this discourse, of antiquities, which began in the seventeenth century. A German archaeologist had quipped with some justification that by 1840 the most renowned examples of Greek art were to be found in European museums. 8 It was understandable, therefore, that the Greeks should attempt to gain control of both the idea and the physical remnants of Greece. To this effect the Philomousos Etaireia was formed in 1803 in Athens for the study and protection of antiquities. Adamandios Korais (1748-1833), the first Greek scholar systematically to study Greek antiquity, called in 1807 for the end of the removal of antiquities and manuscripts from Greece. Once established, the provisional government passed a law in 1829 forbidding the export of ancient artifacts. 9 The Archaeological Act of 1834 set out to regulate the practice of excavation. In the course of the nineteenth century the Greek government passed successive measures to administer the excavation of sites, fund museums in Athens and the provinces, and generally preserve the remnants of the past. To protect the monuments of Athens, Eleni Bastea has shown, planners fenced them off, removing them in this way from the city fabric.
The Greek conception of the past was quite pragmatic. Greeks had little nostalgia à la "Ozymandius" for the lost world of broken statues; no feelings of sorrow at the passing of greatness; no sense of awe at the ephemeral nature of earthly power. Rather than anguishing over the destruction of the temples, Greeks had to preserve them and to prevent the further plunder of what they now considered their inheritance. Archaeology exuded this national optimism, promising more beautiful objects and knowledge about the past.
The care for antiquities transcended archaeology itself, having become a major concern of politicians, intellectuals, artists, journalists, poets, and teachers alike. It was part of the greater effort to restore the past, promoted by leading institutions, which touched all aspects of life. This effort was motivated by the belief that Greeks could resuscitate the past by planning cities according to ancient models, by purging the demotic language of Turkish words, by giving classical names to children, by praising the Acropolis in verse, and by designing neoclassical buildings.
This conception of antiquity shows the ongoing political and cultural significance of the past. The Greek case shows that, rather than an escape from daily realities, history can live in the present by pushing it to the future. The Greeks turned to the past in their attempt to become modern. A neoclassical Athenian house in the nineteenth century was a sign of cosmopolitanism; a photograph of the Acropolis could serve worldwide as a metonymic representation of modern Greece; for modernist poets the classical material served as a way of addressing contemporary problems. The Greek use of the past demonstrates what Woodward says more generally of ruins: "When we contemplate ruins, we contemplate our future" (IR, 2). The entry into the museum, Jonah Siegel argues in his discussion of the "nineteenth-century culture of art," indicates a direct engagement with what it means for a society to preserve, to organize, and to admire objects from the past. 11
By the end of the century and the advent of literary modernism, this project had lost some of its confidence. The constant comparisons of modern to ancient Greece and the inevitable disappointments became taxing. The classical tradition, rather than providing a source of pride and inspiration, had grown heavy. Neoclassicism developed into a procrustean machine, pushing for linguistic and aesthetic conformity. Under these pressures, Greek poets, like their counterparts elsewhere, began to find the classical tradition stifling.
No European poet confronted the meaning of this de-idealization of Greece more than Constantine Cavafy (1862-1933), who lived and died in Alexandria, a city in the Hellenic diaspora. Cavafy was perhaps the most archaeological poet, passionate in excavating the past but also interested in uncovering an adulterated Greece, a Greece of cultural and racial mixing. For Cavafy the past was alive, relevant, and modern. With the exception of a few poems, his tone was rarely elegiac; he hardly mourned the eclipse of ancient Alexandria. Unlike nineteenth-century poets, and even his contemporary, Angelos Sikelianos (1884-1951), who evoked the golden period of Greece, Cavafy preferred the Hellenistic age and Roman late antiquity, epochs associated with decline and exhaustion.
Moreover, Cavafy developed a penchant for forgotten or neglected res from these periods, for people to whom official narrative devoted only a few lines. In "Kaisarion" , for instance, the speaker peruses a book of inscriptions devoted to the Ptolemies. Bored by the sycophantic praise of renowned kings and queens, his attention is drawn by a reference to the minor king, Kaisarion (Caesarion), son of Cleopatra and Julius Caesar, put to death by Augustus who feared "too many Caesars" claiming the throne. At the end, the speaker imagines what he was like, beautiful, sensual, and ideal in his sadness, because so little was written about him. Not sharing the archaeologist's respect for historical integrity, the speaker fills in the missing pieces of the mosaic.
In this and other poems, Cavafy dug through the deposits of time to
uncover the scraps of history. He approached antiquity as an epigrapher,
searching for inscriptions beneath romanticized layers of textual
scholarship. Characteristic is "In the Month of Athyr" in which
the speaker attempts to decode the meaning of a gravestone. Through its
form and content the poem dramatizes the praxis of archaeology—the
concern with the material world and the challenges of making broken
inscriptions, pots, and sculpture speak about their original surroundings.
| I read with difficulty | on this ancient stone. |
| I detect a "Ky[ri]e Jesus Christ." | "A So[u]l." |
| "In the mon[th] of Athyr" | "Lefkio[s] went [to] sleep." |
| In the reference to his age | "He li[ve]d to the age of," |
| The Kappa Zeta shows that | he went to sleep young. |
| On the damaged lines I see | "H[e] an Alexandrian." |
| Then there are three | very smashed lines; |
| But I can still identify a few words | such as "our [t]ears," "pain" |
| Then "tears" again, | "sorrow to . . ." |
| It seems that Lefkios | was greatly loved. |
| Lefkios went to sleep | in the Month of Athyr.12 |
The very first line places us in the act of reading a damaged inscription. The vertical division of the poem emphasizes the effort of extracting meaning from the disred surface by compelling the reader to confront a caesura in every line. Square brackets, empty spaces, rows of dots, and references to defaced lines further reinforce the archaeological nature of our approach to the ancient world. As the speaker's eyes descend along the lines of the stone, he uncovers some facts: The inscription stems from well after the time of Christ; the stone marked the grave of a Christian young man called Lefkios who lived in Alexandria and died in the autumn at the age of twenty-seven; he was loved deeply by friends and relatives.
In addition to enacting the scene of archaeology the poem reveals Cavafy's modernist understanding of the classical past: He sets the poem in late antiquity rather than the fifth century; he chooses Alexandria, part of the extension of Hellenism at that time, rather than Athens or mainland Greece; he focuses on the imaginary Lefkios, one of the city's ordinary inhabitants, rather than on celebrated historical res. "In the Month of Athyr" is one of about seven funerary poems whose subjects are undistinguished young men—young Willy Lomans of the time—taken from the racial, ethnic, and religious mix of the Eastern Mediterranean. By focusing on this world, Cavafy prered by many decades our contemporary interest in multicultural and hybrid Greece.
Having written about the Trojan War and the Battle of Thermopylae in early didactic poems, Cavafy turned his back on heroic epochs, preferring the "ignominy" of what was then widely believed to be a period of Hellenic cultural exhaustion. Since he studied and wrote about this period, he knew very well that the fifth century could never be restored. Cavafy had no time for an everlasting Greek spirit. The Parthenon makes no appearance in his oeuvre. This stands in contrast to the paeans written to this temple by poets in the latter nineteenth century; 13 or to the passage in Psycharis's To Taxidi mou in which the major political, artistic, and philosophical luminaries of Athens come to life on the Acropolis of his day. Cavafy too made the ancient Greeks come alive in his poetry, but his were the average Lefkios and Lanis of the street. Although he took an oblique angle to Hellenism, he continued to represent it as a supreme value, the global cultural system of post-Alexander antiquity that elites of the Mediterranean and Near East identified with. He qualified its authority by showing it beholden to Roman power and vulnerable to barbarian threats. His Hellenism, therefore, was ironic and self-mocking, conscious of its own historical limitations while being open to racial and ethnic mixing.
Cavafy's modernist farewell to Hellas constitutes part of a larger historicist reappraisal that had begun to situate Greece in the context of the ancient world. No longer the originary culture par excellence, Greece came to be regarded as an important society among the other civilizations of antiquity—Egypt, Persia, Israel, Sumeria, and Babylonia—some of which were ancient themselves by the fifth century. Scholars of Egyptology and Assyriology, for instance, looked to the classics as a paradigm for the development of their own fields, adding, thereby, three thousand years to the history of Greece. 14
In this sense, classical studies paradoxically contributed to the undoing of the Hellenic model. And archaeology itself played its part in the ultimate ruin of this ideal. Although classical archaeology arose as a discipline from the search for beautiful sculpture (the most prestigious form of classical art in our post-Winckelmann world), it necessarily unearthed information about the material world of Greece and other Mediterranean societies that buried the ideas of Greece as source of civilization and of classical art as ideal form. 15 The excavations on the Acropolis, for instance, revealed statues of korai (maidens) and kouroi (youth) from the sixth century B.C., painted in bright blues, reds, and yellows, colors which seemed garish and tasteless to those who were accustomed to the bright gleam of Pentelic marble. Similarly, the vast digs at Pompeii and Herculaneum exposed a highly eroticized world of huge phalluses, fornicating couples, men engaged in anal copulation. These scenes, depicted on vases as well as on house walls, displayed a bacchic sexuality in contrast to the idealized male torsos of neoclassicism, which invited a restrained, if homoerotic, appreciation. Moreover, the more knowledge archaeology yielded about Greece and about the societies contemporaneous to and preceding it, the less credible was the neoclassical ideal of an immaculately conceived Athens whose only goal was the appreciation of beauty.
Modernist poets, like Cavafy, embraced this de-idealized picture of Hellas. Modernism itself reacted against the calcification of classicism. In general, it became disenchanted with the restoration project in which archaeology was a chief participant. Instead of taking the past as a given to be exploited, modernist writers problematized their relationship to it. They increasingly asked themselves whether we could know the past at all as archaeology had promised, whether it could be resuscitated in a way still meaningful to the present, or whether the past had become a dead weight.
We see these questions posed in the poem, "The King of Asini," by the Nobel Prize-winning poet Georgios Seferis (1900-1971). Like Cavafy, Seferis was born in the Hellenic diaspora, in his case, in Smyrna (Izmir). In contrast to Cavafy's bare, reserved, metonymic language, he wrote in the grand modernist manner of T. S. Eliot, developing an elliptical and highly metaphoric verse overloaded with images of loss, war, alienation, and homelessness.
Unlike Cavafy, Seferis did not develop a theory of antiquity; yet he returned to ancient Greece as a way of commenting on the horrors of the modern world. In the sublime "Helen," for instance, he used a different version of the Helen myth 16 —in which a likeness of Helen went to Troy while the real one stayed in Egypt—to reflect on the vanity of war and on the ease with which human beings are deceived into ting for nothing:
And the rivers swelled blood in the silt
for a linen wave, a cloud
a butterfly's flutter, a swan's feather
an empty shirt, for a Helen. 17
Similarly, in "The Argonauts," he employed Jason's courageous but compliant companions as symbols of toil, exile, and silence. Having done their duty in order to retrieve the Golden Fleece, these sailors died one by one without any recognition. "No one remembers them. Justice." 18 Other poems are littered with broken statues that allude less to antiquities than to a disjointed life today.
"The King of Asini" differs in that it actually deals with the ancient world, and specifically with the capacity of archaeology to reveal the secrets of the past. The poem begins with a brief citation of the word "Asini," which Seferis takes from the Iliad, in the same way that he starts his "Helen" with a quotation from Euripides's tragedy. That the Greek language constitutes, along with Chinese, the longest unbroken linguistic tradition in the world, allows Greek poems to quote texts from previous ages without necessarily having to translate them into the demotic. Modernist poets, as Vassilis Lambropoulos explains, used the device of quotation, rather than that of allusion, to address an earlier text. 19 Cavafy was the master practitioner of this technique, constantly incorporating material from classical sources in his poetry, showing thereby the diachronic extensions of Greek as well as the thickness of textuality.
The citation of ancient or Byzantine lines in modern poems demonstrates the continued presence of the classics in modernity. In Seferis's case, the quotation emphasizes that antiquity is both familiar and strange to the Greek reader, who can recognize words but would need some help with the ancient Greek syntax. This juxtaposition of the known with the unknown works well in "The King of Asini," since its theme is the gulf between antiquity and the present. The speakers, the unnamed "we," have been searching two years for the grave of the King of Asini, one of the Greek warriors who fought in Troy. They acknowledge the scanty written record, for "only one word exists in the Iliad and that uncertain." Like Kaisarion in Cavafy's poem, all have forgotten the king, even Homer himself. The only reference we have is the word "Asini" in the "catalogue of ships" section of the Iliad that Seferis cites. In Cavafy's poem the speaker/poet spurns the well-documented kings and queens, deliberately choosing to write about Kaisarion so as to fashion him freely in his mind as a beautiful, sympathetic boy. He delights in the paucity of the written record because this enables his creative freedom. For Seferis, on the other hand, this lack becomes a metaphysical problem, frustrating the speakers/poets who long to know the past. The word "Asini" lies buried like a "funerary gold mask," incapable of speaking about itself. 20 When they touch it, they hear an empty sound like that made by the still unexcavated jar. The King of Asini is himself a "void below the mask," his children statues, and his "desires the fluttering of birds." What remains of the king are metaphors: the wind "in the intervals of his thoughts" and the memory of his "ships docked in a vanished harbor."
Tarrying among the stones "the poet" asks himself what we can possibly unearth from the soil of antiquity. What can we find here "among these broken lines, edges, points, cavities, curves?" Nothing, is his answer. Capable of knowing little of a "previous living existence," we are left with only the "weight" of its memory. Running our fingers along these very stones, we can perhaps sense the king's "touch" lingering on them. Or we can believe that he has taken the form of a bat, darting out of the cave and striking the light "like an arrow hitting a shield." These ghosts now haunt the once mighty citadel of Asini. 21
The image of the bat hitting the sunlight shows that these unfenced ruins still inspire the poet. But it is important to distinguish between the search for the citadel of Asini by the speakers of this poem and Macaulay's and Woodward's visits to the Colosseum. Seferis's anguished questions about the very existence of antiquity differ from those posed by Western travelers in pursuit of a communion with ancient ruins. Rather than expressing surprise at finally witnessing a world-famous monument or disappointment at the sight of fences, Seferis wonders what we can ascertain of the life beneath the funerary mask. He asks whether the Greek stones speak to his modernist sensibilities. His negative response indicates not only disenchantment with the sanguine promises of archaeology to communicate with the past; it also manifests weariness with classical antiquity as both cultural ideal and subject matter for art. This is why the poet himself becomes a "void." His own emptiness tacitly acknowledges that antiquity has become a "weight" for moderns and modernists alike because they can find little to say about it. The modernist poet is silenced by the stillness of the past and by the modern verbiage about this stillness. The poet in Seferis's poem expresses both the anxiety of influence—that his approach to antiquity was borrowed from Cavafy 22 —and the anxiety of excess—that thousands of lines have already been devoted to the classics. Hence modernists chose to change the topic or to write in a different mode, as we will see in the case of Nicolas Calas.
It is ironic that, although archaeology had first raised questions about the ahistorical conception of Greek art by unearthing information about Greek and other societies, classical archaeology in the twentieth century has buried its own past. It has chosen instead for decades to identify its fate with the very classical ideal that it helped historicize. Because of this disciplinary amnesia the revolutionary aspect of archaeology has also been forgotten. Yet archaeology as an approach to history is unprecedented. While other societies had an interest in the past, nothing resembling the modern discipline of archaeology existed before the modern age. 23 There was no systematic study of previous societies and certainly no interest in excavating the earth for its cultural treasures, other than the pursuit of the riches in graves. The ancient Greeks, for instance, had a very limited antiquarian tradition, at least before Alexander. Hellenistic kings and then the Romans first began to value and collect examples of Greek art, a practice to be revived in Byzantine Constantinople 24 and later in the Italian Renaissance. The great families of Renaissance Italy, such as the Farnese, Medici, and Ludovici, as well as popes and bishops, began to acquire vast collections primarily of Roman copies of Greek sculpture. Their desire for Greek originals led to excavations that yielded such extraordinary discoveries as the 1506 find of the Laocoön, a dramatic Hellenistic sculpture depicting the writhing bodies of the Trojan priest Laocoön and his two sons being strangled by huge serpents. 25 Works such as these came to represent the epitome of Greek sculpture: simplicity and quiet grandeur, or in the words of Johann Joachim Winckelmann (1717-1768), composure in the midst of passions. 26
This strong interest in Greek art established a relationship to antiquity that was unique, for it posited classical Greece as a utopia worthy of emulation. Travelers went to Italy and then to Greece with the aim of observing, recording, and removing its masterpieces. To highlight the difference between these modern travelers and their ancient counterparts, Nikolaus Himmelmann points to the trip to Greece undertaken by the Roman officer Aemilius Paullus in 167 B.C. Although Paullus observed famous works of art, he saw them principally as religious representations. Similarly, when travelers came through these regions during the Middle Ages, they did so as pilgrims or crusaders rather than as collectors of art. 27 It was modernity, Himmelmann argues, that first created antiquity as a completely different society, a non-Christian alternative to itself. There was no such temporal or cultural other for the Greeks and Romans; no ancient languages to be learned, no substitute for Greek and Roman literature, no supplementary world, save for the deep mythic past and the barbarian hordes beyond the frontiers. 28 Although the Greeks and Romans interacted with the barbarians in war and trade, they had set up the cultural boundaries between themselves and the outer world so dramatically presented in Euripides's Medea and Aeschylus's The Persians. 29 For modernity, however, the classical period constituted something familiar and strange, a society separate from the present yet also connected to it, an ideal to be copied and a burden to be overthrown.
Winckelmann contributed hugely to the creation of this double inheritance, having made the admiration of classical art, particularly sculpture, mandatory for Europeans. In Reflections on the Imitation of Greek Works in Painting and Sculpture , for instance, he argued that the only way for moderns to become great was by imitating the Greeks as opposed to imitating nature. 30 His observation of Greek statues in Rome helped establish the modern appreciation of art: Viewers are invited to find in an object an ideal of beauty. His work determined the simultaneous historicization and idealization of art, placing Greek art in its historical context and on a pedestal. It is not by chance that Winckelmann never traveled to Greece, preferring an aestheticized Greece to the real one. An actual visit might have ruined his fantasy. 31 At the same time, however, his work provided art with its own disciplinary history and associated it with a wider history. In History of Ancient Art he explicitly connected Greek art to freedom. It was the self-governance of Greece, he argued, that created the superiority of its art. 32 The free Greeks, in turn, he argued, loved beauty as no other people.
This idealization of Greece increased the demand for knowledge about the country. More and more Europeans searched for an ideal in an area still ruled by the Ottomans. Travelers extended the Grand Tour to the Greek territories and the Levant in their effort to identify and describe famous classical sites, often using ancient historians like Pausanias as their guides. 33 They brought back with them inscriptions, broken statues, parts of temples.
Archaeology was a pastime for these aristocratic men concerned with expanding both their cultural horizons and their personal collections. In the course of the nineteenth century, however, archaeology evolved into a scholarly practice, part of the university-based science of Altertumswissenschaft that German scholars had created. 34 This was the time of the first systematic and large-scale excavations in Greece: Olympia , Delphi , and later the Agora in Athens. Although motivated by the discovery of exceptional sculpture to rival the Elgin Marbles (stored in the British Museum), the Victory of Samothrace (the Louvre), and the pediments of the Temple of Aphaia in Aegina (the Glyptotek, Munich), these excavations actually gave archaeology scholarly credibility in the field of classical studies. For archaeologists in the nineteenth century were the ones responsible for discovering, interpreting, and popularizing Greek art, the one realm in which the ancients held superiority over the moderns. 35
That Greek archaeology gained scholarly credibility does not mean that it had jettisoned its idealized approach to the past. Like modernism, it remained caught in the contradictions of its epistemological inheritance. Both literature and archaeology were products of the eighteenth-century philosophical, cultural, economic, and social transformations that saw the rise of the notion of aesthetic autonomy, the practice of aesthetic appreciation, and the institutions of art, literature, and criticism. As a result, modernism and archaeology conceived of culture as a collection of masterpieces and upheld the idea of transcendent beauty. More important, both believed in the purity of aesthetic forms.
Thus Cavafy subjected to criticism nearly all social institutions (religion, government, bureaucracy) and norms (sexual, moral), except beauty. He foregrounded art by turning his poems into exercises for the reflection on art, poetry, language, tradition, and the audience. 36 He rendered poetry, and by extension art, a human fabrication without mystery and aura. At the same time, he enjoined readers to appreciate beauty, in art or in youth, with a nearly religious devotion. Beauty was for him, on the one hand, a human invention, and on the other, a Platonic domain of permanence. In his poetics earthly beauty, such as that of Lefkios, could be saved in the absolute realm of poetry. The only solace in a world of aging bodies and ruined civilizations was that transcendent realm of art. The goal of the artist was to save ephemeral experiences by entrusting them to this realm.
This is also the role archaeology has assumed for itself. On the one hand, archaeology contributed to the historicization of Greek art. But on the other, it persisted until the last few decades in affirming the primacy of this art. Because Greek archaeology, according to Ian Morris, saw itself as part of Classics rather than the general field of archaeology, it showed little interest in challenging narratives based on literary texts with its ability to trace historical change. 37 Greek archaeologists embraced "the innocuous role of shielding the textual world from disruption by material culture." 38 Until recently they have tied their fate to the preeminence of Greek culture in the West. But as its superiority was subjected to critique—to which they wittingly or unwittingly contributed—they were left little ideological justification. Nonetheless, Stephen L. Dyson asserts, Greek archaeology functions even today as if the aesthetic values of Hellenism still held the same relevance in scholarship or society at large as they did a hundred years ago. 39
Modernist poets have reacted to this continued idealization of art and to archaeology's mission of aesthetic restoration and preservation. This critique comes out quite clearly in the poem, "Acropolis," by the avant-garde poet Nicolas Calas (1907-1988) who, like Cavafy and Seferis, spent his adult life outside Greece, first in Paris and then in New York. As a modernist poet, Calas could not write about the Acropolis, a place of overdetermined national and global significance, without the distance of irony. After all, what could he possibly say about it that had not already been said by politicians, poets, journalists, art historians, or archaeologists? By the time of modernism both the Acropolis and archaeology itself had become familiar in Greece to the point of becoming oppressive to many. In the work of the popular national poet Kostis Palamas (1859-1943), for instance, the word "Acropolis" occurs eighty-eight times and "Parthenon" ninety-one times. 40 In his poem, "The King's Flute," Palamas associated the "pure and grand Doric temple" with the nation: "Each time Fate pitilessly strikes the Nation [Genos], the temple, the heart of the Nation first withstands the blow." 41
It would have been impossible for Calas to ignore the various interpretations of the Acropolis. So in a typical avant-garde way, he wrote about the uses, or interpretations, of the Acropolis. His first object was Yiannis Psycharis, who promoted a militant demotic version of the popular language, Greek culture, and antiquity that Calas felt debased antiquity. He then criticized foreigners, like the Swiss photographer Fred Boissonas (who conducted extensive photographic visits of Greece in the early twentieth century) for exploiting the image of the Acropolis. While in Psycharis Calas saw the vulgarization of the Parthenon, in Boissonas he condemned its commodification. Renan, "the official sexton of the Acropolis," initiated the modern pilgrimage by foreigners to the sacred rock while "Herr Karl Baedeker" let in the hordes with the "Agfa and Kodak rolls of film." For Calas these tourists daily bombard the Parthenon with their cameras, shooting it much in the way that the Venetians in 1687 bombed the interior of the temple where the Turks had stored gunpowder. 42
As a modernist devoted to the purity of forms, Calas was disgusted with the transformation of the Acropolis into a site of global tourism as well as an object reproduced in postcards, small sculptures, and trinkets. 43 He opposed the idealization and commercialization of antiquity, its conversion into both national shrine and house of capitalist prostitution. This repugnance with mass culture is surely one of the chief characteristics of modernism. As John Carey has shown, modernists reacted with hostility to the emergence of mass culture and such phenomena as suburbs, tourism, tabloids, and comic books. 44 Actually they had a contradictory relationship with their audience, condemning it for crassness while yearning for recognition. This position, perhaps always defining the modern artist, was particularly acute for radicals like Calas whose progressive politics took the opposite direction of their elitist, highly formalized, and abstract aesthetics.
Thus Calas still remained committed to the purity of aesthetic forms, to an unadorned Doric temple, free from the banality of flags and guidebooks. His critique of the archaeological project of restoration and its cheap exploitation of classical monuments resembles that of later writers like Macaulay and Woodward. Although Calas did not long, as they do, for a Parthenon that still bears the accumulation of time and nature, he believed in the primacy of the original. This explains why Calas focused so much attention in his poem on the click-clack of the cameras, the rolls of film, and the floodlights. The cameras for him led to the kitsch reproduction of the temple, "killing it with their lens," leaving it "dead" and "fake."
Modernism and archaeology were, as I noted earlier, both products of the same aesthetic and philosophical developments of the eighteenth century. Ultimately both relied on the concept of pure aesthetic form and on the majesty of the original over the copy. Even though high modernism put into doubt many social institutions, it reserved a special place, beyond contingency and decay, for beautiful forms. Likewise, the disciplinary rationale of archaeology was its capacity to unearth ever more Greek originals to house in museums packed with less desirable Roman copies. It is not a coincidence that Calas reacted so violently to the intrusion of the cameras on the Acropolis and the exploitation of the Parthenon in advertising. The new technologies of reproduction threatened, as Walter Benjamin noted, the aesthetic aura of art. 45
From our perspective we have come to understand that this aura has hardly been tarnished. If anything, photography and new electronic modes of reproduction have reinforced the power and appeal of the original. We see this in the high prices commanded by original works of art and the magic allure of masterpieces like the bust of Nefertiti and the Mona Lisa, or original documents such as the Magna Carta and the American Declaration of Independence. All of these are approached with religious veneration. The power of the original, to use an example from Greek archaeology, can be seen in the decision by the Metropolitan Museum to purchase an extraordinary krater by the master vase-painter Euphronius depicting the dead body of the Homeric hero, Sarpedon. The museum's desire for a vase by this painter was so great that it paid a million dollars for it in 1972 and for years highlighted its significance by displaying it alone in a darkened room. 46
Calas's attack on the camera represented his attempt to preserve the uniqueness of the original from modernity's propensity towards endless duplication and trivialization. But Calas could not escape modernity. On the contrary, he recognized its inevitability. That he juxtaposed Kodak film and the Parthenon in a work of high literature, something that previously would have been seen as blasphemous, shows that the past and the present are one. Despite the efforts by archaeologists to fence off classical monuments from the city's inhabitants, these people arrived in droves to observe, photograph, or pray. And quite often they came on the tram. Such is gist of the poem significantly titled, "Tram and Acropolis," by the surrealist poet, Nikos Engonopoulos (1910-1985):
How sorrowful it would have been—my God—
How sorrowful,
If the hope of the marbles
Had not consoled my heart
And the expectation of a bright ray of light
That would give new life
To these magnificent ruins. 47
The joining together in Engonopoulos's poem of the tram and Parthenon, of modernity with antiquity, shows the vitality of classical monuments for modernist sensibilities. Furthermore, Engonopoulos did not see a contradiction between surrealism and the classics. It is important to note that the aim of modernism and archaeology was the modernization of Greek society, as Artemis Leontis has demonstrated. Modern Greeks "claimed the peninsula of Hellas with its classical sites to be their native workshop" in order to fashion "an indigenous aesthetic." This project made antiquity as well as archaeology vital "cornerstones of Neohellenism." 48 The aim of both poets and archaeologists was to fashion a modernist interpretation of antiquity. Ultimately they have created the modern ruins of the Parthenon, free of all postclassical structures and debris except for the seemingly perennial scaffolding, the permanent fences, and the glare of the lights at night.
With the click-clack of cameras, the prattle of guides, and the crowds pushing towards the exit, perhaps the committed traveler can no longer have a romantic experience of ruins. Birds are no longer allowed to nest along the pediments, and bats avoid the bright lights. But poets are still attracted to antiquity and still discover their own angle.
It is with playful detachment that the contemporary American poet, A. E. Stallings, sees the past in her poem "Consolation for Tamar—on the occasion of her breaking an ancient pot":
You know I am no archaeologist, Tamar,
And that to me it is all one dust or another.
Still, it must mean something to survive the weather
Of the Ages—earthquake, flood, and war—
Only to shatter in your very hands. 49
Archaeology and tourism may have robbed ruins of their mysticism, but we
are still in awe of something that has survived thousands of years. And
we wonder still whether we should display the shards as they are or
reconstruct the pot.
The author of The Poetics of Cavafy, Belated Modernity and Aesthetic Culture, and The Necessary Nation, Gregory Jusdanis teaches modern Greek literature and culture at The Ohio State University.
I am very grateful to Julian Anderson, Dick Davis, Anthony Kaldellis, Vassilis Lambropoulos, and Victoria Wohl for their helpful comments on this article.
1. Christopher Woodward, In Ruins(London: Chatto and Windus, 2001), 30-33; hereafter abbreviated as IR.
2. Rose Macaulay, Pleasure of Ruins(London: Weidenfeld and Nicolson, 1953), 146-7.
3. Byron, "Manfred," 3.4.28.
4. I think here of the Persian verse Mehmet the Conqueror murmured on May 29, 1453, as he moved triumphantly through the wrecked palace of Constantine in Constantinople, which had been destroyed by the Crusaders in 1204: "The spider weaves the curtains in the palace of the Caesars; the owl calls the watches in Afrasaib's towers." Quoted in Steven Runciman, The Fall of Constantinople, 1453(Cambridge: Cambridge University Press, 1965), 149.
5. Yiannis Psycharis, To Taxidi mou (1888; Athens: Nefeli, 1988). This living connection with antiquity is emphasized with respect to the antiquity of Sicily by Giuseppe di Lampedusa in his languid novel, The Leopard: "but the scrub clinging to the slopes was still in the very same state of scented tangle in which it had been found by Phoenicians, Dorians, and Ionians when they disembarked in Sicily, that America of antiquity." The Leopard, trans. Archibald Colquhoun (1958; New York: Pantheon, 1960), 122.
6. On the relationship between nationalism and archaeology see Jeanette Greenfield, The Return of Classical Treasures (New York: Cambridge University Press, 1989); Neil Asher Silberman, Between Past and Present: Archaeology, Ideology, and Nationalism in the Modern Middle East (New York: Henry Holt, 1989); and Bruce G. Trigger, "Romanticism, Nationalism, and Archaeology," in Nationalism, Politics, and the Practice of Archaeology, ed. Philip L. Kohl and Clare Fawcett (New York: Cambridge University Press, 1995).
7. I discuss nationalism's use of culture in The Necessary Nation (Princeton, N.J.: Princeton University Press, 2001).
8. Angelike Kokkou, I Merimna gia tis Archeotetes stin Hellada kai ta Prota Mouseia (Athens: Hermes, 1977), 18. Many Greeks pray for the return of the most famous treasures, such as the Parthenon Marbles housed in the British Museum. Nicholas Flokos's comic novel, Nike, relates the quixotic plans hatched up by its hapless hero, Photi, to rescue the Winged Victory of Samothrace displayed in the grand staircase of the Louvre since 1863. "We have with France, you see, an unsettled score. Repatriation. Bring back our winged one, bring her home." Nike. A Romance (Boston: Houghton Mifflin, 1998), 4.
9. Kokkou, I Merimna, 32.
10. Eleni Bastea, The Creation of Modern Athens: Planning the Myth (New York: Cambridge University Press, 2000), 123, 103.
11. Jonah Siegel, Desire and Excess: The Nineteenth-Century Culture of Art (Princeton, N.J.: Princeton University Press, 2000), 277.
12. Constantine P. Cavafy, "In the Month of Athyr," in Piimata, ed. George Savidis (Athens: Ikaros, 1963), 78. Unless otherwise indicated, all translations are my own. Athyr is the Egyptian goddess of tombs and love; her month corresponds to our autumn. Kappa Zeta is the number twenty-seven.
13. On this topic, see Liana Giannakopoulou, "Perceptions of the Parthenon in Modern Greek Poetry," Journal of Modern Greek Studies 20, no. 2 : 241-72; and Alexandros Argyriou, "The Parthenon in the Consciousness of Modern Greek Poets and Thinkers," in The Parthenon and Its Impact in Modern Times, ed. Panayiotis Tournikiotis (Athens: Melissa Publishing, 1996).
14. Bruce G. Trigger, A History of Archaeological Thought (New York: Cambridge University Press, 1989), 39.
15. The steady accumulation of this physical evidence began to challenge the dominance philology ascribed to texts as sources of knowledge about the past. Archaeology thus could openly confront the textual record by offering a material basis for understanding antiquity. See Margarita Díaz-Andreu and Timothy Champion, "Introduction" to Nationalism and Archaeology in Europe, ed. Margarita Díaz-Andreu and Timothy Champion (Boulder, Colo.: Westview Press, 1996), 21.
16. The variant first appeared in a poem by Stesichorus (632-556 B.C.) and served as the basis for Euripides's tragedy, "Helen," a few lines from which Seferis quoted in the original Greek as a preamble to his own poem.
17. Georgios Seferis, Piimata, 7th ed. (Athens: Ikaros, 1977), 239. H. D. captures these same feelings of anger and betrayal shared by Greeks: "All Greece reviles / the wan face when she smiles, /. . . remembering past enchantments / and past ills." "Helen," in The Collected Poems (New York: Liveright Publishing Corporation, 1925), 227.
18. Seferis, Piimata, 46.
19. Vassilis Lambropoulos, "Classics in Performance," Journal of Modern Greek Studies 20, no. 2 : 194.
20.  The most renowned is the mask of Agamemnon, king of Mycenae and leader of the Trojan expedition, which was discovered by Heinrich Schliemann (1822-1890) in his excavations (1876-1878) and is now housed in the National Museum of Greece.
21. Seferis, Piimata, 185.
22. I mean here Seferis's preference for the marginal King of Asini as well as his repeated treatment elsewhere of Elpenor, the foolish companion of Odysseus who, having gotten drunk, fell from the roof of Circe's house to his death. The penchant for the unknown re from antiquity was prered by Cavafy in "Kaisarion" and other poems.
23. Trigger, Archaeological Thought, 31.
24. On classicism in late Byzantium, particularly that of Georgios Gemistos Plethon, see C. M. Woodhouse, George Gemistos Plethon: The Last of the Hellenes (Oxford: Clarendon Press, 1986).
25. Laocoön attempted to persuade his fellow Trojans against wheeling the wooden horse into the city. To ensure the success of the Greek deception, Athena sent two serpents from the sea to choke him along with his sons.
26. Johann Joachim Winckelmann, Reflections on the Imitation of Greek Works in Painting and Sculpture, trans. Elfriede Heyer and Roger C. Norton (1755; La Salle, Ill.: Open Court, 1987), 33.
27. Nikolaus Himmelmann, Utopische Vergangenheit: Archaeologie und moderne Kultur (Berlin: Gebr. Mann, 1976), 43.
28. Ibid., 41.
29. On the barbarians, see J. P. V. D. Balsdon, Romans and Aliens (Chapel Hill: The University of North Carolina Press, 1979); Barry Cunliffe, Greeks, Romans, and Barbarians: Spheres of Interaction (New York: Methuen, 1988); and François Hartog, The Mirror of Herodotus: The Representation of the Other in the Writing of History, trans. Janet Lloyd (Berkeley: The University of California Press, 1988).
30. Winckelmann, Imitation, 5, 21.
31. One thinks here of Des Esseintes, the dandyish narrator of Huysmans's aestheticist novel, A rebours who withdrew to his villa to read late antique literature and collect exotic objects. On the way to London, he ended his trip in Paris and returned home, not wanting to spoil his imaginary view of the British capital with the real thing. J.-K. Huysmans, Against Nature: A New Translation of À rebours, trans. Robert Baldick (1884; Baltimore: Penguin, 1959).
32. Winckelmann, History of Ancient Art, trans. Alexander Gode (1764; New York: Ungar Publishing, 1968) 1/2:179. Critics, like David S. Ferris (Silent Urns: Romanticism, Hellenism, and Modernity [Stanford, Calif.: Stanford University Press, 2000]), who look at Winckelmann's aestheticization of Greek art, often ignore this aspect. Their line of thinking ends up rejecting Hellenism and Romanticism as apolitical discourses. For a different perspective, see my "Greek Romanticism: A Cosmopolitan Discourse," in Romantic Poetry, ed. Angela Esterhammer (Amsterdam: John Benjamins, 2002).
33. With the exception of philhellenes like Byron, most of these travelers had little interest in modern Greece, finding its inhabitants ignorant, superstitious, and deceitful. See Helen Angelomatis-Tsougarakis, The Eve of the Greek Revival: British Travellers' Perceptions of Early Nineteenth-Century Greece (London: Routledge, 1990), 9. In their paintings of Greece, artists depicted the glorious, legendary Hellas rather than the drab reality of the present. See Fani-Maria Tsigakou, The Rediscovery of Greece: Travellers and Painters of the Romantic Era (London: Thames and Hudson, 1981), 28. They sought the rapture of ruins.
34. James Whitley, The Archaeology of Ancient Greece (New York: Cambridge University Press, 2001), 32.
35. Suzanne L. Marchand, Down from Olympus: Archaeology and Philhellenism in Germany, 1750-1970 (Princeton, N.J.: Princeton University Press, 1996), xii. The display of sculptures and vases in museums and their subsequent reproduction as photographs lent a visual immediacy to the classical world, once available only to intrepid travelers.
36. See my The Poetics of Cavafy: Eroticism, Textuality, History (Princeton, N.J.: Princeton University Press, 1987).
37. Ian Morris, "Archaeologies of Greece," in Classical Greece: Ancient Histories and Modern Anthropologies, ed. Ian Morris (New York: Cambridge University Press, 1994), 26.
38. Ibid., 29.
39. Stephen L. Dyson, "Complacency and Crisis in Late Twentieth-Century Archaeology," in Classics: A Discipline and Profession in Crisis, ed. Phyllis Culham and Lowell Edmunds (New York: University Press of America, 1989), 215. Once a leader in the general field of archaeology, Dyson concludes, Greek archaeology is ruled by tradition and fearful of experimentation. Largely a positivistic discipline, it continues to turn out "bulky catalogues" and "detailed excavation reports" (ibid.). Michael Fotiadis argues that Greek archaeology was preoccupied until recently with essentialist identities and conducted little interdisciplinary work. "Modernity and Past-Still-Present: Politics of Time in the Birth of Regional Archaeological Projects in Greece," American Journal of Archaeology 99, no. 1 : 59-78. See also Dyson, "The Role of Ideology and Institutions in Shaping Classical Archaeology in the Nineteenth and Twentieth Centuries," in Tracing Archaeology's Past: The Historiography of Archaeology, ed. Andrew L. Christenson (Carbondale: Southern Illinois University Press, 1989).
40. Argyriou, "The Parthenon," 342.
41. Kostis Palamas, Apanta (Athens: Biris, 1960), 5:112-3. See Giannakopoulou, "Perceptions."
42. Nicolas Calas, Graphi kai Fos (Athens: Ikaros, 1983), 23-4.
43. See Seferis's essay on Artemidorus of Daldis, author of the Oneirocritica (Interpretation of dreams) in which Seferis dreams that an American toothpaste company, having purchased the Parthenon, replaces the marble columns with ones in the shape of tubes of toothpaste. Georgios Seferis, Dokimes, 4th ed. (Athens: Ikaros, 1974), 2:326-7.
44. John Carey, The Intellectuals and the Masses: Pride and Prejudice Among the Literary Intelligentsia, 1880-1939 (New York: St. Martin's Press, 1992). See also Gene H. Bell-Villada, Art for Art's Sake and Literary Life: How Politics and Markets Helped Shape the Ideology and Culture of Aestheticism (Lincoln: University of Nebraska Press, 1996).
45. Walter Benjamin, "The Work of Art in the Age of Mechanical Reproduction," in Illuminations, trans. Harry Zohn (New York: Schocken Books, 1969).
46. On the controversy surrounding this acquisition see Calvin Tomkins, Merchants and Masterpieces: The Story of the Metropolitan Museum (New York: Henry Holt, 1989), 368-9.
47. Nikos Engonopoulos, Piimata (Athens: Ikaros, 1977), 1:11-2.
48. Artemis Leontis, Topographies of Hellenism: Mapping the Homeland (Ithaca, N.Y.: Cornell University Press, 1995), 116.
49.
A. E. Stallings, Archaic Smile (Evansville, Ind.: The University
of Evansville Press, 1999), 32.


To help jump start working with Esri code on GitHub, we’ve put together this short question and answer page introducing GitHub concepts. We recommend reviewing GitHub’s offical help documentation to learn more.
Every repository in GitHub comes with a ZIP button and a download link. To download Esri source code, you can click either the ZIP button or the download link. The download link offers more options for how your download gets packaged; for example, Zip, GZip.
Figure 1: Download Esri CodeA repository is a container where Esri stores files in a logical grouping. Esri may bundle a single project / application into a repository or multiple projects / applications in a repository. All Esri repositories will have readme files, pronounced “Read-Me” which will document how to get started working with the code base.
Figure 2: Esri repositoriesYes, if you want the power of GitHub behind you. Cloning is another way to obtain Esri source code. To clone a repository on GitHub’s website you must have Git software installed on your computer. This is because cloning a repository physically creates a copy of a repository, storing it in a way such that it can be updated and modified using Git tools. From the GitHub website, you can download Github for Mac, Github for Windows and a variety of Git options on Linux operating systems. Cloning repositories enables you to have one copy of your code locally and one copy in the GitHub cloud. It also allows you to sync between the two spaces, track changes and restore code back to a particular day and time.
Figure 4: Clone a repository
Forking is another action possible with a repository. When you fork
a repository it will show up under your GitHub account. If you want
to incorporate your code changes in our repositories, you will need
to fork the repository. Following this you will need to issue a
“Pull request”.
A pull request is a way of saying, ‘please consider adding my
changes to your official repository.’ Sometimes this form of social
coding will result in an update and other times no action will be
taken.
If you run into problems with a download or a repository, you may find the answers in our readme files. In addition, you can post questions using the Issues tab found within each GitHub repository. If you’re having problems getting a web mapping application up and running, check to make sure you’ve copied all your files correctly onto your web server or have web-enabled the directory where your code lives.


|
BabyOS
V1.1.0
|
#include <stdint.h>
#include <stdio.h>
Go to the source code of this file.
!
Copyright (c) 2019 Bean
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Definition in file b_config.h.
| #define _AT_BUF_LEN 128 |
Definition at line 148 of file b_config.h.
| #define _AT_ENABLE 1 |
Definition at line 144 of file b_config.h.
| #define _AT_I_NUMBER 1 |
Definition at line 146 of file b_config.h.
| #define _BATTERY_D_CYCLE 60000 |
Definition at line 66 of file b_config.h.
Referenced by bExec().
| #define _BATTERY_ENABLE 1 |
Definition at line 62 of file b_config.h.
| #define _BATTERY_THRESHOLD 3350 |
Definition at line 64 of file b_config.h.
| #define _CHECK_CRC32_ENABLE 1 |
Definition at line 103 of file b_config.h.
| #define _CHECK_ENABLE 1 |
Definition at line 101 of file b_config.h.
| #define _CHECK_XOR_SUM_ENABLE 1 |
Definition at line 105 of file b_config.h.
| #define _DEBUG_ENABLE 1 |
Definition at line 59 of file b_config.h.
| #define _ERROR_MANAGE_ENABLE 1 |
Definition at line 71 of file b_config.h.
| #define _ERROR_Q_LENGTH 5 |
Definition at line 73 of file b_config.h.
| #define _EVENT_MANAGE_ENABLE 1 |
Definition at line 77 of file b_config.h.
| #define _EVENT_Q_LENGTH 5 |
Definition at line 79 of file b_config.h.
| #define _FIFO_ENABLE 1 |
Definition at line 138 of file b_config.h.
| #define _FIFO_I_NUMBER 1 |
Definition at line 140 of file b_config.h.
| #define _FLEXIBLEBUTTON_ENABLE 1 |
Definition at line 219 of file b_config.h.
| #define _KV_ENABLE 1 |
Definition at line 131 of file b_config.h.
| #define _KV_PAIR_NUMBER 32 |
Definition at line 133 of file b_config.h.
| #define _LUNAR_ENABLE 1 |
Definition at line 56 of file b_config.h.
| #define _MODBUS_ENABLE 1 |
Definition at line 83 of file b_config.h.
| #define _MODBUS_I_NUMBER 1 |
Definition at line 85 of file b_config.h.
| #define _NR_MICRO_SHELL_ENABLE 1 |
Definition at line 163 of file b_config.h.
| #define _PROTO_ENABLE 1 |
Definition at line 93 of file b_config.h.
| #define _PROTO_I_NUMBER 1 |
Definition at line 95 of file b_config.h.
| #define _SAVE_DATA_A_ENABLE 1 |
Definition at line 113 of file b_config.h.
| #define _SAVE_DATA_A_I_NUMBER 1 |
Definition at line 115 of file b_config.h.
| #define _SAVE_DATA_B_ENABLE 1 |
Definition at line 118 of file b_config.h.
| #define _SAVE_DATA_B_I_NUMBER 1 |
Definition at line 120 of file b_config.h.
| #define _SAVE_DATA_C_ENABLE 1 |
Definition at line 123 of file b_config.h.
| #define _SAVE_DATA_C_I_NUMBER 1 |
Definition at line 125 of file b_config.h.
| #define _SAVE_DATA_ENABLE 1 |
Definition at line 110 of file b_config.h.
| #define _TICK_FRQ_HZ 1000 |
Definition at line 50 of file b_config.h.
Referenced by bExec(), and bHalDelayMS().
| #define _TX_ENABLE 1 |
Definition at line 89 of file b_config.h.
| #define _TX_I_NUMBER 1 |
Definition at line 91 of file b_config.h.
| #define _UTC2000_ENABLE 1 |
Definition at line 53 of file b_config.h.
| #define _XMODEM128_ENABLE 1 |
Definition at line 152 of file b_config.h.
| #define _YMODEM_ENABLE 1 |
Definition at line 155 of file b_config.h.
| #define ansi_show_char | ( | x | ) | putchar(x) |
Definition at line 210 of file b_config.h.
| #define b_log | ( | ... | ) | printf(__VA_ARGS__) |
Definition at line 232 of file b_config.h.
Referenced by bInit().
| #define FLEX_BTN_SCAN_FREQ_HZ 50 |
Definition at line 222 of file b_config.h.
Referenced by bExec().
| #define MS2TICKS | ( | m | ) | (m * _TICK_FRQ_HZ / 1000) |
Definition at line 51 of file b_config.h.
Referenced by bExec().
| #define NR_ANSI_LINE_SIZE 100 |
Definition at line 169 of file b_config.h.
| #define NR_SHELL_CMD_HISTORY_BUF_LENGTH 253 |
Definition at line 187 of file b_config.h.
| #define NR_SHELL_CMD_LINE_MAX_LENGTH NR_ANSI_LINE_SIZE |
Definition at line 171 of file b_config.h.
| #define NR_SHELL_CMD_NAME_MAX_LENGTH 10 |
Definition at line 177 of file b_config.h.
| #define NR_SHELL_CMD_PARAS_MAX_NUM 10 |
Definition at line 180 of file b_config.h.
| #define NR_SHELL_ECHO_ENABLE 1 |
Definition at line 203 of file b_config.h.
| #define NR_SHELL_END_OF_LINE 1 |
Definition at line 194 of file b_config.h.
| #define NR_SHELL_MAX_CMD_HISTORY_NUM 3 |
Definition at line 184 of file b_config.h.
| #define NR_SHELL_SHOW_LOG 1 |
Definition at line 200 of file b_config.h.
| #define NR_SHELL_USER_NAME "nr@bos:" |
Definition at line 166 of file b_config.h.
| #define NR_SHELL_USER_NAME_MAX_LENGTH 30 |
Definition at line 174 of file b_config.h.
| #define NR_SHLL_FULL_ANSI 1 |
Definition at line 197 of file b_config.h.
| #define NULL ((void *)0) |
Definition at line 42 of file b_config.h.
Referenced by bDeviceRead(), bDeviceWrite(), bRead(), and bWrite().
| #define shell_printf | ( | fmt, | |
| args... | |||
| ) | printf(fmt, ##args); |
Definition at line 207 of file b_config.h.


|
| character(:), allocatable, private | ifile |
| |
| integer, private | numberoflines |
| |
character(1000), dimension(:),
allocatable, private | lines |
| |
Definition at line 37 of file BlocksIFileParser.f90.
| generic blocksifileparser_::blocksifileparser::assignment |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::copy |
( |
| ) |
|
| final blocksifileparser_::blocksifileparser::destroy |
( |
| ) |
|
|
final |
| procedure blocksifileparser_::blocksifileparser::get |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getblock |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getinteger |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getlogical |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getreal |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getrealarray |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::getstring |
( |
| ) |
|
| generic blocksifileparser_::blocksifileparser::init |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::initdefault |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::isthereblock |
( |
| ) |
|
| procedure, private blocksifileparser_::blocksifileparser::load |
( |
| ) |
|
|
private |
| procedure blocksifileparser_::blocksifileparser::loadvariablesblock |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::show |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::showcontent |
( |
| ) |
|
| procedure blocksifileparser_::blocksifileparser::str |
( |
| ) |
|
| character(:), allocatable, private blocksifileparser_::blocksifileparser::ifile |
|
private |
| character(1000), dimension(:), allocatable, private blocksifileparser_::blocksifileparser::lines |
|
private |
| integer, private blocksifileparser_::blocksifileparser::numberoflines |
|
private |
| integer blocksifileparser_::blocksifileparser::numberofvariables |
| type(string), dimension(:), allocatable blocksifileparser_::blocksifileparser::varname |
| type(string), dimension(:), allocatable blocksifileparser_::blocksifileparser::varunit |
| type(string), dimension(:), allocatable blocksifileparser_::blocksifileparser::varvalue |
The documentation for this type was generated from the following file:


Full-stack developer
Performance-driven and motivated Full-Stack Developer:
Ruby/Rails/Javascript/React.
Excited to be at the deployment phase of my new career as a
web developer.
I’m experienced writing full-stack web apps with Ruby on Rails, JavaScript, React and Redux.
I have been dedicated as a student at Microverse remote school for software developer since last year and I have been really good at learning new technologies, frameworks, and balancing a dozen different roles, from front-end to back-end tasks at the same time, while developing soft skills like communication, collaboration, and collaborative learning through remote pair programming for 40 hours/week with awesome coding partners from around the world. I enjoy learning new things and getting better every day.
Skills
- HTML5 CSS3 Ruby on Rails JavaScript React Redux Bootstrap 4 SQL/PostgreSQL
Some of my projects
-
React Redux Recipe Search - Demo Link
A single page react and redux application which uses third party API to fetch information about different meal recipes and displays them in a catalogue.
Github Link
-
JavaScript Phase 3 Game - Demo Link
This project consists of building a video game using JavaScript and the game engine Phaser 3.
Github Link
-
Social Network Facebook clone - Demo Link
Users can create posts, send friend requests to other users, and like and comments posts.
Github Link
-
Calculator - ReactJS - Demo Link
This project consist of building a simple calculator using ReactJS.
Github Link
-
Newsweek - Bootstrap - Demo Link
This project is a clone of news site Newsweek.com using the Bootstrap framework.
Github Link
Blog
- 1. Understanding Axios and using with React to Make API Requests. 05/12/2020
- 2. Powerful Ruby Enumerable Methods. 04/02/2020
- 3. Why Learn HTML5 Semantic Tags. 03/27/2020


Music fills the air at Fleetwood bar in memory of Lana
A small community banded together to buy a special heart-shaped gravestone for a little girl who loved princesses, unicorns and the colour pink.
by Wes HolmesDozens of people gathered at the Old Bank Restaurant on Lord Street, Fleetwood, in memory of Lana Driver, who died on October 25 at just five-years-old.
The Red Marsh pupil was born with a congenital diaphragmatic hernia, which occurs when the muscle that separates the chest from the abdomen fails to properly develop, and suffered from pulmonary hypertension, a type of high blood pressure that affects the arteries in the lungs.
Her funeral took place on November 8 at St Nicholas’ Church.
Her mum Susie Driver, 36, hoped to pay further tribute to the ‘warrior princess’ with a special gravestone.
Some of Lana’s favourite songs were played at the Old Bank on Saturday, and prizes including gift hampers, booze, and signed football shirts were raffled off.
On the day, well-wishers raised £1,728 - with even more money due to come in later.
Susie said: “It was amazing. I wanted to raise £1,000 and we smashed it.
“This means we’ll be able to give Lana a beautiful final resting place, where I can sit with her and talk to her.”
After buying Lana’s heart-shaped gravestone, the leftover cash will be donated to Brian House Children’s Hospice and the Ronald McDonald House, which provides free accommodation to families while their child is in hospital.
Susie said: “I’d like to thank the Old Bank and all my friends and family who supported me so far.”


Version 0.30
- Added AVI format video recording functionality.
- Fixed COUNT register increment rate. (For Half-Life)
- Improved frame-buffer flip detection.
- Improved MAC flags support and Q/P register pipelines. (For games using 3D)
- Switched to new recompilation engine and added x64 version.
Version 0.26 and earlier


John Crocock
John, a New Westminster resident, is a business owner who has been involved in the computer industry for over 30 years mostly as President of CompuVision Technologies Inc. John is also President of (WCCIA) Western Canadian Computer Industry Association. As President of the BC Action Party, John brings a wealth of experience at every level of Canadian politics. He avidly shares a vision of a strong and prosperous British Columbia without the crushing burden of debt and the current unacceptable levels of unemployment.
email : john.crocock@bcactionparty.ca


Pizza Parlor
Choose any topping for a
$1 each
Cheese
Pepperoni
Sausage
Bacon
Black Olives
Green Olives
Mushrooms
Onion
Pineapple
Sun Dried Tomatoes
Choose a size
Small for
$10
Medium for
$15
Large for
$20
View final price
Your total is $


It is necessary to keep our beaches clean if we hope to keep our oceans clean.  Beaches are home to various creatures from sea lions to sea turtles. Many animals depend on land to survive. Land that is untainted by chemical wastes or human wastes. Marine life, dwelling only in the water, are also affected by waste on beaches. When the tides rise, they collect items on the beach and take the items out when the water lowers, including trash.
Planting a tree is a lifelong investment. How well this investment grows depends on the type of tree selected and the planting location, the care provided during planting, and the follow-up care after planting. Getting your new tree off to a healthy start will help the tree mature to its full size and ensures it will provide environmental, economic, and social benefits throughout its lifetime.Ideally, trees are planted during the dormant season – in the fall after leaf drop or in early spring before budbreak.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio facilisis mauris sit amet massa vitae. Semper risus in hendrerit gravida rutrum quisque non te.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio facilisis mauris sit amet massa vitae. Semper risus in hendrerit gravida rutrum quisque non tellus orci.


Highlights in Rails 3.2:
These release notes cover the major changes, but do not include each bug-fix and changes. If you want to see everything, check out the list of commits in the main Rails repository on GitHub.
If you’re upgrading an existing application, it’s a great idea to have good test coverage before going in. You should also first upgrade to Rails 3.1 in case you haven’t and make sure your application still runs as expected before attempting an update to Rails 3.2. Then take heed of the following changes:
Rails 3.2 requires Ruby 1.8.7 or higher. Support for all of the previous Ruby versions has been dropped officially and you should upgrade as early as possible. Rails 3.2 is also compatible with Ruby 1.9.2.
TIP: Note that Ruby 1.8.7 p248 and p249 have marshaling bugs that crash Rails. Ruby Enterprise Edition has these fixed since the release of 1.8.7-2010.02. On the 1.9 front, Ruby 1.9.1 is not usable because it outright segfaults, so if you want to use 1.9.x, jump on to 1.9.2 or 1.9.3 for smooth sailing.
rails = 3.2.0
sass-rails ~> 3.2.3
coffee-rails ~> 3.2.1
uglifier >= 1.0.3
Rails 3.2 deprecates vendor/plugins
and Rails 4.0 will remove them completely. You can start replacing these plugins by extracting them as gems and adding them in your Gemfile. If you choose not to make them gems, you can move them into, say, lib/my_plugin/*
and add an appropriate initializer in config/initializers/my_plugin.rb
.
There are a couple of new configuration changes you’d want to add in config/environments/development.rb
:
~~~ruby # Raise exception on mass assignment protection for Active Record models config.active_record.mass_assignment_sanitizer = :strict
# Log the query plan for queries taking more than this (works # with SQLite, MySQL, and PostgreSQL) config.active_record.auto_explain_threshold_in_seconds = 0.5 ~~~
The mass_assignment_sanitizer
config also needs to be added in config/environments/test.rb
:
~~~ruby # Raise exception on mass assignment protection for Active Record models config.active_record.mass_assignment_sanitizer = :strict ~~~
Replace the code beneath the comment in script/rails
with the following content:
ENGINE_ROOT = File.expand_path('../..', __FILE__) ENGINE_PATH = File.expand_path('../../lib/your_engine_name/engine', __FILE__) require 'rails/all' require 'rails/engine/commands'
# You should have the 'rails' RubyGem installed $ rails new myapp $ cd myapp
Rails now uses a Gemfile
in the application root to determine the gems you require for your application to start. This Gemfile
is processed by the Bundler gem, which then installs all your dependencies. It can even install all the dependencies locally to your application so that it doesn’t depend on the system gems.
More information: Bundler homepage
Bundler
and Gemfile
makes freezing your Rails application easy as pie with the new dedicated bundle
command. If you want to bundle straight from the Git repository, you can pass the --edge
flag:
$ rails new myapp --edge
If you have a local checkout of the Rails repository and want to generate an application using that, you can pass the --dev
flag:
$ ruby /path/to/rails/railties/bin/rails new myapp --dev
Rails 3.2 comes with a development mode that’s noticeably faster. Inspired by Active Reload, Rails reloads classes only when files actually change. The performance gains are dramatic on a larger application. Route recognition also got a bunch faster thanks to the new Journey engine.
Rails 3.2 comes with a nice feature that explains queries generated by Arel by defining an explain
method in ActiveRecord::Relation
. For example, you can run something like puts Person.active.limit(5).explain
and the query Arel produces is explained. This allows to check for the proper indexes and further optimizations.
Queries that take more than half a second to run are automatically explained in the development mode. This threshold, of course, can be changed.
When running a multi-user, multi-account application, it’s a great help to be able to filter the log by who did what. TaggedLogging in Active Support helps in doing exactly that by stamping log lines with subdomains, request ids, and anything else to aid debugging such applications.
From Rails 3.2, the Rails guides are available for the Kindle and free Kindle Reading Apps for the iPad, iPhone, Mac, Android, etc.
Speed up development by only reloading classes if dependencies files changed. This can be turned off by setting config.reload_classes_only_on_change
to false.
New applications get a flag config.active_record.auto_explain_threshold_in_seconds
in the environments configuration files. With a value of 0.5
in development.rb
and commented out in production.rb
. No mention in test.rb
.
Added config.exceptions_app
to set the exceptions application invoked by the ShowException
middleware when an exception happens. Defaults to ActionDispatch::PublicExceptions.new(Rails.public_path)
.
Added a DebugExceptions
middleware which contains features extracted from ShowExceptions
middleware.
Display mounted engines’ routes in rake routes
.
Allow to change the loading order of railties with config.railties_order
like:
~~~ruby config.railties_order = [Blog::Engine, :main_app, :all] ~~~
Scaffold returns 204 No Content for API requests without content. This makes scaffold work with jQuery out of the box.
Update Rails::Rack::Logger
middleware to apply any tags set in config.log_tags
to ActiveSupport::TaggedLogging
. This makes it easy to tag log lines with debug information like subdomain and request id – both very helpful in debugging multi-user production applications.
Default options to rails new
can be set in ~/.railsrc
. You can specify extra command-line arguments to be used every time ‘rails new’ runs in the .railsrc
configuration file in your home directory.
Add an alias d
for destroy
. This works for engines too.
Attributes on scaffold and model generators default to string. This allows the following: rails g scaffold Post title body:text author
Allow scaffold/model/migration generators to accept “index” and “uniq” modifiers. For example,
~~~ruby rails g scaffold Post title:string:index author:uniq price:decimal{7,2} ~~~
will create indexes for title
and author
with the latter being an unique index. Some types such as decimal accept custom options. In the example, price
will be a decimal column with precision and scale set to 7 and 2 respectively.
Turn gem has been removed from default Gemfile.
Remove old plugin generator rails generate plugin
in favor of rails plugin new
command.
Remove old config.paths.app.controller
API in favor of config.paths["app/controller"]
.
Rails::Plugin
is deprecated and will be removed in Rails 4.0. Instead of adding plugins to vendor/plugins
use gems or bundler with path or git dependencies.Upgraded mail
version to 2.4.0.
Removed the old Action Mailer API which was deprecated since Rails 3.0.
Make ActiveSupport::Benchmarkable
a default module for ActionController::Base,
so the #benchmark
method is once again available in the controller context like it used to be.
Added :gzip
option to caches_page
. The default option can be configured globally using page_cache_compression
.
Rails will now use your default layout (such as “layouts/application”) when you specify a layout with :only
and :except
condition, and those conditions fail.
~~~ruby class CarsController layout ‘single_car’, :only => :show end ~~~
Rails will use ‘layouts/single_car’ when a request comes in :show action, and use ‘layouts/application’ (or ‘layouts/cars’, if exists) when a request comes in for any other actions.
form_for is changed to use “#{action}_#{as}” as the css class and id if :as
option is provided. Earlier versions used “#{as}_#{action}”.
ActionController::ParamsWrapper
on Active Record models now only wrap attr_accessible
attributes if they were set. If not, only the attributes returned by the class method attribute_names
will be wrapped. This fixes the wrapping of nested attributes by adding them to attr_accessible
.
Log “Filter chain halted as CALLBACKNAME rendered or redirected” every time a before callback halts.
ActionDispatch::ShowExceptions
is refactored. The controller is responsible for choosing to show exceptions. It’s possible to override show_detailed_exceptions?
in controllers to specify which requests should provide debugging information on errors.
Responders now return 204 No Content for API requests without a response body (as in the new scaffold).
ActionController::TestCase
cookies is refactored. Assigning cookies for test cases should now use cookies[]
~~~ruby cookies[:email] =<EMAIL_ADDRESS>get :index assert_equal<EMAIL_ADDRESS>cookies[:email] ~~~
To clear the cookies, use clear
.
~~~ruby cookies.clear get :index assert_nil cookies[:email] ~~~
We now no longer write out HTTP_COOKIE and the cookie jar is persistent between requests so if you need to manipulate the environment for your test you need to do it before the cookie jar is created.
send_file
now guesses the MIME type from the file extension if :type
is not provided.
MIME type entries for PDF, ZIP and other formats were added.
Allow fresh_when/stale? to take a record instead of an options hash.
Changed log level of warning for missing CSRF token from :debug
to :warn
.
Assets should use the request protocol by default or default to relative if no request is available.
Deprecated implied layout lookup in controllers whose parent had a explicit layout set:
~~~ruby class ApplicationController layout “application” end
class PostsController < ApplicationController end ~~~
In the example above, Posts controller will no longer automatically look up for a posts layout. If you need this functionality you could either remove layout "application"
from ApplicationController
or explicitly set it to nil
in PostsController
.
Deprecated ActionController::UnknownAction
in favour of AbstractController::ActionNotFound
.
Deprecated ActionController::DoubleRenderError
in favour of AbstractController::DoubleRenderError
.
Deprecated method_missing
in favour of action_missing
for missing actions.
Deprecated ActionController#rescue_action
, ActionController#initialize_template_class
and ActionController#assign_shortcuts
.
Add config.action_dispatch.default_charset
to configure default charset for ActionDispatch::Response
.
Added ActionDispatch::RequestId
middleware that’ll make a unique X-Request-Id header available to the response and enables the ActionDispatch::Request#uuid
method. This makes it easy to trace requests from end-to-end in the stack and to identify individual requests in mixed logs like Syslog.
The ShowExceptions
middleware now accepts a exceptions application that is responsible to render an exception when the application fails. The application is invoked with a copy of the exception in env["action_dispatch.exception"]
and with the PATH_INFO
rewritten to the status code.
Allow rescue responses to be configured through a railtie as in config.action_dispatch.rescue_responses
.
config.action_dispatch.default_charset
instead.Add button_tag
support to ActionView::Helpers::FormBuilder
. This support mimics the default behavior of submit_tag
.
~~~erb <%= form_for @post do |f| %> <%= f.button %> <% end %> ~~~
Date helpers accept a new option :use_two_digit_numbers => true
, that renders select boxes for months and days with a leading zero without changing the respective values. For example, this is useful for displaying ISO 8601-style dates such as ‘2011-08-01’.
You can provide a namespace for your form to ensure uniqueness of id attributes on form elements. The namespace attribute will be prefixed with underscore on the generated HTML id.
~~~erb <%= form_for(@offer, :namespace => ‘namespace’) do |f| %> <%= f.label :version, ‘Version’ %>: <%= f.text_field :version %> <% end %> ~~~
Limit the number of options for select_year
to 1000. Pass :max_years_allowed
option to set your own limit.
content_tag_for
and div_for
can now take a collection of records. It will also yield the record as the first argument if you set a receiving argument in your block. So instead of having to do this:
~~~ruby @items.each do |item| content_tag_for(:li, item) do Title: <%= item.title %> end end ~~~
You can do this:
~~~ruby content_tag_for(:li, @items) do |item| Title: <%= item.title %> end ~~~
Added font_path
helper method that computes the path to a font asset in public/fonts
.
render :template => "foo.html.erb"
is deprecated. Instead, you can provide :handlers and :formats directly as options: ` render :template => “foo”, :formats => [:html, :js], :handlers => :erb`.config.assets.logger
to control Sprockets logging. Set it to false
to turn off logging and to nil
to default to Rails.logger
.Boolean columns with ‘on’ and ‘ON’ values are type cast to true.
When the timestamps
method creates the created_at
and updated_at
columns, it makes them non-nullable by default.
Implemented ActiveRecord::Relation#explain
.
Implements AR::Base.silence_auto_explain
which allows the user to selectively disable automatic EXPLAINs within a block.
Implements automatic EXPLAIN logging for slow queries. A new configuration parameter config.active_record.auto_explain_threshold_in_seconds
determines what’s to be considered a slow query. Setting that to nil disables this feature. Defaults are 0.5 in development mode, and nil in test and production modes. Rails 3.2 supports this feature in SQLite, MySQL (mysql2 adapter), and PostgreSQL.
Added ActiveRecord::Base.store
for declaring simple single-column key/value stores.
~~~ruby class User < ActiveRecord::Base store :settings, accessors: [ :color, :homepage ] end
u = User.new(color: ‘black’, homepage: ’37signals.com’) u.color # Accessor stored attribute u.settings[:country] = ‘Denmark’ # Any attribute, even if not specified with an accessor ~~~
Added ability to run migrations only for a given scope, which allows to run migrations only from one engine (for example to revert changes from an engine that need to be removed).
~~~ rake db:migrate SCOPE=blog ~~~
Migrations copied from engines are now scoped with engine’s name, for example 01_create_posts.blog.rb
.
Implemented ActiveRecord::Relation#pluck
method that returns an array of column values directly from the underlying table. This also works with serialized attributes.
~~~ruby Client.where(:active => true).pluck(:id) # SELECT id from clients where active = 1 ~~~
Generated association methods are created within a separate module to allow overriding and composition. For a class named MyModel, the module is named MyModel::GeneratedFeatureMethods
. It is included into the model class immediately after the generated_attributes_methods
module defined in Active Model, so association methods override attribute methods of the same name.
Add ActiveRecord::Relation#uniq
for generating unique queries.
~~~ruby Client.select(‘DISTINCT name’) ~~~
..can be written as:
~~~ruby Client.select(:name).uniq ~~~
This also allows you to revert the uniqueness in a relation:
~~~ruby Client.select(:name).uniq.uniq(false) ~~~
Support index sort order in SQLite, MySQL and PostgreSQL adapters.
Allow the :class_name
option for associations to take a symbol in addition to a string. This is to avoid confusing newbies, and to be consistent with the fact that other options like :foreign_key already allow a symbol or a string.
~~~ruby has_many :clients, :class_name => :Client # Note that the symbol need to be capitalized ~~~
In development mode, db:drop
also drops the test database in order to be symmetric with db:create
.
Case-insensitive uniqueness validation avoids calling LOWER in MySQL when the column already uses a case-insensitive collation.
Transactional fixtures enlist all active database connections. You can test models on different connections without disabling transactional fixtures.
Add first_or_create
, first_or_create!
, first_or_initialize
methods to Active Record. This is a better approach over the old find_or_create_by
dynamic methods because it’s clearer which arguments are used to find the record and which are used to create it.
~~~ruby User.where(:first_name => “Scarlett”).first_or_create!(:last_name => “Johansson”) ~~~
Added a with_lock
method to Active Record objects, which starts a transaction, locks the object (pessimistically) and yields to the block. The method takes one (optional) parameter and passes it to lock!
.
This makes it possible to write the following:
~~~ruby class Order < ActiveRecord::Base def cancel! transaction do lock! # … cancelling logic end end end ~~~
as:
~~~ruby class Order < ActiveRecord::Base def cancel! with_lock do # … cancelling logic end end end ~~~
Automatic closure of connections in threads is deprecated. For example the following code is deprecated:
~~~ruby Thread.new { Post.find(1) }.join ~~~
It should be changed to close the database connection at the end of the thread:
~~~ruby Thread.new { Post.find(1) Post.connection.close }.join ~~~
Only people who spawn threads in their application code need to worry about this change.
The set_table_name
, set_inheritance_column
, set_sequence_name
, set_primary_key
, set_locking_column
methods are deprecated. Use an assignment method instead. For example, instead of set_table_name
, use self.table_name=
.
~~~ruby class Project < ActiveRecord::Base self.table_name = “project” end ~~~
Or define your own self.table_name
method:
~~~ruby class Post < ActiveRecord::Base def self.table_name “special_” + super end end
Post.table_name # => “special_posts”
~~~
Add ActiveModel::Errors#added?
to check if a specific error has been added.
Add ability to define strict validations with strict => true
that always raises exception when fails.
Provide mass_assignment_sanitizer as an easy API to replace the sanitizer behavior. Also support both :logger (default) and :strict sanitizer behavior.
Deprecated define_attr_method
in ActiveModel::AttributeMethods
because this only existed to support methods like set_table_name
in Active Record, which are themselves being deprecated.
Deprecated Model.model_name.partial_path
in favor of model.to_partial_path
.
Added ActiveSupport:TaggedLogging
that can wrap any standard Logger
class to provide tagging capabilities.
~~~ruby Logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
Logger.tagged(“BCX”) { Logger.info “Stuff” } # Logs “[BCX] Stuff”
Logger.tagged(“BCX”, “Jason”) { Logger.info “Stuff” } # Logs “[BCX] [Jason] Stuff”
Logger.tagged(“BCX”) { Logger.tagged(“Jason”) { Logger.info “Stuff” } } # Logs “[BCX] [Jason] Stuff” ~~~
The beginning_of_week
method in Date
, Time
and DateTime
accepts an optional argument representing the day in which the week is assumed to start.
ActiveSupport::Notifications.subscribed
provides subscriptions to events while a block runs.
Defined new methods Module#qualified_const_defined?
, Module#qualified_const_get
and Module#qualified_const_set
that are analogous to the corresponding methods in the standard API, but accept qualified constant names.
Added #deconstantize
which complements #demodulize
in inflections. This removes the rightmost segment in a qualified constant name.
Added safe_constantize
that constantizes a string but returns nil
instead of raising an exception if the constant (or part of it) does not exist.
ActiveSupport::OrderedHash
is now marked as extractable when using Array#extract_options!
.
Added Array#prepend
as an alias for Array#unshift
and Array#append
as an alias for Array#<<
.
The definition of a blank string for Ruby 1.9 has been extended to Unicode whitespace. Also, in Ruby 1.8 the ideographic space U`3000 is considered to be whitespace.
The inflector understands acronyms.
Added Time#all_day
, Time#all_week
, Time#all_quarter
and Time#all_year
as a way of generating ranges.
~~~ruby Event.where(:created_at => Time.now.all_week) Event.where(:created_at => Time.now.all_day) ~~~
Added instance_accessor: false
as an option to Class#cattr_accessor
and friends.
ActiveSupport::OrderedHash
now has different behavior for #each
and #each_pair
when given a block accepting its parameters with a splat.
Added ActiveSupport::Cache::NullStore
for use in development and testing.
Removed ActiveSupport::SecureRandom
in favor of SecureRandom
from the standard library.
ActiveSupport::Base64
is deprecated in favor of ::Base64
.
Deprecated ActiveSupport::Memoizable
in favor of Ruby memoization pattern.
Module#synchronize
is deprecated with no replacement. Please use monitor from ruby’s standard library.
Deprecated ActiveSupport::MessageEncryptor#encrypt
and ActiveSupport::MessageEncryptor#decrypt
.
ActiveSupport::BufferedLogger#silence
is deprecated. If you want to squelch logs for a certain block, change the log level for that block.
ActiveSupport::BufferedLogger#open_log
is deprecated. This method should not have been public in the first place.
ActiveSupport::BufferedLogger's
behavior of automatically creating the directory for your log file is deprecated. Please make sure to create the directory for your log file before instantiating.
ActiveSupport::BufferedLogger#auto_flushing
is deprecated. Either set the sync level on the underlying file handle like this. Or tune your filesystem. The FS cache is now what controls flushing.
~~~ruby f = File.open(‘foo.log’, ‘w’) f.sync = true ActiveSupport::BufferedLogger.new f ~~~
ActiveSupport::BufferedLogger#flush
is deprecated. Set sync on your filehandle, or tune your filesystem.
See the full list of contributors to Rails for the many people who spent many hours making Rails, the stable and robust framework it is. Kudos to all of them.
Rails 3.2 Release Notes were compiled by Vijay Dev


| Created: | 4/29/2013 12:00:00 AM |
| Modified: | 4/30/2013 4:09:46 PM |
| Project: | |
| Advanced: |
| Attribute | ||
|
Public Identifier. Type UBLVersionID |
||
Details:
|
||
|
Public Identifier. Type CustomizationID |
||
Details:
|
||
|
Public Identifier. Type ProfileID |
||
Details:
|
||
|
Public Identifier. Type ProfileExecutionID |
||
Details:
|
||
|
Public Identifier. Type ID |
||
Details:
|
||
|
Public Identifier. Type CarrierAssignedID |
||
Details:
|
||
|
Public Identifier. Type UUID |
||
Details:
|
||
|
Public Date. Type IssueDate |
||
Details:
|
||
|
Public Time. Type IssueTime |
||
Details:
|
||
|
Public Name. Type Name |
||
Details:
|
||
|
Public Text. Type Description |
||
Details:
|
||
|
Public Text. Type Note |
||
Details:
|
||
|
Public Identifier. Type ShippingOrderID |
||
Details:
|
||
|
Public Indicator. Type AdValoremIndicator |
||
Details:
|
||
|
Public Amount. Type DeclaredCarriageValueAmount |
||
Details:
|
||
|
Public Text. Type OtherInstruction |
||
Details:
|
| Element | Source Role | Target Role |
|
«ABIE» Document Distribution Class |
Name: |
Name: |
|
Details:
A list of interested parties to whom this document is distributed.
|
||
|
«ABIE» Document Reference Class |
Name: |
Name: |
|
Details:
A reference to another document associated with this document.
|
||
|
«ABIE» Exchange Rate Class |
Name: |
Name: |
|
Details:
Information about the rate of exchange (conversion) between two currencies.
|
||
|
«ABIE» Party Class |
Name: |
Name: Freight Forwarder Party |
|
Details:
A party combining individual smaller consignments into a single larger shipment (a so-called consolidated consignment or shipment) that is sent to a counterpart who mirrors the consolidator's activity by dividing the consolidated consignment into its orig
|
||
|
«ABIE» Party Class |
Name: |
Name: Carrier Party |
|
Details:
The party providing the transport of goods between named points.
|
||
|
«ABIE» Party Class |
Name: |
Name: Consignor Party |
|
Details:
The party consigning goods, as stipulated in the transport contract by the party ordering transport.
|
||
|
«ABIE» Shipment Class |
Name: |
Name: |
|
Details:
A description of the shipment.
|
||
|
«ABIE» Signature Class |
Name: |
Name: |
|
Details:
A signature applied to this document.
|


This is the home page of Squonk, the new way to get things done. By combining a number of aspects that are usually found in different software, Squonk provides a new way of working. Not only can you build and execute data driven workflows, but you can also track and version your work, as well as collaborating with others on solving problems.
Squonk will include a wide range of functionality, ranging from data acquisition, data processing, data analysis and visualisation, and writing a report on your work. All in the same place, and all you need is your web browser. Functionality will initially be in the cheminformatics and computational chemistry domains, but expect this to broaden out significantly over time. It will include commercial and open source tools and data.
Squonk is currently in alpha testing, but we will soon be looking for more people to do some initial testing and give feedback. If interested, come back here soon.
Accessing the Squonk Computational notebook will need a login:
Remember, don't struggle with it, SQUONK IT!


{include file="public/header-new" /} {include file="public/top" /} {include file="public/mobile-header" /}
Speed and Reliability
Stores in AU & NZ
Devices Repaired Daily
Happy Customers Served Daily
Our team of expert technicians offer fast, effective and reliable solutions for all of your repair needs.
If you’ve got mainboard problems, don’t throw out your phone yet! We provide a number of solutions designed to recover and repair a variety of mainboard issues.
Our experienced techs have worked with all kinds of water damaged smart devices. From splashes in the sink to drops in the pool, we’ll find the best solution for you.
Have you got a phone that isn’t working at all but you don’t want to say goodbye to those precious photos or personal data? Our team can get everything you need from your phone and put it safely onto a USB for you.
Are you a school or business in need of a repair? Contact us to see what deals are on offer for you.