Every Tesoro™ tile, Pietra Antica stone or glass product carries with it an artistic heritage that simply cannot be duplicated. Artisans around the world have passed down the skills of unmatched craftsmanship throughout the generations, and only Tesoro tile integrates these fine skills into every tile we offer.
Tesoro's coordinating borders, trims and accents are also fashioned with the same care and consideration as the full-size tile.When you look for tile, make sure you know what makes a tile great: finest ingredients, like porcelain, stone and glass, a broad palette of colors and textures to choose from, and an indication that the tile you're looking at is part of the Tesoro Collection.
Look for tiles that carry the Tesoro logo which indicates they are made using the finest materials.
No other builder-based dealer program makes it easier for you to specify a tile and stone line-up with confidence. The Cornerstone-Plus program offers a wide variety of product types and designs to choose from in porcelain, ceramic and natural stone, including decorative borders and accents.
The program intends to satisfy and provide solutions to the needs of builders and developers alike. No more running out of design options , not having materials ready to meet closing deadlines when you need them.
IWT has evolved into the production of display systems, concept boards and loose samples to give our clients and their customers an overall "point-of-purchase" visual of the products we offer. We refer to our marketing as "your silent sales staff", helping to tell the complete story for the broad range of products that we offer.
Our priority is to keep things simple and organized so our clients are able to assist the end-user through their selection process. This kind of efficiency makes the purchaser's experience extremely pleasant, and allows our customers to present a myriad of options.
Our marketing efforts also encompass product collateral, an informative website, social media and select PR and media outlets; presenting our customers diversity of information and communication.
This program is catered to exclusively for dealers and regional distributors who sell tile & stone direct to the trade, builders, tile and building contractors, architects & designers or the public. This program of choice is a business model, for the most part, that does not offer or include installation of the materials it sells.
The complete program offers a wide variety of porcelain and ceramic, natural stone, many decorative products, including many floor-wall combinations as well.


The national limousine hire company Hire Limo Birmingham are doing their utmost to take the strain out of shopping around Birmingham and the Midlands. We are the premier providers of Birmingham limo hire.
We provide the very best limo hire deals in your local area. We have the best stretch limo hire providers available in Birmingham and across the UK on our books waiting to offer the most competitive prices.
Hire Limo Birmingham have a wide knowledge of the limousine industry and only use local operators we trust. The special partnerships we have with our limo hire operators allow us to guarantee our customers a superb level of service. Don't let your special occasion in Birmingham get ruined by inexperienced limo hire operators. Trust Hire-Limo-Birmingham.co.uk to provide an exemplary limo hire solution for your needs.
Hire Limo Birmingham provides a first-class limo hire service across the Birmingham area, with a fleet that includes some of the finest limousines imaginable. Birmingham has always been a thriving city, where the occupants to love to enjoy the city's bustling nightlife and have fun.
One of the most popular limousines in our fleet is the party bus limo, available for party hire in Birmingham.
If you are planning a shopping trip in Birmingham, why not head to the shops in style in a limo? We offer a wide range of limousines for hire to take you to your favourite stores. Our limos can be hired for two hours or more at a time, so you'll have plenty of time to browse Birmingham's renowned retail centre. Just make sure the limousine you hire is big enough for all those shopping bags!
Contact us to see how we can transform your next Birmingham shopping trip with our Birmingham limo hire services.
The school proms in Birmingham can potentially be the best nights of the year. In order to ensure the most impressive entrance, it's important to consider what type of limo to hire for the event.
A massive choice of limousine hire is available in Birmingham thanks to Hire Limo Birmingham's huge fleet of cars. The staggering selection includes Hummer limos, Baby Bentley limos, fire engine limos, BMW X5 limos and the massive 16-seater party bus limousine. All limos provided are of the highest quality, offering great services for your travel and grand entrance.
Are you looking to sample Birmingham's internationally-renowned club scene? Whether it's old school hip hop, nu jazz, house, trance or urban beats; all musical tastes and requirements are catered for in Birmingham city. We can provide hummer limos, Chryslers, baby Bentley limos and many, many more. We always have a vast array of limos, all available for Birmingham limo hire.
Birmingham is home to a host of world famous club nights including Godskitchen, Sundissential, Miss Moneypenny's and many unique smaller clubs just waiting to be discovered. Birmingham simply is the place for your top night out! On your next club night, arrive in style in one of our beautiful limos.
Hire-Limo-Birmingham.co.uk offers limousine hire in Birmingham and all surrounding areas of the West Midlands including Alcester, Tamworth, Bromsgrove, Coventry, Dudley, West Bromwich, Redditch, Oldbury, Solihull, Aston, Bartley Green, Billesley, Bournville, Brandwood, Castle, Bromwich, Chelmsley Wood, Edgbaston, Erdington, Four Oaks, Fox Hollies, Hall Green, Handsworth, Handsworth Wood, Harborne, Hodge Hill, Kings Heath, Kings Norton, Kingsbury, Kingstanding, Ladywood, Longbridge, Lozells, Midlands, Moseley, Nechells, New Hall, Northfield, Northampton, Northamptonshire, Nottingham, Nottinghamshire, Oscott, Perry Barr, Quinton, Sandwell, Selly Oak, Shard End, Sheldon, Small Heath, Smethwick, Solihull, Sparkbrook, Sparkhill, Springfield, Stafford, Staffordshire, Stockland Green, Stechford, Sutton Coldfield, Trinity, Tyburn, Washwood Heath, West Midlands, Weoley, Wolverhampton, Yardley, Birmingham Airport and all local areas. If you don't see your area listed please call us or get a quote online, we cover most areas.


John Held provides an overview of initiatives, advocacy and events underway in South Australia.
Our next round table is with ESD Consultants discussing the issues confronting architects when dealing with sustainability issues, including clients who say they want sustainable buildings but don't want to spend any extra time or money on the process.
How do architects get the right advice and avoid greenwash?
What does the government really mean when it talks about a zero carbon future?
How do you make government buildings more sustainable?
4.30–6.00pm, 11 May, 2016 – mark the date down now!
The May Roundtable is generously sponsored by Planned Cover.
A short paper sent to Denise Hatzi, Manager, Strategic Procurement, on DPTI Prequalification, its benefits and suggestions for improvement. There is a review of Prequalification under way, and we also me with the MBA, AMCA and Master Plumbers recently to share our experiences of the system.
Meetings with DPTI to see if we can adopt the ACA Safety in Design proformas as their standard. John Schmidt has also drafted a guide to safe roof access for architects which we will also discuss with DPTI.
A short submission was drafted on ACA's views on government procurement following a meeting with ACA reps, Paul Viney, Denise Hatzi, Brian Roche, Derek Cruickshank and Andrew Brown.
As you can see, there has been a great deal of activity. We have been liaising closely with David Homburg and Nicolette di Lernia from the Australian Institute of Architects to ensure a unity of voice for architects. More meetings are planned in the near future to explain the role of the architect in government procurement.
Quantifying who engages the architect – client direct, project manager, government, or other?
industry issues such as product performance.
The initial meeting of the renewed group suggested significant commonality on these issues between designers and contractors with the potential to present a unified position to government and broader industry.


Martensitic phase transitions in crystalline solids have been studied and utilized for many technological applications, including biomedical devices. These transitions typically proceed by the nucleation and propagation of interfaces, or phase boundaries. Over the last few decades, a continuum theory of phase transitions has emerged under the framework of thermoelasticity to study the propagation of these phase boundaries. It is now well-established that classical mechanical and thermodynamic principles are not sufficient to describe their motion within a continuum theory, and a kinetic relation must be supplied to complete the constitutive description. A few theoretical techniques that have been used to infer kinetic relations are phase-field models and viscosity-capillarity based methods, within both of which a phase boundary is sharp, but smeared over a short length. Here we use a different technique to infer a kinetic relation. We discrete a one-dimensional continuum into a chain of masses and springs with multi-well energy landscapes and numerically solve impact and Riemann problems in such systems. In our simulations we see propagating phase boundaries that satisfy all the jump conditions of continuum theories. By changing the boundary and initial conditions on the chains we can explore all possible phase boundary velocities and infer kinetic relations that when fed to the continuum theory give excellent agreement with our discrete mass-spring simulations. A physical system that shares many features with the mass-spring systems analyzed in this thesis is DNA in single molecule extension-rotation experiments. DNA is typically modeled as a one-dimensional continuum immersed in a heat bath. It is also known from fluorescence experiments that some of these transitions proceed by the motion of phase boundaries, just as in crystalline solids. Hence, we use a continuum theory to study these phase boundaries in DNA across which both the stretch and twist can jump. We show that experimental observations from many different labs on various DNA structural transitions can be quantitatively explained within our model.
Zhao, Qingze, "Phase Boundary Propagation in Mass Spring Chains and Long Molecules" (2016). Publicly Accessible Penn Dissertations. 2127.


text:
immigration & Litigation
Sosa Law
The New York Times recently quoted Rebecca Sosa in the article, "Is the Recent Spike in Marriages a Trump Bump?", by Emily S. Rueb.
Excerpt from the NYTimes article:
Rebecca Sosa, an immigration lawyer in New York City, said "it's logical and practical" for couples to consider how getting married "will help them stay together and provide immigration benefits and protection to the immigrant spouse."
"Given that immigrants have been the No. 1 group targeted as victims of hate crimes and discriminatory incidents," she added, acquiring legal immigration status "is a natural response to try and defend yourself and your loved ones."
Read the whole story here:
http://www.nytimes.com/2016/12/29/nyregion/marriages-since-trump-election.html?_r=0
Rebecca Sosa quoted in the New York Law Journal
Rebecca Sosa quoted in the New York Times
Excerpt from the New York Law Journal article:
... [I]mmigrants are still concerned about what a Trump presidency means for their status.
"Everyone's been in a state of panic," said Rebecca Sosa, a New York City solo immigration attorney.
She said that, while there have yet to be any fully formed proposals as to how the Trump
administration will handle immigration, she and other advocates have been organizing to ensure that
immigrants will have protection.
Read the whole story here: http://www.newyorklawjournal.com/id=1202772556075?keywords=Andrew+Denney
Sosa Law © 2013 All Rights Reserved

redpajama_set_name: RedPajamaCommonCrawl


Kevyn gave me enough soap to last a lifetime.
She is my father's sister. She is my aunt.
Steen knows what you said.
Jiri handed Jagath a sheet of paper.
Revised wondered why Ilya was so busy.
I didn't know Kanthan was good at swimming.
Although I was exhausted, I continued to work.
Jwahar wanted to come with us.
Ric has never been in a house like Clyde's.
Clifford ran out of the classroom.
We only have one son.
Please tell Frank to leave.
Anthony turned off the radio.
He has an intriguing personality.
Sarah may have been in Boston with Triantaphyllos last week.
Sabrina asked me not to tell anyone, so I didn't.
I was just wondering if Guillermo could possibly still be at school.
Violence will not be tolerated.
Sir says he's read all of these books.
With the extra rehearsals, work is really tight.
Devon says he can't ignore the noise any longer.
Do you know anything about the Jackson family?
You don't know me, do you?
Moran began to worry about how he was going to pay for his son's education.
I'm surprised by Van's response.
Lum hates getting up early in the morning.
The classroom was so noisy I didn't hear my name called.
Raymond didn't even try to understand.
I am the seven billionth baby!
Jesse won't be spending Christmas with his family.
Vidhyanath is looking through the letters.
Stuart maintained eye contact with Hirotoshi.
When Martyn's happy, I'm happy.
Japan's shame, the result of the Pacific War, has not yet faded.
What was Nadeem looking for out there in the backyard?
Matthieu wouldn't have passed the test if Naren hadn't helped him study.
The game drew a good crowd.
Suyog and Loukas often work together on Friday.
Who taught you how to dance?
Bea didn't want me to phone Kristian.
How long has Raif been here?
Do you have any apples?
Bjorne invited Heidi to a party at the country club.
I wonder why the names Reid and Kee are often used in sentences that are in the Tatoeba Corpus.
Donn is preparing for his own death.
I had to take down my tent because of the strong wind.
Mr. Jackson gave us some homework.
I saw Cristina and Lea in the park.
Rabin neither reads nor writes.
Pilar was partly to blame.
Joanne is our new colleague.
The water hardly began to boil when she added the ingredients.
Ima couldn't find anything better to do.
I miss him as much as ever.
How often does Sandy do that?
Kenn loved all of us.


@paulogustavo31 on Instagram have full name is paulogustavo31. Here you can discover all stories, photos, videos posted by paulogustavo31 on Instagram.
You can see all stories, posts, likes, followers, followings, comments, and so on identified with paulogustavo31 Instagram Profile from here.
Altogether paulogustavo31 has 10,040,036 followers and follows 972 on Instagram. Since joining Instagram paulogustavo31 has posted around 6,499 photos and videos there altogether.
On the off chance that you need take after more updates or need to get general cautions at whatever point paulogustavo31 posts anything on instagram click here and follow the user.


Contacts Shell +.010 F1 Dia. L1 +.001 S T Class 2A KK Dia. KK2 Dia.
.322 .169 MAX. .169 MAX.
26482 Matrix 2 .891 MAX. .938 MAX.
High Speed Shell F Dia. +.010 L1 +.001 S +.017 UNEF Class KK KK1 Dia.
Contacts Size C Max. +.010 –.025 L Max. Max. –.005 –.016 2A (Plated) Dia. Max. Max. KK2 Max.


The Basil Kavan XL double bike bag is a large and rectangular bag in black. This double bike bag can be easily attached to the luggage rack of a men's or women's bike. With a total capacity of 45 litres it is no problem to transport a lot of luggage or purchases in this bag. Do you head to the supermarket on your bike? Or do you ride your bike to work every day? Then the Basil Kavan double pannier is for you. This bike bag is always a good choice, even if you are taking long bike rides and want to take a packed lunch with you. This bag is made of strong and water-repellent canvas material and has reflective stripes on all sides. The back and sides are also reinforced and there is a drawstring. On the top of the bag there are two straps for fastening luggage luggage rack straps, a child seat, a spring flap or an LED lamp. A small water drain hole ensures that no water remains in the bag during a heavy rain shower.


text:
Curator's Talk: The EY Exhibition: Van Gogh and Britain – Talk at Tate Britain | Tate
Mapping Klee
Zentrum Paul Klee, Bern
Modern Look: Photography and the American Magazine
The Jewish Museum, New York
History of Switzerland
Landesmuseum Zürich, Zürich
JOHANNES ITTEN: ART AS LIFE BAUHAUS UTOPIAS AND DOCUMENTS OF REALITY
Kunstmuseum Bern, Bern
The Other Side of Now: Foresight in Contemporary Caribbean Art
Screens Series: Virginia Lee Montgomery
New Museum, New York
Last Supper in Pompeii: From the Table to the Grave
09.02.2019 (Saturday) — 02.03.2019 (Saturday)
School of Visual Arts presents "lost & found," a collaboration between MPS Art Therapy students, the people they work with at their internships, various institutions throughout New York City and the general public. Curated by Liz DelliCarpini, MPS Art Therapy internship coordinator and faculty member, the exhibition will be on view from Saturday, February 9, 2019 through Saturday, March 2, at the SVA Flatiron Gallery, 133/141 West 21st Street, New York City.School of Visual Arts presents "lost & found," a collaboration between MPS Art Therapy students, the people they work with at their internships, various institutions throughout New York City and the general public. Curated by Liz DelliCarpini, MPS Art Therapy internship coordinator and faculty member, the exhibition will be on view from Saturday, February 9, 2019 through Saturday, March 2, at the SVA Flatiron Gallery, 133/141 West 21st Street, New York City."lost & found" seeks to find what we have collectively lost in our society and, in doing so, create restorative relational experiences. Public involvement is viewed as a key aspect of community-based art therapy practice: offering people opportunities for contribution, recognition and support within the larger society. The therapeutic goals of "lost & found" are to bring diverse people together in ways that acknowledge and respect our differences.MPS Art Therapy at SVA equips students with a comprehensive interdisciplinary approach, integrating the experiential components of art therapy within a framework of academic theory and clinical application via an internship program and art practice. Fundamental to the program is the concept that the art therapist and client work together and thus can affect each other's growth.
School of Visual Arts - SVA
209 East 23 Street
l 800.436. New York
http://www.sva.edu/events/events-exhibitions/lost-found
Art, Gallery, New York,
Selection of further exhibitions in: United states
The Princely Collections, Liechtenstein: Five Centuries of European Painting and Sculpture
4th and Constitution Avenue NW
Rachel Feinstein: Maiden, Mother, Crone
1109 Fifth Avenue at 92nd Street
True to Nature: Open-Air Painting in Europe, 1780–1870
A Superb Baroque: Art in Genoa, 1600–1750
Degas at the Opéra
Edith Halpert and the Rise of American Art
José Carlos Martinat: American Echo Chamber
Perez Art Museum Miami - PAMM
235 Bowery
Henry Chalfant: Art vs. Transit, 1977-1987
The Bronx Museum of the Arts
1040 Grand Concourse at 165th Street
NSU Art Museum Fort Lauderdale
1 E Las Olas Blvd
Las Chingonas
Mexican and Latino Art Museum | San Francisco | In Association With The Smithsonian Institution - Th
Fort Mason Center, 2 Marina Blvd., Building D
Frida Kahlo: Appearances Can Be Deceiving
de Young Museum | de Young
Here/Now
Matt Mullican: Between Sign and Subject
Vera Paints a Scarf
The Book of Now: Dieter Roth and Ed Ruscha
Legion of Honor | Fine Arts Museums of San Francisco
Danny Lyon: Dissenter in His Own Country
lost & found School of Visual Arts - SVA Main address: School of Visual Arts - SVA Wells Fargo Center 209 East 23 Street l 800.436. New York, United states School of Visual Arts - SVA Wells Fargo Center 209 East 23 Street l 800.436. New York, United states 2019-02-09 2019-03-02 School of Visual Arts presents "lost & found," a collaboration between MPS Art Therapy students, the people they work with at their internships, various institutions throughout New York City and the general public. Curated by Liz DelliCarpini, MPS Art Therapy internship coordinator and faculty member, the exhibition will be on view from Saturday, February 9, 2019 through Saturday, March 2, at the SVA Flatiron Gallery, 133/141 West 21st Street, New York City.School of Visual Arts presents "lost & found," a collaboration between MPS Art Therapy students, the people they work with at their internships, various institutions throughout New York City and the general public. Curated by Liz DelliCarpini, MPS Art Therapy internship coordinator and faculty member, the exhibition will be on view from Saturday, February 9, 2019 through Saturday, March 2, at the SVA Flatiron Gallery, 133/141 West 21st Street, New York City."lost & found" seeks to find what we have collectively lost in our society and, in doing so, create restorative relational experiences. Public involvement is viewed as a key aspect of community-based art therapy practice: offering people opportunities for contribution, recognition and support within the larger society. The therapeutic goals of "lost & found" are to bring diverse people together in ways that acknowledge and respect our differences.MPS Art Therapy at SVA equips students with a comprehensive interdisciplinary approach, integrating the experiential components of art therapy within a framework of academic theory and clinical application via an internship program and art practice. Fundamental to the program is the concept that the art therapist and client work together and thus can affect each other's growth. Book tickets


Aug 27, 2017. Heartburn, chest pain and digestive distress are symptoms that we commonly associate with GERD. But there are certain symptoms that we wouldn't normally think might be caused by acid reflux and that is what makes the condition more damaging. This is because you try to treat the symptom not realizing.
Unfortunately, there's no easy way to fix this permanently. We sort of have to just manage it. "I have acid reflux. I cough a lot when I go to bed. Is that normal?" Dr. Riley: Actually, acid reflux is one of the common causes of chronic cough.
Are there other differences between chronic throat clearing and chronic cough? Yes, there are other, more profound differences than just the sounds they generate.
If you have ever burped and had an acid taste in your mouth, you have had reflux. They will have a dry cough, asthma symptoms, or trouble swallowing. Burping or belching; Not eating; Having stomach pain; Being fussy around mealtimes; Vomiting often; Having hiccups; Gagging; Choking; Coughing often; Having.
Conclusions: Antireflux surgery can improve chronic cough due to GERD resistant to intensive medical therapy. There is a clinical profile that can predict when GERD is the likely cause of cough. GERD cannot be excluded on clinical grounds as the potential cause of cough. The term acid reflux disease, when applied to.
WebMD's guide to the symptoms of GERD. If acid reflux gets past the upper esophageal sphincter, It is not clear how cough is caused or aggravated by GERD.
Learn Acid Reflux Cough then What Causes Chronic Heartburn and What Can Cure Heartburn What Can Cure Heartburn that How To Get Heartburn and Why Heartburn At Night.
"Traditionally, we have understood cough to have three main causes: asthma, acid reflux, and post-nasal drip," he explains. "While it is still true that many chronic coughs are caused by these conditions, it's not always that simple.
Physicians are trained to consider GERD as a potential cause for cough despite the lack of GERD symptoms. Unfortunately, this group of patients tends not to respond well to standard GERD therapy (ie, acid suppressive therapy). Thus, when treating a patient with chronic cough, it is very important to consider both the.
As winter nears, we tend to ascribe a whole bunch of symptoms to having a cold: runny nose, cough, sore throat. How can you have airway reflux without heartburn? The esophagus has a protective lining, so acid reflux may not be felt.
My wife and I have both been diagnosed with acid reflux. My wife experiences it as feeling as if she is on the point of being sick, with a burning sensation in the.
Can acid reflux cause a chronic cough? I've heard differing answers to this question, and I have to say I don't really understand how having stomach acid in your.
Another explanation, she suggested, may be that acid stimulates coughing, and coughing less may promote pneumonia. the researchers determined that patients treated with acid-reflux drugs faced a 30 percent increase in.
After dealing with severe acid reflux for many years, Michele Tallon is now symptom free after having a new minimally invasive procedure done at Heritage Valley Beaver. "It would just give me a really nasty cough," she said.
How can your digestive system cause you to cough? It happens when the acid from your stomach splashes up into your esophagus, irritating both your esophagus and the larynx, or voice box. That condition is called gastroesophageal.


Like other grains and oats, couscous has a high carb count but a lower "net carb" or "digestible carb" content. It also contains several vitamins and minerals and is a good source of dietary fiber, which has a number of health benefits. For example, fiber helps protect against digestive disorders and disease. Furthermore, higher fiber diets appear to be associated with fewer digestive complaints, better blood-sugar control, lower blood-cholesterol levels and reduced rates of colon cancer, heart and kidney disease. In addition, couscous is very low in Saturated Fat, Cholesterol and Sodium and a good source of Selenium and Manganese.
STORAGE Keep in airtight containers in cool, dry place, out of direct light.
FUN FOOD FACTS This pre-cooked wheat product, which comes in whole grain or milled, is light, flavorful and can be easily prepared. A lengthy, traditional process of soaking, steaming and buttering the couscous swells the grains making them lighter.
Couscous is a primary staple food throughout much of Northern Africa and Middle East, especially in Morocco, Algeria, Tunisia and Libya. Moroccan couscous is mildest, lightest and fluffiest. It is also popular in Brazil, France, and in western Sicily's Trapani province, it is served with seafood. It is particularly popular among Jews of North African descent, such as the Berber Jews.
Traditional couscous requires considerable labor and preparation time. Couscous is made by rolling and shaping moistened semolina (coarsely ground durum wheat) into small circular granules and then coating them with finely ground wheat flour or semolina (dry). Other varieties can be larger and made of hard wheat, barley or millet instead of semolina. This process continues until all the semolina has been formed into tiny grains of couscous. The finished grains are about 1 mm in diameter before steaming in a "couscoussiere".
Quick-Cook Couscous In modern times, couscous production is largely mechanized, and the product is sold around the world. What we are familiar with in the West is a more processed quick-cook couscous valued for its short preparation time. It has been pre-steamed and dried. Using quick cooking couscous means you just need to rehydrate it. The couscous swells and within a few minutes is ready to fluff with a fork and serve. (You may, however, prepare quick-cook couscous by the steaming process) Look for couscous made of hard duram wheat, as that made of regular flour can easily turn to mush.
Authentically cooked couscous should be light and fluffy, not gummy or gritty; steam couscous two to three times to separate granules and achieve this consistency. Traditionally, North Africans use a steamer called a "kiskas" in Arabic or "couscoussière" in French. The base is a tall metal pot shaped rather like an oil jar in which the meat and vegetables are cooked in a stew. On top of the base a steamer sits where the couscous is cooked, absorbing the flavors from the stew. The lid to the steamer has holes around its edge so that steam can escape. It is also possible to use a pot with a steamer insert. If the holes are too big the steamer can be lined with damp cheesecloth.
Basic Recipes Couscous can accommodate an almost endless variety of sauces or stews, or can be served with spicy vegetables. Couscous is traditionally served under a meat or vegetable stew. It can also be served flavored or plain, warm as porridge, cold in salads, as a dessert or a side dish.
Cooked couscous should be eaten within a few days. Or it may be frozen up to three months.
1 cup dry couscous = 2-1/2 cups cooked.
Basic Quick-Cook Recipe 1: Fastest For quick-cook couscous, pour 1 cup of the couscous into 1 cup of boiling water. Remove from heat, cover and let stand 5 minutes. Fluff with a fork before serving. Add flavoring of choice. Another variation would be to put 1 cup couscous into 2 cups water, simmer and stir a bit for1 minute, let stand 3 minutes. They both work fine.
Basic Quick-Cook Recipe 2: Like Rice Couscous may also be cooked like rice. Heat butter, add couscous and stir to coat, water or stock (double the amount of couscous), bring to a boil, reduce heat to lowest setting, cover and cook until liquid is absorbed in about 5 minutes (no peeking!). Fluff to separate.
Basic Quick-Cook Recipe 3: (4 servings) Mince 1 small onion. Melt 2 tablespoons of butter over medium heat in saucepan. Add the onions and 3 tablespoons currants and cook for 2 minutes, or until the onion is soft. Add 1 cup couscous and cook for 1 minute until lightly toasted. Stir in 1.5 cups water or stock and bring to a boil. Cover, remove from heat and let stand for 5 minutes. Add (optional) butter when fluffing couscous with a fork.
Basic (Traditional) Recipe 4: To double or triple the volume of instant couscous, avoid the hot water method given and take the time to slowly steam it. If you lack a steamer, a heat-proof colander inside a stockpot will work fine. Line the colander with cheesecloth if the holes are too big. When using the long traditional method of steaming couscous, covering the pot is not recommended as the condensation can drip onto the grains and make the couscous mushy.
Basic (Traditional) Recipe 5: Three Steams for softer, traditional couscous. (10 servings) This recipe uses milk, which is supposed to bring out the sweet flavor of the couscous. Put 2.5 cups couscous in a strainer and rinse well. Spread couscous in a roasting pan or wide tub to let dry for 10 mins. Separate any lumps with fingers. In bottom of steamer or stock pot, bring plenty of salted water to a boil. Set steamer top or colander over boiling water. To ensure a tight fit, wrap base with a cheesecloth. Add ¼ of couscous and steam uncovered for 20 min, until hot/ moist. Add remaining couscous and steam uncovered for 20 mins. Put all couscous in the roasting pan, remove steamer from heat, but keep the water. Spread out couscous with fork. Break any lumps while gradually sprinkling it with 1 cup of milk, salt, pepper. While stirring and sifting grains with fingers, breaking any lumps add 1 more cup of milk. Let stand, tossing occasionally to break lumps, until no longer sticky (1-2 hours). Return couscous to steamer, and steam for 20 mins. Dump back into the roasting pan and gradually rake in 2 cups of cold water. Smooth evenly and let dry again. For third steaming, wet your hands to sift again breaking any lumps. Return to steamer for 20 mins. At this stage, however, you may steam over a stew or broth. "Paula Wolfert's World of Food".
Preheat oven to 450 degrees. In a large bowl, toss yams, onions and zucchini with olive oil, salt and pepper. Spread onto a baking sheet and roast for 30 minutes until lightly browned and tender. While vegetables are cooking, heat broth to a boil in medium saucepan. Stir in couscous and scallions, cover and cook for 1 more minute. Remove from heat and set aside for 5 minutes, then uncover and fluff with a fork. Mix in olives, garbanzo beans, cashews, parsely, orange juice, and cinnamon. Season with a dash of cayenne pepper to taste. Top couscous with roasted vegetables and toss together just before serving. Serve hot or cold, 6 as an entrée, 8 as a side dish.
Cover raw couscous with cold water and drain immediately. Stir with a fork and let rest for 15 minutes. Sprinkle with the peanut oil mix with 6 tb water along with the salt and cinnamon. Mix well using your hands until the liquid has been uniformly absorbed. Place couscous in the top of a coucousier (or in a colander inside a stock pot) and place over boiling water. Steam for 30 minutes and remove from the heat. Return couscous to a bowl and mix in half the olive oil using your hands. Allow to cool and then sprinkle with 3/4 c water. Mix well and set aside until it has absorbed all the water. Return to the couscousier and steam for another 15 minutes. Return to the bowl, add half the remaining oil and mix with your fingers. Steam again for another 30 minutes. Return to the bowl for one last time and mix in the rest of the oil. Arrange couscous in a cone shape on a large serving platter. Decorate attractively with the garnishes (cinnamon, powdered sugar, prunes) & serve while hot.
This simple couscous dish combines dried fruits and nuts with an earthy blend of Moroccan spices. A delicious accompaniment to seasoned meats, fish, vegetables or a Moroccan tagine. Serve freshly steamed or warmed up the next day.
Place 2 cups of water in pot along with figs, apricots and raisins and heat to a boil. While water is coming to a boil, place couscous in a bowl with turmeric, olive oil, salt and pepper. Mix couscous until it is well coated with olive oil. After water comes to a boil, remove dried fruits and set aside. Add water to the couscous and cover the bowl with plastic wrap. Allow to steam for 15 minutes. While couscous is steaming, prepare dressing by combining lemon juice, orange juice, olive oil, cumin, cinnamon, ginger, honey, salt and pepper. Whisk until well combined.
When couscous is done, flake with a fork until all grains are fluffed and separated. Add dried fruits, red and yellow peppers, onion, nuts and cilantro. Pour in dressing. Gently mix together with a large serving spoon until all ingredients and dressing are well combined. Taste and adjust seasoning if need be.


text:
Brari Nambal lagoon gasps for life, courtesy official apathy
Once known for crystal clear waters, BrariNambal lagoon of Dal Lake here is on the verge of extinction due to inordinate delay by the authorities to revive it to its pristine glory.
Situated at the entrance of Shahr-e-Khaas (downtown Srinagar) at Baba Demb here, the lagoon till few decades ago was one of the major tourist attractions in the summer capital. However, due to failure of authorities to launch conservation measures, the lagoon has been marred by extensive pollution, siltation and encroachments. In the past over two decades, it has shrunk from five square kilometers to less than a square kilometer.
Though the state government projected revival of BrariNambal as a model for Dal conservation, no concerted efforts have been made to salvage the lagoon.
Following sustained campaign by Greater Kashmir on deterioration of BrariNambal, the government in October last year ordered short term conservation measures for it. Minister for Urban Development, NawangRigzinJora, had even chaired a meeting on October 15, 2013 directing immediate cleaning, dredging, expansion and beautification of the lagoon.
While the Lakes Waterways Development Authority (LAWDA), entrusted with Dal conservation, failed to undertake dredging, de-weeding and beautification of the lake, the Srinagar Municipal Corporation (SMC) had earlier this year removed shanties from an encroached portion of the lagoon.
Experts said there is immediate need to improve water quality of the lagoon by undertaking dredging and removing obnoxious weeds.
"It is ironical that authorities are resorting to dilly-dallying tactics to restore the lagoon. Pollution and siltation has drastically affected its eco-system. Further delay can cause irreparable damage to it. It is high time for the government to make intervention before the lagoon turns into a marsh," said environmentalist and hydraulic engineer, AijazRasool.
He warned that high level of pollution in the lagoon can also be detrimental for Dal lake in case of reverse flow of polluted waters into the water body. The lagoon acts as an outflow channel of Dal Lake and carries surplus waters into river Jhelum through FatehKadal conduit.
The lagoon was an example of the engineering excellence of King Zainulabidin, popularly known as Budshah. Before the government filled up the Nallah Mar, a serpentine waterway which passed through Shahr-e-Khaas. It was the main outflow channel of the Dal Lake and helped regulate water level in the lake and save its dwellers from floods. However, closure of the Nallah Mar channel over four decades ago left BrariNambal stagnated. It took the government decades to construct an underground conduit through FatehKadal to pave way for its water to flow into river Jhelum.
In 2003, the Parliamentary Standing Committee on Conservation and Management of Dal and Nigeen Lake had recommended immediate measures including restoration of BrariNambal and relocation of its dwellers. Despite passing of a decade since then, the successive regimes have failed to take any conservation measure.
In 2010, the state government lost a golden opportunity when it ignored a comprehensive plan by a consortium of leading environmental foreign companies that wanted to restore and develop the lagoon as a heritage water body as part of its Corporate Social Responsibility (CSR).
LAWDA maintains that conservation of BrariNambal is not part of Dal Conservation Project. "Last year we had submitted a comprehensive project for restoration of BrariNambal to the state government. Though the project estimated at Rs 19.12 crores has been vetted by joint commissioner works, the sanction has not been accorded yet," a senior official of LAWDA said.
Commissioner Secretary to Housing and Urban Development Department, Satish Nehru, acknowledged delay in restoration of the lagoon. "However, we have resolved all issues now. We will soon launch long term conservation measures to restore the lagoon," he said.
InBrari Nambal lagoon gasps for life, courtesy official apathy
Previous post HC asks Home Dept to explore possibility of granting relief to Kunan Poshpora victims
Next post PM's first visit to JK today
Wular Wonder! Long-Tailed duck sighted in Kashmir after 84 Years
After a gap of 84 years, a rare duck species has been found in Wular lake—Asia's largest fresh lake, bringing...
Guard the Green Gold
By: Mohmmad Jalal-Ud-Din Water and forests are the two important resources of a land mass to sustain living organisms on...
Kashmir's farmers suffer floods and drought as glaciers melt
When spring flooding in Kashmir's Himalayan mountains drowned the mustard crops on Ghulam Hassan's farm, he knew at least he...
Light to moderate rain, snow predicted in next 24 hours: MeT
Predicting further dip in temperatures across Jammu and Kashmir, Meteorological Department on Friday said that they are expecting rains and...
Brari Nambal lagoon on verge of extinction
Known for its glory until the seventies, Brari Nambal lagoon, also known as Baba Demb, is in its last throes. The...
Is J&K witnessing the brunt of Climate Change?
'In Last 28 Years, Mean Temperature Rose By 2.32°C and 1.45°C In Jammu and Kashmir Regions' Jammu and Kashmir is...
Previous post:HC asks Home Dept to explore possibility of granting relief to Kunan Poshpora victims
Next post:PM's first visit to JK today


You may be surprised to learn that immigration authorities interpret a criminal conviction much differently and more broadly than is typical in the criminal justice system. This is because the Immigration Nationality Act defines conviction differently from criminal law. You must know that any finding of guilt, a no contest plea, and even an adjudication of a guilt withheld is considered a conviction for immigration purposes. Additionally, any plea agreement or diversion program where the person admits guilt or admits committing to the underlying facts is treated as a conviction.
Another important concept is that the notion of suspended sentences is not recognized by the immigration authorities. If a person was offered a suspended sentence of one year they would not have to go to jail as long as they satisfied terms of probation. The sentence would hang over their head to ensure compliance but once conditions were met the jail time would never be imposed. Immigration treats this as a one year sentence anyway without regard to whether the suspended sentence was ever imposed. The original sentence is what determines the sentence length in immigration law. For example, the fact that a sentence length is one year or more is often a determining factor in whether the conviction is considered an aggravated felony.
This is why it is vital for anyone that is not a U.S. citizen to consult an immigration lawyer before they accept any diversion agreement or plea offer. No matter how great it may look at first glance, the devil is in the details.
Previous Previous post: So you have a criminal case? First question. What's your immigration status?
Next Next post: Should I Apply for DACA?


text:
layout: post
title: "The Story behind Servlet"
date: 2015-11-30 21:18:47 +0800
categories: blog
id: 6
---

Servlet is a piece of code sitting at the **server side** and waiting for the information from the browsers. It then processes the information and possibly gives feedback to the browsers.

The servlet I'm talking about here is implemented using the Java langauge and runs in Tomcat web server. Long story short, a typical servlet example written in Java is as follows:

{% highlight java %}
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class One extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
        java.util.Date today = new java.util.Date();
        out.println("");
        out.println("
Hello world
");
        out.println("
today is:" + today + "
");
        out.println("");
    }
}
#=> prints 'Hello world' and the current date.
{% endhighlight %}

Put the above code into your favorite text editor and save as a .java file, e.g. One.java.
Take the `servlet-api.jar` file from the `lib` directory of the installed tomcat home directory and put it in the same directory as One.java, then run the following command in the command line:

> `javac -cp servlet-api.jar One.java`

After that, you should get a file called One.class in your working directory. Put the One.class in the
following created directory in the tomcat home:

> `$tomcat_home/webapps/one/WEB-INF/classes/`

Create and put a web.xml file in the `$tomcat_home/webapps/one/WEB-INF/`. The web.xml should look as follows:

{% highlight xml %}
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
 <servlet>
 <servlet-name>MyServlet</servlet-name>
 <servlet-class>One</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>MyServlet</servlet-name>
 <url-pattern>/hello</url-pattern>
 </servlet-mapping>
</web-app>
#=> pay attention to the <servlet> part.
{% endhighlight %}

Now what you need to do is start tomcat and type the following address in the location area of the
browser and enjoy your accomplishment :coffee:.

> `http://localhost:8080/hello`

All the above is the short story behind the servlet and more infomation can be obtained from the
book :book: [Professional Java for Web Applications](http://www.wrox.com) by *Nicholas S. Williams*.

redpajama_set_name: RedPajamaGithub


We need a workflow to add users to a GSuite OU based on their office location, Google calls this field "Building ID." Our google accounts are populated with basic user information including their building id - it would be tremendously helpful if we could make workflows based on the building id field. Other use cases include adding users to groups based on their Building ID.


text:
New Harlem Renaissance: Marvel's Luke Cage
Mike Colter as Luke Cage, in Marvel's Luke Cage on Netflix.
Five months have passed since the events of the first season of Jessica Jones, and the scene has now shifted uptown from Hell's Kitchen to Harlem, where Luke Cage (Mike Colter, The Good Wife) has been keeping to himself, working two minimum-wage jobs and living anonymously above a Chinese restaurant. He has revealed his abilities to 'Pop' Henry (Frankie Fraison), a paternal figure who runs a barbershop where Cage works, but otherwise is largely content to sweep hair and wash dishes. All that changes when a kid from the shop, also under Pop's wing, gets caught up in some dirty business with local drug dealer and club owner, Cornell "Cottonmouth" Stokes (Mahershala Ali, House of Cards). Cage stops laying in the cut and steps – hoodie, bulletproof skin and all – on to the streets. There is a lot that is great about Luke Cage, even more that is very good, and, unfortunately much that is ultimately disappointing.
Let's start with the first great: Mike Colter. As the title character, Colter should own every scene he's in, and he does that and more – often without having to say a word. The second great thing is that Colter doesn't have to completely carry the show because the wider cast is almost as compelling (see below for the few regrettable exceptions). Hopefully not lost in the righteous enthusiasm for the first headlining black superhero of the Marvel Cinematic Universe is that this series contains some of the strongest examples of women of colour on current mainstream television – a list that includes, but isn't exhausted by, Simone Missick as police detective Misty Knight, Rosario Dawson as Netflix/Marvel universe mainstay Claire Temple, and the indomitable Alfre Woodard as Harlem Councilwoman Mariah Dillard. (If there were a women of colour Bechdel test, I'd wager Luke Cage would score astonishingly high.) And lastly, Luke Cage truly delivers as the latest expansion of the small urban corner of the MCU that Netflix is mapping out: like Jessica Jones and both seasons of Daredevil, Luke Cage keeps its story close to the ground – it concentrates on laying out small, powerful stories that often take place within a few city blocks. (The Netflix/Marvel shows have quite deliberately stepped away from the global and political narratives of the big-screen stories, and turned their attention to the everyday people just trying to live their lives in a newly dangerous world. In short: the words "Sokovia Accords" have yet to be uttered.) Part of what makes this new series so compelling is that, though Cage certainly fits the loner mode of the two other street-level heroes in the Netflix/Marvel universe, refreshingly – unlike Daredevil's Matt Murdock and the eponymous Jessica Jones – Cage isn't always pushing people away. Strong, silent, and "always thinking" (as a character describes him), Cage is wry and in control – with little of the insecurity that leads Murdock to constantly try to prove himself and with none of the self-pity and self-directed anger that drives Jessica Jones. Travelling an almost inverted trajectory, Luke Cage is essentially a story about our hero making friends and allies, instead of alienating them. Colter also smoulders as a romantic lead, a strength that was already on display last year when he stood opposite Krysten Ritter as Jessica Jones. (In this one season, Colter locks eyes with three very different female characters, and he has palpable chemistry with all of them.)
Rosario Dawson and Mike Colter in Luke Cage.
Inspired by a Blaxploitation-era comic book hero (Luke Cage first appeared on the pages of Marvel Comics in 1972), Luke Cage picks up on the noir tone of Jessica Jones and – its bass-driven theme music and retro title-card notwithstanding – hearkens less to the 70s than to the 20s. (As the story built itself up in the early episodes, I was most often reminded of Dashiell Hammett and Red Harvest, where a lone wild card – the unnamed Operative who narrates the novel – inexorably turns the status quo of a corrupt town on its head.) That said, with its almost exclusively non-white cast and a Harlem setting that is effectively a character itself, Luke Cage is powerfully set in our own era. The story quickly lays out a field of insiders and outsiders, those who know Harlem and those who don't. The streets binds even the worst enemies together in deep, cultural and generational ways. Even as the gangsterland intrigue ramps up between Cottonmouth and his gun- and drug-dealing rivals, characterization never takes a backseat (especially in its depiction of the tortured relationship between Cottonmouth and his cousin Mariah, played powerfully by Emmy-winner Woodard, whose political life lies in tension with her complex relationship with her family's long criminal history in the neighbourhood). By the middle of the season, Luke Cage was already among the most entertaining and compelling hours of television I've seen in a long while.
And, if the season had ended with its seventh episode, my review would close on this triumphant note. Up to that point, Luke Cage was as powerful as the best of its sister shows – perhaps even more consistently strong than the first seasons of Daredevil and Jessica Jones. Alas, in its eighth hour, the story introduces a new villain, takes the heart of the story (both literally and thematically) off the streets of Harlem, and somehow finds itself in a sophomore slump even before its freshman season has ended. Enter Willis "Diamondback" Stryker (played with Bible-quoting lunacy by Eric LaRay Harvey, from Boardwalk Empire), and much of what made the first half of the season so compelling dissipates. It isn't merely that Diamondback is a wholly improbable criminal mastermind (he shows up with seemingly endless capital for advanced weaponry but can't seem to end a single conversation without shooting someone, making it hard to imagine how he could ever inspire loyalty long enough to generate a stable criminal enterprise) or that he speaks almost exclusively in Baptist-preacher-cadenced verses. Rather, it's that his character never quite stops feeling like an alien to the carefully-constructed world the show has already built. Following the lead of David Simon's The Wire, Luke Cage creator Cheo Hodari Coker (Southland, Almost Human), took the time to build Harlem – with all its racial, economic, and cultural complexity – into a genuine character in the story. These parallels are further strengthened by bringing in some familiar faces from The Wire, including Sonja Sohn (The Wire's Kima Greggs) and more notably, Faison (The Wire's Commissioner Burrell). Both are strong actors in their own right – whatever televisual resonances their casting brings – but it hardly feels like a coincidence that the season begins to falter at almost the same moment their characters leave the story. As the story shifts to an inevitable faceoff between Stryker and Cage – both Harlem outsiders – the battle over the soul of Harlem (which had played out between community leaders, citizens, police, and criminals alike) now transform into battles on its streets, the neighbourhood reduced to collateral damage as the punches and bullets fly.
By the later episodes, this cartoonish quality infects other aspects of the series. The sheer power of the image of a large bulletproof black man in a hoodie facing off against corrupt police and urban crime doesn't need to be spelled out – though the final episodes of the series apparently decided to do just that (eventually enlisting Wu-Tang Clan's Method Man, in an otherwise amusing cameo, to tell us that "there's something powerful about seeing a black man that's bulletproof and unafraid," as if to make sure the audience hadn't missed it.)
Still, I forgive Luke Cage those indulgences. Because there is something deeply powerful about watching Luke Cage, with his multiple bullet-ridden hoodies and principled social conscience, take over our small screen for 13 hours. The series – for all its late-season missteps – demonstrates, like Jessica Jones before it, the dramatic possibilities of a reality-driven fantasy series.
– Mark Clamen is a writer, critic, film programmer and lifelong television enthusiast. He lives in Toronto, where he often lectures on television, film, and popular culture. Mark has been writing for Critics at Large since 2010.
Living in Hell: J.D. Vance's Hillbilly Elegy and t...
Let's Get Small: Netflix's Easy
Critic's Crypt: Threequel Thursday – The Exorcist ...
Love Me T.O.: In Conversation with Author Piers He...
Critic's Crypt: Extreme Home Makeover – The Amityv...
Minimalists: New Plays by Simon Stephens and Steve...


Residential beds: 5 baths: 3.0 3,680 sq. ft.
Wow….what a property! Marvelous home with lots of charm, character and space - Complete rewiring to 2017 Electrical Code. - New fiberglass oil tank 2017. - New heat pump 2017. - Large double brick garage with loft. - Solid construction. - Hardwood floors throughout. - Private backyard. - Paved driveway. - Very convenient location. - Perfect for entertaining. - Many more features too numerous to mention. This home is a wonderful mix of beauty and quality. The definition of "great bones" comes to life when you are considering the potential here. Option 1 – live in it as is and enjoy the superb location with close proximity to schools and downtown. Option 2 – live in it and run a home office or business. Option 3 – the lot is large with many possibilities or more parking if desired. One of these OPTIONS must make you curious? As you will see it is not your average house. Come take a look at "One of the finest houses in New Glasgow". Give me a call for a private viewing.
Civic #79, at the beginning of Mountain Road on your right.


text:
All issues Volume 129 / No 3 (May I 1998) Astron. Astrophys. Suppl. Ser., 129 3 (1998) 583-591 Abstract
Volume 129, Number 3, May I 1998
Surface photometry of early–type galaxies in the Hubble deep field *
G. Fasano1 and M. Filippi2
1 Astronomical Observatory of Padova, Vicolo dell' Osservatorio 5, 35122 Padova, Italy
2 Department of Astronomy of the Padova University, Vicolo dell' Osservatorio 5, 35122 Padova, Italy e-mail: gfasano@leda.pd.astro.it
Send offprint request to: G. Fasano
Received: 16 September 1997
Accepted: 5 November 1997
The detailed surface photometry of a sample of early–type galaxies in the Hubble Deep Field is presented as part of a long–term project aimed to settle strong observational constraints to the theories modelling the evolution of elliptical galaxies from the early stages. The sample has been extracted, in the V606 band, from the database provided by the ESO-STECF-HDF Group (Couch 1996). The selection criteria involve the total magnitude, the number of pixels detected above the background level and an automatic star/galaxy classifier. Moreover, form visual inspection of the frames, we excluded the galaxies showing unambiguous late–type morphology. The analysis of the luminosity and geometrical profiles, carried out on the 162 candidates obeying our selection criteria, resulted in a list of 99 "bona fide" early–type galaxies, for which accurate total magnitudes and effective radii were computed on the basis of the equivalent luminosity profiles. The comparison with the magnitudes given by Williams et al. (1996) indicates that the automated photometry tends to underestimate the total luminosity of the ellipticals. The luminosity profiles of most of galaxies in our sample follow fairly well the de Vaucouleurs law ("Normal" profiles). However, a relevant fraction of galaxies, even following the law in the main body light distribution, exhibit in the inner region a flattening of the luminosity profile not attributable to the PSF ("Flat" profiles) or, in some cases, a complex (multi–nucleus) structure ("Merger" profiles). A statistically significant correlation is found between the shapes of the luminosity profiles and the ellipticity distribution. In particular, the average ellipticity of galaxies belonging to the "Flat" and "Merger" classes is significantly higher than that of the "Normal" galaxies. Finally, even taken into account the relevant uncertainty of the outer position angle profiles, the amount of isophotal twisting of HDF ellipticals turns out to be significantly larger with respect to that of the local samples.
Key words: galaxies: elliptical and lenticular / galaxies: fundamental parameters / galaxies: photometry
Complete Table 1 is available electronically at the CDS at ftp 130.79.128.5 and Fig. 1 is can be accessed on the online version of the journal (http://aas.aanda.org).
Morphology of early–type galaxies in compact groups. IV. Rose groups
Shakhbazian compact galaxy groups — I. Photometric, spectroscopic and X-ray study of ShCG 154, ShCG 166, ShCG 328, ShCG 360
Optical surface photometry of radio galaxies — II. Observations and data analysis
The scaling relations of early–type galaxies in clusters — I. Surface photometry in seven nearby clusters
Are all radio galaxies genuine ellipticals?


This month, the photo upon which our stories are based was taken by Mick.
This entry was posted on Sunday, March 7th, 2010 at 8:18 pmand is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


Objective: Create and deliver an effective presentation on your research topic.
Choose a presentation medium: digital collage, prezi, poster, Wallwisher, powerpoint, movie, etc.
Plan how you want to layout your information.
Present your findings to your peers. You will be assessed using this rubric.


Scottish dance sensation Harris Beattie is currently starring as the young Billy in the London West End production of Billy Elliott The Musical, at the Victoria Palace Theatre.
Harris has been an active member of the Royal Academy of Dance (RAD) since 2007: in 2010 he won the 2010 Genée Dance Challenge in Birmingham with his solo The Enchantment, choreographed by Karen Berry. Later that year, Beattie performed the same winning solo at the exclusive Supper with the Stars gala dinner, held to raise funds for the Genée International Ballet Competition 2010 in London, in front of dance stars Chris Hollins and The Royal Ballet's Sarah Lamb, Tamara Rojo and Steven McRae.
Harris was also one of the 18 students from dance schools across the UK, chosen to demonstrate a range of exercises from the RAD's new Grades 1-3 Syllabi in front of over 500 delegates at the Mermaid Conference & Events Centre in London on 3 January 2012.
It's a struggle to get boys to dance, but a workshop in Birmingham set out to change that.
With his proud father roaring encouragement from the sidelines, a stocky lad bounds past, wearing an England rugby top. Then he joins the rest of the boys for a strenuous, sweaty work-out. But there is no fierce scrum in the mud. No ruck. No ripping of ear lobes or wrenching of hair. Not once is an oval ball booted into touch. Rugby isn't the game being played here today.
Instead, it is an all-boy ballet session, with pirouettes and pliés instead of punch-ups on the line-out. Forty-eight budding Billy Elliots from around the country gathered at DanceXchange, based in Birmingham's Hippodrome, to participate in the Boys Only Workshop, a rare opportunity for them to practise and perform with their male peers.
Billy Elliot may have been a huge hit, both as a film and stage musical, but it remains a struggle getting British boys involved in dance. Which is why the Royal Academy of Dance subsidised a three-day workshop, using funds raised by a gala performance of Billy Elliot.
It is the first time many of the eight to 16-year-olds have been taught dance by men; the first time they won't have to be the odd-one-out in predominantly female dance classes.
Gareth is one of the tutors at the Elmhurst School for Dance, Edgbaston.
"Because I teach at a dance school, I get a high number of boys in my classes," he says. "On this course, most of the boys go to ordinary schools. So they will maybe have a ballet class once a week in a draughty church hall, where there will be very few other boys involved. That can be off-putting.
"And, of course, boys can be bullied when they show an interest in dance.
Gareth adds: "It is also important that we have had an intensive three days working with these boys.
The students at the Boys Only Workshop may still be wearing their L-plates. But during their final-day performance in front of parents, it is clear that they are all anxious to stamp down hard on the dance accelerator and shift into top gear.
The rugby-top lad, and all the other smooth-movers, do their thing with great aplomb.To the delicate tickle and trickle of piano keys, they shape their arms into elegant Grecian urns; then it is up on the toes and leaping through the air. Through it all, they exhibit posture, poise, poetry of movement.
However, posture, poise and poetry of movement are all dumped, for one nanosecond, by a lively youngster flashing his dad a cheeky wink. Which is acceptable – these are boys, after all.
Parents are then treated to a fine display of Indian dance, which whets the appetite for a scene from Swan Lake.
Jack Brownhill, a 13-year-old from Willenhall, is one of the best of the bunch. He comes from an ordinary background and his prison officer mother grins while watching him go through his immaculate moves.
But, of course, hard work isn't the only hurdle that has to be jumped. There is also the scorn of other youngsters, who often dismiss dance with sneers and snarls.Luckily that has not been too much of a problem for Jack, who is not the kind of child easily bullied by the mob."I do kick-boxing as well," he smiles. "So that stops anyone at school trying to have a go.
A COUPLE of Evesham boys have proved ballet is not just for girls by competing in an all-boys dance event at the Hippodrome in Birmingham.
Oliver Gould, Charlie Watson and Jack Dempsey, who all go to the Jacqueline School of Dance, in Willersey, took part in ballet, contemporary and South Asian Kathak classes which culminated in a short performance in the Birmingham Royal Ballet's studios.
The event was spearheaded by the Royal Academy of Dance who, following the success of the musical Billy Elliot, wanted to build on the renaissance ballet and other dance forms found with a new generation of young male dancers.
Ballet teacher, Louise Gould, from Evesham, said: "The trio were part of a 50-strong group of boys from dance schools all over the country.
"The teachers were ex-professionals, and it was an opportunity to get some top quality lessons with the aim of promoting dance particularly for boys.


text:
Danny Faulkner
Morphing Astronomical Models
by Dr. Danny R. Faulkner on October 21, 2016
Dr. Danny Faulkner discusses several recent astronomy news stories, showing their presuppositions are no challenge to the biblical account of the origin of the universe.
Recently there have been several news items related to astronomy. Some people have asked Answers in Genesis about them, so perhaps I ought to comment on them.
The Dust Disk around TW Hydrae
One story from September 14, 2016, was about the possible discovery of a planet orbiting the star TW Hydrae (often abbreviated TW Hya). TW Hya is a T Tauri star, a class of stars that most astronomers think are very young. In fact, astronomers think that T Tauri stars are so young that they are still forming. T Tauri stars are found near molecular clouds, which most astronomers think are the places where stars are born. T Tauri stars are larger, and hence brighter, than stars of similar temperatures. This is attributed to these stars still collapsing to form stable stars. The contraction is thought to be unstable, which explains why T Tauri stars are marked by variability in brightness and have strong chromospheric emission. Of course, this contraction is so gradual that we can't actually observe it going on, but astronomers merely assume that it is happening. This sort of thinking is typical with man's ideas about star formation. Star formation supposedly takes a very long time, at least compared to human lifetimes. Therefore, we can't really observe star formation. Instead, astronomers observe what amounts to snapshots of various astronomical bodies that they think are at various stages of star formation. Then astronomers arrange the snapshots into the order that they think stars follow as the form.
T Tauri stars often have disks of dust orbiting them. Astronomers think that as a star forms and eventually becomes stable, these disks dissipate, so the dust disks suggest stellar youth. Astronomers also think that the planets in the solar system formed out of such a disk, so astronomers view these disks around T Tauri stars as sites of planet formation. If planets form this way, then looking at dust disks around T Tauri stars might permit discovery of planets in the process of forming. Or at the very least, they may offer a glimpse of recently formed, and hence very young, planets.
At a distance of only 176 light years, TW Hya is the closest T Tauri star to the earth. Our line of sight to TW Hya is nearly perpendicular to the plane of its dust disk, so we have a very good view of the disk. A team of astronomers used the Atacama Large Millimeter Array (ALMA) to image the disk of TW Hya. ALMA is an array of 66 radio telescopes at an altitude of 16,000 feet in the Atacama Desert of Northern Chile. The telescopes observe at relatively short radio waves at millimeter and submillimeter wavelengths. This part of the spectrum is adversely affected by water vapor, which is why ALMO is located at such altitude in the driest desert in the world. The images revealed several gaps in the disk, the most pronounced at a distance of 22 astronomical units (AU) from the star. An AU is the average distance between the earth and sun. For comparison, Uranus is nearly 20 AU from the sun. The authors of the study suggested that the gap could be caused by the gravitational interaction of an unseen planet and dust in the disk. They estimated that the mass of the planet is close to 1.5 times the mass of Neptune.
Well, did the researchers find a new planet here? Notice that they didn't actually see the planet, but rather inferred its existence from a gap in the dust disk surrounding the star. This doesn't mean that the planet isn't real, but that the detection is indirect. Furthermore, the researchers were cautious in their assessment. In the abstract of the paper, they wrote, "The most prominent gap at 22 au could be caused by the gravitational interaction between the disk and an unseen planet with a mass of .1.5 MNeptune although other origins may be possible" (emphasis added). So the planet may not exist.
The formation of planets by naturalistic means still is conjecture.
Does any of this matter in the discussion of creation or evolution? Though the interpretation of TW Hya and its disk is laden with evolutionary assumptions, it doesn't really matter much to us. Keep in mind that the process of planet formation is supposedly far too slow for people to directly observe, so no one has ever seen a planet form. Therefore, the formation of planets by naturalistic means still is conjecture. We don't know if a planet actually is present around TW Hya, but if there is, we now know that planets orbiting other stars are common, so why would TW Hya be any different in this regard? Extrasolar planets in no way threaten the creation model. The impetus for the search for extrasolar planets is to find earth-like planets in the hope of finding life elsewhere. But so far, no earth-like planets have been found. This is something that we might expect in the creationary worldview, but not from the evolutionary worldview.
How Did Earth Get its Carbon?
This story is related to the one above. Evolutionary theories of the origin of planets is that they amalgamate out of disks of dusk orbiting young stars. The earth and other planets supposedly did this nearly 4.6 billion years ago. A problem with this scenario is how to explain the presence of elements that have relatively low boiling points, such as carbon and sulfur, on the earth's surface. Those elements would have easily boiled away from the intense heat of the magma oceans that supposedly covered the early earth. Or, since they have affinity for bonding to iron, they would have sunk into the earth's core along with most of the earth's iron. Either way, these elements ought to be sparse on the earth's surface.
One way to solve this problem is to hypothesize that after the earth's surface cooled and hardened, objects containing carbon and sulfur fell to the earth, again placing those elements on the earth's surface. However, it is not at all clear where such bodies could have come from, and scientists have not identified any solar system bodies with the right composition to do this. A new study has proposed another solution. This new theory suggests that about 4.5 billion years ago a body about the size of Mercury collided with the earth. According to the new scenario, some of its carbon and sulfur from the interior of the impacting body remained on the earth's surface.
This is sure to stir controversy. For one thing, for the past 3–4 decades, the standard explanation for the moon's origin is that a Mars-sized object had a grazing incidence collision with the earth. Thus, this new proposal would double the number of catastrophic events early in earth's history. The second collision might have eliminated the reseeding of carbon and sulfur on the earth's surface. But this means that the earth endured not one, but two, "just right" collisions. This makes the earth incredibly improbable.
The biblical worldview on this matter is very different. Isaiah 45:18 tells us that God made the earth to be inhabited. Genesis 1:2 tells us that God initially created the earth unformed and unfilled, but over the six days of the Creation Week, God carefully shaped, formed, and filled the earth. It was not the result of random processes. Nor is there any suggestion in the creation account of collisions with other bodies.
The Reionization of the Early Big Bang Universe
A third article concerns the reionization of gas early in the universe (assuming a big bang origin). The big bang has been the dominant cosmology for a half century. According to the big bang model, the universe began 13.8 billion years ago in a very hot, dense state. Since then, the universe has expanded and cooled tremendously. For millions of years, there were no astronomical bodies. Instead, all that existed was gas, and most of that was hydrogen. However, in the early universe hydrogen atoms as we know them did not exist. Because it was too hot, the hydrogen was ionized, meaning that electrons and protons that normally make up hydrogen atoms were separated. But 380,000 years after the big bang, the universe supposedly cooled enough for the electrons and protons to form stable atoms of hydrogen for the first time. Astronomers call this event the age of recombination. Prior to the age of recombination, the universe was opaque, but now it became transparent. The cosmic microwave background (CMB) supposedly is radiation from that time period, albeit greatly cooled due to expansion since then. The existence of the CMB, discovered in 1964, is the one good evidence for the big bang, which accounts for it being the dominant cosmology since then.
Observations show that much of the intergalactic medium (the thin gas between galaxies) is ionized. Therefore, astronomers had long hypothesized that soon after galaxies formed, the gas between galaxies once again became ionized. Astronomers refer to that as the age of reionization. The amount of gas ionized this second time was far less than before. Also, because the density of the universe at the age of reionization was far less than prior to the age of recombination, the universe did not become totally opaque once again. However, the partial opacity does affect the radiation of distant objects, including the CMB. For years, astronomers had thought that the age of reionization was about 450 million years after the big bang. This presented a problem, because ultraviolet radiation from massive, hot stars had to be the source of reionization of the intergalactic hydrogen gas. But this was thought to be far too early for those hot stars to exist in sufficient number to cause the reionization (I might add that it is unknown how the first stars formed anyway).
A new study of the CMB solves this problem by suggesting that the age of reionization was much later, about 700 million years after the big bang. Being about 250 million years later than previous estimates, most astronomers think that by then a sufficient number of hot stars existed to have ionized the intergalactic medium. The opacity of ionized intergalactic gas slightly attenuates radiation in the CMB, a process that also imprints a slight polarization signature. Polarization is a preference in the direction that radiation, a wave phenomenon, vibrates. This study analyzed the polarization of the CMB precisely measured by the Planck spacecraft. Earlier studies had relied upon other data, such as polarization measurements of the WMAP spacecraft.
There are many different versions of the big bang, and the preferred model keeps morphing.
What does this mean to biblical creationists? Not much. First of all, the results of this new study are extremely model dependent. Actually, it depends upon several different models. The authors of the study acknowledged that their result depended upon a particular model of ionization. If one adopted a different ionization model, a different time for the age of reionization would result. But beyond that, the study also depended upon which particular version of the big bang that one adopts. There are many different versions of the big bang, and the preferred model keeps morphing.
However, as biblical creationists, we know that the big bang model does not square with Scripture. Therefore, the big bang is not the correct story of the origin of the universe. If there was no big bang, then what is the source of the CMB? I've previously published a suggested mechanism for the CMB, a mechanism that comes straight from the Genesis 1 account of creation on Day Two and what we know of physics.
Previous Article Flat Earth-Star Trails Next Article What's Up in 2017?
Buddy Davis' Blog
David Menton
Tommy Mitchell
Terry Mortenson
Bryan Osborne's Blog
Georgia Purdom
Calvin Smith's Blog
Patricia Engler's Blog
Simon Turpin's Blog
Danny Faulkner Blog Updates
Email me with new blog posts by Danny Faulkner:


Please make your registration online (use the form below).
23rd of January 2018 price is 700 e+VAT.
You may also register groups by email (toimisto@tieyhdistys.fi). See the needed information from the registration form below, thank you.


Damaris Ronkanen has always been passionate about food, cooking and chocolate. As a kid she loved visiting her grandparents in Mexico and tasting how different chocolate was there to the USA. After working as a pastry chef in some of Colorado's best restaurants, Damaris started Dead Dog Chocolates, making traditional Mexican style chocolates.
In 2016 she pivoted to making traditional European style chocolate, with flavours inspired by Mexican food and culture, as well as the history of the communities where cacao originated.
Damaris and Cultura Craft Chocolate are dedicated to always being curious, pushing boundaries, never compromising, and having fun in every aspect of their business.


For all of you who ever watched American Idol and thought, "Man, I could totally win this show if only instead of singing it required translating German poetry," your time has come.
no man's literary translation lab is hosting their third annual "Translation Idol" contest in Berlin on May 20th. The piece selected for translation this year is the song "Das Haus" by Jan Böttcher—check out the audio file on the link, it's a pretty sweet tune. At the award ceremony, the author will select his favorite translation, and in true "Idol" fashion, the audience will select a winner as well.
Check out further details and the song at no man's land's website.


text:
Q: assist me to understand behind the scenes of title.compareTo(a.title()); codeInside //Sorting userDefined object from ArrayList<>...

import java.io.*;
import java.util.*;

class Song implements Comparable<Song>{
    String title;
    String movie;
    String rating;

    public int compareTo(Song s){
        //System.out.println(getTitle()+"   "+s.getTitle());
        /*The upper comment is for testing purpose,
         *because i wanted to see whats the value getTitle() compares..
         *but i couldn't understand.
         */
        return getTitle().compareTo(s.getTitle());
    }

    public Song(String t, String m, String r){
    //R.I.P. Naming Convention.
        title = t;
        movie = m;
        rating = r;
    }

    public String getTitle(){
        return title;
    }

    public String toString(){
        return title;
    }
}

class ArrayListDemo{
    ArrayList<Song> songsList = new ArrayList<Song>();
    public static void main(String[] args){
        new ArrayListDemo();
    }

    public ArrayListDemo(){
        getSongs();
        System.out.println(songsList);
        Collections.sort(songsList);
        System.out.println(songsList);
    }

    public void getSongs(){
        try{
            File file = new File("SongsList.txt");
            //check below for SongsList.txt
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String line = null;
            while((line = reader.readLine()) != null){
                addSong(line);
            }
        } catch(IOException e){
            e.printStackTrace();
        }
    }

    public void addSong(String lineToParse){
        String[] token = lineToParse.split("/");
        Song nextSong = new Song(token[0], token[1], token[2]);
        songsList.add(nextSong);
    }
}

SongsList.txt
Soch Na Sake / Airlift / 9.1
Jeena / Badlapur / 8.7
Tere Sang Yaara / Rustom / 8.8
Aayat Ki Tarah / BaajiravMastaani / 7.9
Ikk Kudi / UdtaPunjab / 7.5
Tay Hai / Rustom / 7.8

Output:-
Before Sorting...
[Soch Na Sake , Jeena , Tere Sang Yaara , Aayat Ki Tarah , Ikk Kudi , Tay Hai ]

After Sorting...
[Aayat Ki Tarah , Ikk Kudi , Jeena , Soch Na Sake , Tay Hai , Tere Sang Yaara ]

Caution:- Beginner Level English Ahead!!!
So this is working of my program... Reference :-HeadFirstJava 2nd , JukeBox3 Page no.- 550
So, coming to the problem..
i understood most of them...but this is where my mind is rolling.. o.O
public int compareTo(Song s){
    return getTitle().compareTo(s.getTitle());
}

getTitle() & s.getTitle()
from where getTitle() gets value and compares it...
ok, i know that compareTo() compares String but and i also know the -1,0,1 (<,=,>) rule,
the thing which cracking me up is from where getTitle() gets the value.
and one more thing... the book says that
Collections.sort(songsList);
when this method gets called, the sort method sends an element from songsList to compareTo() method.. means s.getTitle() = title of the element sent bye sort(). Right ?
but from where the first getTitle() gets the value... the one which is after the return and before the .compareTo().
Kindly assist me here, checked docs, other answers, everything i can in last two days....
in simple words i want to know that from where and which values getTitle() gets  to compare.

A: public int compareTo(Song s) is used to compare 2 Song objects. One of them is the one the method is called on, and the other is passed as an argument.
For example :
Song s1 = ...
Song s2 = ...
int s1.compareTo(s2);

In this example, getTitle() in the body of public int compareTo(Song s) will return the title of s1, while s.getTitle() wil return the title of s2.
Collections.sort(songsList); will always use compareTo to compare 2 Song objects - one of them it will call the method on, and the other will be passed as an argument.

redpajama_set_name: RedPajamaStackExchange


text:
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** @author  John Miller
 *  @version 1.2
 *  @date    Sat Sep  8 13:53:16 EDT 2012
 *  @see     LICENSE (MIT style license file).
 */

package scalation.analytics.classifier.par

import java.util.concurrent.ForkJoinPool

import scala.collection.parallel.ForkJoinTaskSupport
import scala.math.min

import scalation.linalgebra._
import scalation.linalgebra.gen.HMatrix3
import scalation.relalgebra.Relation
import scalation.linalgebra.par.{MatrixD, VectorD}
import scalation.util.time

//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `NaiveBayes` class implements an Integer-Based Naive Bayes Classifier,
 *  which is a commonly used such classifier for discrete input data.  The
 *  classifier is trained using a data matrix 'x' and a classification vector 'y'.
 *  Each data vector in the matrix is classified into one of 'k' classes numbered
 *  0, ..., k-1.  Prior probabilities are calculated based on the population of
 *  each class in the training-set.  Relative posterior probabilities are computed
 *  by multiplying these by values computed using conditional probabilities.  The
 *  classifier is naive, because it assumes feature independence and therefore
 *  simply multiplies the conditional probabilities.
 *-----------------------------------------------------------------------------
 *  @param x   the integer-valued data vectors stored as rows of a matrix
 *  @param y   the class vector, where y(l) = class for row l of the matrix x, x(l)
 *  @param fn  the names for all features/variables
 *  @param k   the number of classes
 *  @param cn  the names for all classes
 *  @param vc  the value count (number of distinct values) for each feature
 *  @param me  use m-estimates (me == 0 => regular MLE estimates)
 */
class NaiveBayes(x: MatriI, y: VectoI, fn: Array [String], k: Int, cn: Array [String],
                 private var vc: VectoI = null, me: Int = 3)
      extends BayesClassifier (x, y, fn, k, cn)
{
    private val DEBUG = false                          // debug flag
    private val cor   = calcCorrelation                // feature correlation matrix

    private var popC  = new VectorI (k)                // frequency counts for classes 0, ..., k-1
    private val probC = new VectorD (k)                // probabilities for classes 0, ..., k-1
    private var popX  = new HMatrix3 [Int] (k, n)      // conditional frequency counts for variable/feature j
    private val probX = new HMatrix3 [Double] (k, n)   // conditional probabilities for variable/feature j

    if (vc == null) vc = vc_fromData                   // set to default for binary data (2)
    popX.alloc (vc().toArray)
    probX.alloc (vc().toArray)

    if (DEBUG) {
        println ("value count vc     = " + vc)
        println ("correlation matrix = " + cor)
    } // if

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Build the model with feature order and selection
     *  @param testStart  starting index of test region (inclusive) used in cross-validation.
     *  @param testEnd    ending index of test region. (exclusive) used in cross-validation.
     */
    def buildModel (testStart: Int, testEnd: Int): (Array[Boolean], DAG) =
    {
        (Array.fill (n)(true), new DAG(Array.ofDim [Int] (n, 0)))
    } // buildModel

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Count the frequencies for 'y' having class 'i' and value 'x' for cases 0, 1, ...
     *  Only the test region from 'testStart' to 'testEnd' is skipped, the rest is
     *  training data.
     *  @param testStart  starting index of test region (inclusive) used in cross-validation
     *  @param testEnd    ending index of test region (exclusive) used in cross-validation
     */
    def frequencies (testStart: Int, testEnd: Int)
    {
        val endworkers = 3
        val size = (m/endworkers)+1
        val popCw = Array.ofDim [VectorI] (endworkers)
        val popXw = Array.ofDim [HMatrix3[Int]] (endworkers)

        for(w <- 0 until endworkers){
            popCw(w) = new VectorI (k)
            popXw(w) = new HMatrix3 [Int] (k, n)
            popXw(w).alloc(vc().toArray)
        } // for

        var temprange = (0 until endworkers).par
        temprange.tasksupport = new ForkJoinTaskSupport (new ForkJoinPool (endworkers))
        for(w <- temprange) {
            for (l <- w * (size) until min((w+1)*size,m) if l < testStart || l >= testEnd) {
                // l = lth row of data matrix x
                val i = y(l) // get the class
                popCw (w)(i) += 1 // increment ith class
                for (j <- 0 until n) popXw (w)(i, j, x(l, j)) += 1   // increment ith class, jth feature, x value
            } // for
        } // for
        for (w <- 0 until endworkers){
            popC += popCw (w)
            popX += popXw (w)
        } // for

        if (DEBUG) {
            println ("popC = " + popC)                             // #(C = i)
            println ("popX = " + popX)                             // #(X_j = x & C = i)
        } // if
    } // frequencies

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Train the classifier by computing the probabilities for C, and the
     *  conditional probabilities for X_j.
     *  @param testStart  starting index of test region (inclusive) used in cross-validation.
     *  @param testEnd    ending index of test region (exclusive) used in cross-validation.
     */
    def train (testStart: Int, testEnd: Int)
    {
        frequencies (testStart, testEnd)                  // compute frequencies skipping test region
        val pcia = Array.ofDim [Double] (k)
        for (i <- 0 until k) {                            // for each class i
            pcia (i) = popC (i).toDouble                  // population of class i
            probC (i) = pcia (i) / md                     // probability of class i
        } // for

        for (j <- (0 until n).par) {                      // for each feature j
            for (i <- 0 until k) {
                val me_vc = me / vc (j).toDouble
                for (xj <- 0 until vc (j)) {              // for each value for feature j: xj
                    probX(i, j, xj) = (popX (i, j, xj) + me_vc) / (pcia (i) + me)
                } // for
            } // for
        } // for

        if (DEBUG) {
            println ("probC = " + probC)                  // P(C = i)
            println ("probX = " + probX)                  // P(X_j = x | C = i)
        } // if
    } // train

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Given a discrete data vector 'z', classify it returning the class number
     *  (0, ..., k-1) with the highest relative posterior probability.
     *  Return the best class, its name and its relative probability.
     *  @param z  the data vector to classify
     */
    def classify (z: VectoI): (Int, String, Double) =
    {
        val prob = new VectorD (k)
        for (i <- 0 until k) {
            prob(i) = probC (i)                                    // P(C = i)
            for (j <- 0 until n) prob (i) *= probX (i, j, z(j))    // P(X_j = z_j | C = i)
        } // for
        if (DEBUG) println ("prob = " + prob)
        val best = prob.argmax ()              // class with the highest relative posterior probability
        (best, cn(best), prob(best))           // return the best class, its name and its probaility
    } // classify

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Reset or re-initialize all the population and probability vectors and
     *  hypermatrices to 0.
     */
    def reset ()
    {
        popC.set (0)
        probC.set (0)
        popX.set (0)
        probX.set (0)
    } // reset

} // NaiveBayes class

//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `NaiveBayes` object is the companion object for the `NaiveBayes` class.
 */
object NaiveBayes
{
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    /** Create a 'NaiveBayes' object, passing 'x' and 'y' together in one table.
     *  @param xy  the data vectors along with their classifications stored as rows of a matrix
     *  @param fn  the names of the features
     *  @param k   the number of classes
     *  @param vc  the value count (number of distinct values) for each feature
     *  @param me  use m-estimates (me == 0 => regular MLE estimates)
     */
    def apply (xy: MatriI, fn: Array [String], k: Int, cn: Array [String],
               vc: VectoI = null, me: Int = 3) =
    {
        new NaiveBayes (xy(0 until xy.dim1, 0 until xy.dim2-1), xy.col(xy.dim2-1), fn, k, cn,
                        vc, me)
    } // apply

} // NaiveBayes object

//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `NaiveBayesTest` object is used to test the `NaiveBayes` class.
 *  Classify whether a car is more likely to be stolen (1) or not (1).
 *  @see www.inf.u-szeged.hu/~ormandi/ai2/06-naiveBayes-example.pdf
 *  > run-main scalation.analytics.classifier.par.NaiveBayesTest
 */
object NaiveBayesTest extends App
{
    // x0: Color:   Red (1), Yellow (0)
    // x1: Type:    SUV (1), Sports (0)
    // x2: Origin:  Domestic (1), Imported (0)
    // features:                 x0  x1  x2
    val x = new MatrixI ((10, 3), 1,  0,  1,                     // data matrix
                                  1,  0,  1,
                                  1,  0,  1,
                                  0,  0,  1,
                                  0,  0,  0,
                                  0,  1,  0,
                                  0,  1,  0,
                                  0,  1,  1,
                                  1,  1,  0,
                                  1,  0,  0)

    val y  = VectorI (1, 0, 1, 0, 1, 0, 1, 0, 0, 1)              // classification vector: 0(No), 1(Yes))
    val fn = Array ("Color", "Type", "Origin")                   // feature/variable names
    val cn = Array ("No", "Yes")                                 // class names

    println ("x = " + x)
    println ("y = " + y)
    println ("---------------------------------------------------------------")

    val nb = new NaiveBayes (x, y, fn, 2, cn)                    // create the classifier

    // train the classifier ---------------------------------------------------
    nb.train ()

    // test sample ------------------------------------------------------------
    val z1 = VectorI (1, 0, 1)                                   // existing data vector to classify
    val z2 = VectorI (1, 1, 1)                                   // new data vector to classify
    println ("classify (" + z1 + ") = " + nb.classify (z1) + "\n")
    println ("classify (" + z2 + ") = " + nb.classify (z2) + "\n")

    // cross validate the classifier
    nb.crossValidate ()

} // NaiveBayesTest object

//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `NaiveBayesTest2` object is used to test the `NaiveBayes` class.
 *  Given whether a person is Fast and/or Strong, classify them as making C = 1
 *  or not making C = 0 the football team.
 *  > run-main scalation.analytics.classifier.par.NaiveBayesTest2
 */
object NaiveBayesTest2 extends App
{
    // training-set -----------------------------------------------------------
    // x0: Fast
    // x1: Strong
    // y:  Classification (No/0, Yes/1)
    // features:                  x0  x1   y
    val xy = new MatrixI ((10, 3), 1,  1,  1,
                                   1,  1,  1,
                                   1,  0,  1,
                                   1,  0,  1,
                                   1,  0,  0,
                                   0,  1,  0,
                                   0,  1,  0,
                                   0,  1,  1,
                                   0,  0,  0,
                                   0,  0,  0)

    val fn = Array ("Fast", "Strong")                         // feature names
    val cn = Array ("No", "Yes")                              // class names

    println ("xy = " + xy)
    println ("---------------------------------------------------------------")

    val nb = NaiveBayes (xy, fn, 2, cn, null, 0)              // create the classifier

    // train the classifier ---------------------------------------------------
    nb.train ()

    // test sample ------------------------------------------------------------
    val z = VectorI (1, 0)                                    // new data vector to classify
    println ("classify (" + z + ") = " + nb.classify (z) + "\n")

    nb.crossValidate ()                                       // cross validate the classifier

} // NaiveBayesTest2 object

//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
/** The `NaiveBayesTest3` object is used to test the `NaiveBayes` class.
 *  > run-main scalation.analytics.classifier.par.NaiveBayesTest3
 */
object NaiveBayesTest3 extends App
{
    val filename = BASE_DIR +  "breast-cancer.arff"
    var data = Relation (filename, -1, null)
    val xy = data.toMatriI2 (null)
    val fn = data.colName.toArray
    val cn = Array ("0", "1")                                 // class names
    val nb = NaiveBayes (xy, fn, 2, cn, null, 0)              // create the classifier
    nb.train()
    nb.crossValidate()

} // NaiveBayesTest3 object