Problem: you need to purge old rows from a table. This may be your weekly/monthly cleanup task. The table is large, the amount of rows to be deleted is large, and doing so in one big DELETE is too heavy.
You can use oak-chunk-update or pt-archiver to accomplish the task. You can also use server side scripting with QueryScript, offering a very simple syntax with no external scripting, dependencies and command line options.
I wish to present three cases of row deletion, with three different solutions. In all cases we assume some TIMESTAMP column exists in table, by which we choose to purge the row. In all cases we assume we wish to purge rows older than 1 month.
We assume the naive query is this:
DELETE FROM my_schema.my_table WHERE row_timestamp < CURDATE() - INTERVAL 1 MONTH
Case 1: TIMESTAMP column is indexed
I almost always index a timestamp column, if only for being able to quickly purge data (but usually also to slice data by date). In this case where the column is indexed, it's very easy to figure out which rows are older than 1 month.
We break the naive query into smaller parts, and execute these in sequence:
while (DELETE FROM my_schema.my_table WHERE row_timestamp < CURDATE() - INTERVAL 1 MONTH ORDER BY row_timestamp LIMIT 1000)
throttle 1;
How does the above work?
QueryScript accepts a DELETE statement as a conditional expression in a while loop. The expression evaluates to TRUE when the DELETE affects rows. Once the DELETE ceases to affect rows (when no more rows match the WHERE condition), the while loop terminates.
The throttle command allows us to play nice: by throttling we increase the total runtime through sleeping in between loop iterations.
Case 2: TIMESTAMP column is not indexed, and there is no heuristic for matching rows
This case is hardest to tackle by means of optimization: there is no index, and we cannot assume or predict anything about the distribution of old rows. We must therefore scan the entire table so as to be able to purge old rows.
This does not mean we have to do one huge full table scan. As long as we have some way to split the table, we are still good. We can utilize the PRIMARY KEY or another UNIQUE KEY so as to break the table into smaller, distinct parts, and work our way on these smaller chunks:
split (DELETE FROM my_schema.my_table WHERE row_timestamp < CURDATE() - INTERVAL 1 MONTH)
throttle 1;
The split statement will automagically calculate the chunks and inject filtering conditions onto the query, such that each execution of the query relates to a distinct set of rows.
Case 3: TIMESTAMP column not indexed, but known to be monotonic
This is true for many tables. Rows with AUTO_INCREMENT columns and TIMESTAMP columns are created with CURRENT_TIMESTAMP values. This makes for a monotonic function: as the AUTO_INCREMENT grows, so does the TIMESTAMP.
This makes for the following observation: it we iterate the table row by row, and reach a point where the current row is not old, then we can stop looking. Timestamps will only increase by value, which means further rows only turn to be newer.
With this special case at hand, we can:
split (DELETE FROM my_schema.my_table WHERE row_timestamp < CURDATE() - INTERVAL 1 MONTH) {
if ($split_rowcount = 0)
break;
throttle 1;
}
split is a looping device, and a break statement works on split just as on a while statement.
split provides with magic variables which describe current chunk status. $split_rowcount relates to the number of rows affected by last chunk query. No more rows affected? This means we've hit recent rows, and we do not expect to find old rows any further. We can stop looking.
comments powered by Disqus


Click the wrench icon or right-click the gadget and select 'Options'
from the context menu to enter a file name and content using the gadget
settings.
This sample throws an exception if you attempt to
save the content to a file using the specified filename and the filename
doesn't incorporate a period as a file extension separator. Otherwise, a file
with the specified filename and content will be saved to the root of the
user's gadget folder (obtained from the System.Gadget.path property).
NOTE: The Microsoft utility 'DebugView for Windows' can be used to
view the error message generated by System.Debug.outputString
in this sample. DebugView is an application that lets you monitor
debug output on your local system, or any computer on the network
that you can reach via TCP/IP. It is capable of displaying both
kernel-mode and Win32 debug output, so you don't need a debugger
to catch the debug output this gadget generates.


The basic ‘building block’ grapes of the Piceno areas historically were reds --- the full-bodied Montepulciano and the medium-bodied Sangiovese grape, which are combined into a blend known as Rosso Piceno Superiore and Rosso Piceno.
The Montepulciano is a vigorous, late-ripening grape that provides a deep ruby color and a fruity, ‘big red’ taste. It offers berry flavor and a chocolate texture that provides a wonderful compliment to red sauces and meats. [It is not to be confused with the DOCG Montepulciano originating in the Tuscan town that bears its name.]
The Sangiovese is one of the most prolific of all Italian varietals. The Sangiovese’s vigorous growth must be tempered by constant vineyard management in order to ensure that its tannins are both ripe and soft. It ripens late but keeps its natural acidity thus providing a fresh taste to a blend such as Rosso Piceno Supiore.
The Sangiovese, but more frequently, the Montepulciano grapes are also combined with Cabernet Sauvignon or Petit Verdot to form blends known as Offida Rosso and Marche Rosso Rosso. Both of the above blends are often aged in French and Slovonian oak for periods ranging from 12 to 36 months.
Rosso Piceno Superiore and Rosso Piceno comprise the red grape blends for which the DOC zone is known. They combine two well-known Italian varietals, the Montepulciano and Sangiovese grapes. These varietals were first recognized with the DOC designation in 1969. Wines with the “Rosso Piceno” or “Piceno” DOC title can be produced only with grapes that are grown in the Marche Region. According to the production standards of the Italian government, the percentages of the two main grape varietals in Rosso Piceno Superiore or Rosso Piceno must fall in the following ranges
Wines with the “Rosso Piceno” or “Piceno” DOC title can be produced only with grapes that are grown in the Marche Region. According to the production standards of the Italian government, the percentages of the two main grape varietals in Rosso Piceno Superiore or Rosso Piceno must fall in the following ranges:
The grapes used to produce Rosso Piceno DOC must be cultivated within an extensive area of the Marche region that includes the provinces of Macerata, Fermo, Ascoli Piceno, and Ancona. The northern boundary of this zone is the Metauro River while the southern boundary is the Tronto River (which also constitutes the border between the Marche and Abruzzo Regions) with the western boundary beginning with the Apennine mountain range.
The production zone of Rosso Piceno Superiore DOC is much smaller and comprises just the 13 southernmost towns of the Ascoli Piceno province.
The clay soils of this area, combined with the south and southeast exposure of the selected vineyards, combine to expose the grapes to the hot summer sun that, in turn, produces wine with an intense red ruby color.
“The sun of central Italy bestows on the Rosso Piceno Superiore a tantalizing scent of cherry, currant, and dried plums,” says Marco Pignotti, winemaker at the Cantine dei Colli RIpani. “The balance and fullness of the wine perfectly compliment grilled meats.” The maximum production of grapes per hectare must not be more than 12 tons while the finished wine must ensure it has a minimum natural alcohol content of at least 11.5%.
The first Rosso Piceno Superiore to be sold in the marketplace was bottled by Tenuta Cocci Grifoni in San Savino di Ripatransone (AP) in 1970, from grapes harvested in 1969. The estate is still among the most esteemed wine producers of the Piceno wine making region.
The warm, dry summers of the Ascoli Piceno Province allow for an intense concentration of sugar, aided by the fact that the grapes can be grown on long southern exposures on hills that run from west to east out of the Appenine Mountains toward the Adriatic Sea. The province averages rainfall of 750 mm and has mainly clay soil that is rich in trace minerals, but which is also capable of quickly draining any excess water, thanks to both the slopes and the permeability of the ground itself.
Offida Rosso DOC is a red blend formed with a minimum of 50% Montepulciano and 30% Cabernet Sauvignon, along with the possible presence of additional non-aromatic local red grapes.
The Offida Rosso blend has built a reputation for intensity, structure, and luscious taste that exhibits the finest qualities of the native local Montepulciano enhanced by the sophistication of the Cabernet Sauvignon grape. Many local vineyards choose to age the Offida Rosso with as much as 18 to 24 months in French or Slovonian oak.
Both the Leo Ripanus from Colli Ripani (70% - Montepulciano / 30% - Cabernet Sauvignon) and the Villa Piatti Offida Rosso from Collevite (70% - Montepulciano / 30% Cabernet Sauvignon) are outstanding examples of this blend.
The result is an aroma characterized by dark ripened cherries, currants, red fruits, and even a touch of black pepper.
The IGT, similar to the French Vin de Pays, is utilized by those producers not wanting to work within the confines of Italy’s DOC regulations. The result is wines of high Montepulciano content that do not ‘fit’ the required specifications for inclusion in DOC blends such as Rosso Piceno Superiore, Rosso Piceno, or a closely-related blend from the central Marche region, Rosso Conero.
The IGT categorization can also combine red grape varietals other than Montepulciano and Sangiovese. Prime examples of the Marche Rosso IGT are:
-- The outstanding Khorakhane from Cantine dei Colli Ripani, comprised of Montepulciano (95%) and Cabernet Sauvingnon (5%). Only 3,000 bottles made in the normal year!
-- Another is the Villa Piatti Marche Rosso from Collevite, comprised of Montepulciano (85%) and Petit Verdot (15%).
Both of these vineyards age their Marche Rosso for up to 18 months in French or Slovonian oak, producing a luscious feel and smooth tanins that combine to deliver light chocolate hints over a foundation of ripened red berries.
Along with the Cabernet Sauvignon and Petit Verdot, varietals such as Merlot and Sangiovese also can be combined in varying percentages in addition to the Montepulciano staple.
No two Marche Rosso IGTs are the same … attention to label details is a must! But that’s the fun of it.
At the beginning of 20th century, less than 50 acres of Vernaccia Nera grape was cultivated. Today, there are about 90 acres, virtually all of them in Marche Region (some in nearby Umbria) in the tiny Serrapetrona zone that is home to the Vernaccia Nera grape.
The Vernaccia di Serrapetrona was awarded its DOCG status in 2003. One of the smallest classified zones in Italy, its vineyards are situated towards the eastern-facing lower slopes of the Apennines at an altitude of 1476–1968ft (450–600m) above sea level. The wine-producing area covers Serrapetrona and parts of Belforte del Chienti and San Severino Marche, towns in the Province of Macerata.
Wine produced there is as unique as it is ancient. Historically linked to Dante's epic poem 'Divine Comedy', in which it was mentioned, the rare, sparkling red wine is generally made as a sweet or semi-sweet dessert wine, but can also be made in a secco style. The wine is produced from a local grape variety, Vernaccia Nera, that can be found almost exclusively in the Serrapetrona area.
The first fermentation uses half the grapes hand-picked in October; the remainder are dried on straw mats and added to the wine in January for its second fermentation. The third stage occurs after the wine has rested for a few months, and is then put into autoclaves (the Italian name for the sealed tanks used) where it undergoes the Charmat method (also known as the Martinotti method).
The end result is an intensely aromatic wine displaying a raspberry-red color, a bouquet of sweet red fruits such as strawberries and cranberries that are also echoed on the palate, with a hint of spice (black pepper accent), firm tannins and a bright acidity. The secco version makes a handsome partner for prosciutto, salami, dried sausages, and cheeses, while the sweeter style is best with desserts.
One of the most classic and famous of the red varietals grown throughout the northern and central regions of Italy, Sangiovese serves as the sole grape or is blended in combination with other varietals to produce the great names of Italian winemaking --- Chianti, Brunello di Montalcino, Vino Nobile di Montepulciano, Torgiano Rosso, Rosso Conero, and Rosso Piceno Superiore.
Young Sangiovese has fresh fruity flavors of strawberry and a little spiciness, but it readily takes on oaky flavor when aged in barrels. While not as aromatic as other red wine varieties such as Pinot Noir, Cabernet Sauvignon, and Syrah, the Sangiovese grape often has a flavor of sour red cherries with earthy aromas and tea leaf notes. Wines made from Sangiovese usually have medium-plus tannins and medium-to-high acidity.
According to an old and imaginative local Romagnese tradition, the name of the grape comes from Sanctus Zeus, the go Jove of the Romans. The first historical news about the Sangiovese grape dates to the “Trattato della Coltivazione dell Vite” (the Treatise of Grape Growing), which dates to around 1600, by Solderini and “L’Agricoltore Sperimentato” (The Experienced Farmer) from 1726 by Trinci.
An extremely ancient grape (Ian D’Agata states that its alleged origins in the Montefalco area of Umbria trace to the dawn of time -- Native Wine Grapes of Italy). Sagrantino long has been recognized for its excellence among the famous Italian varietals yet remains a ‘baby’ by way of marketing longevity. Only since the 1960s have more winemakers grown it in greater abundance. Prior to this time, most of the Sagrantino grapes were used for the blend known as Montefalco Rosso or for the production of the Passito (sweet wine), its original purpose. (Yours truly recognizes the shortened core of the word “sagra” to mean ‘feast’.)
The vineyards for Sagrantino grapes largely reside in Eastern Umbria along the western face of the Apennine Mountains from which cool summer winds emerge to tone down the prolific heat of summer. From a growing standpoint, the so-called “Tramontana” delivers a brisk breeze from the north that limits problems such as vine and grape rot mold. The soil of the inland Umbrian lakebed is comprised mostly of clay but has its share of sandy patches, muddy flats, and predictable patches of river pebbles delivered from mountain streams.
Ian D’Agata notes further that the grape’s high polyphenol content enables it to age well and grow smoother with the years, calling Sagrantino “remarkably polished”. He also asserts that “Sagrantino is Italy’s most tannic red wine, by far” and carefully differentiates between the more structured Sagrantino of Montefalco (my personal favorite), from the more floral ones from Bevagna, and those from Castel Ritaldi and Gualdo Cattanero which are softer and readier to drink.
D’Agata’s describes the Sagrantino grape as composed of “…rich, brambly black fruit and aromatic herb aromas and flavors that are persistent and pure.” Yes, it goes incredibly well with grilled meats, red sauces, cheeses (the entire range of Pecorino from fresh to aged …. YUM!), and chocolate.
In 1979, Montefalco achieved DOC status and the following year, Montefalco Sagrantino was conferred a distinctive DOC appellation. This achievement required that the Sagrantino wine be composed of 100% Sagrantino grapes aged for a minimum of 30 months (of which at least 12 in wood). Then in 1992, Montefalco Sagrantino received coveted DOCG status.
If you like red wines then the Aglianico grape will quickly win your heart. Hailing primarily from the southern regions of Campania and the lesser-traveled Basilicata, take particular note of the unabashed assertion from Ian D’Agata, author of the definitive treatise on Italian wine (Native Wine Grapes of Italy) says that:
“Aglianico is one of the world’s great red grapes … it is generally believed to be one Italy’s three best wine grapes, but in my opinion, it is far more: at the very least, it’s one of the world’s dozen or so best wine grapes.”
Any search for the best of the best inevitably leads you to the backroads and hills of Basilicata … specifically to the volcanic soils of Vulture. The Aglianico grape is said to have arrived in Italy from Greece around the 7th century BC. The volcano called Monte Vulture lays in the northwest area of Basilicata with the best vineyards located in the towns of Rionero, Barile, and Melfi.
The soil there is comprised of minerals inherent to the lava that once covered this area … rich in potassium and tufa along with porous strata of calcium carbonate stone that provides unique mineral tastes to the local Aglianico. While seemingly a hot area attributable because of its latitude, the altitude of the Vulture region provides cool breezes and temperatures that result in a surprisingly late-harvesting red grape.
Many Aglianico lovers liken the grape to the renowned Nebbiolo grape found in the Barolo and Barbaresco vini of Piemonte.
The Agliancio wines of Vulture are prime about six to nine years after bottling when compared with more than a decade required for prime readiness in the aforementioned northern grape stars. Best news of all --- Aglianico of Vulture is half their price. ☺
White grapes have been the recent surprise in Piceno area. Led by the resurrection of the Pecorino grape and the refinement of the Passerina grape, the whites have proven a delicious compliment to the seafood dishes that comprise the famous coastal cuisine.
The Pecorino grape also exhibits the ability to sustain its vitality over three or four years, a wonderful, unusual characteristic for white wines. Some local vineyards have also begun to age it in French or Slovenia oak for up to 12 months.
Along with the Trebbiano grape, which is grown both in the Marche and Abruzzo regions, the Pecorino and Passerina grapes form a lovely “Falerio” blend. The Malvasia is also used in white table wine blends.
Jack Polidori ‘met’ the Pecorino grape for the first time in 1991 on his second trip to his grandfather’s hometown of Ripatransone, located in the Province of Ascoli Piceno at the southernmost reaches of the Marche Region.
Sent to Tenuta Cocci Grifoni by my cousin, Ido, a photojournalist at the time for Tuttoturismo magazine, I was advised that Signor Guido Cocci Grifoni was making some excellent wines with local varietals. Ido praised Grifoni’s delicious Rosso Piceno Superiore, but it was a white grape --- Pecorino --- that attracted Jack’s attention.
The Pecorino grape has been registered in the national catalogue of varieties since 1971 but was in danger of extinction due to limited interest among the area’s winegrowers. Native to the Ascoli Piceno area, its peculiar name is owed to the sheep that once grazed these mountain and valley environs, producing the milk that serves as the basis for the lovely variety pecorino cheese).
That day, Signor Grifoni described how he had discovered a crop (in 1982) of abandoned vines in the tiny municipality of Arquata del Tronto, just west of Ascoli Piceno, nestled along the Tronto River at the base of the Appenine Mountains. Over the ensuing 30 years, he achieved the coveted DOCG status for the Pecorino grapes that he brought back to life in the tiny zone of Offida (having previously obtained the DOC status in 2001).
The foothills of the Sibillini Mountains, near to the provincial capitol of Ascoli Piceno, roll eastward to the Adriatic Sea. This land, rich in clay and other trace minerals, experiences a full four seasons of weather yet the Pecorino grape displays hardiness to the area’s sometime harsh winters. Pecorino bunches are irregularly shaped cones with small to medium-sized grapes that are spherical and possessed of thin, yet firm skin. Uncharacteristically for a white wine, it offers unusual longevity, storing safely for up to three to four years.
Pecorino has a straw lighter yellow color and possesses a spicy, fruity scent. Its flavor recalls ripe, tropical fruit with a touch of banana. While acidic, it is smooth from the start and displays a clean finish, making it a perfect accompaniment for seafood. As one writer has noted, in addition to the famous fish dishes of the Marche region, the Pecorino also compliments the province’s cured meats such as the renowned Ciauscolo (a typical sausage of spreadable consistency).
Another grower of the Pecorino grape, Adriano Lorenzi, winemaker at the Collevite vineyard in nearby Montsampolo, remarks that the cool-loving white grape benefits from the sea breezes. Of his Villa Piatti Pecorino, with grapes originating largely in his family’s vineyard located in Ripatransone, Lorenzi says: “Pecorino is a red wine with a white dress.”
According to the Tenuta Cocci Grifoni web site, the Pecorino provides “…A balance of ‘exaggerated’ figures for a wine born of a white grape vine: high sugar concentration, acids level over 8 G/L, PH around 3, and net dry extract greater than 24 G/L.
The following additional historical information about Guido Cocci Grifoni’s work to resurrect the Pecorino grape is quoted directly the web site of Tenuta Cocci Grifoni):
“In the early eighties, Guido Cocci Grifoni’s research focused especially on native white varieties that could allow the production of wines other than the standard Trebbiano, Malvasia, and others. … Guido Cocci Grifoni began the bibliographic researched aimed at verifying the historical presence of ancient native white grape vines in the Piceno area.
“He did this with his friends and colleagues --- Giancarlo Moretti of Conegliano’s Experimental Institute for Viticulture, Leonardo Seghetti of Ascoli Piceno’s Agricultural Institute, and the noted Sommelier Teodoro Bugari, a person who was insrumetnal in the establishment the AIS Marche (the Marche Region Sommelier’s Association).
“Their research revealed that north of the Tronto River, 1,000 meters above sea level, near Arquata del Tronto, there was a tiny, virtually abandoned vineyard that was owned, at the time, by an 80 year-old man. Grifoni recollected: ‘One September morning in 1982, before the grape harvest, Giuseppe Frascarelli, Secretary of the Ascoli Piceno Chamber of Commerce, and the surveyor, Piergiorgio Liberati, and I traveled to Arquata del Trono, in the hamlet of Pescara.
“’Mr. Cafini himself show us a few vine shoots from 2-3 generations. That morning, we just tagged some shoots with adhesive tape. The following February, I went back to pick up the shoots and brought them back to the farm. I did grafting with the collaboration of Benardo Lacnciotti, who owned a farm in Offida.’
“The vines’ characteristics finally led to the decision to plant them in the northernmost area of the land. … The first sizable harvest goes back to 1990. … The first ‘Mother Plants’ vineyard planted in the 80s is still in existence.”
Passerina (DOCG) Passerina is the Italian word for “sparrow”, a bird known to the country’s winegrowers for its appetite for ripe Passerina grapes. The suffix “—ina” means small, thus portraying the relative size of the grapes.
Many researchers have attempted to determine the origin of this white varietal but have yet to reach a firm conclusion. It is thought to be a mutation of the Biancame (Bianchello) grape.
Many vineyards in the Province of Ascoli Piceno, the southernmost of the Marche provinces, grow and bottle it as a stand-alone varietal, and also as part of the Falerio dei Colli Ascolani DOC blend. It is also utilized for a lovely sweet wine, known locally as a ‘Passito’ (allowing the grapes to lose their moisture content on the vine and build up a high sugar level).
 The wine is light yellow in color and normally presents a light banana and ripe citrus taste. Passerina grapes have a high level of natural sugars and acidity, producing a very balanced wine that can be used as an aperitif or as an accompaniment to broiled or roasted fish.
While also grown in the Abruzzo, Emilia-Romagna, and Lazio regions, the Passerina grapes of the Marche region are known to offer a sharper and with more intense minerality, likely attributable to the clay soils that characterize the Ascoli Piceno province.
Passerina also is known as “Pagadebito Gentile”, “Campolese”, and Trebbiano di Teramo (after the Terramo hills overlooking to the north the Tronto River valley that separate the Marche and Abbruzzo regions).
Falerio, known officially as Falerio dei Colli Ascolani, is a DOC blend unique to the Province of Ascoli Piceno. In fact, it constitutes one of the southernmost DOCs in the Marche Region.
The name of the DOC allegedly traces back to Roman times and derives its name from the ancient Roman city of Faleria (now the modern day commune of Falerone). The Falerio blend combines many wines unique to the Marche region … somewhat rare Italian varietals that are seldom found elsewhere in Italy.
Grapes used in the Falerio blend include Trebbiano Toscano (a range of 25-50%); Passerina (a range of 10-30%); and Pecorino (a range of 10-30%). Additionally, up to a maximum of 20% of other white varietals (e.g., Malvasia) can also be used.
Light yellow in color, the Falerio serves as a refreshing appertif that often accompanies fruit, cheeses, and olives. It has an acidic structure that produces a clean, refreshing taste from initial sip to finish.
The Bruni 54 hybrid vine variety was created in 1936 by Prof. Bruno Bruni, who served in the Italian Ministry of Agriculture in the period 1930 to 1950. It was obtained by crossing by pollination the Sauvignon Blanc and Verdicchio cultivars. It is quite uncommon and exclusively grown in the Marche region. This vine variety had almost totally disappeared but in recent years, some vineyards in the Marche Region have begun projects to revive the old precious cultivars with Incrocio Bruni, 54 being a case in point.
Color:
Straw yellow with greenish highlights
Nose: Strong citrus notes including grapefruit, grapefruit zest and orange are followed by the smell of orange blossom, after which comes a salty note, typical of the Verdicchio that completes the aromatic sensation.
Taste: The wine opens softly and is followed by strong acidity, counterbalanced by the full flavor. Long, persistent citrus and savory notes are found through retro-olfactory.
Maceratino is a light-skinned grape variety used almost exclusively in the Marche region on the Adriatic coast of central Italy to make delicately flavored wines that border on the pedestrian and are often blended with Trebbiano. Its main cultivation area is the town of Macerata and environs, from which the variety takes its name.
There are two sub-varieties of Maceratino named Ribona and Montecchiese, both of which are permitted for use in the Marche DOC Colli Maceratesi. It also has several aliases, including Aribona, Bianchetta and Uva Stretta.
The Albana was the first Italian white wine to be awarded with the DOCG standard of quality. Its history dates back to ancient times when it was introduced by the Romans into what is now the Romagna region. Its home is in the hills of Romagna particularly near to the beautiful hillside town of Bertinoro.
The Albana Secco presents a golden color with fine copper reflections. It offers a fruity bouquet of orange and other citrus notes, a rich and round taste with excellent freshness. It is an outstanding accompaniment to grilled fish and poultry, and complimentary pasta dishes and sauces.
Legend says that in 435 A.D., the blonde and beautiful Galla Placidia, daughter of the emperor, Teodosio, one morning arrived to the first house of the village riding her white mare. The hospitable villagers offere her the Albana, a locally-grown sweet, full-bodied wine, in a humble cup made of terracotta. The princesses, entranced by the excellence of the nectar, remarked to the wine: “This is far too humble a way to drink you. You are meant to be drank from the gold cup [berti in oro].” From that point forward, the village was known as Bertinoro.
From whence it came is in dispute but it this grape’s popularity is on the rise, a ‘child’ of the 21st century. It is a crisp, citrusy wine or said differently … if you enjoy Sauvignon Blanc you will fall in love Trebbiano Spoletino. It is, to paraphrase the knowledgeable Ian D’Agata, a work in progress … albeit a wonderful one.
Found only in Umbria (recall the spectacular art and theater town of Spoleto), its recent production as a monovarietal wine presents a new, high quality ‘character’ on the Italian wine scene.
When we visited the Tabarrini Vineyard in Montefalco and sat with winemaker, Gianpaolo Tabarrini -- tasting wines and munching on his Mother’s home made prosciutto, olive oil, and fresh-baked bread -- he asked me what his Trebbiano Spoletino reminded me of and I hesitated out of shear fright for giving him the ‘wrong’ answer … thinking to myself of a certain famous French varietal, when Gianpaolo blurted out: “Chablis!” Instant friendship…with Gianpaolo and the Trebbiano Spoletino. ☺
This article provides a concise history of the grape’s resurrection.
Denominazione di Origine Controllata - "Controlled designation of origin") is a quality assurance label for Italian food products, especially wines and various cheeses (Denominazione di Origine Protetta It is modeled after the French AOC. Instituted in 1963 and was overhauled in 1992 in order to comply with the equivalent EU law on Protected Designation of Origin which came into effect that year.
There are three levels of labels:
All three require that a food product be produced within the specified region using defined methods and that defined, high quality standards are met.
The need for DOCG identification arose when the DOC designation was, in the view of many Italian food industries, awarded too liberally to different products. A new, more restrictive identification was then created as similar as possible to the previous one so that buyers could still recognize it, but would recognize a qualitative difference.
The more prestigious DOCG-labeled wines, for example, are analyzed and tasted by government–licensed personnel before being bottled. To prevent later manipulation, DOCG wine bottles then are sealed and affixed with a numbered governmental seal across the cap or cork.
SOURCE: https://en.wikipedia.org/wiki/Denominazione_di_origine_controllata
Indicazione Geografica Tipica (IGT) is the second of four classifications of wine recognized by the government of Italy. Created to recognize the unusually high quality of the class of wines known as Super Tuscans, IGT wines are labeled with the locality of their creation, but do not meet the requirements of the stricter DOC or DOCG DOC or designations, which are generally intended to protect traditional wine formulations such as Chianti or Barolo. It is considered broadly equivalent to the French vin de pays designation.
SOURCE: https://en.wikipedia.org/wiki/Indicazione_geografica_tipica


I am a graduate student at SUNY Stony Brook University pursuing Computer Science and am currently looking for a full time role starting January 2019.
• Designed a cross-platform financial management application that allows users to manage money and track expenses.
• Implemented tools for measuring user metric and application efficiency using Google Firebase, FB Analytics and Mixpanel.
• Created a REST API to fetch and update real-time user information and transactions history from a cloud Mongo database.
• Developed a Chatbot using Google Dialogflow that allows users to connect their bank accounts using Plaid API and get relevant insights on their spending and categories. The bot is deployed on Messenger fetching API data using Webhooks.
Technologies: Ionic 2, Angular, NodeJS, Express, AWS Cloud9, REST APIs, Mongo, Google Firebase, Google Dialogflow, Plaid API
• Designed the entire e-commerce website along with developing the catalogue of items using csv files. Used a framework of Prestashop that uses PHP and MySQL databases to provide maximum usability and simplified client interactions.
• Won 250 USD from Google to create an online marketing campaign for the company using Google AdWords.
GPA: 3.7
GPA: 4.0
• Launched an online classified marketplace for users to buy and sell their phone-clicked photos. Implemented features such as user authentication session management, cloud image uploading and email verification.
• Technologies used: NodeJS, Express, MongoDB, EJS, Mongoose, Express-Session, Passport, Google Cloud API
• FOUNDER, Engineerfoodie.com: Food blog with around 20k followers on Instagram & audience reach of 100 thousand.
• CHAIRPERSON, Computer Society of India (2015-16): Managed a team of 52 members in organizing workshops & events.
• GOOGLE CAMPUS AMBASSADOR, D.J.S. College of Engineering: Organized and promoted Google events on the campus.
• MICROSOFT TECHNOLOGY ASSOCIATE: Completed certification by Microsoft IT Academy on ASP.NET, Cloud Computing.
• BOARD MEMBER, Department Advisory Board (DAB) for the Department of Information Technology, Mumbai University.
• VOLUNTEER, Teach for India: Taught maths and science to underprivileged children at Holy Star English School, Mumbai.
• RUBIK’S CUBE SOLVER: Solved 3x3,2x2 & Pyraminx cubes in district and national level competitions (National Rank 5667)


|
{{application.created | timeElapsed }} {{application.totalCostDisplay}}
{{application.status}}
{{application.company.contactPerson.name}} {{application.company.fullLegalBusinessName}} / {{application.vendorId.name}} {{application.quote.description}} |
|
{{application.created | timeElapsed }} {{application.totalCostDisplay}}
{{application.status}}
{{application.company.contactPerson.name}} {{application.company.fullLegalBusinessName}} / {{application.vendorId.name}} {{application.quote.description}} |


Native to the eastern seaboard, Carpenter ants make their homes inside the same wood that houses people like you and me. Carpenter Ants are drawn to wooden structures, as opposed to fallen trees, due to the insulation and heating. Once they are inside, they will create passages and chambers to live in, leading to significant structural damage. The leavings of Carpenter Ants can be distinguished from Termites because Carpenter Ants will leave large amounts of debris similar to sawdust.
Acrobat Ants are among the most common ant species in Southern Maryland and get their name from their habit of raising their abdomen above their head when disturbed. Despite typically living outdoors in dead or decaying wood, they often invade homes through gaps in wiring and pipes, cracks in foundation, or even through entryways accessed through tree branches. Once indoors, their colonies will nest in woodwork and insulation, pressing forward into pantries in search of food.
Smelling similar to rotten coconut, Odorous House Ants stink when stepped on and will assault your nose. They are attracted to sweet foods and water and are found during the spring and fall. They are attracted to sweet foods and will invade homes for them, contaminating all surfaces in their path.
Native to Argentina abnd other South American countries, Argentine ants are an invasive species that has built a reputation for displacing native ants. They are attracted to moist areas, such as mulch, piles of trash, and home foundations, and will take shelter through the cracks in homes during the cool Fall weather. Their nests can grow to be much larger than that of the native ants they drive away, while also killing other insects that are important to local ecosystems. Preferring sweet foods, Argentine Ants will eat almost anything and can create colonies covering an entire backyard. If left unchecked, they can contaminate food and food surfaces with their bodily waste as they feed by moving food from mouth to mouth.


My Network
Messaging
Profile
Edit Profile
Settings
Logout
John Doe
Nov 8
Pretty good! Just got a promotion at work and I'm getting married next week!
Jane Doe
2 days ago
Hi!
+
John Doe
Hey!
Nov 8
Hello!
Nov 8
How have you been?
Nov 8
Pretty good! Just got a promotion at work and I'm getting married next week!
Nov 8


Scroll Through The Slides To Find A Bit About Me!
Pilex1 - Github Page
Languages used: C/C++, C#, Java/Processing, Python, GLSL, HTML/CSS/Javascript
Continue
Pilex1 - Github Page
Test2
Continue
Pilex1 - Github Page
Test 3
Continue
© Pilex1 - Alex Tan -
https://github.com/pilex1/


Routing API
Bus Route Optimization
Bus Route Matrix
Geocoding API
Battery Range
Routing API
Route Optimization API
Matrix API
Geocoding API
Isochrone API
Click to see instructions for route
vehicles:
Optimize
Clear
Set Vehicle Routing
Set Salesman
Set Open Salesman


Properties
dynamicElevationOffset
dynamicElevationOffset: number
elevation
elevation: number
imageSource
imageSource: ImageSource
isLoading
isLoading: boolean
rippleColor
rippleColor: Color
src
src: string | ImageSource
variant
variant: string = 'contained'
verticalTextAlignment
verticalTextAlignment: VerticalTextAlignment
Please note that should you be using the
new Observable({})
constructor, it is obsolete since v3.0, and you have to migrate to the "data/observable"fromObject({})
or thefromObjectRecursive({})
functions.


When you educate a girl, you kick-start a cycle of success. It makes economic sense. It makes social sense. It makes moral sense. But, it seems it's not common sense yet.
-Queen Rania of Jordan
According to UNESCO, 52% - 95% of girls in these countries have never been to school. These developing nations would be a better place socially, economically, and morally if they provided girls with education. Economically, educating girls results in more of the population joining the workforce. Socially, woman have a lot to contribute to society. Morally, women are just as eligible for an education as men are. They deserve the education that every other girl receives, and yet, because of mere circumstance, these girl's educations are neglected. They lose the opportunity to learn about the world around them and start a career that could support their families.
The goal of To Girls Everywhere is to connect people to information regarding female education in developing countries and organizations that sponsor them. To Girls Everywhere also aims to inspire empathy and compassion for the girls in developing countries. All girls in America must be educated by law. Education is taken for granted. Yet girls in developing countries are missing out on the experience. We, who are fortunate enough to have a great educational system, have the ability to help these girls. There is a problem, but we have the ability to end it. Today, we can change the world. Today we can achieve the dream of Queen Rania of Jordan.
Today, we can bring equality to the world.
This page contains a list of sponsor organizations sorted in alphabetical order
OrganizationsThe Locations page includes a growing list of countries that need to improve girls' education. Each country has a detailed summary of their situation, as well as a list of organizations that are focused on that location and cause.
Locations


makeindex - a general purpose, formatter-independent index processor
makeindex
ind ]
num ]
sfile ]
log ]
idx1 idx2 .\|.\|.]
The program makeindex is a general purpose hierarchical index generator; it accepts one or more input files (often produced by a text formatter such as *(TX
or troff (1), sorts the entries, and produces an output file which can be formatted. The index can have up to three levels (0, 1, and 2) of subitem nesting. The way in which words are flagged for indexing within the main document is specific to the formatter used; makeindex does not automate the process of selecting these words. As the output index is hierarchical, makeindex can be considered complimentary to the awk (1)-based make.index (1L) system of Bentley and Kernighan, which is specific to troff (1), generates non-hierarchical indices, and employs a much simpler syntax for indicating index entries. For illustration of use with troff and \*(TX , see the section s-2EXAMPLESs+2 below.
The formats of the input and output files are specified in a style file; by default, input is assumed to be a \&.idx file, as generated by *(LX.
Unless specified explicitly, the base name of the first input file
is used to determine the names of other files. For each input file name specified, a file of that name is sought. If this file is not found and the file name has no extension, the extension \&.idx is appended. If no file with this name is found, makeindex aborts.
If exactly one input file was given and no explicit style file was specified using -smakeindex uses a file with the extension \&.mst as default style file (when present).
For important notes on how to select index keywords, see the document by Lamport cited below. As an issue separate from selecting index keywords, a systematic mechanism for placing index terms in a document is suggested in Index Preparation and Processing , a paper cited below.
-c Compress intermediate blanks (ignoring leading and trailing blanks and tabs). By default, blanks in the index key are retained.
-g Employ German word ordering in the index, in accord with rules set forth in DIN 5007. By default, makeindex employs a word ordering in which precedence is: symbols, numbers, uppercase letters, lowercase letters. The sequence in German word ordering is: symbols, lowercase letters, uppercase letters, numbers. Additionally, this option enables makeindex to recognize the German *(TX-commands {"a, "o, "u and "s} as {ae, oe, ue and ss} during the sorting of the entries. The quote character must be redefined in a style file (for example, redefine quote as '+'). If the quote character is not redefined, makeindex will produce an error message and abort.
-i Take input from stdin . When this option is specified and -o is not, output is written to stdout .
-l Letter ordering; by default, word ordering is used (see the s-2ORDERINGs+2 section).
-o ind Employ ind as the output index file. By default, the file name is created by appending the extension .ind to the base name of the first input file
-p num Set the starting page number of the output index file to be num (useful when the index file is to be formatted separately). The argument num may be numerical or one of the following:
any The starting page is the last source page number plus 1.
odd The starting page is the first odd page following the last source page number.
even The starting page is the first even page following the last source page number.
The last source page is obtained by searching backward in the log file for the first instance of a number included within paired square brackets
If a page number is missing or the log file is not found, no attempt will be made to set the starting page number. The source log file name is determined by appending the extension \&.log to the base name of the first input file
-q Quiet mode; send no messages to stderr . By default, progress and error messages are sent to stderr as well as to the transcript file.
-r Disable implicit page range formation; page ranges must be created by using explicit range operators; see s-2SPECIAL EFFECTSs+2 below. By default, three or more successive pages are automatically abbreviated as a range (e.g. 1(em5).
-s sty Employ sty as the style file (no default). The environment variable s-2INDEXSTYLEs+2 defines the path where the style file should be found.
-t log Employ log as the transcript file. By default, the file name is created by appending the extension .ilg to the base name of the first input file
-Lsort based on locale settings. Not available on all systems.
-Tspecial support for Thai documents. Not available on all systems.
The style file informs makeindex about the format of the \&.idx input files and the intended format of the final output file; examples appear below. This file can reside anywhere in the path defined by the environment variable s-2INDEXSTYLEs+2. The style file contains a list of
pairs. There are two types of specifiers: input and output. Pairs do not have to appear in any particular order. A line begun by `%' is a comment. In the following list of specifiers and arguments, <string> is an arbitrary string delimited by double quotes (".|.|."), <char> is a single letter embraced by single quotes ('.|.|.'), and <number> is a nonnegative integer. The maximum length of a <string> is 2048. A literal backslash or quote must be escaped (by a backslash). Anything not specified in the style file will be assigned a default value, which is shown at the head of the rightmost column.
actual <char>´@´
Symbol indicating that the next entry is to appear in the output file.
arg_close <char>´}´
Closing delimiter for the index entry argument.
arg_open <char>´{´
Opening delimiter for the index entry argument.
encap <char>´|´
Symbol indicating that the rest of the argument list is to be used as the encapsulating command for the page number.
escape <char>´\\´
Symbol which escapes the following letter, unless its preceding letter is escape .Note: quote is used to escape the letter which immediately follows it, but if it is preceded by escapeit is treated as a ordinary character. These two symbols must be distinct.
keyword <string>"\\indexentry"
Command which tells makeindex that its argument is an index entry.
level <char>´!´
Delimiter denoting a new level of subitem.
page_compositor <string>"-"
Delimiter separating parts of a composite page number (see s-2SPECIAL EFFECTSs+2 below).
quote <char>´"´
Note: quote is used to escape the letter which immediately follows it, but if it is preceded by escapeit is treated as a ordinary character. These two symbols must be distinct.
range_close <char>´)´
Closing delimiter indicating the end of an explicit page range.
range_open <char>´(´
Opening delimiter indicating the beginning of an explicit page range.
preamble <string>"\\begin{theindex}\n"
Preamble of output file.
postamble <string>"\n\n\\end{theindex}\n"
Postamble of output file.
setpage_prefix <string>"\n \\setcounter{page}{"
Prefix of command which sets the starting page number.
setpage_suffix <string>"}\n"
Suffix of command which sets the starting page number.
group_skip <string>"\n\n \\indexspace\n"
Vertical space to be inserted before a new group begins.
headings_flag <string>0
Flag indicating treatment of new group headers, which are inserted when before a new group (symbols, numbers, and the 26 letters): positive values cause an uppercase letter to be inserted between prefix and suffix, and negative values cause a lowercase letter to be inserted (default is 0, which produces no header).
heading_prefix <string>""
Header prefix to be inserted before a new letter begins.
symhead_positive <string>"Symbols"
Heading for symbols to be inserted if headings_flag is positive.
symhead_negative <string>"symbols"
Heading for symbols to be inserted if headings_flag is negative.
numhead_positive <string>"Numbers"
Heading for numbers to be inserted if headings_flag is positive.
numhead_negative <string>"numbers"
Heading for numbers to be inserted if headings_flag is negative.
item_0 <string>"\n \\item "
Command to be inserted between two primary (level 0) items.
item_1 <string>"\n \\subitem "
Command to be inserted between two secondary (level 1) items.
item_2 <string>"\n \\subsubitem "
Command to be inserted between two level 2 items.
item_01 <string> "\n \\subitem "
Command to be inserted between a level 0 item and a level 1 item.
item_x1 <string>"\n \\subitem "
Command to be inserted between a level 0 item and a level 1 item, where the level 0 item does not have associated page numbers.
item_12 <string>"\n \\subsubitem "
Command to be inserted between a level 1 item and a level 2 item.
item_x2 <string>"\n \\subsubitem "
Command to be inserted between a level 1 item and a level 2 item, where the level 1 item does not have associated page numbers.
delim_0 <string>", "
Delimiter to be inserted between a level 0 key and its first page number (default: comma followed by a blank).
delim_1 <string>", "
Delimiter to be inserted between a level 1 key and its first page number (default: comma followed by a blank).
delim_2 <string>", "
Delimiter to be inserted between a level 2 key and its first page number (default: comma followed by a blank).
delim_n <string>", "
Delimiter to be inserted between two page numbers for the same key in any level (default: comma followed by a blank).
delim_r <string>"--"
Delimiter to be inserted between the starting and ending page numbers of a range.
delim_t <string>""
Delimiter to be inserted at the end of a page list. This delimiter has no effect on entries which have no associated page list.
encap_prefix <string>"\\"
First part of prefix for the command which encapsulates the page number.
encap_infix <string>"{"
Second part of prefix for the command which encapsulates the page number.
encap_suffix <string>"}".
Suffix for the command which encapsulates the page number.
line_max <number>72
Maximum length of a line in the output, beyond which a line wraps.
indent_space <string>"\t\t"
Space to be inserted in front of a wrapped line (default: two tabs).
indent_length <number>16
Length of indent_space (default: 16, equivalent to 2 tabs).
suffix_2p <string>""
Delimiter to replace the range delimiter and the second page number of a two page list. When present, it overrides delim_r .Example: "f.".
suffix_3p <string>""
Delimiter to replace the range delimiter and the second page number of a three page list. When present, it overrides delim_r and suffix_mp .Example: "ff.".
suffix_mp <string>""
Delimiter to replace the range delimiter and the second page number of a multiple page list (three or more pages). When present, it overrides delim_r .Example: "f.".
The following example shows a style file called book.ist , which defines an index for a book which can be formatted independently of the main source:
fCpreamble "\\documentstyle[12pt]{book} \\begin{document} \\begin{theindex} {\\small\n" postamble "\n\n} \\end{theindex} \\end{document}\n"
Assuming that a particular book style requires the index (as well as any chapters) to start from an odd page number, and that the input file is named foo.idx , the following command line produces output in file footmp.ind :
fCmakeindex -s book.ist -o footmp.ind -p odd foo
Here a non-default output file name is used to avoid clobbering the output for the book itself (presumably foo.dvi , which would have been the default name for the index output file!).
A sample control file for creating an index, which we will assume resides in the file sample.ist :
fCkeyword "IX:"
preamble
".\\\" start of index output
\".\\\" enter two column mode
.2C
.SH
.ce
INDEX
.XS
INDEX
.XE
.R
.ps 9p
.vs 11p
.sp
.de I1
.ti 0.25i
..
.de I2
.ti 0.5i
.."
postamble "\n.\\\" end of index output"
setpage_prefix "\n.nr % "
setpage_suffix ""
group_skip "\n.sp 1.0"
headings_flag 1
heading_prefix "\n.IS\n"
heading_suffix "\n.IE"
item_0 "\n.br\n"
item_1 "\n.I1\n"
item_2 "\n.I2\n"
item_01 "\n.I1\n"
item_x1 "\n.I1\n"
item_12 "\n.I2\n"
item_x2 "\n.I2\n"
delim_0 ", "
delim_1 ", "
delim_2 ", "
delim_r "-"
delim_t "."
encap_prefix "\"
encap_infix ""
encap_suffix "\"
indent_space ""
indent_length 0
The local macro package may require modification, as in this example of an extension to the -ms macros (note that at some sites, this macro should replace a pre-existing macro of the same name):
fC." IX - index words to stderr .de IX .ie '\\n(.z'' .tm IX: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN} .el \\!.IX \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN} ..
(note that the string {fC\\n(PN} is separated from the rest of the line by a tab. If your local macro package does not contain this extension, just include those lines at the beginning of your file. Here is a simple troff (1) input file, which we will assume is named sample.txt :
fCThis is a sample file to test the makeindex(1L) program, and see .IX {indexing!programs!C language} .IX {makeindex@makeindex(1L)} .bp .rs .IX {Knuth} .IX {typesetting!computer-aided} how well it functions in the troff(1) environment.
Note that index entries are indicated by the .IX macro, which causes the following text to be written to stdout along with the current page number.
To create an input file for makeindex , in the Bourne shell environment, do the equivalent at your site of the command:
fCpsroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp
Some sites will require ditroff instead of psroff . To filter out any genuine error messages, invoke grep (1):
fCgrep '^IX: ' sample.tmp > sample.idx
With *(Uc Enhanced troff/*(Ts, the -I option of psroff (1L) can produce both formatter output and an index file:
fCpsroff -ms -I sample.inp -Tpsc sample.txt
If it is wished to suppress the formatter output:
fCpsroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null
Any of the above procedures leaves the input for makeindex in sample.inp . The next step is to invoke makeindex :
fCmakeindex -s sample.ist sample.idx
This leaves troff (1)-ready output in the file sample.ind .
By default, makeindex assumes word ordering ; if the -l option is in effect, letter ordering is used. In word ordering, a blank precedes any letter in the alphabet, whereas in letter ordering, it does not count at all. This is illustrated by the following example:
word order letter order
sea lion seal
seal sea lion
Numbers are always sorted in numeric order. For instance,
9 (nine), 123
10 (ten), see Derek, Bo
Letters are first sorted without regard to case; when words are identical, the uppercase version precedes its lowercase counterpart.
A special symbol is defined here to be any character not appearing in the union of digits and the English alphabetic characters. Patterns starting with special symbols precede numbers, which precede patterns starting with letters. As a special case, a string starting with a digit but mixed with non-digits is considered to be a pattern starting with a special character.
Entries such as
fC\indexentry{alpha}{1} \indexentry{alpha!beta}{3} \indexentry{alpha!beta!gamma}{10}
in the input file will be converted to
fC\item alpha, 1 000\subitem beta, 3 000000\subsubitem gamma, 10
in the output index file. Notice that the level symbol (`!') is used above to delimit hierarchical levels.
It is possible to make an item appear in a designated form by using the actual (`@') operator. For instance,
fC\indexentry{alpha@{\it alpha\/}}{1}
will become
fC\item {\it alpha\/}, 1
after processing. The pattern preceding `@' is used as sort key, whereas the one following it is written to the output file. Note that two appearances of the same key, one with and one without the actual operator, are regarded as distinct entries.
The item, subitem, and subsubitem fields may have individual sort keys:
fC\indexentry{aa@{\it aa\/}!bb@{\it bb\/}!cc@{\it cc\/}}{1}
This will be converted to
fC\item {\it aa}, 1 000\subitem {\it bb}, 3 000000\subsubitem {\it cc}, 10
It is possible to encapsulate a page number with a designated command using the encap (`|') operator:
fC\indexentry{alpha|bold}{1}
will be converted to
fC\item alpha, \bold{1}
where, with a suitable definition for *(TX, fC\bold{n} will expand to fC{\bf n}. In this example, the three output attributes associated with page encapsulation encap_prefix, encap_infixand encap_suffixcorrespond to backslash, left brace, and right brace, respectively. This mechanism allows page numbers to be set in different fonts. For example, the page where the definition of a keyword appears can be in one font, the location of a primary example can be in another font, and other appearances in yet a third font.
The encap operator can also be used to create cross references in the index:
fC\indexentry{alpha|see{beta}}{1}
will become
fC\item alpha, \see{beta}{1}
in the output file, where
fC\see{beta}{1}
will expand to
fC{\it see\/} beta
Note that in a cross reference like this the page number disappears.
A pair of encap concatenated with range_open (`|(') and range_close (`|)') creates an explicit page range:
fC\indexentry{alpha|(}{1} \indexentry{alpha|)}{5}
will become
fC\item alpha, 1(em5
Intermediate pages indexed by the same key will be merged into the range implicitly. This is especially useful when an entire section about a particular subject is to be indexed, in which case only the range opening and closing operators need to be inserted at the beginning and end of the section. Explicit page range formation can also include an extra command to set the page range in a designated font:
fC\indexentry{alpha|(bold}{1} \indexentry{alpha|)}{5}
will become
fC\item alpha, \bold{1--5}
Several potential problems are worth mentioning. First, entries like
fC\indexentry{alpha|(}{1} \indexentry{alpha|bold}{3} \indexentry{alpha|)}{5}
will be interpreted as
fC\item alpha, \bold{3}, 1--5
but with a warning message in the transcript about encountering an inconsistent page encapsulator. An explicit range beginning in a Roman page number and ending in Arabic is also considered an error. In this instance, (if possible) the range is broken into two subranges, one in Roman and the other in Arabic. For instance,
fC\indexentry{alpha|(}{i} \indexentry{alpha}{iv} \indexentry{alpha}{3} \indexentry{alpha|)}{7}
will be turned into
fC\item alpha, i--iv, 3--7
with a warning message in the transcript file complaining about an illegal range formation.
Every special symbol mentioned in this section may be escaped by the quote operator (`"'). Thus
fC\indexentry{alpha"@beta}{1}
will actually become
fC\item alpha@beta, 1
as a result of executing makeindex . The quoting power of quote is eliminated if it is immediately preceded by escape (`´). For example,
fC\indexentry{f\"ur}{1}
becomes
fC\item f\"ur, 1
which represents an umlaut-accented `u' to the *(TX family of processors.
A page number can be a composite of one or more fields separated by the delimiter bound to page_compositor (`-'), e.g., II-12 for page 12 of Chapter II. Page numbers may contain up to ten fields.
Since version 2.11 of makeindex , the quote operator may quote any character in the range 1 .|.|. 255. Character 0 is excluded because it is used internally in the makeindex source code as a string terminator. With this change, sort keys can be created for all eight-bit characters except 0. The sorting order is
punctuation characters (in ASCII order), digits, control characters (1 .|.|. 31), space (32), letters (ignoring case), characters 127 .|.|. 255.
Here is an example showing the indexing of all printable ASCII characters other than letters and digits, assuming the default *(TX format. For convenience, the page number references are the corresponding ASCII ordinal values.
fC\indexentry{" @" (space)}{32} \indexentry{"!@"! (exclamation point)}{33} \indexentry{""@"" (quotation mark)}{34} \indexentry{"#@"#35; (sharp sign)}{35} \indexentry{"$@"\$ (dollar sign)}{36} \indexentry{"%@"\% (percent sign)}{37} \indexentry{"&@" (ampersand)}{38} \indexentry{"<@"$<$ (left angle bracket)}{60} \indexentry{"=@"= (equals)}{61} \indexentry{">@"$>$ (right angle bracket)}{62} \indexentry{"?@"? (query)}{63} \indexentry{"@@"@ (at sign)}{64} \indexentry{"[@"[ (left square bracket)}{91} \indexentry{"\@"\verb=\= (backslash)}{92} \indexentry{"]@"] (right square bracket)}{93} \indexentry{"^@"\verb=^= (caret)}{94} \indexentry{"_@"\verb=_= (underscore)}{95} \indexentry{"`@"\verb=~= (grave accent)}{96} \indexentry{"{@"\"{ (left brace)}{123} \indexentry{"|@"\verb="|= (vertical bar)}{124} \indexentry{"}@"\"} (right brace)}{125} \indexentry{"~@"\verb=~= (tilde)}{126}
Characters in the actual fields following the `@' character which have special significance to *(TX must be represented as control sequences, or as math mode characters. Note particularly how the entries for the at sign, left and right braces, and the vertical bar, are coded. The index file output by makeindex for this example looks like this:
fC\begin{theindex} \item ! (exclamation point), 33 \item " (quotation mark), 34 \item #35; (sharp sign), 35 \item \$ (dollar sign), 36 \item \% (percent sign), 37 \item (ampersand), 38 \item $<$ (left angle bracket), 60 \item = (equals), 61 \item $>$ (right angle bracket), 62 \item ? (query), 63 \item @ (at sign), 64 \item [ (left square bracket), 91 \item \verb=\= (backslash), 92 \item ] (right square bracket), 93 \item \verb=^= (caret), 94 \item \verb=_= (underscore), 95 \item \verb=~= (grave accent), 96 \item \{ (left brace), 123 \item \verb=|= (vertical bar), 124 \item \} (right brace), 125 \item \verb=~= (tilde), 126 \indexspace \item (space), 32 \end{theindex}
makeindex executable file
$TEXMFMAIN/tex/plain/misc/idxmac.tex *(TX macro file used by makeindex
$TEXMFMAIN/tex/latex/base/makeidx.sty *(TX macro file used by makeindex
ditroff(1L), latex(1L), make.index (1L), qsort(3), tex(1L), troff(1L)
\*(Uc Enhanced troff/\*(Ts \(em An Overview , R. P. C. Rodgers and Conrad Huang, LSMB Technical Report 90-2, UCSF School of Pharmacy, San Francisco, 1990.
Index Preparation and Processing , Pehong Chen and Michael A. Harrison, Software: Practice and Experience , 19 (9)897(en915, September 1988.
Automating Index Preparation , Pehong Chen and Michael A. Harrison. Technical Report 87/347, Computer Science Division, University of California, Berkeley, 1987 (a *(LX document supplied with makeindex ).
MakeIndex: An Index Processor for \*(LX , Leslie Lamport, February 1987 (a *(LX document supplied with makeindex ).
Tools for Printing Indices , Jon L. Bentley and Brian W. Kernighan, Electronic Publishing \(em Origination, Dissemination, and Design , 1(1), 3(en18, June 1988 (also available as: Computing Science Technical Report No. 128, AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986).
Pehong Chen, Chen & Harrison International Systems, Inc. Palo Alto, California, USA.
Manual page extensively revised and corrected, and troff (1) examples created by Rick P. C. Rodgers, UCSF School of Pharmacy<EMAIL_ADDRESS>Leslie Lamport contributed significantly to the design. Michael Harrison provided valuable comments and suggestions. Nelson Beebe improved on the portable version, and maintains the source distribution for the *(TX Users Group. Andreas Brosig contributed to the German word ordering. The modification to the -ms macros was derived from a method proposed by Ravi Sethi of AT&T Bell Laboratories. The LOG and CONTRIB files in the makeindex source distribution record other contributions.


Live Matches
Current Series
Upcoming Series
Top Players
Logout
Select Squad
Player's List
Schedule
Player's Each Match Data
Statistics
FAQ
Groups


A channel to discuss trading. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
Markus01-Aug-19 04:09 PM
which competition
what can u compare kmd with
PHBA206101-Aug-19 04:09 PM
IOTA has quite some partnerships, but the most important thing is they have to prove that the Coordinator can be removed
dan.01-Aug-19 04:09 PM
thats just an obtuse question markus lol
Markus01-Aug-19 04:09 PM
really
tell me
dan.01-Aug-19 04:09 PM
theres 2000 active coins markus
Markus01-Aug-19 04:10 PM
Yes most are made on Eth
dan.01-Aug-19 04:10 PM
right, but they all have websites
Markus01-Aug-19 04:10 PM
how is that competition
dan.01-Aug-19 04:10 PM
thats 2k crypto websites on google, inbound marketing alone has a 2k other sites to compete with
my point is, inbound marketing isnt enough
looks kewl to us, but how does anyone know
actionslacks01-Aug-19 04:13 PM
how do you think eth feels? they have THE fucking smart contract platform and they cant get a break out to save their lives.
dan.01-Aug-19 04:14 PM
absolutely all alts are feeling the pain
Markus01-Aug-19 04:15 PM
Exactly all alts feel the pain so why is marketing failing for kmd?
dan.01-Aug-19 04:16 PM
ive highlighted all those reasons above, im not measuring the success personally in satoshis
actionslacks01-Aug-19 04:16 PM
this isn't a marathon, now it's a war of attrition. and govt may be about to join the enemy ranks.
Markus01-Aug-19 04:17 PM
govt got no choice, their systems failed and are about to get replaced
LocoMB01-Aug-19 04:17 PM
this thing with '2000 active coins' reminds me of some collectors catalogue of obscure and worthless postage stamps..(edited)
1
dan.01-Aug-19 04:19 PM
i am guessing what happened is they got the lite package from that marketing agency... appearance wise, pretty decent, but then they cashed their check and left. modern marketing is a multi-faceted campaign. If doing marketing at all, needs to be carried out fully.
i'd be curious to know more about that
i think so too. I do hope to see a nice push when the atomicdex is out of beta
yes, community voting works well for 80 percent of topics
Gordon Komodo01-Aug-19 04:23 PM
bitcoin took 10 years to be in current position, KMD is barely 2 years old
dan.01-Aug-19 04:24 PM
yes they can go hand in hand though. marketing goal should be more users, or a bigger community.
Neko01-Aug-19 04:24 PM
kmd will happen, it may take 18 months for real unlike LN
dan.01-Aug-19 04:25 PM
anyways, im really done being a contrarian for the time being, love yall else id of left years ago
nice, thats great
Gordon Komodo01-Aug-19 04:27 PM
soon KMD will be number 1
on our own antara coin cap (edited)
1
2
dan.01-Aug-19 04:28 PM
unfortunately, i personally have a wife a family and a 50 hr a week dev job. id like to be involved more but as james says i got children and wifeys to protect, so i come on here and bitch once in a wen moon
id love to be a lonesome keyboard warrior in a 500 sq foot apartment but i have chose my path
barbies monster trucks and china dinnerware
2
2
1
grumpygoron01-Aug-19 04:30 PM
@dan. really appreciate your insight today  it’s good to know people here think similar to me in the overall view of KMD
dan.01-Aug-19 04:30 PM
yeah, theres good things here. sometimes one must be vocal if they want to be heard
Memba when farm animals said alt season right around the corner?
Junkie membas.
Dedicated to @Caglio
Markus01-Aug-19 04:32 PM
fk alt season
dan.01-Aug-19 04:33 PM
im waiting for the eventual cryptojunkie tshirts and coffee mugs
Caglio01-Aug-19 04:33 PM
I like the pepeman
Alt season happens after the end of the universe
Its nicely drawn
Should have invested in bitcoin
I start to understand bitcoin maximalists lately
Also I am not unhappy with litecoin
Bought some @ 250
But bought some @ 25
So its not that bad
Markus01-Aug-19 04:35 PM
litecoin is going up cause of halvening
Caglio01-Aug-19 04:35 PM
I hope so
Markus01-Aug-19 04:35 PM
watch after
mega dump
Caglio01-Aug-19 04:35 PM
Well even after
Ltc didnt fell on his nose like kmd did
at least not to me
dan.01-Aug-19 04:35 PM
bitcoins biggest fan is kmd
Markus01-Aug-19 04:36 PM
litecoin went from 400$ to 20$
if that is not rekt then idk
dan.01-Aug-19 04:36 PM
dpowin ftw
Caglio01-Aug-19 04:36 PM
kmd went from 15 to 1
and its on 1
ltc is back @ 90-100
even been at 140 for a while now
Markus01-Aug-19 04:37 PM
be happy its not 0.1
Caglio01-Aug-19 04:37 PM
Why
Whole discord will buy more bags
And we will moon then
Markus01-Aug-19 04:37 PM
sure to 1$
Caglio01-Aug-19 04:37 PM
Anyway
I am not unhappy with ltc
my biggest entry was 250 bucks
its 150% down
kmd is 600% down
But like I said, I bought ltc @ 25 also, so I am not really lost money on that one
Markus01-Aug-19 04:38 PM
so it was ur own fault to hold during a bear market i would say
Hollowman900001-Aug-19 04:38 PM
If one of my other bags hits big, I’m cutting $1M from the profits there and buying $1M from the sell side slowly over a few weeks, then dumping it all at once just so I can hear you all reeeee louder(edited)
1
dan.01-Aug-19 04:38 PM
lol
Caglio01-Aug-19 04:38 PM
I do not trade
actionslacks01-Aug-19 04:38 PM
short term speculation on alts = chainsaw juggling
1
Caglio01-Aug-19 04:39 PM
Trading is same shit as gambling for me
LocoMB01-Aug-19 04:39 PM
so HODL
Caglio01-Aug-19 04:39 PM
Yup
Hold and watch it burn
Markus01-Aug-19 04:39 PM
if u dont understand it then yes defeinitely....if u do it smart and use stop loss to prevent unexpected reversals then u wont lose more then u win
but if u just look at price and be like it will pump
Caglio01-Aug-19 04:40 PM
I am a gambler degenerate
Markus01-Aug-19 04:40 PM
well no
it wont do it
Caglio01-Aug-19 04:40 PM
Its not about understand or not, its about staying away from any gambling shit


Automation Tools
{{ if . }}This is a list of automation tools available. Clicking a tool will navigate to the corresponding interface.
{{ range . }}There are no plugins installed.
{{end}}{{template "style_includes"}}
This is a list of automation tools available. Clicking a tool will navigate to the corresponding interface.
{{ range . }}There are no plugins installed.
{{end}}


Welcome to PyClerk’s documentation!¶
Use python to access all U.S. caselaw through the Harvard Law School Library Caselaw Access Project.
PyClerk is a Python package that simplifies accessing the Caselaw Access Project’s Web API (CAPAPI). Its goal it to reduce the necessary overhead to accessing CAPAPI from reading their detailed but dense documentation to simply importing a python package and trying out a few lines of code.
The current alpha version provides this simplicity for the Cases endpoint, especially for the single case API. While this is somewhat limited functionality compared to the full CAPAPI, this initial release will enable users to access the core data of CAP without leaving Python.
Trying Out PyClerk¶
The the completed project is hosted on the Python Package Index (PyPi).
Installing and trying PyClerk is easy. You’ll need Python 3 installed as
well as its package manager ‘pip’. Some machines come with Python 2
installed as default as an OS dependency. On these, you may need to
replace pip
in the instructions with pip3
. In a terminal window,
or in a python virtual environment if you prefer:
install PyClerk:
pip install pyclerk
start a Python console:
python3
import pyclerk and create a PyClerk instance:
import pyclerk pc = pyclerk.PyClerk() json, body = pc.cases.single_case(435800) # This returns a specific case, with internal id # 435800
the final command will return two data structures
json
andbody
json
is the content reply from the Caselaw Access Project API, assuming the API returns a valid status code. If it doesn’t, the appropriate error is raised. This contains case metadata as a json object, with the content of the case as an entry in this structure represented as a bytestring.body
is the content of the case deparsed to be easier to manipulate in Python.
Getting More Advanced¶
from there, explore the docs to expand to include new parameters, new types of searches, and more!
or, browse the CAPAPI root to identify additional functionality that you need for your project.
you can also interface directly with the API through PyClerk without using the custom functions or classes:
import pyclerk pc = pyclerk.PyClerk() # Write out a custom API Query custom\_url = "https://api.case.law/v1/YOUR CUSTOM REQUEST HERE" # Send that request to CAPAPI and get a text response response = pc.custom\_endpoint.send\_request(custom\_url) # Parse that response into json and a custom body class
Expanding PyClerk¶
PyClerk is still under active development. That means you might find a bug or identify new functionality your project needs. The Caselaw Access Project might also update their API to a new version or change various functionality.
If you find a bug, please file an issue here.
If you need a new feature, you can file a feature request as an issue, or you can go implement it yourself! Just fork the project, add the feature, and submit a pull-request. I’d love some help.
If the problem is with the CAPAPI itself, please let them know here.
Documentation¶
Documentation is super important to this project–the whole goal is ease of use for new coders. That requires good documentation!
Rendered versions of documentation are available through ReadTheDocs. It includes both high-level descriptions and overviews (like the installation and first uses instructions above) and rendered versions of the docstrings that accompany the classes and functions in the package.
To rebulid the documentation: - Generate latest raw API docs:
sphinx-apidoc -e -o docs/source pyclerk
Build the docs:
make html
Future Growth¶
The obvious case for future growth is the inclusion of all available endpoints, such as: - bulk - citations - courts - jurisdictions - ngrams - reporters - user_history - volumes - and any others CAP may choose to unveil.
Additionally, as we better define the best uses for this kind of data, PyClerk should grow to include pipelines for processing the API data into formats users want most. This might be in line with some of the sample processing functions I’ve outlined, or it could be something endusers create that I could never have imagined.
PyClerk will also probably need an update whenever CAP decides to move to v2 of their API.
Areas in the source code ripe for expansion are marked with #FUTURE
.


Introduction
In this section we will be following along with and completing course material from the Pentester Academy's SecurityTube Linux Assembly language Expert 64 Bit course. As the title suggests, this assignment deals with the stack. The stack is a Last In First Out (LIFO) data structure. It is used extensively in high level programming languages, such as C.
The stack is manipulated with the Push and Pop operations. The pointer to the top of the stack in 64 bit Intel based machines is called RSP. The stack grows from high memory to low memory.
We will write an assembly program that manipulates the stack in 64 bit Intel assembly instructions. This program will be coded, assembled, linked and run. Execution is then to be monitored via GDB. We will use the GEF add-on for GDB to enhance the visual presentation from GDB. We will also use Radare2 to run through the program execution to gain another perspective.
Project code is contained in my github.
The program stack.nasm
The screenshot below displays the contents of the program stack.nasm.
Next it pushes data labled by sample. As shown in the program, this data is:
sample: db 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x11, 0x22
First sample is pushed. What this does it push the memory address of sample onto the stack. Then the contents of the memory address labled as sample is pushed onto the stack, as denoted by the brackets (i.e. []) around the label.
Then the contents of the stack is popped off into R15, R14 and RBX. The first item pushed onto the stack is the last item to come out. Therefore, RBX will contain the contents of RAX.
Finally, the familiar exit syscall is executed to gracefully exit back to the shell.
The program is assembled with:
$ nasm -felf64 stack.nasm -o stack.oAnd linked with:
$ ld stack.o -o stack
We then run the executable and look at it's objdump. The results of these operations is shown below:
Running stack in GDB + GEF
Setup and before run
Running helloworld in GDB + GEF
Running step 1
Running helloworld in GDB + GEF
Running step 2
Running helloworld in GDB + GEF
Running step 3
Running helloworld in GDB + GEF
Running step 4
Running helloworld in GDB + GEF
Running step 5
Running helloworld in GDB + GEF
Running step 6
Running helloworld in GDB + GEF
Running step 7
Running helloworld in GDB + GEF
Running step 8
Running helloworld in GDB + GEF
Examining Memory
Running helloworld in GDB + GEF
Examining Memory
Running helloworld in GDB + GEF
Examining Memory


The contents of this document are a work in progress
Configuring a Plexus Component via descriptor
We change the Component Role interface to look like this:
public interface WebsiteMonitor { /** * Role used to register component implementations with the container. */ String ROLE = WebsiteMonitor.class.getName(); /** * Monitor the specified website at the specified time intervals. * * @throws Exception * error encountered while performing the monitoring request. */ public void monitor() throws Exception; /** * Specify a list of websites that can be monitored by this component. * * @param websites List of websites */ void addWebsites( List websites ); /** * Determines if the website monitor component was properly initialized. * * @return true if initiailized, else false. */ boolean isInitialized(); }
and, factor our component provider implementation to look like this:
public class DefaultWebsiteMonitor extends AbstractLogEnabled implements WebsiteMonitor { /** * Websites to monitor. * * @plexus.configuration */ private List websites; /** * @see org.codehaus.plexus.tutorial.WebsiteMonitor#monitor(java.lang.String) */ public void monitor() throws Exception { HttpClient client = new HttpClient(); for ( Iterator it = websites.iterator(); it.hasNext(); ) { String website = (String) it.next(); HttpMethod getMethod = new GetMethod( website ); getMethod.setFollowRedirects( false ); try { int statusCode = client.executeMethod( getMethod ); if ( statusCode < HttpStatus.SC_OK || statusCode >= HttpStatus.SC_MULTIPLE_CHOICES ) { if ( getLogger().isErrorEnabled() ) getLogger().error( "HTTP request returned HTTP status code: " + statusCode + " for website: " + website ); throw new Exception( "HTTP request returned HTTP status code: " + statusCode + " for website: " + website ); } if ( getLogger().isInfoEnabled() ) getLogger().info( "HTTP request returned HTTP status code: " + statusCode + " for website: " + website ); } catch ( UnknownHostException e ) { if ( getLogger().isErrorEnabled() ) getLogger().error( "Specified host '" + website + "' could not be resolved." ); throw e; } finally { if ( null != getMethod ) getMethod.releaseConnection(); } } } public void addWebsites( List websites ) { this.websites = websites; } public boolean isInitialized() { return ( null != websites && this.websites.size() > 0 ); } }
Note how 'websites'
is now a java.util.List property rather than a argument to the method. Also notice the annotation @plexus.configuration that indicates that this property is a plexus configuration element. This annotation is processed by Plexus' Component Descriptor Creator (or CDC). The CDC can parse and generate a components.xml from Java sources.
Now that we made 'websites'
to be a configuration property, we need to update the component's descriptor and specify values for websites. We add a list of websites as shown the the snippet below. Plexus container ensures that a component's fields are mapped and initialized and mapped from a component's configuration file. It can intelligently discover and map configuration items of different types like String, Lists (in this case). You can also specify you own configuration implementation class by specifying an 'implementation'
attribute on <configuration
> element. Plexus will then attempt to inject the values from the XML configuration into the Configuration implementation's properties. Each of the nested element maps to a configuration property in the implementation class.
This mandates a change in the descriptor, which now looks something like this:
<component-set> <components> <component> <role>org.codehaus.plexus.tutorial.WebsiteMonitor</role> <implementation> org.codehaus.plexus.tutorial.DefaultWebsiteMonitor </implementation> <configuration> <websites> <website>http://www.google.co.nz/</website> <website>http://www.nonexistent.yadayada3249834739547.org/</website> <website>http://maven.apache.org/</website> </websites> </configuration> </component> </components> </component-set>


{% extends 'layouts/base.html' %} {% block title %} YourSchool Advisor {% endblock %} {% block content %}
Automated student academic advising.


A World of Opportunities
by Matt
Happy New Year! New Year's may be my favorite holiday. More than just an excuse to party late into the night, New Year's is a time to reflect back on the previous year's accomplishments and highlights, but also an opportunity--literally "an open door"--to make plans for the future, starting with the year ahead. Many people I've met don't place much stock in New Year's resolutions, seeing it as just another arbitrary date, with no special significance other than marking off the passage of another year. I disagree.
It's probably no coincidence that New Year's occurs so close to Christmas, which is really a Christian cultural palimpsest of earlier pagan solstice rituals. The Winter Solstice, which usually occurs on or around the 20th of December marks the shortest day of the year in the northern hemisphere and also the official start of winter. This time of year had significance to the pre-Christian societies of northern Europe but also to the Romans, who named the month January after Janus, the god of doorways and new beginnings, change and time. The English word opportunity has Latin roots relating to the idea of an "open door."
Janus is always depicted as having two faces: one looking forward into the future and the other backward into the past. This imagery is fitting, as we look back on the year gone by and consider the change we'd like to see in the year ahead.
Twenty-fifteen saw many changes here at the reLuxe Ranch: on the farm in general and in Tasha's and my life. We've tried to post in this blog the major events and changes that have occurred throughout the year, but sometimes we were just too busy to write it up. And we've both done a lot of writing this year. In the past year, we were both published--outside this blog anyway--for the first time.
Tasha became involved with writing for The Grow Network, a group affiliated with Marjory Wildcraft. She's enjoyed sharing the practical experience she has gained here on the farm with others, through her writing on the site, and she's received overwhelmingly positive feedback, judging from the reader comments posted with her articles. She looks forward to continuing writing for them in 2016. Tasha has also been able to draw on her experience with the local Master Gardener program which she became involved in during 2015.
An essay I submitted to The Dark Mountain Project was accepted and published this year, in their theme issue on technology, Technê (Dark Mountain Volume 8). Being published in the same pages with the likes of Bill McKibben and David Graeber was an amazing experience, but more than that was the satisfaction of contributing to a community of like-minded writers and getting some of my own ideas out to a broader forum. In the month or so since my contributor's copy came in the mail, I only just finished reading the issue cover to cover a few days ago. I've been completely blown away by the breadth and depth of thought, the variety of perspective and experience, presented in each and every piece of the collection. I'm humbled and proud to have been a part of it.
Apart from the opportunity for professional growth as writers that Tasha and I encountered in 2015, we each had many opportunities to improve our own skills at farming and homesteading while connecting with others in our community. Tasha upped her game considerably by going through the NC State Agricultural Extension Master Gardener program. In addition to being able to meet with and learn from other local farmers, growers, and gardeners, and to apply that knowledge directly to our farm, she got involved in contributing back to the local community. In the process, she met some pretty amazing people like Ken and Sharon, who truly are master orchardists and gardeners.
I developed my building and carpentry skills considerably this year, and even did a little welding, starting with the three top-bar bee hives I built in winter and moving on to building a pig shelter, a wood fired earthen pizza oven, a 12-foot long behemoth of an outdoor dining table (and benches for it), a smokehouse (with plenty of help from my brother Jason), a set of Adirondack chairs and a table, and several other smaller projects. In enclosing the goat/pig pasture and the expanded vegetable garden, Tasha and I poured tons of concrete, set dozens of wood posts and ran hundreds of feet of fence, all before the growing season even started last year.
In expanding our vegetable garden by about 300% from 2014, Tasha moved tons and tons of manure, compost and mulch on her own onto rows of raised beds in the garden, in a successful bid to kickstart the rapid formation of topsoil. She divided each row of raised beds into numbered and lettered cells in order to better plan and track our vegetable production. Her tremendous amounts of work and effort paid off this year, with bumper harvests of salad greens, sweet potatoes, squashes, tomatoes, watermelons and many other vegetables. Even as I write this, we're still harvesting root vegetables and some salad greens from the garden, and we have canned vegetables and sauces to last us well into 2016.
The past year also marked our entry into the world of raising and slaughtering animals for meat. This was a proposition we'd thought long and hard about, but which we've ultimately come to embrace. We raised 15 Peking ducks starting in the middle of the summer and slaughtered them in early October. It was my first experience slaughtering an animal and one I was initially very apprehensive about. But with the help of our more experienced neighbors Donnie and Anita, we were able to quickly, respectfully, and humanely slaughter and process 12 ducks in the space of a day.
About a month and a half later, we repeated the process on a much larger scale and with much more help from our friends, family and neighbors with our four pigs. Over the course of three days that culminated with a pig roast, we learned a lot and managed to get it done. In the end, we processed ~780 pounds of pork. An exceptional amount of preparation, organization and work went into our pig slaughter, and we were thrilled with the outcome.
Another novelty of 2015 included the first in a series of goat births. In March both Phoebe and Fancy, our original does, gave birth to litters of several kids each. We were a little disappointed this first time, that out of five kids, only one was a doe. But we sold most of the males as pets and kept La Bandida, our single doe. In October and November, Phoebe and Fancy gave birth again, this time to an even number of males and females, six in all. This brings our milking herd up to six, and we plan on keeping Moose, a buck, along with Popeye, our original breeding buck.
Another project, one I started in 2014, has started to come to fruition in the last couple months. The 50 or so shiitake logs I began inoculating with plug spawn have started to produce delicious mushrooms. After several failed attempts in Maryland, and with spawn that was slow to take off from the 2014 logs, I was pleasantly surprised to find the upside of the El Nino rains of recent months to be a series of unexpected shiitake fruitings.
And going all the way back to the start of 2015, Tasha had a dumpster brought to our property and single handedly cleaned up the trash that had been dumped in piles around various parts of the property by its former occupants. She filled an entire full-length dumpster over the course of a couple weeks last winter while I worked my day job.
***
With all of this behind us to build on, 2016 looks to be a year of continuing advancement and refinement. With a lot of the one-time heavy duty infrastructure projects completed--like expanding the garden, fencing the garden and pasture, building out our outdoor living spaces--we can turn our attention to the more subtle tasks of starting fodder projects to offset the cost of feeding the animals, pruning and maintaining our perennials, and creating amazing cheeses and yogurts from goat milk and charcuterie and other meat products from the ducks and pigs. With all of this work starting to pay off, we're anticipating having a substantial surplus of vegetables in 2016 and trying to get the business end of our endeavor going.
Tasha has begun working to implement a business plan that has been evolving since we first started tossing around the idea of homesteading years ago. Not wanting to go the CSA (community supported agriculture) route, we are more comfortable with the idea of selling locally at the various farmers' markets and directly from the farm. Tasha wants to offer a CSA-style mixed basket of agricultural products every week, but without the upfront financial commitment of a subscriber base. Moreover, she wants to offer a more exotic selection of choice herbs and vegetables, hand selected and beautifully presented, a la French market style, along with more advanced and adventurous recipes, beyond the typical CSA practice of just passing out heads of kale, for example. Hence her concept of the Culinary Adventure Bag (CAB).
Tasha has also hit on the idea of hosting day-long duck slaughter and processing classes. Provided you have a pond, Peking ducks are as easy to raise as chickens and quickly produce wonderful, delicious, high-quality meat and fat that is worlds apart from the bland and less substantial meat of the chicken. There seems to be relatively little awareness of working with duck in our community, although people are open minded and tastes are evolving. With these projects and a couple more in the offing, we hope to explore the possibilities of creating some farm-based income while spreading awareness of sustainable food and agricultural practices, and an awareness of permaculture and whole-systems design implementation.
Throughout the course of 2014 and 2015, Tasha and I both planted many trees, fruit bushes, and perennial vegetable and fruit plants, in between our more defined major projects. In July of 2015 over the course of a weekend, I built a row of five endpost trellises for our vineyard. We will begin wire training the vines over the winter and expect 2016 to bring our first harvest and vintage. Many other perennial systems we've been working on since our arrival in March 2014 should begin to produce this year.
We got a little asparagus last year, but this year we should get a full production from the original bed of 24 plants along with a smaller contribution from the add-on bed I planted in 2015. Likewise, many of the fruit trees and berry bushes we planted in previous years should begin to produce in earnest this year. I'm particularly excited about the strawberries to which Tasha devoted several rows in the annual garden. Also in 2015 we built three hugelkulturs in various places on the property. Now that some of the woody material comprising them has begun to break down, no doubt accelerated by the heavy and frequent rains, we're eager to begin trialing them with a variety of vegetables and berries.
Over the winter, one of my projects is to build a new website in support of this endeavor, on which we can post photos, produce updates, recipes, logistical information, and hopefully conduct some business. I'm also planning on updating this site, which from the get-go was limited by my free hosting arrangement in terms of what code and design themes I could implement and how many photos I could upload. Now that I pay for hosting, I have a free hand to do whatever. My focus for this project has always been as a forum for writing, not as a showcase of good web design principles and practices. Anyway, since that's what I do professionally, I've always felt a little bit like the cobbler whose children go barefoot. I hope to overhaul this site with a new, mobile-responsive design theme and add more visual and multimedia assets where appropriate over the next year.
Of course, the original intent of this blog was as an outlet for Tasha's and my writings. With the recent good fortune we both had to be published in other venues, I'd like to re-commit myself to a disciplined practice of writing, beginning with more frequent and varied posts in this space even as we look to reach a broader audience through other vehicles and projects.
In trying to wrap up what was originally intended to be a brief recap and look to the future, I'm realizing anew how much we actually did accomplish in 2015. We couldn't have done most of it without the support of our friends, family and neighbors, and we want to extend our gratitude and appreciation for how lucky we both feel to be part of such an excellent and supportive community. Another major event of 2015 was the arrival of my parents, Tim and Sue, to the area. After a months-long search, they fell in love with a house in nearby Mount Airy and are now part of our wonderful community. Both Tasha and I are looking forward to spending more time with them in 2016.
Now it's time to get to work on the buck pen we've been trying to build for the past couple weeks. Hopefully, I'll also get started on a bouldering wall this weekend, so I can get back into shape for rock climbing this year, another driving passion of mine that brought us to this area that's taken a backseat to our development projects here.
Tasha and I extend to all our best wishes for a happy, healthy and wonderful new year, and may it bring you a world of opportunities.
Subscribe via RSS


ca.utoronto.utm.chess
类
Bishop
BoardFactory
ChessBoardPanel
ChessBoardPanelEventHandler
cpu_Opponent
King
Knight
None
Pawn
PieceFactory
Play
Queen
RegularBoard
Rook
StartPanel
StartPanelEventHandler
View
ViewEventHandler


RT @j3: The best part about flat design becoming a thing is that my rudimentary CSS skills are now cutting edge.
6/12/2013, 10:16:41 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @j3: The best part about flat design becoming a thing is that my rudimentary CSS skills are now cutting edge.
6/12/2013, 10:16:41 AM
Favs: 0
Retweets: 0
link