text:
Calendar Jazz
Big Joe Fitz & The Lo-Fis
Aug 18 | Sun | 11AM - 2PM | Event is Over
Featuring: Big Joe Fitz/Vocals/Harmonica/Guitar, Robert Bard/Bass, Mark Dziuba/Guitar and Eric Parker/Drums. 'Soulful, swinging, pre-rock era blues and more.' Singer, harmonica man, and band leader, Big Joe Fitz continues as one of the leading personalities in the Hudson Valley's vibrant music scene for over 30 years. Synonymous with soulful music and outstanding musicianship, Big Joe Fitz & The Lo-Fis, deliver an eclectic playlist of American classics, ranging from Bobby Bland to Johnny Mercer to Ernest Tubb and beyond. The ensemble's live shows are warm, entertaining and engaging - a timeless Falcon favorite.
Venue: The Fashion District
35th Street through 41st Street, Between 5th Avenue and 9th Avenue Map
Tribute Direct from Atlantic City at Club Bonafide
The ATLANTIC CITY ELVIS – Jeff Krick Jr. has become one of the most successful tribute artists to embody the look and sound of the King, earning sixth place in the entire world at the prestigious Ulti...
Music and Conversation with Lisa Mills - Soul and Blues Singer/Guitarist at The Cutting Room
Under 21 With Guardian The evening marks the launch of mills' new album, the triangle, and we'll talk to this alabama firebrand about the making of the project, stories from the road and more. Then h...
The Queen of Brooklyn Blues: Beareather Reddy at The Cutting Room
All Ages Beareather Reddy, vocalist/songwriter/actress/producer, is a native of Sylvania, Georgia, received a B.A. in performance arts from the University of Massachusetts in Amherst. Ms. Reddy has ...


text:
Microhardness of coronal dentin adjacent to resin-modified glass ionomer and compomer in Class V restorations
Prakash Lokhande, TM Mangala
Department of Conservative Dentistry and Endodontics, Bapuji Dental College and Hospital, Davangere, Karnataka, India
Date of Web Publication 18-Jul-2019
Prakash Lokhande
Department of Conservative Dentistry and Endodontics, Bapuji Dental College and Hospital, M.C.C B Block, Davangere - 577 004, Karnataka
DOI: 10.4103/jnsbm.JNSBM_8_19
Aims: The objective of this in vitro study was to compare the microhardness values of coronal dentin adjacent to resin-modified glass-ionomer cement (RMGIC) and compomer. Materials and Methods: Standardized Class V preparation was performed for 30 extracted human permanent molars affected by Class V caries. The samples were divided into three groups as follows: specimens before restoration (Group 1) (n = 10), samples restored using RMGIC (Group 2) (n = 10), and specimens treated with compomer (Group 3) (n = 10). Dentinal discs with 2-mm diameter were obtained after embedment into acrylic resin. Vickers microhardness measurements were performed using a digital microhardness tester (Zwick/Roell) immediately after the 10th, 20th, and 30th day by applying a load of 25 g for 15 s at a distance of 100, 200, and 300 μm from the cavity floor. Statistical Analysis Used: One-way analysis of variance and post hoc Tukey tests (P < 0.05) were conducted for all groups of specimens. Results: Group II demonstrated higher microhardness values as compared to those obtained for Group I and Group III. Conclusion: The results of the present study showed that the microhardness of the dentin adjacent to RMGIC was higher than that of the dentin adjacent to the compomer.
Keywords: Compomer restoration, remineralization rate, resin-modified glass-ionomer cement, Vickers microhardness
Lokhande P, Mangala T M. Microhardness of coronal dentin adjacent to resin-modified glass ionomer and compomer in Class V restorations. J Nat Sc Biol Med 2019;10:127-30
Lokhande P, Mangala T M. Microhardness of coronal dentin adjacent to resin-modified glass ionomer and compomer in Class V restorations. J Nat Sc Biol Med [serial online] 2019 [cited 2020 Jan 18];10:127-30. Available from: http://www.jnsbm.org/text.asp?2019/10/2/127/262959
Microhardness is one of the most important physical properties of dental materials. In particular, microhardness measurements allow the evaluation of the mineral content in the tissue and assessment of possible mineral losses due to the dissolution of their inorganic part (which is typically observed during the caries process) as well as quantification of the density increase caused by the ion incorporation (remineralization) process.[1]
Hardness is the resistance of a material to plastic deformation that is typically measured under an indentation load. Various hardness-testing procedures have been developed, including Barcol, Brinell, Rockwell, Shore, Vickers, and Knoop ones. Among these methods, Brinell and Rockwell macro-hardness tests, as well as Vickers and Knoop microhardness tests (conducted underloads not exceeding 9.8 N), represent the most widely used techniques. The resulting indentations are relatively small, and their depths are <19 μm. Hence, these methods can be used for conducting hardness measurements in small regions of thin objects.[1] Furthermore, the hardness of carious dentin is strongly correlated with its relative infectivity, which can help a dentist to distinguish between the infected (soft) and affected (hard) dentin.[2] Thus, microhardness represents one of the most important physical characteristics utilized in the comparative studies of various dental materials.[3]
Dental caries is an infectious disease which causes local destruction of the tooth hard tissue and is related to diet, microorganism accumulation, and salivary conditions. Due to the ion loss from the tooth to the environment during demineralization, a decrease in the dentin microhardness is usually observed. When the pH of the oral environment reaches a critical value of 5.5, the subsaturation of Ca 2+ and PO43− ions occurs. After its magnitude exceeds 5.5 through the buffering action of the saliva, these ions in the environment become supersaturated. In the latter case, the affected tooth tends to incorporate them through a so-called remineralization process.[4] In addition, high concentrations of fluoride and other ions were detected in the dentin adjacent to glass-ionomer cement (GIC) restorations, which resulted in the hypermineralization of the previously demineralized dentin.[5]
Resin-modified glass-ionomer (RMGI) cements and polyacid-modified resin composites (compomers) are often used to improve the mechanical properties of dental restorations while retaining the esthetics, adhesion, and fluoride-releasing properties of conventional GIC.[6] In this study, RMGI cement is utilized due to its low sensitivity, high fluoride release rate, relatively high strength (as compared to those of traditional glass ionomers), and ability to be cured with light. On the other hand, compomer possess the advantage of both their composite and glass ionomer constituents (including fluoride release).[7]
Enamel, dentin, cementum, and bone are natural composites. With ion exchange, there is variation in apatite properties, magnesium substitute inhibits the crystal growth, carbonate increases solubility, and fluoride exchange decreases the solubility. Demineralization and remineralization are dynamic processes which are dependent on various factors such as saliva flow, pH, oral health, medication, restorative materials, eating, and drinking habits. Saliva, fluoride therapy, and probiotic bacteria can be used to prevent tooth demineralization. Glass ionomer and resin-modified GIC were used to inhibit demineralization and promote remineralization through fluoride. Apart from resin-modified GIC (RMGIC) and glass ionomer, other smart materials have been introduced such as composite-containing Amorphous Calcium Phosphate (ACP) and composite-containing Hydroxy Apatite (HA), but they have not been used wide.[8]
The main purpose of this study is to evaluate the changes in the hardness of dentin adjacent to RMGI and compomer restoration taking the benefit of remineralizing property due to the presence of fluoride.
Thirty extracted human mandibular molars affected by Class V caries and free of any abnormalities such as cracks, fracture, and discoloration have been examined in this work. Standardized Class V preparations with occlusocervical widths of 2 mm, mesiodistal widths of 5 mm, and depths of 2 mm (measured with respect to the cavity margins) were prepared using round and straight carbide bur.
The samples were divided into the following three equal groups (n = 10) according to a particular restoration type: Group I contained the specimens without restorations, Group II consisted of the samples restored with RMGIC (Vitremer, 3M ESPE, USA), and Group III contained the specimens restored with a compomer (Dyract flow, Dentsply, India) according to the manufacturer's instructions. After being stored in normal saline for 10 days, the samples were blotted dry and embedded into acrylic resin. Dentinal sections (cross sections) with 2-mm thickness were made at the cavity floors and roofs using a microtome, after which the specimens were ground and polished with an abrasive paper (100 grit). Vickers microhardness (VHN) measurements were performed using a digital microhardness tester (Zwick/Roell) immediately after the 10th, 20th, and 30th day of testing by applying a load of 25 g for 15 s at distances of 100, 200, and 300 μm from the cavity floor. The obtained results were reported in the form of a mean ± standard deviation. The one-way analysis of variance tests were performed for multiple comparisons, whereas the post hoc Tukey tests were conducted for group comparisons using the SPSS software (version. 16, SPSS Inc., Chicago, USA). The data points with P ≤ 0.05 were considered statistically significant.
The VHN values of coronal dentin obtained for Group II at a distance of 100 μm from the cavity floor were significantly higher (P < 0.01) than the magnitude obtained for Group I (P > 0.05) and III (P > 0.05) [Table 1], [Table 2], [Table 3].
Table 1: Vickers microhardness values of coronal dentin obtained for Group I, II, and III after 10, 20, and 30 days of testing at 100 μm from the cavity floor
The VHN for Group 1 and 3 with respect to depth and days, there was no statistically change in hardness value [Table 1], [Table 2], [Table 3].
There is no specific standardized condition for dentin microhardness testing; therefore, it mainly depends on the researcher. Microhardness test is used to check the hardness of the material, which evaluate the loss or gain of minerals from the dentin substrate.[9],[10]
In previous studies, the teeth used for hardness measurements were either fixed or stored in physiologic saline solution, deionized water, phosphate buffer saline, or distilled water since no dehydration of the tested specimens occurred after sectioning.[11]
The microhardness values of the prepared samples were measured immediately after the 10th, 20th, and 30th day because of the relatively high rate of fluoride release within 6–12 weeks observed for glass ionomer-based restorations. The measurements were conducted at distances of 100, 200, and 300 μm from the cavity floor, owing to the ion exchange between the restoration and the tooth structure and remineralization of the adjacent teeth.[12]
Vickers tests are preferable techniques used by the majority of researchers in this area.[13] The corresponding VHN measurements were conducted using a Zwick/Roell digital microhardness tester by applying a load of 25 g through an indenter at a dwell time of 15 s.[14]
The importance of using RMGIC is mainly because of its low sensitivity to water dehydration, rapid setting, relatively high strength, good esthetics, and bonding as compared to conventional GIC.[15],[16],[17],[18],[19]
Compomer was used in this study because of its structure and physical properties similar to composite, fluoride release, bonding to dentin, good marginal adaptation, higher compressive, and flexural strength.[19],[20],[21]
Group I demonstrated no significant changes in VHN after 30 days of testing regardless of the distance from the cavity floor that is from 100, 200, and 300 μm [Table 1], [Table 2], [Table 3]. This may be due to the loss of mineral content through carious process, and mineral content is directly proportional to microhardness. The peripheral dentin has lower microhardness values as compared to that of coronal dentin and the lowest near pulpal dentin.[22],[23]
The results obtained for Group II show that its VHN values increase after 30 days of testing [Table 1], [Table 2], [Table 3]. Fluoride interferes with the carious process reducing demineralization and enhancing remineralization of the enamel and dentin. There is an increase in microhardness value after 30th day this is because the amount of fluoride release gradually increases over 6 weeks. The microhardness value at 100, 200, and 300 μm was almost same. This might be due to effect of remineralization effect more at 1 mm from the application site and it extends up to 3 mm. Increase in mineral content may be due to the presence of fluoride which forms fluorhydroxyapatite, presence of enzyme alkaline phosphatase in dentin which, in turn, yields in formation of calcium hydroxyapatite, and also due to leached out ions from GIC restoration such as calcium and strontium.[24],[25],[26],[27]
The data obtained for Group III exhibited no significant changes in VHN values measured at the 10th, 20th, and 30th day of testing and at all distances from the cavity floor that is 100, 200, and 300 μm [Table 1], [Table 2], [Table 3]. While their magnitudes were significantly lower than those determined for Group II. In addition, the rate of fluoride release from the compomer gradually decreased with time [15] and was systematically lower than the rates obtained for RMGI cement and GIC.[6],[17],[20]
The results obtained in this study revealed that the microhardness of the dentin adjacent to RMGI cement was larger than those of the dentin adjacent to the compomer and control group (which consisted of the specimens without restorations). Hence, it can be concluded that the use of biomaterials with improved mechanical properties (such as flexural strength) and greater fluoride release rate enhances the structure and microhardness of dentin.
Anusavice KJ, Shen C, Ralph Rawals H. Phillips' Science of Dental Materials. 12th ed. New Delhi: Elsevier; 2013.
Banerjee A, Sherriff M, Kidd EA, Watson TF. A confocal microscopic study relating the autofluorescence of carious dentine to its microhardness. Br Dent J 1999;187:206-10.
Ellakuria J, Triana R, Mínguez N, Soler I, Ibaseta G, Maza J, et al. Effect of one-year water storage on the surface microhardness of resin-modified versus conventional glass-ionomer cements. Dent Mater 2003;19:286-90.
Samuel SM, Rubinstein C. Microhardness of enamel restored with fluoride and non-fluoride releasing dental materials. Braz Dent J 2001;12:35-8.
Kitasako Y, Nakajima M, Foxton RM, Aoki K, Pereira PN, Tagami J. Physiological remineralization of artificially demineralized dentin beneath glass ionomer cements with and without bacterial contamination in vivo. Oper Dent 2003;28:274-80.
Attar N, Turgut MD. Fluoride release and uptake capacities of fluoride-releasing restorative materials. Oper Dent 2003;28:395-402.
Roberson TM, Heymann HO, Swift, EJ. Sturdevant's Art and Science of Operative Dentistry. New Delhi: Elsevier; 2006.
Abou Neel EA, Aljabo A, Strange A, Ibrahim S, Coathup M, Young AM, et al. Demineralization-remineralization dynamics in teeth and bone. Int J Nanomedicine 2016;11:4743-63.
Say EC, Civelek A, Nobecourt A, Ersoy M, Guleryuz C. Wear and microhardness of different resin composite materials. Oper Dent 2003;28:628-34.
Santiago BM, Ventin DA, Primo LG, Barcelos R. Microhardness of dentine underlying ART restorations in primary molars: An in vivo pilot study. Br Dent J 2005;199:103-6.
Hosoya Y, Marshall SJ, Watanabe LG, Marshall GW. Microhardness of carious deciduous dentin. Oper Dent 2000;25:81-9.
Mount GJ. An Atlas of Glass-Ionomer Cements: A Clinician's Guide. London: Martin Dunitz; 2002.
Das A, Kottoor J, Mathew J, Kumar S, George S. Dentine microhardness changes following conventional and alternate irrigation regimens: An in vitro study. J Conserv Dent 2014;17:546-9.
Shahdad SA, McCabe JF, Bull S, Rusby S, Wassell RW. Hardness measured with traditional Vickers and Martens hardness methods. Dent Mater 2007;23:1079-85.
Lee HS, Berg JH, García-Godoy F, Jang KT. Long-term evaluation of the remineralization of interproximal caries-like lesions adjacent to glass-ionomer restorations: A micro-CT study. Am J Dent 2008;21:129-32.
Souza PP, Aranha AM, Hebling J, Giro EM, Costa CA.In vitro cytotoxicity and in vivo biocompatibility of contemporary resin-modified glass-ionomer cements. Dent Mater 2006;22:838-44.
Freedman R, Diefenderfer KE. Effects of daily fluoride exposures on fluoride release by glass ionomer-based restoratives. Oper Dent 2003;28:178-85.
Gandolfi MG, Chersoni S, Acquaviva GL, Piana G, Prati C, Mongiorgi R. Fluoride release and absorption at different pH from glass-ionomer cements. Dent Mater 2006;22:441-9.
Pereira PN, Inokoshi S, Yamada T, Tagami J. Microhardness of in vitro caries inhibition zone adjacent to conventional and resin-modified glass ionomer cements. Dent Mater 1998;14:179-85.
el-Kalla IH, García-Godoy F. Mechanical properties of compomer restorative materials. Oper Dent 1999;24:2-8.
Li Q, Jepsen S, Albers HK, Eberhard J. Flowable materials as an intermediate layer could improve the marginal and internal adaptation of composite restorations in class-V-cavities. Dent Mater 2006;22:250-7.
Kandanuru V, Madhusudhana K, Ramachandruni VK, Vitta HM, Babu L. Comparative evaluation of microhardness of dentin treated with 4% titanium tetrafluoride and 1.23% acidic phosphate fluoride gel before and after exposure to acidic pH: An ex vivo study. J Conserv Dent 2016;19:560-3.
Anwar AS, Kumar RK, Prasad Rao VA, Reddy NV, Reshma VJ. Evaluation of microhardness of residual dentin in primary molars following caries removal with conventional and chemomechanical techniques: An in vitro study. J Pharm Bioallied Sci 2017;9:S166-72.
ten Cate JM, van Loveren C. Fluoride mechanisms. Dent Clin North Am 1999;43:713-42, vii.
Can-Karabulut DC, Batmaz I, Solak H, Taştekin M. Linear regression modeling to compare fluoride release profiles of various restorative materials. Dent Mater 2007;23:1057-65.
Shere AS, Patil V, Kamath V. Comparison of amount of fluoride release from three different glass ionomer cements – A systematic review. Int J Sci Res 2018;7:45-8.
Prapansilp W, Vongsavan K, Rirattanapong P, Surarit R. Effect of resin modified glass ionomer cement on microhardness of initial carious lesions. Southeast Asian J Trop Med Public Health 2018;49:155-9.
Lokhande P
Mangala T M
Compomer restoration
remineralization rate
resin-modified glass-ionomer cement
Vickers microhardness

redpajama_set_name: RedPajamaCommonCrawl


We'd like to invite people in Cornwall to the next meeting of MVM Cornwall. This will take place in the Railway Tarvern in Truro at 7.30pm on Wednesday 14th March. People of all parties and none who want Proportional Representation are very welcome. The aim will be to formulate ideas for our next actions, and to gather volunteers to carry these out. Come and find out - or help decide - what the next steps are in the Cornwall campaign for Proportional Representation.


text:
Q: Create bookmark on homescreen from webpage I am attempting to create a shortcut to a webpage / bookmark on the home screen when a user clicks a button on our web page (they will be viewing it through their mobile browser).
At the moment I am just looking at iOS and Android. I know the user can do this themselves via the bookmark menu but we are attempting to make it easier for our users.
I found this question: How to add android bookmark on homescreen from web page?
but it as it is from 2012, I was hoping that someone would have found a way or have advice on how to proceed.
Thanks in advance,

redpajama_set_name: RedPajamaStackExchange


Fishing Charters operating in Evans Head and surronds are listed below. There are 7 Fishing Charters listed in the Evans Head area.
Yamba Fishing and Charters are the only quality charters in the area catering for all of your deep sea fishing adventure and sightseeing needs. We pickup from Yamba and Iluka. Glynn, your skipper has over 30 years experience in the fishing charters industry, a knowledgeable fishermen and a passionate surfer.
Fozies Fishing Adventures specializes in Fishing and Whale watching adventures for small groups. Working from either Ballina or Evans Head we keep up to date on the best fishing and whale watching spots and be there when its happening.
Still not sure which Fishing Charter in Evans Head suits you? Ask our fishing charter expert which fishing charter in the Evans Head area best suits you.


text:
Q: How to extract TNSNames from an LDAP directory I've been trying to query an LDAP directory server to retrieve a tnsnames entry. I have the following code working, but it doesn't smell right. Is it because it is wrong, or because querying ldap involves a few levels of indirection
   let identifier = LdapDirectoryIdentifier(server, port)
   use connection = new LdapConnection (identifier)
   connection.AuthType <- AuthType.Anonymous
   let request = System.DirectoryServices.Protocols.SearchRequest(defaultAdminContext, "cn=" + sid, SearchScope.OneLevel, "orclnetdescstring")
   let response = connection.SendRequest request :?> SearchResponse

   Seq.init response.Entries.Count (fun i -> response.Entries.[i])
   |> Seq.collect (fun entry ->
       let value = entry.Attributes.["orclnetdescstring"]
       Seq.init value.Count (fun i -> value.[i])
       |> Seq.map (fun v -> Some (v :?> string))
       )

I was hoping for a simple call that basically does 'query the directory and return the result', but there seems to be a lot of 'stuff' I have to do in order to read the real values.

A: Once the client is connected to the directory server, the client can make requests and read the responses. Requests take the form of LDAP operations such as bind, search, add, modify, delete, and others.
When the directory server accepts a connection, that connection (or LDAP session if you prefer) has an anonymous identity (RFC4513). Depending on the configuration of the directory server and the type of request, it may be necessary for the client to bind the connection to an authorization identity - this is done with a bind request which can be a 'simple' type or a SASL type. Dialog with the directory server administrator to determine if your client must bind connections to an authorization identity - the administrator might allow certain requests without authentication, though this is generally a bad practice and unusual.
A search for data requires the following parameters:

*

*a 'search base', or base object

*a 'search scope', which is base only, one level below the base object, or the entire subtree below the base object

*a 'search filter', which the directory server uses to select matching entries from the list of candidate entries to return to the client

*a list of attributes to return (the client can use the special attribute '1.1' to get just the entry distinguished name, which can be useful to determine whether an entry exists)

There are other parameters which are optional, for example, a size limit (a limit on the number of entries to return), and time limit (a limit on the time the search can take), whether to return just attributes, or attributes and values, and some others. Generally speaking, all search requests should provide a time limit to ensure that the search will timeout - because the directory server may not be configured with a time limit on LDAP requests from clients.
The response from the directory server to a search request will always contain a result code. This result code should be zero (0), if the search was successful, or it might be a code indicating that the number entries that could have been returned exceeded the number of entries that were allowed to be returned (the number of entries that are allowed to be returned is capped by the size limit in the search request or the servers' limit), or it may be a result code indicating that an error has occurred.
Assuming the error code was zero, a sequence of SearchResultEntries or SearchResultReferences then follows, and finally a SearchResultDone - a good API will manage this part for the client and simply present the entries returned as an array or a list.
Finally, the answer to your question, is 'yes, there is some stuff to be done' before entries can be read. A good API will reduce the amount of 'stuff' to a dull roar.


At a time when students spend nearly nine hours each day on digital devices and when, simultaneously, cyberbullying and reputation-damaging posts are running rampant, many parents are frightened. We fear the day our kid asks for a smartphone, or the moment he begs for a Snapchat account. We're spooked by the possibility of our child being cyberbullied, or what might happen if we don't monitor his or her texts. We wish social media would simply go away.
As the founder of The Social Institute, a North Carolina-based organization that empowers teens to use social media in positive ways, I have the joy of speaking with thousands of students across the country about technology. When I ask them about what their parents misunderstand about social media, they light up. It's as if this were the first time someone asked them to "coach up" and help adults understand the positive power of social media.
Here are five reasons — straight from teens — about why social media isn't so scary and what they wish parents knew.
Students build friendships through social media. They nurture relationships through group chats, compliments on Instagram and Snapstreaks on Snapchat. High school and college students can even use LinkedIn to connect with professional role models and mentors to find internship opportunities and future jobs. For example, I landed several jobs thanks to the power of direct messages and LinkedIn profiles.
Rather than fearing online strangers and nonsense social media influencers, encourage your child to follow positive influences who will fuel their goals and core values.
Studemts can use social media to post what reflects their character and core values, whether on their real Instagram or their "Finsta" account. Finsta refers to a "fake Instagram" profile — a second Instagram account teens sometimes create to hide posts from parents. In our survey of 1,700 ninth- through 12th-grade students, 34 percent admitted to having a Finsta account.
Rather than fearing the Finsta, discuss with your child that even though an account can be set to private, screenshots last forever and can always go public.
The truth is, a phone call is not always the right call. Students are learning to identify the best way to communicate with someone — in person or via phone, email, FaceTime, comment, individual text or group text. In our survey of 2,604 students between sixth and eighth grade, texting apps ranked as the respondents' most-used app on a weekly basis. Approximately 81 percent of sixth-graders and 94 percent of eighth-graders text weekly.
Make sure your kids understand that if they must send a text while driving, they should pass their phone to a passenger and have him or her create the text message.
It's true: Navigating social media isn't so simple. Cyberbullying, for example, is more complex than ever with subtweets, passive aggressive messages and anonymous accounts. Kids need and want help. A Penn State University study published in February 2017 found that kids want their parents' help with their experiences online, but they fear parental freak-outs.
Rather than overreacting the next time your child comes to you, listen and ask questions. Your sincere listening and understanding of his or her situation builds the foundation that will encourage your child to come to you for advice regularly when the going gets tough.
Social media is not going away. It's here to stay and it's only going to keep growing. New apps and multiplayer video games are emerging each month. New celebrities enter the spotlight and often fill our kids' feeds. Rather than fight what's current, we must proactively empower our kids to navigate it.
Social media isn't as scary when we proactively equip our children. Channel that fear into huddling with your child. You will spark an ongoing conversation that will equip your child with lifelong skills to navigate one of the greatest influences in his or her life.


When we go for a walk and Meera sees a cardboard box in someone's trash, she wants it. One time she made me carry a big water-heater box back home. With some box cutters, duck tape, paint, binder clips and a big dose of Meera's creativity, we made a Rocket Ship! She and her friends have more fun with this Rocket Ship and many, many expensive, store bought gifts.
This girl is ruling my life! Love her.
Awww. I love boxes, too! You can create anything your imagination can dream up! I loved making doll houses from empty boxes when I was a little girl. I then went on to use them to make models for architectural school. I have some funny memories of trying to walk across Bowman field carrying sheets of cardboard back to Clemson House. I had a friend that lived on my hall named Arun. I remember going over to Redfern Hospital to watch The Wizard of Oz with him and some friends after he had gotten into an accident with a car. It was his first time watching the movie (I hope). I even remember watching the movie, as a child, with my two best friends, while we sat in an old empty box in my parent's family room. Boxes are so much fun, and, Meera, you look like you like having fun. Give Arun a hug, for me, from an old friend and Tiger. It's good to see you are doing well.
yes, it was my first time watching the Wizard of Oz at Redfern Hospital. Will send mail to your address.
awww.. Meera, we love boxes too!!! We have a castle in our living room – that keeps transforms into so many things, a rocket in D's bedroom and a "computer-space" station in our study!!! They do make awesome toys that we grown ups give up our real computers to escape into the world you girls create!! Wayyyyyyyy more fun!!!


text:
Q: How to find what degree on a circle is tangent to a point outside of that circle?
*

*I know the (x,y) of a point, P, outside of a circle.

*I know the (x,y) for the origin of a circle, O.

*I know the radius, r, of that circle.

How would I find what degree (e.g. 20 degrees, 270 degrees) is tangent to the point outside of the circle?
SOLUTION:
Hello Internet!
So I ended up using the "circle form" formula at this reference http://www.ambrsoft.com/TrigoCalc/Circles2/CirclePoint/CirclePointDistance.htm to calculate the (x,y) coordinates of the point on the circle (radius not @ 0,0)
Then I used: atan( y-Oy / x-Ox ) * 180/PI to get the 'degree' at that tangent point.

A: Sometimes a figure is worth a thousand words:

Can you draw the second tangent?
Can you calculate $d$?
At what angle does the tangent line strike the radius?
Can you use the Pythagorean Theorem?
Can you calculate $s$?


Our housemade marinated kabobs are delicious all year long and are available in CHICKEN – created from Draper Valley's Ranger boneless, skinless chicken breasts, PORK – created from Carlton Farms pork tenderloins, and BEEF – created from Harris Ranch Teres Majors (shoulder tender). Mix and match to find your favorite flavor.
What makes our marinated kabobs really stand out? The meat is tumbled, making it especially delicious! Here, the solid meat and marinade is placed in a mechanical tumbler that rotates slowly, allowing the meat to knock together as well as on the sides of the tumbler. Tumbling loosens the protein strands in the meat, allowing the fat and muscle fibers to absorb liquid. Tumbling is the best way to get the full flavor of the marinade through the meat – up to 10% or more of the marinade will make it into the meat, whereas traditional marinating methods only allow for 1-2%!
Coconut Curry : Created with coconut milk, Korma curry simmer sauce, Thai green curry paste & yellow curry powder.
Lemon, Mustard & Dill: Lemon mustard dill sauce, fresh dill, lemon juice & lemon zest.
Lemon Shallot & Tarragon: Created with French vinaigrette, hot Dijon mustard, lemon juice, lemon zest, fresh tarragon & sliced shallots.
Huli Huli : A taste of the islands with Huli Huli teriyaki marinade and toasted sesame seeds.
Ginger Soy : Created with Tom Douglas ginger pineapple teriyaki sauce and toasted sesame seeds.
Chimichurri : Created with chimichurri sauce, minced garlic, crushed red chili flakes & toasted sesame seeds.
Sweet & Hot Honey Mustard : Bone Suckin' sweet & hot mustard, honey, fresh chopped rosemary, and red chili flakes.
Sweet Chilli & Sriracha: Sweet hot chilli sauce combined with spicy sriracha.
Kabobs are perfect for the grill, but also taste great broiled in the oven.
Heat grill to medium-high heat and grill for 4-5 minutes per side, until desired doneness.
Turn oven on broil, place kabobs on broiler or baking pan and broil for 6-8 minutes per side, until desired doneness.
Don't forget your meat thermometer is the best way to ensure your kabobs are cooked thoroughly. When cooking a variety of proteins, cooking times will vary between proteins.
Learn more about the FIVE Holiday Rib Roasts on our menu this season!
From Snake River Farms, this Wagyu steak is created from the premium center of the ribeye and is melt in your mouth delicious.


text:
Perez replaces Albon at Red Bull for 2021 F1 season
uk.info@motor1.com (Luke Smith)
Sergio Perez at Sakhir GP 2020
Red Bull Racing has announced the signing of Sergio Perez for the 2021 Formula 1 season, replacing Alexander Albon.
Following reports on Thursday night that outgoing Racing Point driver Perez was set take Albon's seat, Red Bull confirmed on Friday that the Mexican would be joining as Max Verstappen's teammate for next year.
Albon will drop into a reserve role with Red Bull after less than 18 months racing for the team.
Perez's arrival marks the final major move in the driver market for 2021, and leaves Mercedes as the only team yet to formally confirm its line-up, although a new contract for Lewis Hamilton is expected to be finalised shortly.
Perez becomes the first driver to sign for Red Bull from outside of its junior team, Toro Rosso, since Mark Webber joined from Williams in 2007.
It comes off the back of Perez's most successful year in F1 that saw him take his maiden victory at the Sakhir Grand Prix and finish the season fourth in the drivers' championship.
Racing Point announced in September that Perez would be leaving after seven seasons with the Silverstone-based squad, making way for four-time world champion Sebastian Vettel to join from Ferrari.
It left Perez short on options to stay on the grid, which narrowed further after Alfa Romeo and Haas opted against signing him.
Contact with Williams' new owners failed to go far as it stood by its existing line-up, making Red Bull Perez's only chance to stay on the grid.
He said he was "at peace" with a possible exit from F1, and that he already had options to return in 2022 should he be forced to take a sabbatical.
Sakhir GP: Perez takes shock win after Mercedes debacle
McLaren interested in Perez if he considers IndyCar switch
But Perez's upswing in form coincided with Albon's struggles at Red Bull as he continually failed to match Verstappen, who scored more than double his teammate's points tally this year.
Red Bull said repeatedly that it wanted to give Albon as much time as possible to claim the seat, postponing a decision until after the end of the season.
A return of just two third-place finishes compared to Verstappen's haul of two wins and nine further podiums left Albon in a precarious position, prompting the call to replace him with Perez.
Motorsport.com understands Albon was officially informed of the decision in a meeting with Red Bull team principal Christian Horner on Friday afternoon, shortly before the announcement was made.
It marks an abrupt end to Albon's time racing for Red Bull following a shock promotion just 12 races into his F1 career, replacing the struggling Pierre Gasly midway through the 2019 season.
While Gasly has since flourished upon returning to Toro Rosso - now AlphaTauri - Red Bull ruled out a possible switch back.
Horner confirmed earlier this month that there was no chance for Albon to make a similar return to Red Bull's sister team, which has since signed Honda youngster Yuki Tsunoda to partner Gasly in 2021.
Perez will become the fourth different driver to race next to Verstappen since 2018, following Albon, Gasly and Daniel Ricciardo.
Source: Motorsport.com
Politics latest news: EU rubbishes Boris Johnson's claims that post-Brexit trade is running 'smoothly'
Boris Johnson refuses to back Trump and Biden teams in calling Uighur situation 'genocide'
PM says China's treatment of Muslim majority 'utterly abhorrent'
Rebekah Vardy hits back at fans who suggest husband Jamie looked 'miserable' during Dancing On Ice appearance
Rebekah Vardy has leapt to the defence of her husband Jamie after some critics suggested he looked "miserable" during his brief appearance on Dancing on Ice. The mother-of-five took to Instagram to thank her followers for their support following her Sunday night skating debut on the ITV show, which also stars Myleene Klass, Denise Van Outen and Colin Jackson. In the comments, a few fans suggested her husband - Leicester City player Jamie Vardy - should have "smiled" more when he appeared on the show.


We keep 9 days fast during Navratri and eat only after the sunset. One has to eat only vegetarian food during Navratri and that to without onion and garlic.
India is a diversifies country and each place have its own tradition and rules of fasting. In some regions people eat normal salt in during fasting with less spices like red chilli powder, cumin seeds, turmeric powder. In some places lahori salt is used i.e a special kind of salt used to make food during fasts. Some people prefer to eat curd, dry fruits, milk, potatoes etc.


text:
Q: How to use split method in Javascript object I have this code
    var array, key, dc;
    $.post("/mailchimp/check_mailchimp_key",
    {
      store_id: document.getElementsByName('data[store_id]')[0].value,
      mailchimp_api_key: document.getElementsByName('data[mailchimp_api_key]')[0].value,
      array: mailchimp_api_key.split('-'),
      key: array[0],
      dc: array[1]
    }

store_id and mailchimp_api_key work, but I have problem with others. This way it says mailchimp_api_key is not defined and my goal is to take whatever is stored in mailchimp_api_key and divide it to key and dc.

A:
mailchimp_api_key: document.getElementsByName('data[mailchimp_api_key]')[0].value

… means that when the object has finished being constructed it will have a property called mailchimp_api_key with that value.

mailchimp_api_key.split('-'),

… tries to read a variable called mailchimp_api_key.
There are two problems with this:

*

*A variable is not an object property

*The object property doesn't exist yet

Copy the value to a variable before you construct the object.
Use it twice.
var array, key, dc;

var mailchimp_api_key = document.getElementsByName('data[mailchimp_api_key]')[0].value;

$.post("/mailchimp/check_mailchimp_key",
{
  store_id: document.getElementsByName('data[store_id]')[0].value,
  mailchimp_api_key: mailchimp_api_key,
  array: mailchimp_api_key.split('-'),
  key: array[0],
  dc: array[1]
}

A: This is not Javascript at all! You can't reference Object keys that you just defined.
var mailchimp_api_key  = document.getElementsByName('data[mailchimp_api_key]')[0].value;
var array = mailchimp_api_key.split('-');
var key = array[0];
var dc = array[1];

This way you get all the variables you need, then you might want to pass them in your Ajax call.


text:
LUZCID [INTERVIEW]
Written by Fatima Hasan
Since entering the side of music production, Neil Berry ("LUZCID"), has been enchanting listeners with his otherworldly music that adds a psychedelic touch to heavy-hitting bass tracks. He has performed in almost every major U.S. city and continues to appear on lineups throughout the nation. Throughout his sets, he wants to immerse his audience members in an experience that flows through various moods and genres. Along with his ability to create incredible solo pieces, he has also released collaborations with artists like Bassnectar, Figure, and Crizzly, among many others. Check out our exclusive interview with LUZCID below!
Where are you from? What is the music scene like near your hometown?
"I am currently living in Houston, Texas but I wouldn't say I'm from here. I spent the majority of my music life in upstate New York in a town called New Paltz. The music scene there is not huge for dance music, but it does have some venues for intimate 200-300 person shows. I am actually playing a show there in December with Buku. Anyone who has lived in New Paltz will tell you there is a certain kind of magic there. This is where I fell in love with music and art and really discovered who I wanted to be."
How did you come up with the stage name LUZCID? Were there any other stage names that you considered or used in the past?
"The name LUZCID came from my intense lucid dreaming at the time. I was struggling with kind of an existential crisis and had no idea what to do with my life. I was 22 and never stopped once to think: "If I could do anything, what would I do?" I always just kind of went through the motions of what society told me I was supposed to do to live a happy life. I did all that and I was super unhappy. I began to escape to lucid dreaming for answers and that is when LUZCID was born. A few past monikers I've had: my college roommate and one of my best friends gave me the name DUBBERRY because of my last name. Then I was in a duo and we called ourselves Nice and Toasty for some time. Then we rebranded to LUZCID. Since then, LUZCID has become a solo project."
What initially sparked your interest in becoming a music producer? Did you ever have a "backup" plan in case producing didn't work out the way you wanted?
"Going to shows in NYC and then music festivals around the country in college made me fall in love with the scene. I loved the connection between the crowd and the musician. As soon as I decided that I needed to do this, I got the words "Passion" and "Persistence" tattooed across both sides of my ribcage from top to bottom. My thought was, if I ever quit music, I'd be a walking hypocrite…and I would never let that happen. With Passion and Persistence you can achieve anything. I have a Bachelor's degree in Electrical Engineering so if I lose my hearing maybe I will start programming or something. Although I would probably just learn to produce without my hearing."
How old were you when you made your first track? What was it titled/genre?
"I guess I was 19 or 20 when I made my first track. I don't know if you can even call it that. It was not till 22 or so when I started to land some legitimate release with EDM.com and outlets of that nature. The team at EDM.com was the first major to support me and has supported me ever since. I am very grateful.
As far as genre, I started out making dubstep but dabbled in making some trap too. A few years of engineering and music theory knowledge later I switched back to dubstep, but kind of with a hip-hop fusion. Now I make whatever I feel like. I guess it's predominantly dubstep due to the nature of the sound design but I prefer free-form bass. Honestly call it whatever you want as long as it makes you happy."
When/where was your first performance as LUZCID? How was it?
"I do not recall exactly when the first LUZCID performance was but I know it was in New Paltz somewhere. If I had to guess I would say Forest Fest. It was an annual fest of maybe 500-1000 attendees. Definitely one of the events that got me into the music scene so it was great to finally play it."
Who is your biggest inspiration/influence? Who do you have a lot of respect for?
"It might seem obvious at this point but the Bassnectar, is a massive inspiration. Not just musically, but how Lorin and the rest of the team handle themselves socially has been a huge inspiration. I feel like getting close to them and watching some of the inner workings over the last few years has helped me grow significantly."
What is your next step / end goal when it comes to your career?
"The most immediate next step is to grow my brand. I am doing a ton of touring this fall, playing with Liquid Stranger, Space Jesus, Buku, and Minnesota. Hopefully from there, I can create my own headlining tour with custom visuals, detailed theme– the whole shebang! When exactly this will happen, I am not sure. So many variables are in play it's too early to tell, I'm just enjoying the process."
Who has been there to support you the most throughout your career?
"My friends, hands down! Some of my friends who have seen me play in a New Paltz apartment filled with 10 people to playing big festivals in front of thousands. The amount of gratitude I have for my friends cannot be described in words. I only hope I can give back to you what you have given to me over these years."
Was Electronic Music always your first choice? What other genres do you enjoy listening to?
"Electronic music was my first choice for production. I have always been a huge video gamer and sci-fi nerd. I love the epic scope of dance music. You can break every rule and just make noise if you want. This fits my creative personality. I also love hip-hop and rock. The bounce and soul of hip-hop combined with the epic anthem rock melodic progressions are kind of the elements I try to push forward in my music."
Name one song/artist outside of EDM that is your guilty pleasure. Why did you choose this song/artist?
"Lately I have been listening to a lot of Aretha Franklin and similar jazz artists. Her voice is like a spell or something. Mystifying. I love hearing and seeing things that are completely one of a kind."
What do you like most about electronic music? About the culture/scene?
"I like the inclusion. All anyone wants is to feel wanted or loved and a part of something. I feel like the dance scene has made it cool to not fit into a specific group or clique. It encourages people to just be themselves and that's the most amazing thing to see."
On your journey in the music industry, what has been your biggest obstacle?
"I guess fear of failure. Everything is so volatile for people who work in the music scene. Genres and trends are constantly shifting so it's like starting over every year in a way. No matter how hard you crushed last year there is zero guarantee you will get booked the next unless you continue putting in 110% and honestly have a bit of luck on your side."
What do you think sets you apart from others trying to make it in the Electronic Music scene?
"I feel like a lot of people these days are making music so formulaic.
Something I heard that sticks with me is: "There are 1,000 producers trying to sound like 100 producers that are trying to sound like 5 producers."
I feel like there is a lot of accuracy to that statement. As much as I do take a lot of inspiration and influence from other artists, I'd like to think I quilt it all together in a way that makes its something fresh and unique. I never came from a musical background I have always understood numbers and logic. My production style comes a lot from seeing patterns and taking an almost algorithmic approach that does not follow traditional music theory arrangement or progression. I think this may have hindered me along the way and made my learning a bit slower but has also given me a unique sound of my own."
Favorite thing to do with your time when you aren't making music/performing at shows? What do you do to rejuvenate your creativity?
"I love to cook and I love to garden. Anything that gets my eyes off of a screen and into some fresh air for a while. Sometimes it's easy to get caught up "working" and time seems to slip away. I like to try to create bookmarks or moments that I vividly hold onto to appreciate the time I have to spend producing. The more basic the memory the more valuable it seems sometimes."
If you could do a collaboration with any artist out there, who would it be and why?
"I think I would be a lot of fun to work with G Jones or Mr Bill. They both are super talented and do things in songs that leave me utterly confused. I would love to sit in the studio and learn from either one of them."
Anything you're currently working on / anticipating that you'd like to share?
"Bassnectar and I have started another collab. Taking our time on this one so no ideas on a roll out yet. Started a collaboration with Dirt Monkey recently that I think is going to crush! Also got like 10+ songs banked to release throughout the fall/winter. Some more fun stuff with WAKAAN as well as another label I have been listening to for ages that I am very excited to announce."
How do you feel about working in the music industry during a technological period in which social media and the internet are so significant? Do you think this alters your overall approach to producing music and distributing your work? Any positives/negatives to being a producer during this time? Why?
"I have a lot to say about the state of social media and being an artist but I guess the best way to sum it all up without writing a book is that I feel like musicians are no longer purely musicians. Everyone in the art industry is expected to be an entertainer. We are living in a time where you will blow up quicker as a twitter comedian making music on the side then you would a musician doing social media on the side. Does this amount to sustained success. Most likely not but there are several huge acts currently who I can say are popular solely because of their social media presence. On the flip side social media gives opportunity for people with very little economic availability to be discovered. Like most things of great power it comes with good and evils."
Anything else to add that you'd like your fans to know?
"Work hard and just be yourself. Every time I have tried to be something I am not in order to succeed I not only failed I felt horrible and empty the whole time doing it. Find something you love. Find people you love. Hold those things close to your heart and help others do the same."
Written by	goodmusiccollectiv - November 6, 2017


Cho Yeon - View Hidden Profiles!
Find a different Yeon Cho: Yeon Woo Cho, Business Development Manager / Architectural Lighting Design Educator. Korea. Hae Yeon Cho, Marketing Communication Manager.
Yeon Soo Cho is associated with Soo Trading, Inc. with the role of President. and is located in Los Angeles, CA.
Find business contact information for Cho Yeon and see work history, affiliations and more.
Stay up to date on Na Yeon Choi and track Na Yeon Choi in pictures and the press.
Na Yeon Choi and Song-Hee Kim talked to Golf Channel about their first trip to Sea World.
Na Yeon Choi has big expectations as she enters the U.S. Womens Open.
View the photo Na-yeon Choi of South Korea tees off on the 11th hole during the Kraft Nabisco Championship LPGA golf tournament in Rancho Mirage, California on Yahoo!


text:
package tests

import (
	"os"
	"path"
	"strings"
	"testing"

	"github.com/heketi/tests"

	client "github.com/heketi/heketi/client/api/go-client"
	"github.com/heketi/heketi/middleware"
	"github.com/heketi/heketi/pkg/glusterfs/api"
	"github.com/heketi/heketi/pkg/testutils"
	"github.com/heketi/heketi/server/config"
)

func TestBlockVolumeAllocDefaults(t *testing.T) {
	heketiServer := testutils.NewServerCtlFromEnv("..")
	origConf := path.Join(heketiServer.ServerDir, heketiServer.ConfPath)

	heketiServer.ConfPath = tests.Tempfile()
	defer os.Remove(heketiServer.ConfPath)
	CopyFile(origConf, heketiServer.ConfPath)

	defer func() {
		CopyFile(origConf, heketiServer.ConfPath)
		testutils.ServerRestarted(t, heketiServer)
		testCluster.Teardown(t)
		testutils.ServerStopped(t, heketiServer)
	}()

	testutils.ServerStarted(t, heketiServer)
	heketiServer.KeepDB = true
	testCluster.Setup(t, 3, 3)

	blockReq := &api.BlockVolumeCreateRequest{}
	blockReq.Size = 3
	blockReq.Hacount = 3

	// create a volume (and BHV) with default unset
	_, err := heketi.BlockVolumeCreate(blockReq)
	tests.Assert(t, err == nil, "expected err == nil, got:", err)

	t.Run("AllocFull", func(t *testing.T) {
		// explicitly set the default to "full"
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.GlusterFS.SshConfig.BlockVolumePrealloc = "full"
		})
		testutils.ServerRestarted(t, heketiServer)

		_, err := heketi.BlockVolumeCreate(blockReq)
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
	})
	t.Run("AllocNo", func(t *testing.T) {
		// explicitly set the default to "full"
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.GlusterFS.SshConfig.BlockVolumePrealloc = "no"
		})
		testutils.ServerRestarted(t, heketiServer)

		_, err := heketi.BlockVolumeCreate(blockReq)
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
	})
	t.Run("AllocInvalid", func(t *testing.T) {
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.GlusterFS.SshConfig.BlockVolumePrealloc = "XXXfoobarXXX"
		})
		testutils.ServerRestarted(t, heketiServer)

		_, err := heketi.BlockVolumeCreate(blockReq)
		tests.Assert(t, err != nil, "expected err != nil, got:", err)

		// assert that no pending ops remain
		l, err := heketi.PendingOperationList()
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
		tests.Assert(t, len(l.PendingOperations) == 0,
			"expected len(l.PendingOperations) == 0, got:", len(l.PendingOperations))
	})
}

func TestServerStateDefaults(t *testing.T) {
	heketiServer := testutils.NewServerCtlFromEnv("..")
	origConf := path.Join(heketiServer.ServerDir, heketiServer.ConfPath)

	heketiServer.ConfPath = tests.Tempfile()
	defer os.Remove(heketiServer.ConfPath)
	CopyFile(origConf, heketiServer.ConfPath)

	defer func() {
		CopyFile(origConf, heketiServer.ConfPath)
		testutils.ServerRestarted(t, heketiServer)
		testCluster.Teardown(t)
		testutils.ServerStopped(t, heketiServer)
	}()

	testutils.ServerStarted(t, heketiServer)
	heketiServer.KeepDB = true
	testCluster.Setup(t, 3, 3)

	t.Run("ReadOnly", func(t *testing.T) {
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.DefaultState = "read-only"
		})
		testutils.ServerRestarted(t, heketiServer)

		req := &api.VolumeCreateRequest{}
		req.Size = 1
		_, err := heketi.VolumeCreate(req)
		tests.Assert(t, err != nil, "expected err != nil, got:", err)
		tests.Assert(t, strings.Contains(err.Error(), "maintenance"),
			"expect err contains 'maintenance', got:", err)
	})
	t.Run("LocalOnly", func(t *testing.T) {
		// unfortunately we don't have a way to really verify that local-client
		// is local only here in these tests... :-\
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.DefaultState = "local-client"
		})
		testutils.ServerRestarted(t, heketiServer)

		req := &api.VolumeCreateRequest{}
		req.Size = 1
		_, err := heketi.VolumeCreate(req)
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
	})
	t.Run("Normal", func(t *testing.T) {
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.DefaultState = "normal"
		})
		testutils.ServerRestarted(t, heketiServer)

		req := &api.VolumeCreateRequest{}
		req.Size = 1
		_, err := heketi.VolumeCreate(req)
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
	})
	t.Run("Invalid", func(t *testing.T) {
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.DefaultState = "blatt"
		})
		testutils.ServerStopped(t, heketiServer)
		err := heketiServer.Start()
		tests.Assert(t, err != nil, "expected err != nil, got:", err)
		isAlive := heketiServer.IsAlive()
		tests.Assert(t, !isAlive, "expected isAlive == false")
	})
}

func TestServerAuthConfig(t *testing.T) {
	heketiServer := testutils.NewServerCtlFromEnv("..")
	origConf := path.Join(heketiServer.ServerDir, heketiServer.ConfPath)

	heketiServer.ConfPath = tests.Tempfile()
	defer os.Remove(heketiServer.ConfPath)
	CopyFile(origConf, heketiServer.ConfPath)

	defer func() {
		heketiServer.DisableAuth = true
		CopyFile(origConf, heketiServer.ConfPath)
		testutils.ServerRestarted(t, heketiServer)
		testCluster.Teardown(t)
		testutils.ServerStopped(t, heketiServer)
	}()

	testutils.ServerStarted(t, heketiServer)
	heketiServer.KeepDB = true
	testCluster.Setup(t, 3, 1)

	t.Run("StartServerAuthNoConfig", func(t *testing.T) {
		testutils.ServerStopped(t, heketiServer)
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.JwtConfig = middleware.JwtAuthConfig{}
		})
		heketiServer.DisableAuth = false

		err := heketiServer.Start()
		tests.Assert(t, err != nil, "expected err != nil, got:", err)
		isAlive := heketiServer.IsAlive()
		tests.Assert(t, !isAlive, "expected isAlive == false")
	})

	t.Run("StartServerAuth", func(t *testing.T) {
		// start server with auth (default)
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.JwtConfig = middleware.JwtAuthConfig{
				Admin: middleware.Issuer{"snivlem"},
				User:  middleware.Issuer{"neew"},
			}
		})
		heketiServer.DisableAuth = false
		testutils.ServerRestarted(t, heketiServer)

		// verify a client without auth can't connect
		copts := client.DefaultClientOptions()
		hc := client.NewClientWithOptions(
			testCluster.HeketiUrl, "", "", copts)

		_, err := hc.TopologyInfo()
		tests.Assert(t, err != nil, "expected err != nil, got:", err)

		// verify a client with proper auth can connect
		hc2 := client.NewClientWithOptions(
			testCluster.HeketiUrl, "admin", "snivlem", copts)

		_, err = hc2.TopologyInfo()
		tests.Assert(t, err == nil, "expected err == nil, got:", err)

		// verify a client with incorrect auth can't connect
		hc3 := client.NewClientWithOptions(
			testCluster.HeketiUrl, "admin", "whoopsie", copts)

		_, err = hc3.TopologyInfo()
		tests.Assert(t, err != nil, "expected err != nil, got:", err)
	})

	t.Run("StartServerDisableAuth", func(t *testing.T) {
		// start server without auth
		UpdateConfig(origConf, heketiServer.ConfPath, func(c *config.Config) {
			c.JwtConfig = middleware.JwtAuthConfig{}
		})
		heketiServer.DisableAuth = true
		testutils.ServerRestarted(t, heketiServer)

		// verify a client without auth connects
		copts := client.DefaultClientOptions()
		hc := client.NewClientWithOptions(
			testCluster.HeketiUrl, "", "", copts)

		_, err := hc.TopologyInfo()
		tests.Assert(t, err == nil, "expected err == nil, got:", err)

		// verify a client with auth params is ok (ignored)
		hc2 := client.NewClientWithOptions(
			testCluster.HeketiUrl, "admin", "snivlem", copts)

		_, err = hc2.TopologyInfo()
		tests.Assert(t, err == nil, "expected err == nil, got:", err)

		// verify a client with auth params is ok (ignored)
		hc3 := client.NewClientWithOptions(
			testCluster.HeketiUrl, "admin", "whoopsie", copts)

		_, err = hc3.TopologyInfo()
		tests.Assert(t, err == nil, "expected err == nil, got:", err)
	})
}

redpajama_set_name: RedPajamaGithub


text:
Get $15 off ED treatment (if prescribed). Start now
Have better sex
Last longer
Roman Swipes
Boost performance
Testosterone Support Supplement
Testosterone Testing
Low Testosterone Treatment
Stop outbreaks
Feel better in your body
Men's health experts
Ro Body Program
Lose weight with GLP-1s
See all Fertility
Have a kid
Fertility Hormone Test
Sperm Kit
Avoid pregnancy
See all Hair & Skin
Improve your skin
Custom Rx Skincare
Grow longer lashes
Lift your lids
Take care of your hair
Sweat less
Boost your daily routine
Men's Daily Multivitamin
Focus Supplement
Fight allergies
Test for COVID-19
On/Go Covid-19 Antigen Test
Rx medications
Plenity®
Oral Minoxidil
Over-the-counter
Topical Minoxidil
What we treat A-Z
Obesity / Overweight
Short Lashes
Health Guide / Eczema
Ringworm vs. eczema: what's the difference?
Medically Reviewed by Felix Gussone, MD
Written by Health Guide Team
What is ringworm?
Ringworm on the body
Other types of ringworm
What is eczema?
How is ringworm diagnosed?
Ringworm treatment and management
Eczema diagnosis and treatment
If you have any medical questions or concerns, please talk to your healthcare provider. The articles on Health Guide are underpinned by peer-reviewed research and information drawn from medical societies and governmental agencies. However, they are not a substitute for professional medical advice, diagnosis, or treatment.
You've got an itchy, red, uncomfortable rash on your skin, and it's driving you crazy. But what is it? Could it be ringworm or eczema? How can you tell the difference? Let's go head-to-head on ringworm vs. eczema.
A convenient way to control eczema flare-ups
Visit a doctor online. Have prescription eczema treatment delivered to your door.
Unlike the name might suggest, ringworm is not caused by a worm but by a group of fungi known as dermatophytes. The actual fungal infection is referred to in medical terms as dermatophytosis or tinea, usually followed by a Latin word that designates its location. Some examples of common fungal infections include tinea pedis (athlete's foot), tinea cruris (jock itch), or tinea corporis (ringworm on the body) (Leung, 2020).
Ringworm shows up in different ways depending on the location of the body but is almost always characterized by itching, redness, and scaling.
Ringworm is contagious. A person can be infected in several ways, including skin-to-skin contact, by touching contaminated objects (brushes, hats, clothes, towels), and coming in contact with an infected pet. Ringworm is quite common in cows, dogs, and cats, so farmers or people involved with animal rescue shelters could become infected (Newbury, 2014).
According to the American Academy of Dermatology Association (AAD), ringworm of the body (tinea corporis) forms distinctive red, scaly, circular patches that often have a slightly raised red border with a center that is less red or with normal-appearing skin (AAD, n.d.-a). The raised circular border appears as a "ring" shape, giving rise to the term ringworm (Yee, 2021). In medicine, no one thought it to be associated with actual worms of any description (Homei, 2013).
Ringworm of the scalp (tinea capitis) is most common in children between 3 and 14 but can affect any age group. It causes patches of scaling, an itchy scalp, and hair loss in the affected areas (Al Aboud, 2020). Jock itch is most common in adult males and adolescents. It appears as an itchy rash starting in the groin and extending down the insides of one or both thighs. It can even affect the area around the anus (Pippin, 2020). Athlete's foot is very common and usually affects the areas between the toes, causing intense itching, scaly patches, and redness (Nigam, 2020).
Ringworm can also affect the nails (tinea unguium), which is known as onychomycosis. Infected fingernails become brittle, white, and opaque, but infected toenails, while brittle, are usually thick and yellow (Leung, 2020).
In contrast to ringworm, eczema is a non-contagious group of skin disorders with irritated, inflamed skin. Eczema is not just one disease, but a family of skin diseases. It includes various conditions, such as atopic dermatitis and contact dermatitis, which are the most common ones. Nummular eczema is less common than other types of eczema, but it can be confused with ringworm (AAD, n.d.-b).
What is eczema? The causes, symptoms, and treatments explained
Eczema Last updated: Feb 06, 2020 10 min read
These various eczema types present differently and have different triggers. Still, they all have some degree of dry skin, itching, and redness in common.
Atopic dermatitis (also sometimes called atopic eczema) is the most common type of eczema. It affects mostly children, with dry, itchy patches on the face and scalp. Older children and teens may develop patches in joint creases, such as elbows, knees, and neck (Kolb, 2020). Adults can also develop atopic dermatitis, with up to 25% of adult cases thought to be new-onset atopic dermatitis (Lee, 2019).
Contact dermatitis is just what its name implies—a rash that develops from contact with an irritating substance such as poison ivy, make-up, jewelry, nickel, and latex gloves. Itching and burning, hives, scaly skin, and a red swollen rash are common (AAD, n.d.-b).
Nummular eczema, also known as discoid eczema, gets its name from the Latin word for "coin-shaped," as this form of eczema consists of round or oval patches of red skin, which can be intensely itchy (Hardin, 2021). The patches appear red, brown, or pink and commonly show up on the arms, legs, hands, feet, and torso. Because of their round or oval shape, nummular eczema lesions can be easily confused with ringworm (AAD, n.d.-b).
A primary care provider can usually diagnose ringworm, especially if the lesion presents as a classic circular patch with a raised red border and a clearing center. If the skin symptoms are less clear, you may need to see a dermatologist. They can examine a small skin scraping under a microscope or send the scraping to a laboratory for a fungal culture (Petrucelli, 2020).
In many cases, ringworm can be treated with creams, lotions, or powders containing antifungals such as clotrimazole or miconazole, and many of those treatments are available over the counter. If the infection does not respond well to that treatment, your healthcare provider may prescribe a cream containing a higher concentration of antifungal medication. Sometimes, oral antifungals, such as griseofulvin, fluconazole, terbinafine, or itraconazole, are necessary to clear up the infection. That's the case when the lesion is recurrent, chronic, or doesn't get better after using prescription-strength topical antifungal products (Leung, 2020).
In addition to antifungals, your healthcare provider might recommend hygiene measures that make the growing conditions for the fungus unfavorable. These include wearing well-ventilated clothing, avoiding bandaging the area, and changing damp or wet clothes frequently.
Since ringworm is contagious, it is essential to prevent reinfecting yourself as well as passing the fungus on to others (Ely, 2014). According to the American Academy of Dermatology (AAD), a person with ringworm should avoid touching the rash and wash their hands frequently. Bedding, as well as clothing, should be washed frequently in detergent and hot water. You should wear shower shoes at the gym or pool locker rooms, and a shower should be taken after a workout, followed by changing into clean clothes (AAD, n.d.-a).
Is eczema contagious? What you need to know
Eczema Last updated: Jan 27, 2021 7 min read
Let's say you go to your general healthcare provider with a rash, and the treatments they try don't work. In that case, you'll likely be referred to a dermatologist who will take a thorough medical and family history, conduct a physical exam, and may run tests to look for common allergens.
Since there is no definitive cure for eczema, the goal is to control the symptoms, including itchiness. Many treatments are available to help you maintain a good quality of life and ease symptoms like itchiness. You may benefit from a combination of lifestyle, over-the-counter, and prescription therapies. Treatment consists of (AAD, n.d.-b):
Medications such as topical corticosteroids and antihistamines can help reduce the swelling, itch, and tenderness.
Home remedies (moisturizers, cool compresses, cool-mist humidifier).
Identification and removal of irritants
Stress control
Also, research into new therapies continues (Fishbein, 2020). Some dermatologists see positive results in atopic dermatitis using phototherapy if first-line treatments have failed (Sidbury, 2014).
If you think you may have ringworm or eczema, see your healthcare provider for a proper diagnosis and treatment plan.
Al Aboud AM, Crane JS. Tinea Capitis. [Updated 2020 Aug 10]. In: StatPearls. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Retrieved from: https://www.ncbi.nlm.nih.gov/books/NBK536909/
American Academy of Dermatology (AAD). (n.d.-a). A to Z Diseases: Ringworm. Retrieved on Apr 8, 2021 from https://www.aad.org/public/diseases/a-z/ringworm-overview
American Academy of Dermatology (AAD). (n.d.-b). Eczema Resource Center. Retrieved on Feb 8, 2021 from https://www.aad.org/public/diseases/eczema/
Ely, JW, Rosenfeld, S., Stone, M.S. (2014). Diagnosis and Management of Tinea Infections. American Family Physician;90(10):702-711. Retrieved on February 8, 2021 from https://www.aafp.org/pubs/afp/issues/2014/1115/p702.html
Fishbein, A. B., Silverberg, J. I., Wilson, E. J., & Ong, P. Y. (2020). Update on Atopic Dermatitis: Diagnosis, Severity Assessment, and Treatment Selection. The journal of allergy and clinical immunology. In practice, 8(1), 91–101. Retrieved from https://www.sciencedirect.com/science/article/abs/pii/S221321981930635X?via%3Dihub
Hardin CA, Love LW, Farci F. Nummular Dermatitis. [Updated 2021 Jan 5]. In: StatPearls [Internet]. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Available from: https://www.ncbi.nlm.nih.gov/books/NBK565878/
Homei A, Worboys M. (2013). Fungal Disease in Britain and the United States 1850–2000: Mycoses and Modernity. Basingstoke (UK): Palgrave Macmillan; 2013. Chapter 1, Ringworm: A Disease of Schools and Mass Schooling. Retrieved from: https://www.ncbi.nlm.nih.gov/books/NBK169210/
Kolb L, Ferrer-Bruker SJ. Atopic Dermatitis. [Updated 2020 Aug 13]. In: StatPearls [Internet]. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Available from: https://www.ncbi.nlm.nih.gov/books/NBK448071/
Lee HH, Patel KR, Singam V, Rastogi S, Silverberg JI. (2019). A systematic review and meta-analysis of the prevalence and phenotype of adult-onset atopic dermatitis. Journal of the American Academy of Dermatology;80(6):1526-1532.e7. doi: 10.1016/j.jaad.2018.05.1241. Retrieved from https://pubmed.ncbi.nlm.nih.gov/29864464/
Leung, A., Lam, J. M., Leong, K. F., Hon, K. L., Barankin, B., Leung, A., & Wong, A. (2020). Onychomycosis: An Updated Review. Recent patents on inflammation & allergy drug discovery, 14(1), 32–45. doi: 10.2174/1872213X13666191026090713. Retrieved from https://pubmed.ncbi.nlm.nih.gov/31738146/
Leung, A. K., Lam, J. M., Leong, K. F., & Hon, K. L. (2020). Tinea corporis: an updated review. Drugs in context, 9, 2020-5-6. doi: 10.7573/dic.2020-5-6. Retrieved from https://pubmed.ncbi.nlm.nih.gov/32742295/
Newbury, S., & Moriello, K. A. (2014). Feline dermatophytosis: steps for investigation of a suspected shelter outbreak. Journal of feline medicine and surgery, 16(5), 407–418. doi: 10.1177/1098612X14530213. Retrieved from https://journals.sagepub.com/doi/10.1177/1098612X14530213
Nigam PK, Saleh D. Tinea Pedis. [Updated 2020 Sep 8]. In: StatPearls [Internet]. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Retrieved from: https://www.ncbi.nlm.nih.gov/books/NBK470421/
Petrucelli, M. F., Abreu, M. H., Cantelli, B., Segura, G. G., Nishimura, F. G., Bitencourt, T. A., et al. (2020). Epidemiology and Diagnostic Perspectives of Dermatophytoses. Journal of fungi (Basel, Switzerland), 6(4), 310. doi: 10.3390/jof6040310. Retrieved from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7712040/
Pippin MM, Madden ML. Tinea Cruris. [Updated 2020 Dec 28]. In: StatPearls. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Retrieved from: https://www.ncbi.nlm.nih.gov/books/NBK554602/
Sidbury, R., Davis, D. M., Cohen, D. E., Cordoro, K. M., Berger, T. G., Bergman, J. N., et al. (2014). Guidelines of care for the management of atopic dermatitis: section 3. Management and treatment with phototherapy and systemic agents. Journal of the American Academy of Dermatology, 71(2), 327–349. doi: 10.1016/j.jaad.2014.03.030. Retrieved from https://www.jaad.org/article/S0190-9622(14)01264-X/fulltext
Yee G, Al Aboud AM. Tinea Corporis. [Updated 2021 Jan 7]. In: StatPearls [Internet]. Treasure Island (FL): StatPearls Publishing; 2021 Jan-. Retrieved from: https://www.ncbi.nlm.nih.gov/books/NBK544360/
Felix Gussone, MD
Felix Gussone is a physician, health journalist and a Manager, Medical Content & Education at Ro.
Contact dermatitis: allergic and irritant eczema
Eczema Last updated: Mar 18, 2020 4 min read
Dry patches on skin: common causes, diagnosis, treatments
Skin and hair Last updated: Oct 13, 2021 5 min read
Psoriasis: what is it, causes, symptoms, treatment
Psoriasis Last updated: Sep 30, 2021 9 min read
Scabies: symptoms, treatment, and more
Skin and hair Last updated: Aug 03, 2021 4 min read
7 Eczema triggers to know and how to avoid them
Eczema Last updated: Jun 03, 2021 5 min read
Nummular eczema: symptoms and treatments
Eczema Last updated: Apr 19, 2021 4 min read
Founders letter
2023 © All rights reserved, Ro


text:
package com.izforge.izpack.util;

import static com.izforge.izpack.util.Platform.Name.UNIX;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import com.izforge.izpack.api.handler.AbstractUIHandler;
import com.izforge.izpack.api.data.ExecutableFile;

/**
 * Executes a bunch of files. This class is intended to do a system dependent installation
 * postprocessing. Executable file can be any file installed with current package. After execution
 * the file can be optionally removed. Before execution on Unix systems execution flag will be set
 * on processed file.
 *
 * @author Olexij Tkatchenko <ot@parcs.de>
 */
public class FileExecutor
{

    private static final Logger logger = Logger.getLogger(FileExecutor.class.getName());

    private static final String JAR_FILE_SUFFIX = ".jar";

    private boolean stopThread(Thread t, MonitorInputStream monitorInputStream)
    {
        monitorInputStream.stop();
        long softTimeout = 1000;
        try
        {
            t.join(softTimeout);
        }
        catch (InterruptedException e)
        {
            // ignore
        }

        if (!t.isAlive())
        {
            return true;
        }

        t.interrupt();
        long hardTimeout = 1000;
        try
        {
            t.join(hardTimeout);
        }
        catch (InterruptedException e)
        {
            // ignore
        }
        return !t.isAlive();
    }

    /**
     * Constructs a new executor. The executable files specified must have pretranslated paths
     * (variables expanded and file separator characters converted if necessary).
     *
     * @param files the executable files to process
     */
    public FileExecutor(Collection<ExecutableFile> files)
    {
        this.files = files;
    }

    /**
     * Constructs a new executor.
     */
    public FileExecutor()
    {
        this.files = null;
    }

    /**
     * Gets the output of the given (console based) commandline
     *
     * @param aCommandLine to execute
     * @return the result of the command
     */
    public static String getExecOutput(String[] aCommandLine)
    {
        return getExecOutput(aCommandLine, null, false);

    }

    /**
     * Gets the output of the given (console based) commandline
     *
     * @param aCommandLine to execute
     * @param dir          the working directory for the execution
     * @return the result of the command
     */
    public static String getExecOutput(String[] aCommandLine, String dir)
    {
        return getExecOutput(aCommandLine, dir, false);

    }

    /**
     * Gets the output of the given (console based) commandline
     *
     * @param aCommandLine     to execute
     * @param forceToGetStdOut if true returns stdout
     * @return the result of the command
     */
    public static String getExecOutput(String[] aCommandLine, boolean forceToGetStdOut)
    {
        return getExecOutput(aCommandLine, null, forceToGetStdOut);

    }

    /**
     * Executes the given Command and gets the result of StdOut, or if exec returns !=0:  StdErr.
     *
     * @param aCommandLine     aCommandLine to execute
     * @param dir              the working directory for the execution
     * @param forceToGetStdOut if true returns stdout
     * @return the result of the command stdout or stderr if exec returns !=0
     */
    private static String getExecOutput(String[] aCommandLine, String dir, boolean forceToGetStdOut)
    {
        FileExecutor fileExecutor = new FileExecutor();

        String[] execOut = new String[2];

        int execResult = fileExecutor.executeCommand(aCommandLine, execOut, dir);

        if (execResult == 0)

        {
            return execOut[0];
        }
        else if (forceToGetStdOut)
        {
            return execOut[0];
        }
        else
        {
            return execOut[1];
        }
    }

    /**
     * Executed a system command and waits for completion.
     *
     * @param params system command as string array
     * @param output contains output of the command index 0 = standard output index 1 = standard
     *               error
     * @return exit status of process
     */
    public int executeCommand(String[] params, String[] output)
    {
        return executeCommand(params, output, null);
    }

    /**
     * Executed a system command and waits for completion.
     *
     * @param params system command as string array
     * @param output contains output of the command index 0 = standard output index 1 = standard
     *               error
     * @param dir    the working directory for the execution
     * @return exit status of process
     */
    public int executeCommand(String[] params, String[] output, String dir)
    {
        StringBuilder retval = new StringBuilder();
        retval.append("executeCommand\n");
        if (params != null)
        {
            for (String param : params)
            {
                retval.append("\tparams: ").append(param);
                retval.append("\n");
            }
        }
        if (dir != null)
        {
            retval.append("working dir: ").append(dir).append("\n");
        }
        Process process = null;
        MonitorInputStream outMonitor = null;
        MonitorInputStream errMonitor = null;
        Thread outMonitorThread = null;
        Thread errMonitorThread = null;
        int exitStatus = -1;

        logger.fine(retval.toString());

        try
        {
            // Resolve ".." and "." in paths which otherwise couldn't be found
            if (params[0].matches("^.*[\\\\/]+\\.+[\\\\/]+.*$"))
            {
                params[0] = new File(params[0]).getCanonicalPath();
            }
            if (dir != null)
            {
                if (dir.matches("^.*[\\\\/]+\\.+[\\\\/]+.*$"))
                {
                    dir = new File(dir).getCanonicalPath();
                }
                process = Runtime.getRuntime().exec(params, null, new File(dir));
            }
            else
            {
                process = Runtime.getRuntime().exec(params);
            }

            StringWriter outWriter = new StringWriter();
            StringWriter errWriter = new StringWriter();

            InputStreamReader outStreamReader = new InputStreamReader(process.getInputStream());
            InputStreamReader errStreamReader = new InputStreamReader(process.getErrorStream());
            outMonitor = new MonitorInputStream(outStreamReader, outWriter);
            errMonitor = new MonitorInputStream(errStreamReader, errWriter);
            outMonitorThread = new Thread(outMonitor);
            errMonitorThread = new Thread(errMonitor);
            outMonitorThread.setDaemon(true);
            errMonitorThread.setDaemon(true);
            outMonitorThread.start();
            errMonitorThread.start();

            // wait for command to complete
            exitStatus = process.waitFor();
            outMonitorThread.join();
            errMonitorThread.join();

            // save command output
            output[0] = outWriter.toString();
            logger.fine("stdout:");
            logger.fine(output[0]);
            output[1] = errWriter.toString();
            logger.fine("stderr:");
            logger.fine(output[1]);
            logger.fine("exit status: " + Integer.toString(exitStatus));
        }
        catch (InterruptedException e)
        {
            logger.log(Level.FINE, "Command execution interrupted", e);
            stopThread(outMonitorThread, outMonitor);
            stopThread(errMonitorThread, errMonitor);
            output[0] = "";
            output[1] = e.getMessage() + "\n";
        }
        catch (IOException e)
        {
            logger.log(Level.FINE, "Command execution failed", e);
            output[0] = "";
            output[1] = e.getMessage() + "\n";
        }
        finally
        {
            // cleans up always resources like file handles etc.
            // else many calls (like chmods for every file) can produce
            // too much open handles.
            if (process != null)
            {
                process.destroy();
            }
        }
        return exitStatus;
    }

    /**
     * Executes files specified at construction time.
     *
     * @param currentStage the stage of the installation
     * @param matcher      the platform-model matcher
     * @param handler      The AbstractUIHandler to notify on errors.
     * @return 0 on success, else the exit status of the last failed command
     */
    public int executeFiles(int currentStage, PlatformModelMatcher matcher, AbstractUIHandler handler)
    {
        int exitStatus = 0;
        String[] output = new String[2];
        // String permissions = (System.getProperty("user.name").equals("root"))
        // ? "a+x" : "u+x";
        String permissions = "a+x";
        boolean isUnix = matcher.getCurrentPlatform().isA(UNIX);

        // loop through all executables
        Iterator<ExecutableFile> efileIterator = this.files.iterator();
        while (exitStatus == 0 && efileIterator.hasNext())
        {
            ExecutableFile efile = efileIterator.next();
            boolean deleteAfterwards = !efile.keepFile;
            File file = new File(efile.path);

            logger.fine("Handling executable file " + efile + "...");

            // skip file if not for current OS (it might not have been installed
            // at all)
            if (!matcher.matchesCurrentPlatform(efile.osList))
            {
                continue;
            }

            if (ExecutableFile.BIN == efile.type && currentStage != ExecutableFile.UNINSTALL && isUnix)
            {
                // fix executable permission for unix systems
                logger.fine("Making file executable (setting executable flag)");
                String[] params = {"/bin/chmod", permissions, file.toString()};
                exitStatus = executeCommand(params, output);
                if (exitStatus != 0)
                {
                    handler.emitWarning("file execution error", "Error executing \n" + params[0]
                            + " " + params[1] + " " + params[2]);
                    continue;
                }
            }

            // execute command in POSTINSTALL stage
            if (currentStage == ExecutableFile.POSTINSTALL && efile.executionStage == ExecutableFile.POSTINSTALL || currentStage == ExecutableFile.UNINSTALL && efile.executionStage == ExecutableFile.UNINSTALL)
            {
                List<String> paramList = new ArrayList<String>();
                if (ExecutableFile.BIN == efile.type)
                {
                    paramList.add(file.toString());
                }
                else if (ExecutableFile.JAR == efile.type && null == efile.mainClass)
                {
                    paramList.add(System.getProperty("java.home") + "/bin/java");
                    paramList.add("-jar");
                    paramList.add(file.toString());
                }
                else if (ExecutableFile.JAR == efile.type && null != efile.mainClass)
                {
                    paramList.add(System.getProperty("java.home") + "/bin/java");
                    paramList.add("-cp");
                    try
                    {
                        paramList.add(buildClassPath(file.toString()));
                    }
                    catch (Exception e)
                    {
                        logger.log(Level.WARNING, e.getMessage(), e);
                    }
                    paramList.add(efile.mainClass);
                }

                if (null != efile.argList && !efile.argList.isEmpty())
                {
                    paramList.addAll(efile.argList);
                }

                String[] params = new String[paramList.size()];
                for (int i = 0; i < paramList.size(); i++)
                {
                    params[i] = paramList.get(i);
                }

                exitStatus = executeCommand(params, output);

                // bring a dialog depending on return code and failure handling
                if (exitStatus != 0)
                {
                    deleteAfterwards = false;
                    String message = output[0] + "\n" + output[1];
                    if (message.length() == 1)
                    {
                        message = "Failed to execute " + file.toString() + ".";
                    }

                    if (efile.onFailure == ExecutableFile.ABORT)
                    {
                        handler.emitError("File execution returned " + exitStatus, message);
                    }
                    else if (efile.onFailure == ExecutableFile.WARN)
                    {
                        handler.emitWarning("File execution returned " + exitStatus, message);
                        exitStatus = 0;
                    }
                    else if (efile.onFailure == ExecutableFile.IGNORE)
                    {
                        // do nothing
                        exitStatus = 0;
                    }
                    else
                    {
                        if (handler
                                .askQuestion("Execution Failed", message + "\nContinue Installation?",
                                             AbstractUIHandler.CHOICES_YES_NO) == AbstractUIHandler.ANSWER_YES)
                        {
                            exitStatus = 0;
                        }
                    }

                }

            }

            // POSTINSTALL executables will be deleted
            if (efile.executionStage == ExecutableFile.POSTINSTALL && deleteAfterwards)
            {
                if (file.canWrite())
                {
                    file.delete();
                }
            }

        }
        return exitStatus;
    }

    /**
     * Transform classpath as specified in targetFile attribute into
     * OS specific classpath. This method also resolves directories
     * containing jar files. ';' and ':' are valid delimiters allowed
     * in targetFile attribute.
     *
     * @param targetFile the file path
     * @return valid Java classpath
     */
    private String buildClassPath(String targetFile)
    {
        StringBuilder classPath = new StringBuilder();
        List<String> jars = new ArrayList<String>();
        String rawClassPath =
                targetFile
                        .replaceAll(":\\\\", "#DRIVE#")
                        .replaceAll(";", "#")
                        .replaceAll(":", "#")
                        .replace("#DRIVE#", ":\\");
        String[] rawJars = rawClassPath.split("#");
        for (String rawJar : rawJars)
        {
            File file = new File(rawJar);
            jars.add(rawJar);

            if (file.isDirectory())
            {
                String[] subDirJars = FileUtil.getFileNames(rawJar,
                                                            new FilenameFilter()
                                                            {
                                                                @Override
                                                                public boolean accept(File dir, String name)
                                                                {
                                                                    return name.toLowerCase().endsWith(JAR_FILE_SUFFIX);
                                                                }

                                                            });
                if (subDirJars != null)
                {
                    for (String subDirJar : subDirJars)
                    {
                        jars.add(rawJar + File.separator + subDirJar);
                    }
                }
            }
        }

        Iterator<String> iter = jars.iterator();
        if (iter.hasNext())
        {
            classPath.append(iter.next());
        }
        while (iter.hasNext())
        {
            classPath.append(File.pathSeparatorChar).append(iter.next());
        }

        return classPath.toString();
    }

    /**
     * The files to execute.
     */
    private final Collection<ExecutableFile> files;
}


Gardening in the sun comes easy to me. In the shade? Not so much.
Sunny days make organic gardening easy.
That's why I was really glad to see Garden Rant publish a WONDERFUL article by Susan Harris, who is one of my favorite garden writers, that is packed with ideas for filling in the shady spots in your landscape, literally.
I have found some these plants, like Comfrey, on my own but, if I'm being honest, accidentally!
So, here, in one place, courtesy of Garden Rant, is a really solid list of plants to help fill in the blanks in the shady bits of your yard, garden, landscape.
Comfrey feeds your soil and attracts pollinators.
BTW, Comfrey is a real find for any gardener. Nancy Bubel, author of The Seed Starter's Handbook and my heroine of seed-saving fame, wrote a beautiful article about the joys and uses of comfrey way back in 1974 for Mother Earth News…and it is as information packed today as it was 42 years ago.
This article was originally published as "Comfrey for the Homestead" in the May/June 1974 issue of MOTHER EARTH NEWS. At that time, comfrey had not yet been declared potentially poisonous to humans and animals and this article contained information about using comfrey as a vegetable, in tea and as livestock fodder; none of these applications are advisable, according to FDA and FTC recommendations. Comfrey contains at least 8 pyrrolizidine alkaloids, which can build up in the liver to cause permanent damage and sometimes death. Because of this, comfrey preparations are not sold for oral or internal use in the United States, the United Kingdom, Australia, Canada or Germany.
I planted my Comfrey before I knew any of this….but I use it only for improving soil, speeding up composting and attracting tons of pollinators.
Gardening inspiration comes in all shapes and sizes but here's one I hadn't thought of…a community garden.
I know they are big in England and there are some here in the United States but I've never seen one, visited one or lived near one.
Blogger Chrystal's post on the Strathcona Community Garden shows how peaceful and beautiful these places can be.
Located in Vancouver, British Columbia, this verdant community garden opened my eyes to the joys of so-called "city farming" — places to grow food and friendships.
Do you participate in a community garden? Live near one? Please share your thoughts on this growing trend of shared space and shared gardens..
Saturday Night at the Strathcona Community Garden | kalegrower.


This page may not contain all items available from Pako. If you do not see what you are looking for please email us and if possible we will add the item to this page or order it for you.
This tool makes threading the needle a breeze! Complete multi-lingual instructions on the back of package. For needle sizes 24 up to 16.


At the penultimate stage of the Dakar Rally 2019, both Hero Motosport riders displayed great skills and pace to finish in strong positions. Stage 9 witnessed a mass start in waves of 10 riders each. It included 313 kilometres in the special stage, presenting the competitors with a 50-50 mix of the dunes and soft gravel laden terrain – a recipe for yet another fast stage. With just one more day to go for the completion of the 41st edition of the Dakar Rally, Hero MotoSports Team Rally is well poised to finish their third Dakar in a commendable position.
Both Oriol Mena and Joaquim Rodrigues finished the penultimate stage of the Rally without any incidents. Mena was in good form again and finished stage 9 on the 11th position. This allows him to move a notch above to 9th position in the overall rankings. Joaquim Rodrigues fought off the severe back pain from the previous stage and a crash in the current stage to finish 19th. He is now placed at the 17th position in the overall rankings. The last stage will be the final test for all the competitors with a loop of Pisco in a 112 kilometres special stage, before moving to Lima for the celebrations.


text:
El distrito de Uñón es uno de los catorce distritos que conforman la provincia de Castilla en el departamento de Arequipa, bajo la administración del Gobierno regional de Arequipa, en el sur del Perú.

Desde el punto de vista jerárquico de la Iglesia católica forma parte de la Prelatura de Chuquibamba en la Arquidiócesis de Arequipa.

Historia
El distrito fue creado mediante Ley No. 14142 del 18 de junio de 1962, durante el segundo gobierno del Presidente Manuel Prado Ugarteche.

Geografía
Forma parte de la comarca de Castilla Media, ubicada entre los 2 000 y los 3000  y caracterizada por una geografía accidentada con terrenos aprovechables para la agricultura, formados por valles semi-planos creados por el violento declive de la cordillera de los Andes y la erosión de los ríos. En los valles interandinos se aprecian terrazas, andenerías, con vertientes de agua que dan inicio a ríos, lugares que cuentan con llanuras de corta extensión adecuadas para la agricultura y ganadería, regadas por las aguas de los deshielos del nevado Coropuna.

Centros poblados
Centros poblados:
 Uñón
 Santuario de Uñon
 Santa María
 Piraucho

Autoridades

Municipales
 2019 - 2022
 Alcalde: Gregorio Delfín Dávila Amézquita, de Arequipa Renace.
 Regidores:
 Edgar Loreto Velarde Sánchez (Arequipa Renace)
 Isidro Renée Durand Amézquita (Arequipa Renace)
 Ángela Teresa Quijahuamán Aucahuaqui (Arequipa Renace)
 Segundina Mollocahuana de Quijahuamán (Arequipa Renace)
 Lorenzo Rufino Llamosas Amezquita (Acción Popular)

Alcaldes anteriores

 2011-2014: Fredy Leonidas Llamosas Amézquita, del Movimiento Independiente Castilla Avanza (CA).
 2007-2010: Elard Percy Amésquita Silva.

Festividades
 Virgen del Rosario.

Véase también
 Provincia de Castilla
 Región Arequipa
 Organización territorial del Perú

Referencias

Enlaces externos

 Sitio web oficial
 INEI Perú

Unzzon

redpajama_set_name: RedPajamaWikipedia


The ??? type, a type used in Generation II, III, and IV.
The Pokédex number of an obtained Pokémon not in a regional Pokédex in Generation IV, V, and VI.
The ID number, OT name and National Pokédex number of a Pokémon Egg.
The temporary name of Silver in Pokémon Gold, Silver, and Crystal, before he is given a name by the player.
The location of the player while inside of a truck at the beginning of Pokémon Omega Ruby and Alpha Sapphire.
In Pokémon Mystery Dungeon: Explorers of Time, Darkness and Sky, missions with an unknown reward have the reward listed as ???.
Uncaught Ultra Beasts are displayed as ???.
In Pokémon GO, wild Pokémon with a Combat Power higher than the CP of the player's highest CP Pokémon have their CP displayed as ??? on the encounter screen.
?, a glitch type in Generation I and the main type of PPkMnp' '.
?????, a glitch Pokémon appearing in Generation II.
??????????, another glitch Pokémon appearing in Generation III.
????????, the item often held by ??????????.
? (glitch Pokémon), a glitch Pokémon that was used as filler for old Unown data in Generation III.
?????, a dummied out item in Generation I located at hexadecimal identifier 07, fan-named "surfboard".
?????, a dummied out item in Generation I located at hexadecimal identifier 2C that does nothing.
The description of several glitch items, such as Teru-sama.
MissingNo.'s classification in the Pokédex.


Royalty-free clipart available for digital download of a Christmas elf feet with a volleyball. Inside the ZIP file are royalty-free versions of this design in EPS and PNG formats. Upon purchase you will be shown a link to download the ZIP file. The link will be active for 24 hours after you access the file the first time.