text:
Services on Demand
Related links
- Cited by Google
- Similars in Google
South African Journal of Science
On-line version ISSN 1996-7489
Print version ISSN 0038-2353
S. Afr. j. sci. vol.105 n.11-12 Pretoria Nov./Dec. 2009
Minerals, trace elements and antioxidant phytochemicals in wild African dark-green leafy vegetables (morogo)
A.M. van der WaltI, *; D.T. LootsII; M.I.M. IbrahimI; C.C. BezuidenhoutI
IMorogo Research Programme (MRP), School of Environmental Sciences and Development, North-West University, Private Bag X6001, Potchefstroom 2520, South Africa
IISchool of Physiology, Nutrition and Consumer Sciences, North-West University, Private Bag X6001, Potchefstroom 2520, South Africa
Wild African dark-green leafy vegetables (morogo) are an important constituent of the traditional starch-based African diet. Three wild morogo types were sampled from different geographical regions in South Africa to determine their mineral, total polyphenol, total carotenoid and beta-carotene contents. Mineral and trace element compositions were determined using inductively coupled argon plasma mass spectrometry (ICP-MS). Concentrations of total carotenoids and total phenolics were measured by spectrophotometry and beta-carotene concentrations by high performance liquid chromatography (HPLC). In comparison with values reported for commercial spinach and swiss chard, results from the present study indicate relatively high calcium and magnesium concentrations in the wild morogo. Total carotenoid concentrations in the three morogo types were comparable with that of spinach. Beta-carotene concentrations were highest in Amaranthus hybridus, but this value was lower than those reported for other morogo species grown commercially. Concentrations of total phenolics were in the same range as those reported for conventional and commercially-grown non-conventional dark-green leafy vegetables. Results from the present study suggest that readily accessible wild morogo varieties represent inexpensive sources of dietary minerals, trace elements and antioxidant phytochemicals.
Key words: African dark-green leafy vegetables, morogo, minerals, trace elements, antioxidant phytochemicals
The leaves of local wild and cultivated plants feature prominently as vegetables in the traditional starch-based African diet.1 Some African green leafy vegetables are classified as functional foods because they have health benefits beyond basic nutrition.2 The dietary value of plant leaves pertains to their position as primary producers in the human food chain. Green plants absorb the minerals they need for diverse anabolic processes from the soil. The complex organic compounds thus manufactured in plant leaves include antioxidant molecules for protection against oxidative solar radiation.3 Leafy vegetables are, therefore, important dietary sources of minerals, trace elements and phytochemicals with health-protective and immune-strengthening properties. Molecular evidence suggests that trace elements and antioxidant molecules in green leafy vegetables lower the risks of cancer and cardiovascular diseases through mechanisms that modulate free radical attack on nucleic acids, proteins and polyunsaturated fatty acids.46 Lako et al.7 demonstrated that leafy vegetables have a higher antioxidant capacity than either fruits or root crops.
Setswana and Sesotho speakers use the term morogo collectively in reference to the aerial parts of edible plants consumed as green leafy vegetables.8 Plants utilised as morogo are either indigenous or naturalised in the areas where they grow and many are accessible from the wild.9 Traditional African dark-green leafy vegetables (DGLVs) are underutilised and neglected in areas where people consider them inferior to commercially-produced conventional vegetables of the westernised diet.1 The general lack of information on the chemical composition, nutritional value and health benefits of traditional African DGLVs may also negatively influence perceptions of morogo consumption.
The present study reports on the mineral and phytochemical composition of wild-growing varieties of three types of morogo widely consumed in different geographical regions of South Africa. The mineral and trace elements contents, carotenoid and polyphenol levels in morogo were compared with those of conventionally-and commercially-grown DGLVs. The nutritional benefits and potential health-protective value of morogo consumption are briefly discussed.
Materials and Methods
Sample collection and preparation
Sampling localities were situated in the Rustenburg district of the North West Province and Vhembe and Capricorn districts of the Limpopo Province of South Africa. These localities are considered low-rainfall areas with average annual rainfalls of 600 mm, 450 mm and 339 mm, respectively. Average temperature ranges for these areas are 331°C (Rustenburg), 734°C (Vhembe) and 626°C (Capricorn).10 The veld surrounding the rural villages of Phokeng and Zuurplaat (Rustenburg), Nzelele Valley (Vhembe) and Dikgale (Capricorn) were searched, in the company of women from the community, for thepe, lerotho and dinawa wild morogo types that are used by the households in those communities. Herbarium specimens of these plants were prepared and used for subsequent identification. Thepe was identified as Amaranthus hybridus L. subsp. hybridus and Amaranthus thunbergii Moq., lerotho as Cleome gynandra L. and dinawa as Vigna unguiculata.
Fresh leaves were picked from at least four different plants growing within an undetermined surface area. The number of leaves taken from each plant depended on the size of the plant. Upon collection, the leaves of the different plants were transferred to separate zip-lock plastic bags, transported to the laboratory on ice and freeze-dried immediately upon arrival at the laboratory. Freeze-dried samples were stored at 20°C until analysis. Finely ground freeze-dried samples were used in subsequent chemical analyses.
All standards were purchased from Sigma (U.S.A.). All organic solvents used were of HPLC grade, purchased from Burdick and Jackson (U.S.A.). All other reagents were purchased from Merck (Darmstadt, Germany).
Mineral and trace element analysis
A 100-mg freeze-dried sample was accurately weighed and carefully heated in 1 ml of nitric acid (70%) until clarity was achieved. After cooling, 3 ml of water was added and heating resumed for a further 10 min. Finally, the solution was cooled and deionised water was added until a volume of 10 ml was attained. The mineral composition of each sample was determined using an Agilent 7500c inductively coupled argon plasma mass spectrometer (ICP-MS). Calibrations were performed using external standards prepared from a 1 000 ppm single stock solution made up with 2% nitric acid. The external calibrations were run in the same analytical sequence as the samples. Three separate samples for each plant were analysed in this manner and values are reported as the mean ± standard deviation in mg 100 g1 dry mass.
Total phenolics analysis
The extraction of total phenolics in each sample was carried out in triplicate, according to the modified method of Kähkönen et al.11 Ground, dry plant material (25 mg) was extracted with 5 × 1 ml of 80% aqueous methanol using an Ultra Turrax mixer for 5 min. Samples were centrifuged at 3 000 rpm for 10 min and extracts were nitrogen dried. Residues were dissolved in 1 ml aqueous methanol (80%). The amount of total phenolics in extract samples was determined, as previously described,12 using Folin-Ciocalteu's procedure.13 Volumes of 200 µl of extract were transferred to test tubes and 1 ml Folin-Ciocalteu's reagent was added. The mixture was allowed to stand for 8 min at room temperature. A volume of 0.8 ml sodium carbonate (7.5%) was subsequently added, mixed and allowed to stand for 30 min. Absorption was measured at 765 nm (Shimadizu UV-1601 Spectrophotometer). Total phenolic content was expressed as mean ± standard deviation gallic acid equivalents (GAE) in mg 100 g1 dry mass.
Total carotenoids analysis
Total carotenoids content for each plant sample was extracted and analysed in triplicate as decribed by Edwards et al.14 with slight modifications. Approximately 25 mg of sample was weighed into a 10-ml centrifuge tube with3gof glass beads, then mixed with 5 ml dimethylsulphoxide (DMSO), and placed in a pre-heated water bath at 45°C for 30 min. The tube was vortexed for 15 s every 10 min. After incubation, samples were centrifuged at 4 000 rpm for 5 min. The supernatant was collected in a 25-ml volumetric flask. The samples were re-extracted with 5 ml acetone until the absorbance of the centrifuged layer was less than 0.005. Acetone was added to the collected supernatant such that a final volume of 25 ml was achieved. The absorbance was determined at 477 nm (Shimadizu UV-1601 spectrophotometer). Total carotenoid content is described as mean ± standard deviation in mg 100 g1 dry mass.
Beta-carotene extraction and HPLC analysis
A modification of the procedure described by Lakshiminarayana et al.15 was subsequently applied to 50 mg of each sample for extraction of beta-carotenes in triplicate. Extraction was carried out in triplicate in ice-cold acetone and the procedure was repeated until the extract was colourless. An aliquot of 1.5 ml of each extract was dried under a stream of nitrogen. The residue was redissolved in 250 µl of acetone before being filtered by a 0.45-µm nylon membrane filter. Sample filtrates were analysed by HPLC to determine the beta-carotene contents and reported as mean ± standard deviation in mg 100 g1 dry mass.
High performance liquid chromatography analysis
Analytical separations were performed according to a modified procedure of De Ancos et al.16 using a Hewlett-Packard System Series Model 1100 with a UV-visible detector.
The column was a 4.6 mm × 250 mm Nova-Pack C184 µm Waters (Waters Corporation). Solvents were HPLC-grade methanol and ethyl acetate. A gradient system involving two mobile phases was used. Mobile phase A consisted of methanol:water (75:25 v/v) and mobile phase B of ethyl acetate. A gradient was run starting from 0% B to 70% B in 10 min, followed by 70% B to 100% B in 4 min. Beta-carotene eluted at approximately 15 min. At the end of the gradient, the column was re-equilibrated under the initial conditions by a new gradient condition beginning at 14 min until 20 min, with a final composition of eluent B at 0%. Standard curves of beta-carotene (95%) were constructed by plotting HPLC peak absorbance area versus concentration of the beta-carotene in the injected sample.
Mineral and trace elements (Table 1)
Calcium concentrations (mg 100 g1 dry weight) in fresh samples ranged between 1 722 ± 60 (V. unguiculata) and 3 100 ± 95 (C. gynandra; Rustenburg). Calcium concentration in fresh A. hybridus (Rustenburg) was considerably higher than that of A. hybridus (Vhembe). Magnesium concentrations (mg 100 g1 dry weight) ranked highest in the Rustenburg District samples of A. hybridus (1 400 ± 0.3) and C. gynandra (1 311 ± 45). Amaranthus thunbergii contained less magnesium (520 ± 18), and V. unguiculata the least magnesium (392 ± 14). Iron concentrations (mg 100 g1 dry weight) were high in A. thunbergii (237 ± 8), while in other samples they ranged between 14 ± 0.5 (A. hybridus; Rustenburg) and 98±3(V. unguiculata). Iron concentrations in C. gynandra were higher in the Capricorn sample (90 ± 3) than in the Rustenburg sample (38 ± 1). Zinc concentrations (mg 100 g1 dry weight) varied between 0.6 ± 0.2 (A. hybridus; Rustenburg) and 44 ± 15 (C. gynandra; Rustenburg). Comparing these values, zinc was higher in the Vhembe samples of A. hybridus (4±2)and A. thunbergii (13 ± 4) and lower in the Capricorn sample of C. gynandra (8 ± 3). The highest selenium concentrations were in the Rustenburg samples of A. hybridus and C. gynandra (0.8 ± 0.3 and 0.5 ± 0.01, respectively).
Total phenolics concentration (Table 2)
Total phenolics concentration, expressed as mg GAE 100 g1 dry mass, ranged from 1 057 ± 62 to 2 906 ± 95; the highest value was obtained for V. unguiculata. When comparing the amaranth samples, the highest concentration of total phenolics was obtained for A. hybridus from Rustenburg (2 181 ± 30), followed by A. thunbergii from Capricorn (1 138 ± 42), and the lowest concentration was obtained for A. hybridus from Vhembe (1 057 ± 62). Cleome gynandra from Rustenburg was also higher in total phenolics (1 924 ± 87) compared with the sample of C. gynandra obtained from Capricorn (1 659 ± 30).
Total carotenoids concentration (Table 2)
The highest total carotenoid concentration, expressed as mg 100 g1 dry mass, was measured in V. unguiculata (195 ± 5). The total carotenoid concentration of C. gynandra was higher in the Rustenburg sample (162 ± 1) compared with the Capricorn sample (94 ± 4). In amaranth samples, the total carotenoids concentration was lowest in A. thunbergii (89 ± 11) and highest in the Vhembe sample of A. hybridus (131 ± 11).
Beta-carotene concentrations (Table 2)
Beta-carotene concentrations (mg 100 g1 dry mass) ranged from 0.4 ± 0.1 (C. gynandra; Rustenburg) to 18.4 ± 1.5 (A. hybridus; Rustenburg). The concentrations of beta-carotene were considerably lower in A. thunbergii (1.6 ± 0.2) and the Vhembe sample of A. hybridus (1.6 ± 1.1) compared with the Rustenburg sample of A. hybridus (18.4 ± 1.5). The beta-carotene concentration was notably higher in the Capricorn sample of C. gynandra (1.7 ± 0.6) compared with the Rustenburg sample. The concentration of beta-carotenes in V. unguiculata measured 3.8 ± 0.3 mg 100 g1.
Toxic radical molecules are continuously generated from plant cellular structures that are involved in photosynthesis and respiration. For protection, plants manufacture organic detoxification molecules in which iron, zinc and selenium feature as essential structural components. Calcium cations (Ca2+) play a vital role in regulating cellular transmembrane trafficking of elements and molecules.4 Dark-green leafy vegetables, therefore, are primary sources of minerals, trace elements, and antioxidant molecules, such as polyphenols and carotenoids, all of which function in enzymatic and/or non-enzymatic-mediated plant defences against radiation-induced oxidative stress.17 In the present study, leaves of wild-growing varieties of two amaranth species (A. hybridus and A. thunbergii), two samples of cat's whiskers (C. gynandra) and one of cowpea (V. unguiculata) were analysed for their mineral and trace elements, total phenolics, total carotenoids and beta-carotene concentrations. Concentrations of the minerals (calcium and magnesium) and trace elements (iron, zinc and selenium) varied in samples of the same plant species from different geographical localities (Table 1). However, the mineral and trace element content of plant leaves is a function of the environment, and in leafy vegetables would be strongly influenced by the chemical composition of the soil and the climate.18,19 The highest concentrations of calcium (2 700 mg 100 g1 and 3 100 mg 100 g1) and magnesium (1 400 mg 100 g1 and 1 311 mg 100 g1) were measured in A. hybridus and C. gynandra, respectively, both sampled from the Rustenburg area. These samples also, respectively, contained the lowest and highest zinc concentrations (0.6 mg 100 g1 and 44 mg 100 g1), suggesting that zinc was differently absorbed by these two plant species. Interestingly, iron concentrations in samples from the North West Province were low (15 mg 100 g1 and 38 mg 100 g1) in comparison with those samples collected from the Limpopo Province (which ranged from 90 mg 100 g1 in C. gynandra to 237 mg 100 g1 in A. thunbergii). Selenium concentrations were low in all the samples. The mineral concentrations measured in the present study are comparable with calcium (2 365 mg 100 g1 and 3 931 mg 100 g1) and magnesium (1 317 mg 100 g1 and 1 166 mg 100 g1) concentrations in A. hybridus and A. spinosis, respectively, that were reported by Odhav et al.20 Both these species that were sampled from assorted habitats (i.e. disturbed land, roadside and field) in KwaZulu-Natal, measured 21 mg 100 g1 of iron and 18 mg 100 g1 of zinc. If, for purposes of comparison, values indicated in the South African Food Composition Data (SAFCOD)21 are converted to dry mass, commercially-grown spinach and swiss chard, respectively, are lower in both calcium (832 mg 100 g1 and 1 182 mg 100 g1) and magnesium (664 mg 100 g1 and 788 mg 100 g1), are comparable in their iron (30 mg 100 g1 and 44 mg 100 g1) and zinc (4.5 mg 100 g1 and 7.4 mg 100 g1) concentrations, and higher in selenium (8.4 mg 100 g1 and 12 mg 100 g1). Results from the present study, and those reported by Odhav et al.,20 suggest wild morogo should be considered an important source of calcium, magnesium, iron and zinc, particularly for households that are not in a position to access conventional vegetables, whether for economic or demographic reasons.
Carotenoids, pigment molecules responsible for the colour of many fruits and vegetables, have important functions in photosynthesis and are abundant in plant leaves. Beta-carotenes, for example, are prevalent in photosystem I.22 Carotenoids have important biological functions and those derived from plant foods can be biologically transformed to provitamin A which is converted to vitamin A only when needed by the body.23 Faber et al.24 proposed that the majority of children in South Africa between 2 years and 5 years of age consume low nutrient-dense diets which, in addition to other constituents, are also deficient in vitamin A. Another study found that, for children in rural areas, consumption of morogo contributed significantly to their intake of calcium and iron, but the biggest nutrient contribution of morogo consumption was towards the total intake of vitamin A.25 Carotenoid and beta-carotene concentrations measured in the three species of wild morogo are shown in Table 2. The total carotenoids concentrations in A. hybridus (131 mg 100 g1), C. gynandra (162 mg 100 g1) and V. unguiculata (195 mg 100 g1) compared well with that of baby spinach (140 mg 100 g1) reported by Bergquist.22 The beta-carotene contents of the Rustenburg sample of A. hybridus (18 mg 100 g1) and of the unspecified amaranth species reported in the SAFCOD table (16 mg 100 g1)21 were markedly higher than concentrations measured in A. thunbergii (1.6 mg 100 g1), C. gynandra (0.4 mg 100 g1 and 1.7 mg 100 g1) and V. unguiculata (3.8 mg 100 g1). In commercially-grown A. tricolor, levels of total carotenoids (251 mg 100 g1) and beta-carotene (39 mg 100 g1) were much higher. Beta-carotene concentrations of 52.9 mg 100 g1 and 291 mg 100 g1 have been reported for A. gangeticus and A. viridis, respectively.7,26 According to De Pee and Bloem,27 the bioavailability of carotenoids in DGLVs is reduced by the leaf matrix. Notwithstanding this limitation, and distinct from being vitamin A precursors, carotenoids also exhibit considerable antioxidant capacity based on their symmetrical linear 40-carbon tetraterpene structure, which features alternating double and single carbon-carbon bonds.7,16,23
Polyphenols are another class of phytochemicals that contribute considerably towards the total antioxidant capacity of DGLVs.28 Grouped together on the basis of their structures having aromatic rings, antioxidant activities of polyphenols are mainly through the donation of hydrogens.29 Results in Table 2 indicate that wild-growing varieties of Amaranthus, Cleome and Vigna spp. contained phenolic compounds in amounts comparable to those of conventional and commercially-grown non-conventional vegetables. Total phenolics concentrations were 2 181 mg 100 g1, 1 924 mg 100 g1 and 2 960 mg 100 g1 in A. hybridus, C. gynandra and V. unguiculata, respectively, and 2 100 mg 100 g1 in commercial spinach.30 Lako et al.7 reported total phenolics concentrations of 2 000 mg 100 g1 in leaves of commercially-produced Ipomaea batata, which is also eaten as morogo in South Africa. Odhav et al.20 demonstrated that methanolic plant extracts (100 mg ml1), prepared from wild-growing varieties of A. hybridus, A. spinosus and C. monophylla, exhibited radical scavenging capacities of 90%, 88% and 84%, respectively, relative to the 100% of the positive control, flavonoid rutin.
Polyphenol-rich plant extracts reportedly show protection against atherogenesis by inhibiting oxidation of low density lipoproteins in endothelial cells and macrophages.6,28 Collins linked the decreased cancer incidence following dietary beta-carotene supplementation to antioxidant protection enhancing resistance to reactive oxygen species (ROS)-induced DNA strand breaks.31 Other studies ascribed the protective properties of dietary polyphenols and carotenoids against chronic diseases to the ability of these compounds to quench singlet oxygen or scavenge ROS, thus interrupting the transfer of radical reactions from one cell to adjacent cells.28,29,32 Based on results of phytochemical analysis reported in the present study, and the radical scavenging activities of morogo extracts demonstrated by Odhav et al.,20 it seems likely that consumers could derive a range of dietary antioxidants from wild morogo.
Wild morogo thus appears to be a good source of minerals, trace elements and antioxidantsthe consumption of which could be particularly important in resource-poor households who are most likely to suffer deficiencies of these nutrients. Because of their unsatisfactory nutritional status, members of such households are expected to be more vulnerable to infection and chronic diseases.33 Mineral, trace element and phytochemical profiles of the wild morogo varieties reported in the present study support the view of South African authors who consider morogo cropping a feasible strategy for resource-poor populations to access a more diverse, nutrient-dense diet.25,34,35 Moreover, in a joint publication of the United Nations Development Programme and the Food and Agriculture Organization, Plant Diversity, Sustainable Livelihoods and the HIV/AIDS Crisis, Gari expressed the view that wild-growing food plants are an affordable and practical source of nutrition to improve the nutritional status of rural HIV-affected households. The author based this view on the fact that wild edible plants represent an inexpensive, labour-responsive means of improving the trace elements quality of poor diets.36 Morogo crops, because they are derived from indigenous African edible plant species that are adapted to local environmental conditions, grow on soils of limited fertility, are drought tolerant and can be harvested in a short period.9
The utilisation of wild morogo species seems in line with the ecohealth approach advocated by Lebel,37 namely that biodiversity conservation could have an important role in dietary diversification, improved nutrition and the betterment of human health. Wild morogo varieties gathered from the veld are readily accessible and general consumption thereof in rural settings is expected to improve the nutrient density of poor diets. Moreover, encouraging home-garden cropping of morogo vegetables seems an appropriate strategy to enrich high-starch diets of resource-poor populations in both rural and urban settings with health-protective minerals, trace elements and antioxidant phytochemicals.
The Morogo Research Programme (MRP) gratefully acknowledges the National Research Foundation (NRF) of South Africa for financial support of this study (Grant FA2004050600064) and Statistical Consultation Services (North-West University) for statistical processing of results. The MRP is most grateful to the participating households in Nzhelele Valley (Vhembe District) and Dikgale (Capricorn District) in the Limpopo Province, and those of Phokeng and Zuurplaat (Rustenburg District) in the North-West Province of South Africa for providing the morogo analysed in this study.
1. Smith F.I. and Eyzaguirre P. (2007). African leafy vegetables: their role in the World Health Organization's global fruit and vegetable initiative. Afr. J. Food Agric. Nutr. Dev. 7(3). Online at: http://www.ajfand.net/Issue14/PDFs/ SMITH-IPGRI_1.pdf [ Links ]
2. Van Wyk B-E. and Gericke N. (2003). People's Plants: a Guide to Useful Plants of Southern Africa. Briza Publications, Pretoria. [ Links ]
3. Zimmermann P. and Zentgraf U. (2005). The correlation between oxidative stress and leaf senescence during plant development. Cell. Mol. Biol. Lett. 10, 515534. [ Links ]
4. Borek C. (2003). Cancer prevention by natural dietary antioxidants in developing countries. In Molecular and Therapeutic Aspects of Redox Biochemistry, eds T. Bahorun and A. Gurib-Fakim, pp. 259269. OICA International (U.K.) Limited, London. [ Links ]
5. Philpott M. and Ferguson L.R. (2004). Immunonutrition and cancer. Mut. Res. 551, 2942. [ Links ]
6. Diplock A. (2000). Scientific overview on antioxidants. In Antioxidants: Scientific Basis, Regulatory Aspects and Industry Perspectives. ILSI Europe Report Series. ILSI Europe, Brussels. [ Links ]
7. Lako J., Trenerry V.C., Wahlqvist M., Wattanapenpaiboon N., Sotheeswaran S. and Premier R. (2007). Phytochemical flavonols, carotenoids and the antioxidant properties of a wide selection of Fijihan fruit, vegetables and other readily available foods. Food Chem. 101, 17271741. [ Links ]
8. Van der Walt A.M., van der Linde E., Alberts M., Modjadji P., Jivan S.D. and. Bezuidenhout C.C. (2006). Fumonisin-producing Fusarium strains and fumonisins in traditional African vegetables (morogo). S. Afr. J. Sci. 102, 151155. [ Links ]
9. Jansen van Rensburg W.S., van Averbeke W., Slabbert R., Faber M., van Jaarsveld P., van Heerden I., Wenhold F. and Oelofse A. (2007). African leafy vegetables in South Africa. Water SA 33(3), 317326. [ Links ]
10. Weather SA. Online from: http://www.weathersa.co.za, accessed in September 2006. [ Links ]
11. Kähkönen M.P., Hopia A.I., Vurela H.J., Rauha J., Pihlaja K., Kujala T. and Heinonen M. (1999). Antioxidant activity of plant extracts containing phenolic compounds. J. Agric. Food Chem. 47, 39543962. [ Links ]
12. Loots D.T., van der Westhuizen F.H. and Jerling J.C. (2006). Polyphenol composition and antioxidant activity of kei-apple (Doryalis caffra) juice. J. Agric. Food Chem. 54, 12711276. [ Links ]
13. Singleton V.L. and Rossi J.A. (1965). Colorimetry of total phenolics with phosphomolybdic-phosphotungstic acid reagents. Am. J. Enol. Vitic. 16, 144158. [ Links ]
14. Edwards E.J., Saint R.E. and Cobb A.H. (1998). Is there a link between greening and light enhanced glycoalkaloid accumulation in potato (Solanum tuberosum L.) tubers? J. Food Sci. Agric. 76, 327333. [ Links ]
15. Lakshiminarayana R., Raju R., Krishnakantha T.P. and Baskare V. (2005). Determination of major carotenoids in a few Indian leafy vegetables by high-performance liquid chromatography. J. Agric. Food Chem. 53, 28382842. [ Links ]
16. De Ancos B., Gonzalez E. and Cano M.P. (2000). Effect of high-pressure treatment on the carotenoid composition and radical scavenging activity of persimmon fruit purees. J. Agric. Food Chem. 48, 35423548. [ Links ]
17. Van Duyn M.A.S. and Pivonka E. (2000). Overview of the health benefits of fruit and vegetable consumption for the dietetics professional: selected literature. J. Am. Diet. Assoc. 100, 15111521. [ Links ]
18. Mnkeni A.P., Masika P. and Maphaha M. (2007). Nutritional quality of vegetable and seed from different accessions of Amaranthus in South Africa. Water SA 33(3), 377380. [ Links ]
19. Modi A.T. (2007). Growth temperature and plant age influence on nutritional quality of Amaranthus leaves and seed germination capacity. Water SA 33(3), 369375. [ Links ]
20. Odhav B., Beekrum S., Akula U. and Baijnat H. (2007). Preliminary assessment of nutritional value of traditional vegetables in KwaZulu-Natal, South Africa. J. Food Comp. Anal. 20, 430435. [ Links ]
21. Kruger M., Sayed N., Langenhoven M. and Holing F. (1998). Composition of South African Foods: Vegetables and Fruit. Medical Research Council, Tygerberg. [ Links ]
22. Bergquist S. (2006). Bioactive compounds in baby spinach (Spinacia oleracea L.) effects of pre- and postharvest factors. Ph.D. thesis, Swedish University of Agricultural Sciences, Sweden. [ Links ]
23. Rodriguez-Amaya D.B. (1997). Carotenoids and food preparation: the retention of provitamin A carotenoids in prepared, processed and stored foods. Inc/OMNI Project Report. Online at: http://www.mostproject.org/PDF/carrots2.pdf [ Links ]
24. Faber M., Phungula M.A.S., Venter S.L., Dhansay M.A. and Benadé A.J.S. (2002). Home gardens focusing on the production of yellow and dark-green leafy vegetables increase the serum retinol concentrations of 25-y-old children in South Africa. Am. J. Clin. Nutr. 76, 10481054. [ Links ]
25. Faber M., Van Jaarsveld P. J. and Laubscher R. (2007). The contribution of dark-green leafy vegetables to total trace elements intake of two-to five-year-old children in a rural setting. Water SA 33(3), 407412. [ Links ]
26. Gupta S., Lakshmi A.J., Manjunath M.N. and Prakash J. (2005). Analysis of nutrient and antinutrient content of underutilised green leafy vegetables. LWT Food Sci. Technol. 38, 339345. [ Links ]
27. De Pee S. and Bloem M.W. (2007). The bioavailability of (pro) vitamin A carotenoids and maximizing the contribution of homestead food production to combating vitamin A deficiency. Int. J. Vitam. Nutr. Res. 77, 182192. [ Links ]
28. Duthie G.G., Duthie S.J. and Kyle J.A.M. (2000). Plant polyphenols in cancer and heart disease: implications as nutritional antioxidants. Nutr. Res. Rev. 13, 79106. [ Links ]
29. Rahman I., Biswa S.K. and Kirkham P.A. (2006). Regulation of inflammation and redox signaling by dietary polyphenols. Biochem. Pharmacol. 72, 14391452. [ Links ]
30. Pandjaitan N., Howard L.R., Morelock T. and Gil M.I. (2005). Antioxidant capacity and phenolic content of spinach as affected by genetics and maturation. J. Agric. Food Chem. 53, 86188623. [ Links ]
31. Collins A.R. (2001). Carotenoids and genomic stability. Mutat. Res. 475, 2128. [ Links ]
32. Spiteller G. (2006). Peroxyl radicals: inductors of neurodegenerative and other inflammatory diseases. Their origin and how they transform cholesterol, phospholipids, plasmalogens, polyunsaturated fatty acids, sugars, and proteins into deleterious products. Free Radic. Biol. Med. 41, 362387. [ Links ]
33. Bourne L.T., Lambert E. and Steyn K. (2002). Where does the black population of South Africa stand on the nutrition transition? Publ. Health Nutr. 5, 157162. [ Links ]
34. Labadarios D., Steyn N.P., Maunder E., MacIntyre U., Gericke G., Swart R., Huskisson J., Dannhauser A., Vorster H.H., Nesmvuni A.E. and Nel J.H. (2005). The National Food Consumption Survey (NFCS): South Africa, 1999. Publ. Health Nutr. 8, 533543. [ Links ]
35. Faber M. and Wenhold F. (2007). Nutrition in contemporary South Africa. Water SA 33(3), 393400. [ Links ]
36. Garí J.A. (2004). Plant Diversity, Sustainable Rural Livelihoods and the HIV/AIDS crisis. A Joint Publication of United Nations Development Programme (UNDP), Bangkok, and Food and Agriculture Organisation (FAO), Rome. [ Links ]
37. Lebel J. (2003). Health and Ecosystem Approach. IDRC, Ottawa. [ Links ]
Received 26 May 2008.
Accepted 25 August 2009.
* Author for correspondence E-mail: firstname.lastname@example.com


text:
An association representing news organizations in Canada is calling on federal party leaders to restrict Canada Post's plans to expand its flyer distribution.
News Media Canada, of which Black Press Media is a member, released a statement on Friday saying the Crown corporation is using an unfair advantage provided to it by the government.
President and CEO John Hinds said Canada Post has plans to begin distributing packaged commercial flyers in direct competition with local newspapers, using its ability to access lock boxes in apartments and condos as part of its marketing.
"It's essentially public money that's going into this," Hinds said, adding that Ottawa provides tax credits to Canada Post.
"Yet at the same time, the Crown corporation is out there taking a run at one of the core sources of revenue for the newspaper business."
In a statement, Canada Post denied that it is competing unfairly.
"With a mandate to serve all Canadians while remaining financially self-sufficient, Canada Post competes fairly in the marketplace to provide products and services of value to Canadian businesses and consumers," it said.
"With greater flexibility and lower prices, newspapers and other private operators deliver the vast majority of flyers in Canada. While Canada Post has exclusive access to mailboxes, we don't deliver everything Canadians receive at their door."
Hinds said Canadians should be concerned about the postal service undercutting one of newspapers' foundational revenue pillars.
"Canadians have said that local news is really important," he said. "At the end of the day, local advertising creates local news."
Black Press Media has also reached out to the Canadian Union of Postal Workers and the office of Carla Qualtrough, the minister responsible for Canada Post, for comment.
Like us on Facebook and follow us on Twitter

subset: commoncrawl


text:
Meditech offers a comprehensive line of patient monitors for virtually every care setting with smart features that are in step with your needs clinical accuracy, streamlined workflow, improved patient care
Meditech Equipment Co.,Ltd is part of Meditech Group. Product(s) described may not be licensed or available for sale in all countries. Sonotech, Sonovet, iSonic, FOs2pro, Dolphi, Defi, HeartRec,miniScan,Cardios,SpirOx,iBreath, Meditech and all corresponding design marks are trademarks of Meditech. The symbol indicates the trademark is registered. Patent and Trademark Office and certain other countries. All other names and marks mentioned are the trade names, trademarks or service marks of their respective owners. Please see the Instructions for Use for a complete listing of the indications, contraindications, warnings and precautions.


text:
With over a decade of experience helping home buyers and sellers in the Riviera Maya we are the leading real estate experts in the region. Whether you are looking for a vacation home, a beachfront condo for long weekend escapes, a retirement option or an investment opportunity, we have the expertise to help you find your dream property in the Mexican Caribbean. The process of owning property in Mexico is different than in the U.S. or Canada. Our team of real estate professionals will ensure your purchase or sale is done correctly, timely and stress-free for you.
We hope you find our website interesting and we look forward to hearing from you regarding the fantastic properties we have to offer. We have made over 1000 dreams come true in the past 10 years and yours could be next. What are you waiting for? Contact us today!
Situated in the heart of the Riviera Maya, Akumal, "The Place of the Turtle in Maya", is located 62 miles south of the Cancun. Akumal is one of the Riviera Maya's most attractive tourist destinations, attracting visitors from around the globe who flock to see its resident marine turtles and vibrant ecosystem.
More Information
Tankah & Soliman Bay
Located 20 minutes south of Akumal and 15 minutes north of Tulum, Soliman Bay is a quiet residential community on a large crescent shaped bay, with pristine beaches popular for snorkeling and kayaking. Even more remote and romantic, Tankah Bay is located just to the south.
More Information
Tulum, 82 miles south of Cancun, has remained tied to its Mayan origins yet has been adopted and influenced by the cultures of its many international visitors. Tulum, lost in time and nature offers the only ancient Maya port and its ruins and miles of the most powdery white sand beaches on the coast.
Sian Kaan Reserve
Sian Ka'an (Maya for "Where the sky is born") was established as a biosphere reserve in 1986 and incorporated into UNESCO's list of natural world heritage sites in 1987. Covering 2,500 square miles of coastline, the Sían Ka'an Reserve is a mecca for nature lovers from around the globe.
Bahia Principe
Bahia Principe development is a 717 acre master-planned community which includes condo-hotels, townhouses, building lots and villas surrounding a 27 hole championship golf course designed by Robert Trent Jones II. Owners and guests also enjoy access to a 5 star quality Beach Club.
Puerto Aventuras
A boater's paradise, Puerto Aventuras is a gated resort-marina community on the Riviera Maya, offering a 9-hole golf course and a variety of restaurants, shops, entertainment and tourist attractions. Puerto Aventuras offers a wide variety of beachfront, marina front and golf course homes.
Playa del Carmen
Playa del Carmen is one of the hottest tourist destinations in the world attracting travelers with its cool and cosmopolitan vibe. Playa del Carmen real estate is booming with many new condominium developments and commercial real estate opportunities.
Featured Properties
Take a look at the Akumal real estate listings and new developments on the Riviera Maya that we think offer the best value for our customers looking for solid investment opportunities on the Riviera Maya. Listings will periodically change based on availability and fluctuating market conditions.
All Riviera Maya Listings
The Riviera Maya is a 80 miles stretch of shimmering coastline and jungle located along the east side of Mexico's Yucatan peninsula. View all residential and commercial properties for sale in Playa del Carmen, Puerto Aventuras, Xpu Ha, Akumal, Tulum and the Sian Ka'an Reserve.
BuyPlaya Akumal Real Estate is a family owned and operated Riviera Maya real estate agency with over decade of experience offering professional Buyer Broker services for vacation homebuyers and investors from the United States, Canada and across the globe.
Our multi-lingual real estate specialists have been selected for their dedication, knowledge and discretion. Each of our team members has been living and working in this region for years and has comprehensive knowledge of Akumal real estate and properties for sale in Playacar, Puerto Aventuras, Akumal, Tulum and all along the Riviera Maya. Our Buyers agents can show you the very best deals and investment opportunities.
BuyPlaya Akumal is the fastest growing real estate agency servicing Akumal, Mexico and the Riviera Maya facilitating an average of 50 transactions annually representing approximately 20 million dollars in real estate sales. As industry leaders, we are active members in good standing of AMPI and NAR and proud to hold the trusted REALTOR® designation.
BuyPlaya maintains a large inventory of Akumal real estate listings including beachfront condos in Akumal and spectacular villas in gated golf course communities such as Playacar and Bahia Principe and luxurious beachfront homes in Akumal, Tulum and inside the Sian Kaan Biosphere.
BuyPlaya Akumal clients have access to unique commercial opportunities that may never be seen on the open market. Our extensive inventory also includes land and lots for development, income properties, hotels for sale and variety of opportunities to work and live in Akumal, Mexico.
The process of buying real estate in Mexico is indeed different than it is in Canada and the United States. That does not mean it has to be difficult or risky. Working exclusively for you, BuyPlaya Akumal Real Estate will insure that your desires are met and your interests are protected when it comes to Akumal real estate.
Visit our blog and see what caught our eye this week in Akumal! Do you have something you would like to share? We welcome guest bloggers!
Find the most up to date listing of events in Akumal and the Riviera Maya on our FREE calendar. Have an event to promote? Let us know!
Custom Point2 Agent Real Estate Web Design by The Real Estate Web Guy
Akumal Real Estate Akumal realtor


text:
1959 Bowes Indy Roadster at the Indianapolis Motor Speedway
Brickyard Bacchanal
Related Video
The most storied of races is the Indianapolis 500. It draws more spectators than any sporting event in the world, and is held at the world's largest sporting facility. It's racing's Super Bowl. On steroids. It's more than 100 years old. It's the Indianapolis friggin' 500. We look upon the legendary drivers and crews as determined and defiant combatants defining that thing the hot rodder in us can relate to: the collective of cars, speed, and risk.
We've all dreamt about racing there—or at least painting the track in a real Indy race car—so I gladly accepted when HOT ROD friend Bill Akin offered me the ride of my life. You may recall Bill's name from the story "Topless in Winter" (July 2013), wherein I drove his 1932 roadster from Nashville to L.A. in the dead of winter. One reason Bill's channeled Deuce has remained in its as-built condition from the '70s is that Bill's roadster interests strayed to those of the Indy variety. He currently owns four vintage Indy roadsters—three of them beautifully restored by him with their gleaming aluminum bodies and 255ci Offenhauser motors. He's become one of the few Offy engine aficionados in the country, supplying restorers everything from bearing kits to complete engines.
Every year for the last 14, the Indianapolis Motor Speedway Museum has arranged an exhibition of historic Indy race cars during the three days preceding the 500 race. Director Ellen Bireley works long and hard to bring together some of the greatest cars from Indy's past that are capable of performing for fans who attend the events at the track leading up to race day. This isn't for static museum pieces or leakers. Every year, Bill gathers his Indy roadsters and a few of his closest friends and treks to the Brickyard for these festivities. Akin says, "It never gets dull. When you think about the history here, and that these cars actually raced here, you drive around the track with your jaw dragging on the ground."
The historic cars enter the Speedway on Wednesday and don't leave until Saturday. Community Day is the Wednesday before the 500, a huge open house for the locals, where the cars are on display. Next, the cars are left at the track for daily 20-minute, on-track sessions leading up to Sunday's race. The car I'd drive in these exhibitions was the Bowes Seal Fast (BSF) roadster, built by Quin Epperly for Bob Bowes, owner of BSF, in 1959. BSF was and still is a company specializing in tire-repair kits and related components. The car qualified for the only Indy Car race ever run at the Daytona International Speedway, driven by George Amick, who crashed and was killed on the last lap of the 100-mile USAC event in April 1959. The car was quickly repaired for Johnny Boyd, who drove it to a Sixth-place finish at the May 30, 1959, Indianapolis 500. The same car came in 27th in 1960 at the Brickyard. It didn't qualify for the 500 in 1961, but was back in 1962 with Paul Goldsmith driving, where it went out on the 27th lap with magneto problems. In 1964, a Milwaukee beer distributor purchased the car, painted it in his company's livery, and put it in his condo as decoration, where it sat for decades—though it had been presumed by the Indy intelligentsia to be destroyed. It resurfaced in 2005, and Akin purchased it through a broker in 2006. Akin says, "It was preserved so well it was an easy restoration. It had 1964 oil in the engine and 1964 air in the tires. It was totally the opposite of my first Indy roadster, the Mid-Continent car, which required a major restoration." It took a little more than a year for Akin to complete the restoration.
Before his cars entered the Speedway for the 2013 festivities, Bill wanted me to take a rookie test in the hotel parking lot to get the feel of the clutch and the car in general. New drivers tend to stall in the pits. The transmission is a two-speed, geared high for racing, so First gear feels almost like taking off in Third. The pedal arrangement is almost like any car, but the clutch is stiff, and the pedal action is impeded by a framemember running below it. I had to press it with my heel for better leverage and to clear the tubing that otherwise limits your travel. Every race car is unique, but the few Indy cars I've been in were like this. It could create problems—especially when my first time running the car would be at the Indianapolis Motor Speedway in front of everybody.
So my test commences. Once the engine cracks to life, I know this car wants to cook. The throttle response is so quick and the go pedal relatively light that just resting my foot on the gas rapidly spun the Rs. I made a few laps around the parking lot, stopping every so often to practice from a standstill. I got it—I must be a natural! Or not. Passing my rookie test, I am as ready as I will ever be to ring the raceway on Thursday.
We leave early the next morning in drizzle to get the three cars onto the track before it opens for Community Day. So what does one do during the day at the IMS without racing? Well, meeting and then hanging out with car-building legend A.J. Watson was one way to kill time. Getting a Coke at the Oldtimers Lounge as a guest of A.J. Foyt's head stooge (an Indy term of endearment for pit-crew members), Bob Dorn, is always cool because he has a million stories about the track, the drivers, and, of course, the cars. Then, there's Mari Hulman-George's luncheon in the pagoda, where we hung out with some of the current crop of Indycar owners and the likes of Bobby Unser, former GM President Ed Cole's wife Dollie and the late Sam Hanks' wife Alice. I'm hangin' out with the peeps and mixing well—dropping names and taking numbers.
Thursday starts out gloomy, but that can change by the minute at Indy. Still, the forecasts are not encouraging, and by the time we suit up for the 3 o'clock drivers meeting, it is apparent that rain will wash out our first opportunity to run.
When Friday morning arrives with the sun shining, we will be the first cars on the track. A quick drivers meeting at 8 a.m. precedes warming up the cars. We will be paced in two separate groups, with our group comprising of the early front-engine roadsters. No hot-dogging allowed. As this whole circus is being shot for a HOT ROD Unlimited episode, ace videographer Clint Stringfellow set up three GoPro cameras on the car and one on my helmet, which was mic'd, as well. We quickly hooked me up, then Bob Dorn belted me into the car. The significance of this is that Bob originally belted in Johnny Boyd in this very car at the 1959 500, where Boyd finished Sixth. How cool is that?
Ignition on, fuel lever on, and transmission in Neutral, I give the nod to my stooges to fire the Offy. It immediately jumps to life, and no sooner is the starter removed than I can see the car to my right pull out of the garage, which is the signal for me to do the same. Off we chug through the garage area. A quick right and a smooth left and I'm on the apron to enter the track. This is happening so quickly I never have time to think about stalling the car.
Once I pick up speed, still on the apron, the roadster starts lurching, so in with the clutch, down with the shift lever, and this sucker wants to go. I barely have my foot on the throttle, and the car lunges forward like a—well, like a race car. The Offy is loud and throaty, and I have to be careful to stay off of the pedal or I'll be into the pack in front of me—like that green Miller I was told just sold for $4 million.
I slow down for turn 3 and stab the throttle a little before easing off for turn 4, then give it just a little gas and I'm barreling past the stands, the pits, and the pagoda and into turn 1. Getting a little hot into 2, the back straight seems more tolerant of some speed. Coming out of turn 2 you can squeeze the trigger hard before tapping the brakes for 3.
And so it goes for a few laps. As I get comfortable with the car and track, it's easier to take in where I am, what I'm in, and what I'm doing. I'm hooked. This is too much fun. I don't know what it would be like for 500 miles, but for the 20 or so miles running the track, I felt like I could go forever.
I estimate I was hitting 120130 mph on the back stretch, but now I need to pay attention to the smoke coming up from inside the cockpit. It doesn't smell like fuel, oil, or electrical. It smells like burning paper. Maybe the car in front of me is melting down. I'll just pass him. Still that smell, and still more smoke wafting from behind the gauges. Looking down to the outside of the car I see smoke coming out of the louvers. Great. I kill the ignition as I come around Turn 4. Will this piece of history burn to toast before the safety crew can douse it? There's still smoke, but I'm having a hard time figuring out what's causing it. A paper gasket?I come to a stop at the inside wall before the entrance to the pits and wait for a tow. The smoke is thinning out, so a bit of relief sets in. The emergency crew arrives and we pop the hood. Nothing on the left. Hmm. Opening the hood on the right, one of the emergency crewmembers says, "There it is." I can see smoldering rags stuffed down against the cowl and the belly pan, right by the header. Reaching with my driving gloves on, I pull all three of them out and drop them onto the track. That was it? That's what I stopped for? I should have continued into the garages. I slowly push the roadster through the pits, as Indy Lights crews stare preparing for their race immediately following our fun. My stooges eventually show up, I get in to steer, and they push me the rest of the way through the pits.
With the cars backing up at the garage entrance, I'm just waiting when I notice some of the cars in my group coming out to take more laps. My stooges run to the garage to get the starter, I throw my helmet on and buckle up. Checking to make sure the fuel is back on, the ignition is on, and the trans is in Neutral, I give them the nod, the car fires up, and I'm on the apron transitioning onto the track. Again! This is unbelievable—my fun isn't over, after all. Another three laps and I'm waved in, but not before nailing it this time on the back stretch. With fewer cars on the track, I have plenty of room to see what the roadster will do, and it's crazy fast. I'd estimate 140150 mph this time before I put on the binders for turn 3. I'm already well beyond my talent and brain capacity.
It's quickly over, and I head back to the garages. Everyone seems euphoric, and why not? For many like myself, it's a once-in-a-lifetime event, and for some of the owners, it was their virgin Brickyard sprint. What makes my one chance so great is we have it chronicled on HOT ROD Unlimited. Go to YouTube.com/MotorTrend and search "HOT ROD Unlimited Episode 36" to see more.
Bob Dorn
Bob Dorn is a legendary stooge, who crewed and wrenched on many an Indy race car through the '50s and the '60s. In his second year of crewing for A.J. Foyt, he was known for replacing the left-rear tire during a pit stop—then seeing it fall off on the 69th lap, stalling Foyt's chances for a second win until 1964. How would you like to be remembered for that? But don't forget he was also on the Foyt crew the prior year when Foyt won his first of four 500 events.
Crewing for Bowes Seal Fast crew chief George Bignotti, Dorn was responsible for, among other duties, belting in driver Johnny Boyd for the '59 500 race. I had the honor of Dorn repeating the same procedure for me, before I took the same car out to stretch its legs the Friday before the 2013 Indy 500, 54 years later.
Born and raised in Indianapolis, Dorn might be one of the few living, lucid authorities that was there in the day to fill in some of the many blanks historians have about the greatest spectacle in racing. Also, he is always around to lend a hand to the owners and the drivers associated with the historic roadsters during race week. He's a hot rodder at heart, currently building a small-block, Chevy-powered, track-nose 1927 T roadster.
Bill Akin
"I'm into old race cars. I always wanted one. I read everything I could find about the Indy 500 and listened to the races on the radio as a boy. At some point in the game, I decided I wanted one and started looking. I found my first one in a junkyard in Russellville, Kentucky," says restorer Bill Akin.
He was in the mechanical contracting business for decades. Retired, he still helps oversee projects at Vanderbilt University a few days a week. He built his home outside of Hermitage, Tennessee, specifically to house his home shop of tools, cars, and parts. Besides his Deuce roadster and 1940 Deluxe coupe—both featured in HOT ROD—and his Foyt four-cam 1929 roadster, he has a gang of mid-1960s Dodge Darts. His favorite of the four Indy roadsters he owns is the Bowes Seal Fast car, although he's reserving the right to change his mind once he restores his Hoover Motor Express—his third Epperly roadster. Observing Bowes chief mechanic George Bignotti mutter under his breath, "Man, that was one fast SOB," after seeing Akin's restoration for the first time, Akin could have died and gone to heaven right there. Besides becoming good friends with builder Epperly and Bignotti, Akin has befriended many a hero from Indy's past, including builders A.J. Watson, Lujie Lesovsky, and Frank Kurtis.
Quin Epperly
Epperly built the Bowes Seal Fast roadster back in 1959. He started his career after WWII building aluminum race-car bodies for builder Frank Kurtis in Glendale, California—back when the majority of Indy racers were built around Los Angeles. Opening his own shop in the mid-'50s, Epperly struck a deal with builder George Salih to create Indycars based on Salih's "laydown Offy" configuration. Until this breakthrough in 1958, all Offy engines were positioned in the traditional heads up, pan down, upright, or slightly tilted position. When Epperly built his first race car in 1957, the engines were tilted 36 degrees. His second Indy chassis for 1958 used an Offy that was laid down 90 degrees, so the pan and head were lined up horizontally, resulting in a lower center of gravity and a lower hood and cowl for better aerodynamics. Epperly's first car finished in Second place in the '57 500 with driver Jim Rathman, and his second with the laydown chassis finished Second in 1958 with driver George Amick. Unfortunately, Epperly never tasted the winner's milk because his cars never finished better than Second place. Still, he was a popular builder, with cars built by him and also A.J. Watson, becoming the new normal until the rear-engine revolution a few years later.
Epperly-built cars went on to place in the top 10 at Indy for the next six years. In the '60s, he built the first Spirit of America land-speed record car for Craig Breedlove, and the Summers Brothers "pollywog" streamliner. His career ended restoring vintage race cars and repairing aluminum engine blocks for Top Fuel racers until his death in 2001. Thankfully, he was able to relish in the spotlight of his restored creations in his later years visiting the Brickyard.
MotorTrend Recommended Stories
Trending Pages
2022 Rivian R1T Launch Edition Yearlong Review Verdict: The End of Something Remarkable
Hey, Haters: Hyundai Just Announced a Sweet New Perk For EV Buyers
Lexus LM First Drive Review: It's Best if You Don't Drive This Sci-Fi Luxury Minivan
See Tesla Cybertruck Go Full Robocop as Police Truck
UAW-Detroit Automaker Strike Expands to More GM, Stellantis Plants: What You Need to Know


text:
(CNN) -- Outgoing U.S. Defense Secretary Robert Gates says NATO has become a "two-tiered" alliance poorly equipped to deal with challenges, and with members either unable or unwilling to carry out agreed missions in Afghanistan and Libya.
In his farewell speech Friday to the NATO Council in Brussels, Gates pulled few punches in listing the shortcomings of the alliance.
In particular, he drew a contrast between those members "willing and able to pay the price and bear the burdens of alliance commitments, and those who enjoy the benefits of NATO membership ... but don't want to share the risks and the costs."
"This is no longer a hypothetical worry," he said. "We are there today, and it is unacceptable."
Gates called for urgent action to "avoid the very real possibility of collective military irrelevance."
Ultimately, he said, "nations must be responsible for their fair share of the common defense."
The defense secretary said the problem was in part one of resources.
Pointing to one estimate that European defense spending had declined by nearly 15% in the decade following 9/11, Gates said that only five of the 28 allies now spent the agreed target of 2% of GDP on defense.
Gates said the allied mission in Afghanistan had exposed significant shortcomings of NATO -- in military capabilities and political will.
"Despite more than 2 million troops in uniform -- not counting the U.S. military -- NATO has struggled, at times desperately, to sustain a deployment of 25,000 to 40,000 troops, not just in boots on the ground, but in crucial support assets," he said.
Gates praised governments that had stepped up in Afghanistan.
"Frankly, four years ago I never would have expected the alliance to sustain this operation at this level for this long, much less add significantly more forces in 2010," he said.
That had "decisively changed the momentum on the ground," but NATO must now guard against a "rush to the exits."
"The way ahead in Afghanistan is "in together, out together," Gates said -- with the aim of "inflicting a strategic and ideological defeat on terrorist groups that threaten our homelands."
Gates had harsh words for the conduct of the air campaign against the regime of Moammar Gadhafi in Libya. He said it had become "painfully clear" that shortcomings could "jeopardize the alliance's ability to conduct an integrated, effective and sustained air-sea campaign."
"While every alliance member voted for the Libya mission, less than half have participated at all, and fewer than a third have been willing to participate in the strike mission," he said.
Some did not want to -- others simply were unable to. NATO lacked intelligence, surveillance and reconnaissance assets to do the job. Gates gave one critical example: "NATO air operations center in Italy required a major augmentation of targeting specialists, mainly from the U.S., to do the job. ... We have the spectacle of an air operations center designed to handle more than 300 sorties a day struggling to launch about 150."
Gates praised some NATO members for punching above their weight in the Libya operation.
"Norway and Denmark have provided 12% of allied strike aircraft yet have struck about one-third of the targets," he said. But such examples were the exceptions.
Gates concluded with a candid warning about American willingness to continue bearing a growing part of the NATO burden.
"The blunt reality is that there will be dwindling appetite and patience in the U.S. Congress ... to expend increasingly precious funds on behalf of nations that are apparently unwilling to devote the necessary resources or make the necessary changes to be serious and capable partners in their own defense," he said.
NATO members must better allocate their resources, follow through on commitments and protect defense budgets from being "further gutted" to avoid "a dismal future," Gates said.


text:
I seem to recall a few years ago when Google Calendar first came out, that it regularly detected events in your email, and proposed turning them into Calendar items. It would look for words like "when: tomorrow" etc, and parse them.
These days it doesn't do that. Is there a way to get this functionality back? Did Google ditch it for some reason?


text:
Sign In
Create a free IEA account to download our reports or subcribe to a paid service.
Assessing the benefit of optimised operations and advanced flexibility options
Technology report — February 2019
Thank you for subscribing. You can unsubscribe at any time by clicking the link at the bottom of any IEA newsletter.


text:
Thursday, January 03, 2008
2007 has been a great year of change and growth for the Webmaster Central team. Without the webmaster community helping us drive our vision to create better tools we wouldn't have accomplished much. All of us with the Webmaster Central team would like to say a big thank you to everyone! Before we look ahead to 2008 and begin to incorporate your feedback from the blog posts and discussion groups, we would like to take a minute to reflect upon some of our bigger feats of the last twelve months.
Our blog has been very active since its launch in August 2006, and we hope you've found it
helpful. For those who are new readers, you can find useful information about our Webmaster Tools
updates here, as well as articles on how to make your sites more search engine-friendly and
user-friendly. Outside of the US, we have readers from the UK, France, Canada, India and Germany,
just to name a few—it just goes to show what a big and widespread community you are! In fact, we
also have a dedicated group of readers for our Webmaster Central
German and China blogs. For
keeping track, 47.28% of you are using Firefox
to read our blog and 45.06% are using Internet Explorer, and our most popular post this past
December answered your questions on
meta tags and web search.
Here's a snapshot of what our
top search queries look like for December:
- Made preparations for our big debut (see February)
- Moved Webmaster Tools officially out of beta
- Traveled the globe and met with webmasters like you at conferences in Australia and London
- Launched the external and internal links feature in Webmaster Tools to make it easier for you to learn about your links
- Extended anchor text information to show the entire phrase sites use to link to you (not just individual words)
- Posted some helpful articles about robots.txt
- Kicked off a new blog for German webmasters
- Met with more of you at SES New York
- Added URL removal to Webmaster Tools
- Shared some useful tips on how webmasters can make use of Google's newly unveiled universal search
- Met with webmasters like you at conferences in China, Italy, New York and San Jose
- Revamped the Help Center to make it easier for everyone to find the content they need
- Reached out to webmasters at conferences in Seattle, Santa Clara and Toronto
- Unveiled the Message Center, a key component in helping us keep in touch with you!
- Improved Sitemap feedback to help you identify important issues in your Sitemaps
- Launched a Webmaster Central blog in China
- Enabled non-English domain names in Webmaster Tools
- Chatted with you at SES San Jose
- Updated Webmaster Tool's feature to help you analyze your robots.txt files
Webmaster Tools:
- Introduced Subscriber stats
- Revamped the UI
- Added support for 2 new languages: Romanian and Turkish
- Went all out for Halloween in true Google fashion
- Launched new features in Webmaster Tools—and a lot of them:
- Sitemap updates: cross-submissions and Code Search Sitemaps
- Top search queries—for the last 6 months!
- Sitelinks feature to help you identify the ones you have and help you get rid of the ones you don't like
- Set your geographic target to help your users find you more easily in country-specific searches
- Improved data freshness to keep you better informed about your site's performance
- Highlighted terrific webmasters in the discussion group and introduced Googlers ready to answer your questions in 11 non-English languages.
- Made it easier for Go Daddy users to access our tools
- Produced some helpful videos featuring our very own Matt Cutts on the anatomy of a search result and how to use alt attributes intelligently
Webmaster Tools update
loaded with new features:
- Improved Sitemap summary pages to help you identify issues in your Sitemaps
- Content analysis
- Video Sitemaps
- Added support for 2 new languages: Czech and Hungarian
- Attended PubCon in Las Vegas and SES Chicago
It was a busy year, but we had a lot of fun. I hope you'll stick with us as we embark on more great adventures in 2008. Remember, you can always reach out to us through our discussion group or at various search conferences throughout the year and around the globe!


text: Capital works begun before 27 February 1992 and used as described in table 43-140 of the ITAA 1997Warning: This information may not apply to the current year. Check the content carefully to ensure it is applicable to your circumstances. End of attention Calculate the deduction separately for each part that meets the description of your area. Multiply the construction expenditure by the applicable rate - either 4% if the capital works began after 21 August 1984 and before 16 September 1987 or 2.5% in any other case - and by the number of days in the income year in which you owned, leased or held your area and used it in a relevant way. Divide that amount by the number of days in the income year. Apportion the amount if your area is used only partly to produce assessable income. The amount the fund claims cannot exceed the undeducted construction expenditure. Last modified: 29 Jul 2020QC 21714


text:
Talk to your doctor about the risks of getting a vaccination. Shots fired! Shots are being fired right now, and it's our job as parents to defend ourselves against them.
Shots are being fired at us from all directions, but we have armor for this fight: information. One way to arm yourself against these shots is by talking with your doctor about the risks associated with vaccines.
Your neighbor is telling you about his new baby. He feels nervous about vaccinating and says he's considering delaying Lucy's vaccines.
"Big Pharma" talk
Your mother's group is chatting about vaccines. One mother tells the group Jimmy isn't vaccinated, and she's using the Immune-Strengthening Diet instead.
In a Facebook parenting group, someone comments we shouldn't trust pharmaceutical companies because they're covering up studies showing vaccines cause autism.
These and similar scenarios may sound familiar. So what do you do when you're faced with someone who questions vaccination? Do you try to convince them to vaccinate? Do you ignore them? Or might something else work?
Talking about vaccination can be really difficult. Vaccination touches on strong values, like protection of children, social responsibility, and respect for science.
So, if you're a vaccination supporter, you may feel perplexed, even angry, when people don't vaccinate their children. If you're a parent who has overcome minor worries and vaccinated your child, it can be galling when another parent dismisses vaccination, putting others at risk.
But talking about vaccination can also present pitfalls. Attempting to convince someone with strong views they're wrong can strengthen their commitment to their position.
Our work, with a team of researchers, clinicians, and the National Centre for Immunisation Research and Surveillance, shows the best way to respond depends on the situation. Your approach will be very different with a person who has fixed negative views on vaccination, compared with someone who is cautious. How you respond also depends on what is most important in your relationship.
Here are some options.
1. Don't go there
This approach is handy if you encounter a person with fixed beliefs. They may say, "I've done my research."
Your automatic response may be to counter their claims, saying "The science is clear. Vaccinate your kids."
But if the relationship with this person isn't important to you, or their emphatic pronouncements are unlikely to do harm, then little is gained by engaging. People with fixed beliefs don't budge much.
You may encounter active opposition to vaccination on social media. A small number of anti-vaccination activists colonize online forums.
So avoid protracted conversations. Facebook's algorithm privileges posts with high engagement, so your interactions may bring them even more attention. Energized by the response, anti-vaccination activists may coordinate and bombard you or your organization.
This is what happened to US clinic Kids Plus Pediatrics in Pittsburgh. The clinic eventually produced a guidebook on how to handle anti-vaccination attacks.
Increasing the visibility of anti-vaccination posts can have other drawbacks. Onlookers may come to see vaccination as riskier, and vaccine refusal as more popular than it really is (in reality, only about 2 percent of Australian parents decide not to give their children some or all vaccines).
But countering anti-vaccine views can also bring benefits: it can diminish these negative effects, and affirm vaccination for hesitant onlookers or "fence-sitters".
So which option is best? If this person's posts are getting exposure anyway or they are influential, then you may decide that responding is worth the risk. Just keep any interactions brief, factual, and polite. Otherwise, don't go there.
2. Agree to disagree
Agreeing to disagree may be an option when you are with friends and family who hold firm views and whose relationship is important to you.
There could be a family get-together with your cousin who steadfastly rejects vaccination and the topic comes up in conversation.
Family members start debating it. With strong views on either side, this could be explosive. Here you could say, "This is a topic we all have strong views about. We could just argue, but I propose that we leave this one alone."
Discussing vaccination would not change your cousin's mind. Her views are deeply held. Don't let arguments get in the way of these relationships.
3. Affirm vaccination and move on
This option can be useful when you want to avoid conflict but also advocate for vaccination.
Parent group situations might warrant this approach. For example, a couple at your antenatal class declares their plan to delay vaccination. While you might feel annoyed, try to focus on a strategic goal: showing other parents it's not a group norm to delay vaccination.
You could say, "We are planning to vaccinate our baby. We think it's really important." While this probably won't persuade the couple, it may reduce their influence on others.
4. Listen, affirm and recommend
This approach may be suitable when you are with family and friends who are hesitant about vaccinating. For example, your daughter and son-in-law are hesitant about vaccinating their child — your grandchild.
These relationships may be important to you, and you probably want to encourage them to vaccinate.
We and others recommend several steps:
Understand people's concerns and motivations
Listen to what people say and ask clarifying questions. This helps you better understand their reasons. Avoid the temptation to jump in, and keep a check on your emotions.
Affirm them as parents
This means acknowledging their concerns, as well as their care as parents. A person who feels respected is more likely to listen to your viewpoint. It's how we all like to be treated. You could say, "I can see you are trying to do your best."
Offer to share information
Sharing information means giving factual information relevant to that person, explaining your view, and why you believe it. Use quality information, such as via the World Health Organisation's Vaccine Safety Net portal. Personalize it: "I believe vaccination is important because …"
Close with a plan
This creates opportunities for future conversations. Some parents review their decisions, such as during a localized outbreak or when the child is older. It's also good to have an exit strategy because vaccination discussions can go on and on. You might ask, "Can we talk about this again some time?"
Decide how you want to spend your energy
Responding to people who question vaccination can be hard. So be judicious about where you spend your energy.
If you truly want to make a difference, avoid the temptation to reflexively correct what you believe is wrong and getting embroiled in lengthy vaccination debates or games of scientific ping pong.
Jump in without thinking, and you risk wasting your time, affecting relationships with family and friends, or even inadvertently amplifying anti-vaccine views. Instead, assess that person's position on vaccination, your goals, and what is most important in your relationship.
This is how you can talk with vaccine skeptics. If you want to learn more, read the full article here: Shots Fired: How to Talk With Vaccine Skeptics.
Ending: Shots Fired: How to Talk With Vaccine Skeptics. If you want to learn more, read the full article here: Shots Fired: How to Talk With Vaccine Skeptics.
Shots Fired: How to Talk With Vaccine Skeptics. Shots Fired: How to Talk With Vaccine Skeptics. Shots fired…


text:
If you want to do something that has approx. 1000 times more relevance than improving CPU schedulers by some statistically insignificant amount, then please solve the following practical issues:
- Prevent memory hungry apps from forcing other apps (eg. sshd) into deep swap. AFAIK setrlimit does that on a per-process level. We need a per-class or per-process-hierarchy level.
- Prevent disk i/o intensive apps from blocking other apps that only do limited disk i/o. Again, we need some class or hierarchy structure to collect the statistics reliably. Please note: AFAIK current disk io schedulers are only "disk input schedulers".
With the release of the kernel.org 2.6.25 kernel, there is now the cgroup extension available. It has already been integrated with the CPU scheduler, and it could also be possible to use it for memory and/or disk i/o rate distribution between, for example, users.


text:
For those in Austin who don't know, the EGRSO (the Economic Growth and Redevelopment Services Office… I had to look it up too) gets a substantial portion of its funding from the municipally-owned utility Austin Energy. What does this office do? From its city website:
[The EGRSO] implements the City of Austin Economic Development Policy as directed by the Austin City Council.
Essentially, the office provides grants and loans of city funds or services in order to promote economic development. Among its awardees are Facebook, LegalZoom, Heliovolt, Friday Night Lights, and the Home Depot Austin Technology Center.
Recently, the Electric Utility Commission voted unanimously to cut AE's funding of the EGRSO, citing the fact that AE faces tough budget choices inside its own walls. Commissioner Shudde Fath wrote in the Business Journal that AE can no longer be the city's cash cow.
EUC Chairman Phillip Schmandt released a statement on the matter yesterday:
I applaud EGRSO and its programs. There are many great ideas in EGROS' $10 Million budget.
But not every great idea should be funded with government money.
And more to the point, not every great idea should be funded from utility bills paid by our hard working customers who are struggling to make ends meet every month. (more…)


text:
Tk2portableTk - how to make your Tk source portable to other interpreted languages.
Ilya Zakharevich <email@example.com> has contributed most of this document. Many thanks.
PortableTk is an attempt to make Tk useful from other languages. Currently tk4.0 runs under Perl using this approach. Below, Lang is the notation for an external language to which PortableTk glues Tk code.
The main problem with using the code developed for TCL with different languages is the absence of data types: almost anything is char*. It makes automatic translation hopeless. However, if you typedef several new symbols to be char*, you can still use your code in TCL, and it will make the automatic translation possible.
Another problem with the approach that "everything is a string" is impossibility to have a result that says "NotApplicable" without setting an error. Thus different Tk command return different string values that mean "error happened", like "", " " or "??". Other languages can be more flexible, so in portableTk you should inform the compiler that what you want to return means "error" (see "Setting variables").
" "
Currently PortableTk uses several different approachs to simplify translation: several TCL functions that are especially dangerous to use are undefined, so you can easily find places that need to be updated to use Language-independent functions based on compiler warnings. Eventually a way to use these Language-independent functions under proper TCL will be also provided. The end of this document provides a starting point for such a project.
pTk, that is a port of Tk, is very special with respect to porting of other code to portableTk. The problem is that currently there is very little hope to merge the modifications back into Tk, so a special strategy is needed to maintain this port. Do not use this strategy to port your own code.
pTk is produced from Tk via a two-step process: first, some manual editing (the result is in the subdirectory mTk), and second, automatic conversion by the munge script (written in Perl). Thus the subdirectory pTk/mTk contains code with minimal possible difference from the virgin Tk code, so it is easier to merge(1) the differences between Tk versions into modified code.
It looks like the strategy for a portable code should be exactly opposite: starting from TCL-based code, apply munge, and then hand-edit the resulting code. Probably it is also possible to target your code to portableTk from scratch, since this will make it possible to run it under a lot of Languages.
The only reason anyone would like to look into contents of pTk/mTk directory is to find out which constructs are not supported by munge. On the other hand, pTk directory contains code that is conformant to portableTk, so you can look there to find example code.
munge is the script that converts most common Tk constructs to their portableTk equivalent. For your code to qualify, you should follow Tk conventions on indentation and names of variables, in particular, the array of arguments for the ...CmdProc should be called argv.
For details on what munge can do, see "Translation of some TCL functions".
PortableTk provides a symbol ????. If this symbol is defined, your source is compiled with it.
PortableTk defines several new types of configuration options:
You should use them instead of TK_CONFIG_STRING whenever appropriate. This allows your application to receive a direct representation of the corresponding resource instead of the string representation, if this is possible under given language.
???? It looks like TK_CONFIG_IMAGE and TK_CONFIG_SCALARVAR set variables of type char*.
The following data types are defined:
Tcl_Obj *
is the main datatype of the language. This is a type that your C function gets pointers to for arguments when the corresponding Lang function is called. The corresponding config type is TK_CONFIG_LANGARG.
This is also a type that keeps information about contents of Lang variable.
Is a substitute for a char * that contains name of variable. In Lang it is an object that contains reference to another Lang variable.
char *
LangCallback* a substitute for a char * that contains command to call. The corresponding config type is TK_CONFIG_CALLBACK.
It is the type that the Lang_SplitList sets. Before you call it, declare
Args *args;
LangFreeProc *freeProc = NULL;
code = Lang_SplitList(interp, value,
&argc, &args, &freeProc);
After you use the split values, call
if (args != NULL && freeProc) (*freeProc)(argc,args);
It is not guaranteed that the args can survive deletion of value.
The following macros and functions are used for conversion between strings and the additional types:
LangCallback * LangMakeCallback(Tcl_Obj *)
Tcl_Obj * LangCallbackArg(LangCallback *)
char * LangString(Tcl_Obj *)
After you use the result of LangCallbackArg(), you should free it with freeProc LANG_DYNAMIC (it is not guaranteed that any change of Tcl_Obj * will not be reflected in <LangCallback>, so you cannot do LangSet...() in between, and you should reset it to NULL if you want to do any further assignments to this Tcl_Obj *).
The following function returns the Tcl_Obj * that is a reference to Var:
Tcl_Obj * LangVarArg(Var)
???? It is very anti-intuitive, I hope the name is changed.
int LangCmpCallback(LangCallback *a,Tcl_Obj * b)
(currently only a stub), and, at last,
LangCallback * LangCopyCallback(LangCallback *)
Above we have seen the new datatype LangCallback and the corresponding Config option TK_CONFIG_CALLBACK. The following functions are provided for manipulation of LangCallbacks:
void LangFreeCallback(LangCallback *)
int LangDoCallback(Tcl_Interp *,LangCallback *,
int result,int argc, char *format,...)
The argument format of LangDoCallback should contain a string that is suitable for sprintf with optional arguments of LangDoCallback. result should be false if result of callback is not needed.
int LangMethodCall(Tcl_Interp *,Tcl_Obj *,char *method,
int result,int argc,...)
Conceptually, LangCallback* is a substitute for ubiquitous char * in TCL. So you should use LangFreeCallback instead of ckfree or free if appropriate.
void LangFreeArg (Tcl_Obj *, Tcl_FreeProc *freeProc)
Tcl_Obj * LangCopyArg (Tcl_Obj *);
void Tcl_AppendArg (Tcl_Interp *interp, Tcl_Obj *)
void LangSetString(Tcl_Obj * *, char *s)
void LangSetDefault(Tcl_Obj * *, char *s)
These two are equivalent unless s is an empty string. In this case LangSetDefault behaves like LangSetString with s==NULL, i.e., it sets the current value of the Lang variable to be false.
void LangSetInt(Tcl_Obj * *,int)
void LangSetDouble(Tcl_Obj * *,double)
The Lang functions separate uninitialized and initialized data comparing data with NULL. So the declaration for an Tcl_Obj * should look like
Tcl_Obj * arg = NULL;
if you want to use this arg with the above functions. After you are done, you should use LangFreeArg with TCL_DYNAMIC as freeProc.
int LangNull(Tcl_Obj *)
to check that an object is false;
int LangStringMatch(char *string, Tcl_Obj * match)
void LangExit(int)
to make a proper shutdown;
int LangEval(Tcl_Interp *interp, char *cmd, int global)
to call Lang eval;
void Lang_SetErrorCode(Tcl_Interp *interp,char *code)
char *Lang_GetErrorCode(Tcl_Interp *interp)
char *Lang_GetErrorInfo(Tcl_Interp *interp)
void LangCloseHandler(Tcl_Interp *interp,Tcl_Obj * arg,FILE *f,Lang_FileCloseProc *proc)
currently stubs only;
int LangSaveVar(Tcl_Interp *,Tcl_Obj * arg,Var *varPtr,int type)
to save the structure arg into Lang variable *varPtr;
void LangFreeVar(Var var)
to free the result;
int LangEventCallback(Tcl_Interp *,LangCallback *,XEvent *,KeySym)
int LangEventHook(int flags)
void LangBadFile(int fd)
int LangCmpConfig(char *spec, char *arg, size_t length)
void Tcl_AppendArg (Tcl_Interp *interp, Tcl_Obj *)
Another useful construction is
Tcl_Obj * variable = LangFindVar(interp, Tk_Window tkwin, char *name);
After using the above function, you should call
LangFreeVar(Var variable);
???? Note discrepancy in types!
If you want to find the value of a variable (of type Tcl_Obj *) given the variable name, use Tcl_GetVar(interp, varName, flags). If you are interested in the string value of this variable, use LangString(Tcl_GetVar(...)).
Tcl_GetVar(interp, varName, flags)
To get a C array of Tcl_Obj * of length n, use
Tcl_Obj * *args = LangAllocVec(n);
You can set the values of the Tcl_Obj *s using LangSet... functions, and get string value using LangString.
If you want to merge an array of Tcl_Obj *s into one Tcl_Obj * (that will be an array variable), use
result = Tcl_Merge(listLength, list);
We mark items that can be dealt with by munge by Autoconverted.
does not take (char*)NULL, but NULL as delimiter. Autoconverted.
Tk_CreateWidget, Tk_DeleteWidget, the second argument is the window itself, not the pathname. Autoconverted.
sprintf(interp->result, "%d %d %d %d",...)
Tcl_IntResults(interp,4,0,...). Autoconverted.
interp->result = "1";
Tcl_SetResult(interp,"1", TCL_STATIC). Autoconverted.
Tcl_SetResult(interp,"1", TCL_STATIC)
Tcl_GetResult(interp). Autoconverted.
interp->result = Tk_PathName(textPtr->tkwin);
Tk_WidgetResult(interp,textPtr->tkwin). Autoconverted.
Tcl_PrintDouble, Tcl_PrintDouble, ..., Tcl_AppendResult
Use a single command
void Tcl_DoubleResults(Tcl_Interp *interp, int append,
int argc,...);
append governs whether it is required to clear the result first.
A similar command for int arguments is Tcl_IntResults.
Use Lang_SplitList (see the description above).
To use your portableTk program with TCL, put
#include "ptcl.h"
before inclusion of tk.h, and link the resulting code with ptclGlue.c.
These files currently implement the following:
Var, Tcl_Obj *, LangCallback, LangFreeProc.
Lang_SplitList, LangString, LangSetString, LangSetDefault,
LangSetInt, LangSetDouble Tcl_ArgResult, LangCallbackArg,
LangSaveVar, LangFreeVar,
LangFreeSplitProc, LangFreeArg, Tcl_DoubleResults, Tcl_IntResults,
LangDoCallback, Tk_WidgetResult, Tcl_CreateCommand,
Tcl_DeleteCommand, Tcl_GetResult.
Current implementation contains enough to make it possible to compile mTk/tkText*.[ch] with the virgin Tk.
PortableTk defines following new types of events:
and a function
char * Tk_EventInfo(int letter,
Tk_Window tkwin, XEvent *eventPtr,
KeySym keySym, int *numPtr, int *isNum, int *type,
int num_size, char *numStorage)
If you start with working TCL code, you can start conversion using the above hints. Good indication that you are doing is OK is absence of sprintf and sscanf in your code (at least in the part that is working with interpreter).
What is described here is not included into base portableTk distribution. Currently it is coded in TCL and as Perl macros (core is coded as functions, so theoretically you can use the same object files with different interpreted languages).
Dynamic arrays in TCL are used for two different purposes: to construct strings, and to construct lists. These two usages will have separate interfaces in other languages (since list is a different type from a string), so you should use a different interface in your code.
The type for construction of dynamic lists is ListFactory. The API below is a counterpart of the API for construction of dynamic lists in TCL:
void ListFactoryInit(ListFactory *)
void ListFactoryFinish(ListFactory *)
void ListFactoryFree(ListFactory *)
Tcl_Obj * * ListFactoryArg(ListFactory *)
void ListFactoryAppend(ListFactory *, Tcl_Obj * *arg)
void ListFactoryAppendCopy(ListFactory *, Tcl_Obj * *arg)
ListFactory * ListFactoryNewLevel(ListFactory *)
ListFactory * ListFactoryEndLevel(ListFactory *)
void ListFactoryResult(Tcl_Interp *, ListFactory *)
The difference is that a call to ListFactoryFinish should precede the actual usage of the value of ListFactory, and there are two different ways to append an Tcl_Obj * to a ListFactory: ListFactoryAppendCopy() guarantees that the value of arg is copied to the list, but ListFactoryAppend() may append to the list a reference to the current value of arg. If you are not going to change the value of arg after appending, the call to ListFactoryAppend may be quicker.
As in TCL, the call to ListFactoryFree() does not free the ListFactory, only the objects it references.
The functions ListFactoryNewLevel() and ListFactoryEndLevel() return a pointer to a ListFactory to fill. The argument of ListFactoryEndLevel() cannot be used after a call to this function.
Production of strings are still supported in portableTk.
The following functions for getting a value of an Tcl_Obj * may be provided:
double LangDouble(Tcl_Obj *)
int LangInt(Tcl_Obj *)
long LangLong(Tcl_Obj *)
int LangIsList(Tcl_Obj * arg)
The function LangIsList() is supported only partially under TCL, since there is no data types. It checks whether there is a space inside the string arg.
While LangSetDouble() and LangSetInt() are supported ways to assign numbers to assign an integer value to a variable, for the sake of efficiency under TCL it is supposed that the destination of these commands was massaged before the call so it contains a long enough string to sprintf() the numbers inside it. If you are going to immediately use the resulting Tcl_Obj *, the best way to do this is to declare a buffer in the beginning of a block by
and assign this buffer to the Tcl_Obj * by
void LangSetDefaultBuffer(Tcl_Obj * *)
You can also create the buffer(s) manually and assign them using
void LangSetBuffer(Tcl_Obj * *, char *)
This is the only choice if you need to assign numeric values to several Tcl_Obj *s simultaneously. The advantage of the first approach is that the above declarations can be made nops in different languages.
Note that if you apply LangSetDefaultBuffer to an Tcl_Obj * that contains some value, you can create a leak if you do not free that Tcl_Obj * first. This is a non-problem in real languages, but can be a trouble in TCL, unless you use only the above API.
The API for creating a new Tcl_Obj * is
void LangNewArg(Tcl_Obj * *, LangFreeProc *)
The API for creating a new Tcl_Obj * is absent. Just initialize Tcl_Obj * to be NULL, and apply one of LangSet... methods.
After you use this Tcl_Obj *, it should be freed thusly:
LangFreeArg(arg, freeProc).
LangFreeArg(arg, freeProc)
int LangArgEval(Tcl_Interp *, Tcl_Obj * arg)
Here arg should be a list to evaluate, in particular, the first element should be a LangCallback massaged to be an Tcl_Obj *. The arguments can be send to the subroutine by reference or by value in different languages.
Use Tcl_ArgResult. It is not guaranteed that result survives this operation, so the Tcl_Obj * you get should be the only mean to access the data from this moment on. After you use this Tcl_Obj *, you should free it with freeProc LANG_DYNAMIC (you can do LangSet...() in between).
To install Tk, copy and paste the appropriate command in to your terminal.
cpanm Tk
CPAN shell
perl -MCPAN -e shell
install Tk
For more information on module installation, please visit the detailed CPAN module installation guide.


text:
A Little Lovey company
15 products
FREE SHIPPING On Orders Over $49*!
Are you 18 years old or older?
Sorry, the content of this store can't be seen by a younger audience. Come back when you're older.
15 products
Subscribe To Our Newsletter
We will notify you on events like Low stock, Restock, Price drop or general reminders so that you don't miss the deal


text:
- (5 HEART SYMBOLS) EMPOWERED by Maya J bracelets are brass with 1/4" x 1/4" letters and plated in white gold.
- Each bracelet has an adjustable 6"- 8" extender. Lobster claw closure makes it easy to put on and take off. (easy to stack multiple bracelets)
- EMPOWERED bracelets are meant to be worn and gifted to spread love, strength and positivity. Each word is intended to inspire, empower and celebrate women.
You may also like
Recently viewed


text:
Tom Clancy's Ghost Recon Advanced Warfighter 2 Guide
Welcome to the Tom Clancy's Ghost Recon Advanced Warfighter 2 wiki guide.
Where the Department of Homeland Security failed, Ghost Recon will succeed in bringing and end to the insurgent threat in war-torn Latin America.
While many think soldiers do not make reply, or do not reason why, they fail to acknowledge small unit commanders like Captain Scott Mitchell are unique -- following orders while dispensing tactics in a field situation.
Get to know the war on the ground up close and personal, and you will hot in the seat of a modern 'Warfighter'.
This wiki was automatically converted from the Ghost Recon Advanced Warfighter 2 Guide (Xbox 360) guide at https://guides.ign.com/guides/862427/ and may require cleanup. Please help improve this wiki if you can, and remove this notice if appropriate.
Contributor AssistanceIf you're unfamiliar with editing our wikis, this simple How-to Wiki guide shows you how to get started. If you are unsure about something, do not hesitate to ask the staff or flag the page you are having trouble with (please don't forget to tell us about the problem or reason).


text:
The V-tight Gel – Does it Work?
Many married women feel that the bond between them and their partners has gone due to changes in their body. In every relationship or marriage, sex life remains as a crucial part and essential for a durable and healthy relationship. You can check comprar v-tight gel and other products. However, many unfortunate women have stretched vagina that makes them feel less attracted to their partners when it comes to sex matters, which affect their sexuality significantly.
Fortunately, the advancing science provides an opportunity for them to reverse the glory of their sexuality by availing several methods that can tighten their stretched vagina. This article recommends v-tight gel as one of the revolutionary and effective ways to tighten their vagina.
About v-tight gel
This vaginal tightening cream can help women to regain the tightness and firmness of their vagina. It uses natural ingredients to bring and amazing results while freeing the user from any adverse side effect. This cream is carefully designed to sculpt and reshape the vaginal walls, and to make it naturally lubricated, which removes any dryness. Therefore, the v-tight gel can boost a woman's confidence in bed and can guarantee her a more vigorous and engaging sex life.
Benefits of vaginal tightening cream
The meticulous design of this revolutionary product helps its users to lubricate and tighten their vaginal walls as well as improving the elasticity of the inner vaginal walls. This cream is particularly useful to aging women and after having a vaginal delivery of a baby. For older women, the walls of their vagina tend to get loose as well as getting less vaginal lubrication.
Hormonal changes during pregnancy and birth of the child can make the vagina not to be tight as it used to be. These natural factors deteriorate a woman's sexual pleasure and make her not to enjoy her sexual life as she used to do earlier. Using this product can rejuvenate her sexual sparks enabling her to enjoy nights more vigorously with her partner.
How this product works
Manjakani Extract is one of the natural ingredients in the cream that is known for it's strong and highly effective astringent property. Other two active elements of the product include Hazel and Arginine that are proven to work well on tightening and lubricating the vagina. This component and several others give it an excellent capability to tighten up the muscle of vagina. It also helps to reduce the bad odor from the vagina by minimizing the amount of discharge from it.
In conclusion, users of the v-tight gel can maximize the benefits from it by applying it regularly. They will realize wondrous result after a long-term continuous use with all their vaginal looseness and lack of lubricant vanishing.…