text:
Album Review: Palma Violets - 180
Posted by FG at 23:44 on Tuesday, February 26, 2013
Palma Violets - '180' (UK Release: 25 Feb '13) // Words: Rajan Lakhani
Palma Violets are the latest in a long line of artists to be hailed as the 'Best New Band in Britain'. However, this moniker has become a poisoned chalice, with bands more often than not failing to live up to the accolade. The group has largely gained this reputation on the back of their live performances so can they transfer this energy and momentum to their debut album?
'180' begins strongly with 'Best Of Friends', which has quickly established itself as an indie anthem – you can easily imagine students screaming out the chorus at the top of their lungs as they chug down their snakebites. 'Step Up For The Cool Cats' is equally hummable, a nod to the camaraderie not only within the band but the bond they have quickly built up with their audience.
However, the record struggles to continue this promising start, with the middle section of the record particularly forgettable. Bravado and youthful exuberance can't mask the fact that there is a dearth of songwriting quality. Even the song titles are unimaginative – 'Tom The Drum', 'Chicken Dipper', 'Johnny Bagga Donuts' - yes, we get you like fast food!
There is some redemption in the final two tracks 'Three Stars' and '14'. Both tracks are slower in tempo, demonstrating different shades to their sound. The former builds skilfully into a Pixies style rocker, while '14' stays on the right side of sentimentality, being touching rather than mawkish.
Unfortunately, rather than leave on a high, any favourable sentiment is diminished by the nadir that is the unnamed hidden track at the end of the record. The band may claim to being 'ironic' with their repeated boast of "I've got a brand new song, it's gonna be a Number One/And I'd love to show the world my new song" but that would suggest they have less understanding of the word than Alanis Morrissette. Instead, the whole thing comes across as obnoxious - if there ever was a hidden track that should have remained hidden, this is a prime contender.
Industry experts have said that 2013 will see the return of rock bands to the charts but it's difficult to see this with bands like Palma Violets leading the charge. The band have been pushed too quickly which is apparent from this messy, unfocussed album. Perhaps releasing an EP may have been a better format at this stage, giving the band more time to home their album while still taking advantage of the early momentum of their debut single.
That said, there is definitely potential in the group demonstrated by the brilliance of 'Best Of Friends' and they may yet become a musical force to be reckoned with. But at this time, don't believe the hype.
'180' is available to purchase from amazon.co.uk. Find more info at palmaviolets.co.uk.
Find More Of The Same: album, music, Palma Violets, Rajan Lakhani, review


text:
<?php

// UniversalBundle:Default:ajout.html.twig
return array (
);

redpajama_set_name: RedPajamaGithub


Creative Endeavors is an educational photography tour/adventure company catering to the arts in the stunning mountainous regions of Bulgaria.
Founded by international couple Phil and Karin Sheil (Phil being Welsh, Karin Canadian– both currently reside in Dubai, but fell in love with the spectacular beauty and warm friendly welcome of Bulgaria a few years ago). Their ultimate goal is to build an artist retreat in Bulgaria's Rhodope Mountains offering the highest calibre of instruction in a wide range of artistic pursuits.
They began chasing this dream in summer 2016, offering three different and very successful landscape photography tours.
University professor, Phil Sheil; National Geographic Photographer, Evo Danchev and Canadian photojournalist, Steve Somerville.
The tours take clients to some of the most remote and pristine locations that even many Bulgarians have never visited. Beyond outstanding learning outcomes, the tours are extraordinary adventures that create many wonderful memories to last a lifetime.
Bulgaria is truly the undiscovered gem of Europe. Home to four major mountain ranges, it is a stunningly beautiful country from its crashing waterfalls and exquisite caves, to its towering mountains and pristine lakes and so much more.
It's also rich in history, having been home to various civilizations for the past 1.4 million years. It is thus peppered with ancient ruins, sanctuaries and tombs, fascinating monasteries and churches and crumbling old fortresses.
It is a country that inspires creativity and nurtures a true appreciation for the beauty of the natural world.
So if you haven't been…then now is the time!
Check out the Fantastic Tours!


text:
La esposa comprada es un western estadounidense de 1974 dirigido por Jan Troell y protagonizado por Gene Hackman y Liv Ullmann.

Sinopsis
Zandy Allan, un curtido granjero acostumbrado a la vida rural y apartada, solicita una novia por correo. A su petición responde Hannah Lund, a la que convierte en su esposa. Zandy, por supuesto no está nada conforme con la que se convierte en su mujer, no es ni la mitad de lo que esperaba y la actitud testaruda y reticente de Hannah no lo alegra. Al principio la trata como una posesión, sin respeto ni la humanidad que merece, hasta que una terrible experiencia compartida les anima a luchar juntos y desarrollar en ellos un amor creciente. Zandy y Hannah viven una auténtica pasión que les hace vivir un amo que supera las primeras expectativas, pero juntos, una vez más tendrán que superar retorcidas dificultades cuando Ma, la antigua novia de Zandy,  hace su aparición para romper la relación de la pareja.

Reparto
Gene Hackman como Zandy Allan.
Liv Ullmann como Hannah Lund.
Eileen Heckart como Ma Allan.
Susan Tyrrell como Maria Cordova.
Harry Dean Stanton como Songer.
Joe Santos como Frank Gallo.
Frank Cady como Pa Allan.
Sam Bottoms como Mel Allan.
Bob Simpson como Bill Pincus.
Vivian Gordon
Fabian Gregory Cordova

Producción
El director Jan Troell relató: «El primer problema que tuve en la película fue que no se me permitía manejar la cámara [debido a las normas sindicales de los Estados Unidos]. Para mí eso supone una gran diferencia porque me siento muy incómodo estando sentado junto a la cámara. Por lo demás, pensé que era una experiencia muy útil».

Referencias

Enlaces externos

redpajama_set_name: RedPajamaWikipedia


Throughout the 19th century in the British Empire, parallel developments in science and the law were squeezing Aborigines everywhere into nonexistence. Charles Darwin took part in this. Again and again, he expressed his approval of the extermination of the native lower races. The more interesting part of the story is that there were plenty of voices, albeit a minority and mostly forgotten now, who objected on humanitarian grounds (and sometimes scientific grounds as well). Europeans, they said, were becoming polished savages and dehumanizing the Other. Darwin was very aware of this criticism and cared not one whit. As he said in a letter to Charles Lyell, I care not much whether we are looked at as mere savages in a remotely distant future. But he well knew it was not a remote future. He had read several writers who accused Europeans of being the real savages. For a brief moment in his youth in his Diary, he himself dabbled in such criticism, even though he already believed in the inferiority of indigenous peoples. That belief grew firmer as he matured. Darwin did not dispute humanitarians so much as he ignored them. Its a sad story. But oh those humanitarians, how they inspire.


Clock Master Productions is an independent arts company based in Hudson, QC.
We are a community driven company, that hires professional artists to work alongside volunteers.
We are a Small Production company who has been given an extraordinary opportunity to produce the World Premiere of David Fennario's Fessenden Follies. Please Help us Realize this Exception Piece of History.
Clock Master Productions © 2019 - Crafted by Website Girl. All Rights Reserved.


I've been seeing a lot of posts lately about having a dedicated 'learning' space in a home-schooling household. So I thought I'd write about the reasons why we do NOT have one!
1. Learning can take place anywhere at anytime and I want the 3 Ps to realise this from a young age. Although we have a small desk set up in the corner of the dining room, it is mainly used to store books, pens, resources. If we are doing written learning we often sit around the dining room table, but spend just as much time sitting outside at the garden table or lying on cushions on the lounge floor leaning on big books or trays (which is the best place to be when it's cold as we can cosy up by the fire!).
2. We do not do enough formal sit-down learning to justify it. As I wrote about in A 'Typical Day… we generally just go with the flow, meaning a dedicated learning area would be a waste of the limited space we have!
3. We do not have the space. Well, this is not entirely true as we do have a small conservatory but I love that area being the Ps playroom – not that their play remains in there! In fact they don't know how lucky they are – no where is off limit; a friend visited with her 2 year old this morning and commented on how much she loves coming over because it's like a playgroup! The only thing I ask is that everyone helps with the tidy-up at the end of the day, although there are days when this is a task for me in the evening!
4. Much of our learning takes place elsewhere. We spend a lot of our time in the garden or out on walks, but also at groups, museums, the library or other days out.
Next > Seven tips for 'planning' a topic.


A sweet caramel tasting pork used as a side dish to rice, or where a sweetness is needed to counter a spicy chilli dish.
1. Put the salt, sugar, dark soy sauce, and water in a pan.
3. Chop the pork into small strips and add to the sweet sauce.
4. Cook until the sauce thickens and caramelises and the pork is cooked.
5. Serve as a side dish with rice.
This page contains a single entry from the blog posted on August 8, 2009 6:40 PM.
The previous post in this blog was Fried Garlic Squid ( Bla-muk tod Gatiem ).
The next post in this blog is Salmon Head ( Hur Pla Salmon Tom-See-Euw).


The Fleming Wildcats and the Yuma Indians battled for a 1A North Central league win in Yuma on Friday, Oct. 5. Yuma and Fleming are both great teams, so this was a game worth watching. The Yuma Indians won in three, 25-13, 25-21 and 25-20.
Both teams were able to rack up some impressive stats. Freshman Whitney Chintala led Fleming with 13 kills while Cody Robinson and Chasey Blach led the Indians with 20 each.
Senior Brooke Sigmon and freshman Zoey Vandenbark led with two aces each for the Wildcats. Senior Taylor Hansen and Reagan Nolin contributed with one ace for the Indians.
Sophomore Kendyl Kirkwood led the Lady Wildcats with 25 assists and tallied three blocks. Blach led the Lady Indians with two blocks. Kirkwood dug 16 digs, following by Chintala with 14 digs for the Cats. Yuma's Robinson managed to get 16 digs followed by Nolin with 15.
"I was very proud of how we handled ourselves in those three sets. We were up and excited the whole time which allowed us to get together, which we need coming into post play here soon. We may have lost, but the way we all played is a win in my eyes," said Wildcats' senior leader Jenna Lengfelder.
Lisa Young/ JA staff writer contributed to this report.


text:
Fort Myers Area, Florida, Alumnae Club
Charter date: 11/16/1970
Other club names: Southwest Florida Alumnae Club
The History of the Fort Myers Area, Florida, Alumnae Club
In 1970, the Southwest Florida Alumnae Club of Pi Beta Phi (Eta Province) was formed. The first President, Kim Thompson wrote to Pi Beta Phi's Central Office and obtained the charter. The Fort Myers Area, Alumnae Club was originally called Southwest Florida Alumnae Club because it included members who lived in many locations throughout the area, which included Cape Coral, Fort Myers, Lehigh, Fort Myers Beach, Sanibel and others.
Originally the club's membership included alumnae in the Naples area; however, the separate Naples, Florida, Alumnae Club was formed one year later. Southwest Florida Alumnae Club did celebrate Founders' Day with the Naples, Florida, Alumnae Club and the Port Charlotte pocket. Those joint celebrations lasted many years until the clubs grew too large and chose to hold separate events.
In earlier years, the club had a number of potluck dinners and dinner dances which involved the members' spouses as well. From 1979 to 1980, Southwest Florida Alumnae Club Pi Phis started Alumnae Panhellenic of Lee County. To do so, every Pi Phi invited a guest from another sorority. Pi Phi Ida Jane Sharpe was the first President.
The 1980s were a tough time for the club; there were very few members. However, in the 1990s, more Pi Phis moved to the area and the club again grew in membership. Then, in 1992, the club contributed a square for the friendship quilt put together and displayed at the National Convention in Orlando. The design, appropriatel y, was a palm tree. For the following Convention, the club made cardigans which were sold. This was before Pi Phi Express.
In 1994 through 1995, founding club member Susan Kyle became Province President. Susan served as statewide Recruitment Chairman in 1993-94 and was succeeded in that post by another club member, Angela Clark. In 2011, Bettie Crawford, twin sister of club member Bobbie Nack, was an alumnae honor initiate at the Orlando Convention.
In 2014, a vote was taken and the club's name was officially changed to Fort Myers Area, Florida, Alumnae Club, in hopes that new Pi Phis to the area would find us through social media. In 2015, club member Susan Kyle was recognized nationally as the Evelyn Peters Kyle Angel Award winner. Also in 2015, the club celebrated its 45th Anniversary with a Cookie Shine held at an area golf club. In 2016, club member Bobbie Nack was installed at Alumnae Panhellenic of Lee County President. She is the second Pi Phi to hold this position since its founding.
The Fort Myers Area, Florida, Alumnae Club made blankets and then donated them on behalf of the club for Project Linus. Books and pajamas were collected and donated for The Pajama Project, connecting foster children with their own new books and clothes. In 2014, club members started making dinner and bringing books to the families at Ronald McDonald House of Southwest Florida, which they have continued to do today. Another philanthropic event that the club has participated in since 2008 is volunteering as Literacy Buddies through the Early Learning Coalition of Southwest Florida. Then in 2016, the Fort Myers Area, Florida, Alumnae Club received a Fraternity Day of Service Grant for the Early Learning Coalition- Literacy Buddy Program.
Evelyn Peter Kyle Angel Award
Susan Kyle (2015)
Shirley Christlieb and Bobbie Nack, authored the Alumnae Renewal Ceremony and presented at the 2001 Denver Convention

redpajama_set_name: RedPajamaCommonCrawl


You will need a GatorLink username and password to view or order transcripts.
If you have forgotten or do not have a GatorLink username and password, follow the prompts on the Student Self Service website to obtain or activate your credentials.
If you do not know your UFID, you can look it up on Student Self Service website or contact the Registrar's office at 352-392-1374, ext 7237.
The charge is $12 per transcript.


text:
Q: It's acceptable to always use 'this' as monitor lock? For example I have a class with 2 counters (in multi-threaded environment):
public class MyClass {
  private int counter1;
  private int counter2;

  public synchronized void increment1() {
        counter1++;
  }

  public synchronized void increment2() {
        counter2++;
  }

}

Theres 2 increment operations not related with each other. But I use same object for lock (this).
It is true  that if clients simultaneously calls increment1() and increment2() methods, then increment2 invocation will be blocked until increment1() releases the this monitor?
If it's true, does it mean that I need to provide different monitor locks for each operation (for performance reasons)?

A: 1) yes it's true that increment1() blocks increment2() and vice versa because they both are implicitly synchronizing on this
2) if you need a better performance consider the lock-free java.util.concurrent.atomic.AtomicInteger class
  private AtomicInteger counter1 = new AtomicInteger();
  private AtomicInteger counter2 = new AtomicInteger();

  public void increment1() {
        counter1.getAndIncrement();
  }

  public void increment2() {
        counter2.getAndIncrement();
  }

A: If you synchonize on the method, as what you did here, you lock the whole object, so two thread accessing a different variable from this same object would block each other anyway.
If you want to syncrhonize only a counter at a time  so two thread won't block each other while accessing different variables, you have to add the two counters here in two synchronized block, and use different variables as the "lock" of the two blocks.

A: You are right it will be a performance bottleneck if you use same Object. You can use different lock for individual counter or use java.util.concurrent.atomic.AtomicInteger for concurrent counter.
Like:
public class Counter {
  private AtomicInteger count = new AtomicInteger(0);
  public void incrementCount() {
    count.incrementAndGet();
  }
  public int getCount() {
    return count.get();
  }
}

A:
It is true that if clients simultaneously calls increment1() and increment2() methods, then increment2 invocation will be blocked until increment1() releases the this monitor?

If they're called on the same instance, then yes.

If it's true, does it mean that I need to provide different monitor locks for each operation (for performance reasons)?

Only you can know that. We don't know your performance requirements. Is this actually a problem in your real code? Are your real operations long-lasting? Do they occur very frequently? Have you performed any diagnostics to estimate the impact of this? Have you profiled your application to find out how much time is being spent waiting for the monitor at all, let alone when it's unnecessary?
I would actually suggest not synchronizing on this for entirely different reasons. It's already hard enough to reason about threading when you do control everything - but when you don't know everything which can acquire a monitor, you're on a hiding to nothing. When you synchronize on this, it means that any other code which has a reference to your object can also synchronize on the same monitor. For example, a client could use:
synchronized (myClass) {
    // Do something entirely different
}

This can lead to deadlocks, performance issues, all kinds of things.
If you use a private final field in your class instead, with an object created just to be a monitor, then you know that the only code acquiring that monitor will be your code.

A: Yes if multiple threads try to call methods on your object they will wait trying to get the lock (although the order of who gets the lock isn't guaranteed.) As with everything there is no reason to optimise until you know this is the bottle neck in you code.

A: Yes the given code is identical to the following:
  public void increment1() {
        synchronized(this) {
             counter1++;
        }
  }

  public oid increment2() {
        synchronized(this) {
             counter2++;
        }
  }

which means that only one method can be executed at the same time. You should either provide different locks (and locking on this is a bad idea to begin with), or some other solution. The second one is the one you actually want here: AtomicInteger

A: If you need the performance benefits that can be had from being able to call both operations in parallel, then yes, you do not to provide different monitor objects for the different operations.
However, there is something to be said for premature optimization and that you should make sure that you need it before making your program more complex to accommodate it.

redpajama_set_name: RedPajamaStackExchange


text:
Packaging Corporation of America
Lake Forest, Illinois, USA, 08 December 2009 -- (BUSINESS WIRE) -- Packaging Corporation of America (NYSE: PKG) announced today that its board has approved a regular quarterly dividend of USD 0.15 per share on its common stock. The quarterly dividend of USD 0.15 per share will be paid to shareholders of record as of 15 December 2009, with a payment date of 15 January 2010. Future declaration of quarterly dividends, and the establishment of future record and payment dates, are subject to the final determination by PCA's board of directors.
PCA is the fifth largest producer of containerboard and corrugated packaging products in the United States, with sales of USD 2.4 billion in 2008. PCA operates four paper mills and 68 corrugated product plants in 26 states across the country.


text:
Wildfires set off explosions in Bosnia minefield
published by www.ajc.com
Bosnia and Herzegovina–– KONJIC — As firefighters tried to contain two wildfires near an ammunition factory in southern Bosnia on Thursday, one of the blazes began setting off explosions in a minefield left over from the country's war in the 1990s, officials said.
No one was injured, but the risks of entering the minefield and heavy winds were making it difficult for the firefighters and several military helicopters assisting them to battle the two blazes in the populated area.
Both fires were threatening the Igman ammunition factory on the outskirts of Konjic village from opposite sides, with one of them burning in the heavily mined forest.
"We are doing our best but with the heat and the wind the fires are spreading fast and there is not much we can do about it. It's all in the minefields," said Fadil Tatar, commander of Konjic civil protection.
Tatar, who is in charge of coordinating the rescue services and firefighters, said several explosions could be heard Thursday morning as the fire set off some of the mines.
This summer has been one of the hottest on record in Bosnia, and it hasn't rained in the country for two months.
The ammunition production at the factory is located in underground tunnels, which could decrease the danger that the fires were presenting, authorities said. They did not say how much ammunition was being stored there.
One of the two fires was raging just 500 meters (yards) from people's houses.
Further south, several villages were evacuated because of other fires that have been raging around the southern city of Mostar.
In eastern Bosnia, near the town of Gorazde, another wildfire was burning in a minefield, but the blaze was not close to people's homes and didn't appear to be setting off explosions, officials said.
Bosnia's 1992-1995 war turned it into one of the world's most mine-infested countries.


text:
High School Students Who Drank Alcohol are Vindicated
A year after 17 students from a Cincinnati suburban high school were punished for drinking beer on a school trip to Germany, the students have been vindicated.
The students participated in an exchange program in Germany, where visiting beer gardens was part of the curriculum. Before the students left, their parents gave permission for them to drink beer while at the gardens to experience the local culture. The legal drinking age in Germany is 16.
The students could legally drink in Germany, school photographs of past trips showed earlier exchange students drinking beer, and there is no school policy against it. At least 25 parents later testified before the school board that they understood that discipline for any infractions would be a family decision.
A court has now ruled that the school board can't apply its code of conduct to the trip, especially after the students were told that it would be up to the students' parents if they would be allowed to drink.
The school board argued that its rules applied to alcohol consumption on the trip because the students were on a "school-related activity." However, the court found that "The record lacks any evidence that the code of conduct defines in any way the scope in time and place, or the beginning or end of a school-related activity."
"The parents clearly understood that when the students were separated from the supervision of the school, they were solely under the supervision of the host (German) parents" said the court.
School officials later decided that the students' drinking while at a beer garden in Germany was a violation of the school's code of conduct.
Two of the 19 students on the trip abstained from alcohol. The other 17 were suspended. Two accepted the suspension but 15 appealed and had their sentence modified to community service. However, two of the students hired a lawyer and appealed.
The court totally reversed the school's decision. Unfortunately, the students had already been improperly punished.
The school board's attorney said an appeal is likely. This appears to be yet another case of zero tolerance out of control.
Students disciplined after drinking beer in Germany. Akron Beacon Press, 4-24-04; Kranz, Cindy. Judge: School wrong on beer. Cincinnati Enquirer, March 5, 2005; Perry, Kimball. Beer-drinking students vindicated. Cincinnati Post, March 5, 2005; Students win challenge to suspension for drinking. The Cincinnati Enquirer, March 5, 2005.
Reducing Alcohol Abuse among Students
Zero Tolerance, Zero Evidence


Congratulations beautiful Daisy on becoming Queen of the English speaking site for the first time!!
How do you feel about this honour?
Oh, I'm so very happy to finally be the English Queen! I'm doing the happy dance!
It's such an honor to be in the royal spotlight this week. Mews don't know what to meow, I'm so excited. My whiskers are twitching with eager anticipation.
Although we do know you and your hard working mom, we would like to get to know you a bit better, so can you tells us how you came to your forever home?
I came at a very sad time in Mommy's life. Angel Maestro had just gone to the Rainbow Bridge, and though it was so soon, Mommy could not bare the empty house with no cats. With all her other angels, there were others still in the home, but this time, there was no one.
So Mommy looked on the computer for cats to adopt at the local Animal Shelter. And while she saw many cats in need of homes, my picture kept popping up.
So she went to the shelter to adopt me, but I was in foster care. You see, I had been at the shelter for over a year and no one wanted to adopt me. I wasn't getting along with the other cats, and so I had to go in a private home.
So the Animal Shelter brought me back and when they showed me to Mommy, they didn't seem too enthusiastic. I guess they thought Mommy wouldn't adopt me either, especially since I had just peed in my cage.
But Mommy saw me, with my fat puffy cheeks, and she said "I'm taking you home"
Now, there were also two beautiful golden cats up for adoption, and Mommy kept looking at them. But she had promised me that she would adopt me, and couldn't bare the fact that I would be rejected once again.
This was the picture of me at the shelter that Mommy saw on the computer. So how could she resist wanting to adopt me, right?
Can you tell us about yourself and what type of putttttrsonality you have?
What makes you such a special girl?
Well, I'm a girl with many sides. There's sweet Daisy, not so sweet Daisy, and naughty Daisy.
But before I was adopted, I was a feral cat, so I still have many of my feral instincts.
In the past almost two years now, I have made many improvements.
I'm a very independent girl with different moods. Mommy is always trying to get me to sit on her lap, and I do from time to time, but then I jump back off.
Now, downstairs in the computer room, I sit on Mommy's lap and purr, but upstairs, nope. I like Mommy to be around, just don't like all the loving stuff. But I do have my moments.
I'm always on alert, watching my surroundings, always in pouncing mode. When I eat my food, I want Mommy to stand over me and watch. When I was on my own, I always had to be watching.
We read that you occasionally get up to some mischief...what is the funniest thing that you have done?
Yes, I must confess, I can be a naughty girl.
My latest thing is I like to steal things from the downstairs bathroom and take them upstairs.
I will take Mommy's toothbrush, her comb, anything I can get my paws on.
Christmas is just round the corner. Do you think you're on Santa Paw's good list or naughty list?
What are you hoping you'll receive in your Christmas stockings this year?
I don't know. I've been being a little naughty lately getting into the Christmas decorations, the Christmas tree to be exact.
But I just can't resist. There are so many temptations with all the shiny ornaments. We just have a little tree this year, and Mommy's afraid I will knock it over.
But I still have time to redeem myself, so I think I will be on the good list.
Since I don't really like treats, I don't want that for Christmas, but I do love toy mice, so any type of mice I would like.
And I sure would like more heated beds. I have one upstairs, but I need one downstairs too. Mommy is rather stingy with the heat in the house as it's so expensive.
What do you like best in life, besides your mom, of course? Is there anything you don't like?
I love napping. And napping in the sun is even better. Mommy thinks I'm rather lazy, but napping is just what us cats do. She naps an awfully lot herself. Mommy is always trying to get me to nap under the blanket to keep warm, but I haven't figured that one out yet.
I love toy mice, any size or shape!
I also love to nap inside the recliner. I go in the back and enter under the chair. It's nice and cozy.
I don't like having my nails clipped. No, no, no!
I don't like it when Mommy's leaves the house. I always want her here. Fortunately, she is here most of the time.
If you could be granted 3 Christmas wishes, what would they be?
2. That the humans would take better care of this planet and have more respect for all the animals.
3. That the humans wouldn't be so sad when their cats and dogs become angels, as the angels are very happy at the Rainbow Bridge, and well loved.
I want to thank all of you my friends, for choosing me to be the English Queen this week. I will wear the crown with honor.
I invite you all to celebrate with me this week before Christmas.
And as we're in the season of giving, I encourage all of you to give to those less fortunate, to appreciate all that you have, and to look to the future with hope.
Čestitke i PUSA 1000 medena Daisy !!!!!


Canary dextrin from dent corn starch. Offers high solubility in cold water. Used as a binder in adhesive applications where high solubility, high solids, good tack and solution stability are required. Application : Industrial adhesives (labels, tube winding, laminating, blanket).
Please note, these HSP values are estimations. It is based upon the "like seeks like" principle. It splits an ingredients interactions into three parameters; δD (Dispersion force interactions), δP (Polar forces interactions) and δH (Hydrogen bond force interactions). Hansen Solubility Parameters can help you find a wide range of products that are predicted to be compatible with Stadex 126. A practical determination of these HSP values would provide higher certainty. Learn More.


Rotisserie ovens roasting grain-fed, Canadian Grade A chicken dishes in a casual, family atmosphere.
You may not know just how special the chicken you're about to order is! For a start, our rotisserie ovens only accept fresh (never frozen), grain-fed, Canadian Grade A chickens. With a touch of secret seasoning and a 90 minute self-basting cooking process, your simple chicken dinner, is rather fancy after all.


text:
Q: Some Hostname is not seen in DNS Manager ( Windows Server 2008 ) DC Server OS - Windows Server 2008 R2 ( Active Directory Integrated DNS Zone )
Client OS - Windows 7
I am unable to understand, why some hostname are not dynamically registered in DNS Manager.
For example -My windows7 which is added to corp.abc.com domain. Don't show in DNS manager.
I don't want to create this hostname statically on DNS manager.
I have tried couple of resolution i.e ipconfig /registerdns, restarted DNS Client / DHCP Client server, restarted computer still unable to see hostname name entry in DNS manager. 2 days has passed, still it has not come-up in DNS manager.
I have also check Advanced TCP/IP settings.
Please see print-screen of nslookup & Advanced TCP/IP Settings.

Kindly suggest, what should i do, to resolve this problem.

A: You should usually test these things with the FQDN, rather than just the hostname, to rule out suffix list problems on the testing computer.
That said, you need to make sure of a few things.
Normally only computers that are in the domain are allowed to update DNS records in it; check that it's properly domain-joined (a domain user can authenticate on it and access domain resources, and domain administrators have admin rights on it).
If that isn't it, you should ensure that the permissions on the DNS zone allow computer accounts to update it.  If you've locked it down tightly, it's possible that the computer isn't being allowed to register itself because of policy.
Failing that, you should read microsoft's documentation regarding how this process worked (it's still largely the same as it was when the document was written): http://support.microsoft.com/kb/816592
Troubleshoot that process.  Make sure that your workstation can actually talk to an authoritative DNS server for the zone, and preferably the one that comes up when you query the SOA record (to use nslookup for this issue type=SOA and then query the domain name).


text:
Live Flight Times
Airport Amenities
Changing Terminals
Terminal 1 Restaurants
Terminal 1 Shopping
Terminal 1 Facilities
Car Rental Returns
Terminal 2Lianne Murphy2019-04-19T12:02:32+01:00
London Heathrow Terminal 2 – The Queen's Terminal is a new airport terminal at London Heathrow Airport, the main airport serving London, United Kingdom. The new development was originally named Heathrow East Terminal, and occupies the sites where the previous Terminal 2 and the Queen's Building stood. It was designed by Luis Vidal + Architects (LVA) and opened on 4 June 2014. Terminal 1 is due to close to passengers in 2015 however as Terminal 1's baggage system is used by Terminal 2 part of it will remain operational. At some later, but currently undefined, stage Terminal 2 will be expanded on the current Terminal 1 site.
The original Terminal 2 opened in 1955 as the Europa Building and was the airport's oldest terminal.
Terminal 2 has plenty to offer to passengers that are arriving into the country or to those that are leaving. Terminal 2 offers lucrative restaurants, designer shopping outlets and also a wide range of facilities. If you would like to know more about any of these please click the link below.
Terminal 2 Map
View Terminal 2 Map
View Restaurants
View Shops
View Facilities
London Heathrow Airport is the busiest airport in the United Kingdom, and also the busiest airport in Europe with regard to total passenger numbers. In terms of worldwide airport statistics, London Heathrow Airport is the third busiest airport.
The airport is located 20km west of London City Centre. The airport has 5 passenger terminals, two runways and a host of public and private transportation options.
For more information on London Heathrow Airport, look no further than London Heathrow Guide.


text:
Q: Store millisecond value using hibernate @CreationTimestamp annotation I am using the following code in my entity
@CreationTimestamp
private LocalDateTime responseDateTime;

This is working fine, however is storing the date in format 2021-02-15 21:26:39. How can I get this date to store with a millisecond value?
Thanks

A: I think that issue is mostly related to the actual type of column in your database.
Looks like it would be better to use DATETIME(3) type - as it allows to have fractional second information.
More information can be found at MySQL Reference Manual


text:
Q: configure json calls from wince 5.0 app in c#.net, compact framework application
Possible Duplicate:
Is there a library to read JSON in C# on Windows Mobile?

we have a web application working in cakephp. now we need to get data from it and display on a wince device. also we want to update/send dat to the website.
For this client have selected json as the method for communication.
but, now we are having issues with getting started in visual studio to call the website using json requests and fetch data.
can you help with this?
i will need details of dll to use and basic example of a json request to the server.
any help in this matter will be be great.
thanks

A: Pls have a look at the following links
Consume JSON web service from .NET Compact Framework 3.5 on Windows Mobile 6
http://community.psion.com/knowledge/w/knowledgebase/1378.consume-json-web-service-from-net-compact-framework-3-5-on-windows-mobile-6.aspx
Prepare a JSON Web Service and access it with JQuery
http://www.codeproject.com/Articles/37727/Prepare-a-JSON-Web-Service-and-access-it-with-JQue
Edit :
Codetitans have written JSon Parser for diff .net flavors including CF
http://codetitans.codeplex.com/releases/view/52555
Also check other releases in the same page (in "other downloads") for updates..
or
You can write your  own JSON parser as shown here .. Sample Implementation is there too.
http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html
Also this SO question
Is there a library to read JSON in C# on Windows Mobile?


text:
Volker Banfield (born 9 May 1944, Oberaudorf, Bavaria) is a German classical pianist.

He studied at the Nordwestdeutsche Musikakademie in Detmold, beginning at age 14. Afterward he moved to the United States and studied at the Juilliard School (with Adele Marcus) and at the University of Texas (with Leonard Shure). He then returned to live in Germany and toured extensively. His repertory emphasized late 19th century and 20th century music featuring works by Bartók, Debussy, Messiaen, Prokofiev, Rachmaninoff, and Scriabin. The contemporary composers György Ligeti and Detlev Müller-Siemens have dedicated works to him. He has also become identified with the works of Schumann. He held a professorship at the Hochschule für Musik und Theater Hamburg until 2009.

He recorded four CDs for Wergo, and additional albums for CPO, including a performance of Ferruccio Busoni's Piano Concerto together with the Bavarian Radio Symphony Orchestra which was awarded a Diapason d'Or, and the world-premiere recording of Hans Pfitzner's Piano Concerto.

References

1944 births
Living people
German classical pianists
Male classical pianists
21st-century classical pianists
21st-century male musicians


text:
Category Archives: Leeward Islands
ST. MARTIN – SIX MONTHS AFTER HURRICANE IRMA – by Theresa
The cruisers' forums have been reporting that in the six months since St. Martin took a direct hit from Category 5 Hurricane Irma, recovery efforts have been, not surprisingly, slow and arduous. Countless wrecks had to be removed from the navigatable waters and docks needed to be repaired and/or replaced. Repairs to the marine infrastructure were secondary to repairs to individuals' homes, businesses and land infrastructure. With all of that in mind, we approached the island trepidatiously and with an eye towards assisting in the recovery efforts.
We had heard through the coconut telegraph that Fort Louis Marina, in Marigot Bay, had partially reopened. We had enjoyed our stays there previously in 2015 and 2016 [see St. Martin (2015) and St. Martin (2016)], so we were glad to learn that they had survived the storm. We contacted the marina in advance of our arrival to determine what marine services were available. They informed us that fuel, water, electric and floating docs were all available. We spent the first night in St. Martin on the hook in Marigot Bay, astonishinly, one of only a few boats in the entire bay.
Pilots' Discretion Position Report (March 2018)
We picked up fuel in the marina first thing the next morning and then tied up to a floating dock. The dock staff were fantastic, setting up brand new / movable cleats exactly where we needed them to hold the boat.
Pilots' Discretion in her slip (floating docks, Moorings sailboat pulling in port side, astern), Fort Louis Marina, St. Martin (March 2018)
After securing the boat, we headed towards the office to clear immigration & customs, and to check in to the marina. It was then that we got our first glimpses of the devastation that Irma had bestowed upon the island. Six months after the hurricane had past, one might justly have concluded that it had just blown through the day before. As boaters, it was hard for us to look upon vessels, sunken in their slips.
Ryan looking over a sunken vessel (snapped of mast lying on the dock), Fort Louis Marina, St. Martin (March 2018)
Ryan looking over a sunken vessels, Fort Louis Marina, St. Martin (March 2018)
Sunken vessels, Fort Louis Marina, St. Martin (March 2018)
Sunken vessel, Fort Louis Marina, St. Martin (March 2018)
Half of the marina was closed as the docks and water and electric pedestals were in complete disrepair.
Damaged docks, Fort Louis Marina, St. Martin (March 2018)
It was both evident and comforting to see that efforts were being made to repair the docks, including rewiring the electric.
Looking past more sunken boats and mangled docks, we saw hotels that were still without roofs and windows.
Damaged docks, sunken vessel, missing roofs, Fort Louis Marina / Marigot Bay St. Martin (March 2018)
The old Fort Louis Marina office, had not yet reopened, because it, too, suffered the wrath of Irma. We were told the windows blew out and the wind and water destroyed everything in side.
Old marina office, Fort Louis Marina, St. Martin (March 2108)
Old office, Fort Louis Marina, Marigot Bay, St. Martin (March 2018)
The new office and the immigration & customs clearing-in computer have been relocated to the building directly accross the street from the marina.
Once outside, we saw more remnants of Irma. Streetlights and signs were bent over and concrete sidewalks were torn up. There was hardly a car in the parking lot that did not show some sign of hurricane damage.
St. Martin (March 2018)
Random boat debris and road or sidewalk hazards were roped off with caution tape. A disconnected center console hardtop (with seats and rear fridge) on the sidewalk was an unusual sight. However, the backdrop of the beautiful yachts in the water, directly behind the still visible signs of Irma's destructive powers, showed clear signs that the marine community is recovering.
Many of the European candelabra style streetlights just outside the marina were damaged. LED floodlights atop the poles provided adequate interim lighting.
LED floodlight – temporary light fixture fix, Marigot Bay, St. Martin (March 2018)
After clearing in, we strolled around the area. The Saint Martin Yacht Club, just outside and to the left of the marina, was open. While it suffered some damage to its glass balcony, it is a great waterfront spot for a waterside sundowner or a meal.
Marigot Bay Yacht Club, St. Martin (March 2018)
While walking along the waterfront, we saw more than the usual amount of Iguanas. Perhaps there homes, too, were disrupted by the storms.
Iguana, Fort Louis Marina, St. Martin (March 2018)
Iguanas, Marigot Bay, St. Martin (March 2018)
A short walk outside, and to the right, of the marina, we found the West Indies Shopping Mall open for business.
West Indies Shopping Mall, Marigot Bay, St. Martin (March 2018)
Down by the ferry docks, people were taking pictures in front of the infamaous "I love SXM" sign. The ferries to Anguilla and St. Bart were running on schedule and most of the restaurants in the square by the ferry docs were open.
Ryan, Marigot Bay, St. Martin (March 2018)
On previous visits, we had hiked to Fort Louis, at the top of the mountain just outside the marina. See St. Martin (2015) and St. Martin (2016)
Fort Louis, St. Martin
The fort always provided stunning views of the marina and Marigot Bay below. The views were still stunning, however, the cautionary tape at the eroded precipice was yet another sign of the damage Irma left behind.
Fort Louis, Marigot Bay, St. Martin (March 2018)
Looking out from the fort, we saw many blue tarps providing shelter to those structures still without roofs.
Marigot, St. Martin (March 2018)
The most stunning view was that of Marigot bay. The lack of vessels in the bay below was a stark juxtaposition to our previous visits to Marigot Bay and a strong signal that the level of marine tourism in St. Martin has declined precipitously.
Marigot Bay, St. Martin (March 2015)
Marigot Bay and Simpson's Lagoon, St. Martin, (March 2015)
We did not travel outside of Marigot Bay, as we have on previous visits [see St. Martin (2015) and St. Martin (2016)], so we cannot report on how the rest of the island is faring. What we can say is, what we saw in Marigot Bay was the strength and resolve of the people to rebuild their beautiful island. Everyone we met was warm, friendly and inviting. In sum, St. Martin is still a beautiful cruising destination.
Our next port of call, The British Virgin Islands (BVIs), also took a direct hit from Hurricane Irma. More on what we encountered in the BVIs in our next post.
This entry was posted in Leeward Islands, St. Martin and tagged Fort Louis Marina, Marigot Bay, Simpson's Lagoon, St. Martin on April 22, 2018 by Theresa.
ST. EUSTATIUS (a.k.a. STATIA) – DUTCH CARIBBEAN – by Theresa
St. Eustatius (Statia), a Dutch Caribbean island in the East Indies, is not a popular tourist destination, however, it is every bit as beautiful as her Caribbean tourist-destination counterparts. In fact, the lack of tourist(s)/tourism adds to the island's overall charm.
Quill Volcano & Oranje Bay, St. Eustatius (Dutch Caribbean)
Since we began cruising, in 2014, we have not missed an opportunity to stop in Oranje Bay in Statia. See Statia (2015/05/14). When we first pulled into port, in 2015, the boys had been learning about volcanoes in science. Picking up a mooring ball at the base of the Quill Volcano brought their lessons blazing to life!
Ryan & Ronan hoisting courtesey Statia flag (March 2015)
Hiking to the top of the Quill Volcano in 2015 was an amazing experience and not one any of us will soon forget. Statia (2015/05/14). Each time we have pulled into Oranje Bay since then, with the Quill Volcano ominously towering over the Bay, I have marveled at the island's natural beauty. This time (2018), I couldn't help but notice the towering figures of the boys in front of the volcano. I guess the sea air has been good for these growing young men these past three years!
Among the things we love about Statia are her historical ties to the United States. On November 16, 1776, the guns of Statia's Fort Oranje were ordered to return the salute of the U.S. Brig Andrea Doria, thereby becoming the first salute by a foreign power to recognize the sovereignty of the United States of America during the Revolutionary War.
First Salute Plaque
Statia Day Plaque
Fort Oranje is just a short walk up the hill and is rewarded with sweeping views of the Oranje Bay.
Oranje Bay, St. Eustatius (Dutch Caribbean), Pilots' Discretion in the center of the bay below (2018)
Cannon, Fort Oranje, St. Eustatius (Dutch Caribbean), Pilots' Discretion on the left in the bay below
Over 242 years later, the fort still stands strong.
Ryan & Ronan running around Fort Oranje, St. Eustatius (Dutch Caribbean) (2018)
Walkway, Fort Oranje, St. Eustatius (Dutch Caribbean)
Sundial, Fort Oranje, St. Eustatius (Dutch Caribbean)
Some of the more recent (roof) additions to fort did not fare as well after hurricane Irma.
Missing roof on building in Fort Oranje, St. Eustatius (Dutch Caribbean)
Other parts of the island also seemed to have been adversely impacted by Irma and Maria.
Missing roof, Waterfront restaurant, Fort Oranje, St. Eustatius (Dutch Caribbean)
Grounded sailboat, St. Eustatius (2018), Pilots' Discretion anchored in the background.
We were glad to see one of our favorite restauarant/hotels, The Old Gin House, was still standing.
Old Gin House Hotel & Restaurant, St. Eustatius (2018)
A rare 0-1′ weather window had us continuing our journey north to St. Martin.
Passing Saba, 0-1 foot seas
Ryan & Randy at the helm – Statia to St. Martin (2018)
St. Martin took a direct hit from hurricane Irma. More on what we found there in our next post.
This entry was posted in Leeward Islands, St. Eustatius (a.k.a. Statia) on April 16, 2018 by Theresa.
Season 4: Post Irma – Cruising Martinique, Dominica & Guadeloupe – by Theresa
February, 2018, we readied the Pilots' Discretion for sea, which included, among other things, the boys assisting Gaza (a dear friend and our 'go to guy' in St. Lucia for a wide array of boat projects) polishing the Eisenglass. They did such an amazing job, when they were done, the Eisenglass looked brand new! Additionally, we finished upgrading our inverter/battery chargers, serviced our main engines and genset and made one final run to Mega Massey to provision the boat. Ronan, Gaza & Ryan – Eisenglass done!
Randy & Gaza finishing up the Eisenglass, St. Lucia (2018)
A few days prior to departing St. Lucia, Ronan and I encountered a famous St. Lucian Soca/Gospel singer, Denver Pierre, filming a music video at Rodney Bay Marina, where our boat was. He asked Ronan to be in the video. In the final video Ronan is shown 19 seconds in & again at 1:58.
It is a positive message themed song and video and it also shows a lot of nice video footage out and about in St. Lucia.
The day we departed St. Lucia was bitter sweet for us. In addition to the melancholy feelings associated with leaving an island where we had spent a significant amount of time and made many friends, it also marked the day that Patton would have turned 16. After setting out to sea, we had a moment of silent memorial and paid tribute to the greatest boat dog there ever was.
Our first stop on our northern course was in Fort de France, Martinique. We had been there several times in prior cruising seasons, and had written about our experiences after those visits. See Dominica, Martinique & St. Lucia (2015/06/04). Martinique was fortunate to have escaped the brundt of the wrath of Irma and Maria. While we did see some minor damage (missing roofs on some structures in the fort), overall, the small metropolitan city seemed as beautiful as ever.
Fort de France, Martinique
We were pleased to see that the renovations on the central cathedral, which was covered in scaffolding during our last visit, were completed. The results were magnificent.
Fort de France, waterfront cathedral, Martinique
With cruise ship season in full swing, it was no surprise that, the day we pulled in to port, there was a cruise ship picking up passengers and getting underway herself.
Cruise ship in Fort de France, Martininque
Our next port of call on our northward bound journey was Dominica.
Ronan, Ryan & Randy at the helm
Unlike Martinique, Dominica was hit hard this past hurricane season. When we arrived, six month's after the hurricanes, the damage to the landscape and structures was still readily apparent.
Damaged roofs in Dominica, (Feb. 2018)
Equally apparent was the strength and resolve of the people to carry on and move forward. Tourism and agriculture are the two main resources in Dominica. While the island continues to work towards recovering the agricultural resources, tourism was abundant. In Portsmouth harbor, the Portsmouth Association of Yacht Services (PAYS) was up and running, guiding boats to mooring balls and offering other yacht services.
PAYS member guiding sailboat to mooring, Portsmouth, Dominica (2018)
PAYS member offering services (tours, food, beverages, trash removal) to cruiser, Portsmouth, Dominica
The mooring balls and lines all looked new and the harbor was as full as we have ever seen it. The VHF was full of chatter from yachtsmen arranging river and rainforest tours. Once again, with cruise ship season in full swing, we saw a sailing cruise ship in the harbor ferrying passengers to and from the island. She was a beautiful sight to see, sails up, departing at sunset, just off our stern.
Sailing Cruise Ship, Star Clipper getting underway, Portsmouth, Dominica (2018)
Sailing Cruise Ship, Star Clipper getting uderway, Portsmouth, Dominica (2018)
We refueled in Rivière Sens, at the southern end of Guadeloupe, before continuing north to Deshaies.
Ryan supervising fueling up in Riviere Sens, Guadeloupe (2018)
Theresa & Ryan running the boat to Deshaies, Guadeloupe (2018)
We pulled into Deshaies to the sight of yet another sailing cruise ship.
Club Med 2 Sailing Cruise Ship, Deshaies, Guadeloupe (2018)
Ronan & Ryan playing chess on the bridge, Sailing Cruise Ship Club Med 2 off our stern, Deshaies, Guadeloupe (2018)
Deshaies seemed to have fewer mooring balls available than we had seen on previous visits, so we dropped our anchor and settled in for yet another fabulous Caribbean sunset.
View from the galley, Deshaies, Guadeloupe (2018)
Sunset, Deshaies, Guadeloupe (2018)
In Deshaies, boats come by to "take your morning order," and the next morning, we had fresh baguettes delivered right to our boat.
Ryan picking up baguettes delivery to the boat, Deshaies, Guadeloupe (2018)
In sum, it seems this past year's hurricanes have not dampened the cruise ship / cruisers / tourism enthusiasm in the Easterrn Caribbean. In fact, we spoke to many who said they were purposesfully visiting hurricane hit island nations because tourism dollars are needed to assist in the speedier recovery of the islands. We will not sugar coat it, there have been significant physical and economic consequences for the Eastern Caribbean islands but for the most part these islands and their people have proven resilient and will thrive again.
In our next series of posts we will be reporting on what we found on some of the islands that had a more direct encounter with Irma or Maria or both.
This entry was posted in Dominica, Guadeloupe, Martinique and tagged Deshaies, Dominica, Fort de France, Guadeloupe, Irma, Maria, Martinique, Portsmouth, Riviera Sens on April 14, 2018 by Theresa.
Season 4: Cruising the Caribbean Post Irma & Maria – December 1, 2017 (Latitude 14° 4.505″ N, Longitude 60° 56.959″ W) – by Randy
2017 Hurricane Summary
Yesterday was the last day of the 2017 hurricane season, and so it is that we now contemplate our fourth (4th) season cruising plans! We have previously communicated with you about the devastation that this past hurricane season has left behind throughout the northeastern Caribbean. The damage has been vast, but the strong will of the people on the affected islands has proven impossible to suppress. Things are not yet back to normal but the strides that have been taken by the international community and the locals has been incredible.
PROGRESS OF RECOVERY
We have been monitoring the progress of the recovery efforts on a daily basis. In addition to our general concern for the well being of our Caribbean friends and their economies, we also have been paying close attention to the recovery of the yachting infrastructure. Obviously, we need circumstances that will allow us to adequately provision with food and fuel in a safe environment for the Pilots' Discretion and her crew if we are to turn her north towards the United States this cruising season. Additional concerns include the ability to leave the Pilots' Discretion in a safe and suitable environment should we need to fly back home for any reason, which necessarily requires access to operational airports with flights. Access to competent medical care, and dockside electricity and water are also logistical concerns as we plot our course north. We have found the following sites helpful in monitoring Caribbean wide recovery efforts:
Sailors Helping Sailors – providing up-to-date information on port status and opportunities to volunteer in rebuilding efforts across the Caribbean;
Sailors Unite – Caribbean Comeback – A guide to what is open and available in British Virgin Islands, Puerto Rico and St. Marteen/St. Martin, including airports, transportation, restaurants, hotels, provisioning, marketing and shops;
ExplorerChartbooks – includes Turks and Caicos Marinas Report;
Noonsite – provides information by anchorage or by island, so sailors can plan their cruising in the Caribbean with an eye to appropriate behavior and precautions wherever they decide to go; and
Caribbean Safety and Security Net: "Know before you go" safety and security updates throughout the Caribbean.
We will continue to update the above list and our blog as we obtain additional information when we proceed north. If anyone viewing this has additional resources that will keep mariners updated, please send them to us in the comments section below and we will add them to this list or include in future updates.
Our current evaluation is that the islands require a little more time to deal with the lingering devastation but they are getting closer everyday. We do believe that they will be in a strong position to welcome cruisers this coming cruising season. In fact, this may represent an opportunity to see what a jewel the Caribbean islands can be when not overrun with crowds. We are confident that our Caribbean friends will have the welcome mat out for all cruisers that choose to make this season the one that they cast off and set a course for the trip of their dreams.
Rodney Bay Marina, St. Lucia – Aerial
As for the preparations to get underway for the Pilots' Discretion, we are reporting good progress. There are a significant number of details that have to be addressed prior to getting underway. The good news for us is that we are currently located at the IGY Rodney Bay Marina in St. Lucia where we have all of the services we require to ready our vessel. We would be remiss if we did not publicly thank Mr. Sean Devaux, General Manager of the Rodney Bay Marina for all of the assistance he has provided us as we prepare to head north. Our initial commitment to him was that we would be staying at his facility through September 2017. As the hurricane season devastation to our north became clear, it was initially impossible to determine when it would be prudent to depart. Sean has been great, he has told us that we can stay as long as necessary without a long term commitment. Additionally, he has worked hard to provide us will real time status updates of all of the marina facilities along our route north, even if those facilities are not a part of his organization (Rodney Bay Marina is part of the international marina group known as IGY). We are currently coordinating our annual engine and systems maintenance and that should be complete shortly.
EPIRB (Emergency Position Indicating Radio Beacon) Maintenance
Solutions One Maritme, L.L.C., Tampa, FL
One component of our systems preparation is ensuring that our life vests, life raft and all of our emergency signaling systems are current and fully functional. This is normally a routine inspection but this year we got quite a surprise. We have an ACR EPIRB (emergency position indicating radio beacon – a device that includes a GPS to determine our exact location and a satellite communication system to notify rescue personnel in the event we need assistance). We bought the unit new just before we left on our trip. Each time we get underway, we run the unit through a self test program to ensure it is fully operational. It has always past each of those tests without fail. On our most recent trip back to Florida we elected to have the unit recertified due to calendar age.
After researching facilities that are certified to service maritime rescue equipment, we elected to have the folks at Solution One Maritime, LLC in Tampa look over our unit. Expecting nothing much more than an administrative paperwork exercise, we were left very surprised when we got a call from Yusri Jadallah, the Managing Director for Solution One. He explained to me that he had found a very small leak in the case that protects the electronics and that he was certain that had the unit been deployed in an actual emergency at sea, the electronics would have likely failed due to exposure to salt water. He went further to explain that ACR would repair the unit under warranty but their estimated turn time would likely be 4-6 weeks. Yusri told me that he understood that the long turn time would create scheduling problems for our crew and as a result he offered us a brand new unit to utilize for as long as it takes to get our own unit back. As far as we are concerned, the folks at Solution One have gone way above and beyond to ensure that our family is safe and our trip uninterrupted. We have utilized other sources in the past for our emergency equipment needs but from now on, Solution One is our vendor of choice for our life raft, life vest and emergency electronics needs.
As we look forward to our fourth cruising season, we also reflect upon all that we have to be thankful for this past year, including time spent with family and friends, good health and ongoing adventures. We would be remiss if we didn't mention the spectacular time we had spending Thanksgiving Day last week in Marigot Bay with dear friends, both old and new.
Post-Thanksgiving Day Lunch Bunch
This entry was posted in Antigua, British Virgin Islands, Dominica, Dominican Republic, Guadeloupe, Martinique, Montserrat, Predeparture Preparations, Puerto Rico, Spanish Virgin Islands, St. Barthelemy (a.k.a. St. Bart), St. Christopher (a.k.a. St. Kitt), St. Eustatius (a.k.a. Statia), St. Lucia, St. Martin, St. Martin, U.S. Virgin Islands on December 1, 2017 by Randy.
United States Coast Guard, Semper Paratus – "Always Ready!" – by Randy
Unless you have been in a cave somewhere for the last few months, it would be almost impossible not to be aware of the catastrophic damage that Mother Nature has liberally peppered upon the idyllic Caribbean islands, St. Martin/St. Marteen, Barbuda, British Virgin Islands, U.S. Virgin Islands, Puerto Rico, Dominica, Dominican Republic, Hati and the Turks and Caicos Islands. As if that wasn't enough, Florida, Georgia, South Carolina, Texas and Louisiana have all had their turn in the barrel. The devastation, and loss of life, in all of the affected areas is hard to comprehend. Obviously there are many people, from many different countries, in dire need of assistance.
We respect that the decision to help, and exactly where to make donations to facilitate aid, is a personal one. Make no mistake, the people in the path of this season's massive hurricanes definitely need our help. Many in the cruising community have been collecting donations and attempting to travel, by boat, to some of the devastated areas. At present, the U.S. Coast Guard is discouraging private boaters departing the continental U.S. from transiting to ports affected by Hurricanes Irma and Maria, advising in its 9/27/17 News Release:
While volunteers and aid are needed and welcomed, it is recommended that these efforts be coordinated through FEMA, who has requested volunteers to go through www.nvoad.org. Uncoordinated volunteer efforts can hinder the response and impede a challenging logistics situation on the ground in Puerto Rico and the U.S. Virgin Islands
In the 9/27/17 News Release, Capt. Ladonn Allen, Chief of Prevention for the Coast Guard Seventh District asserted that many affected ports "are still littered with wreckage and debris, particularly outside the federally maintained channels. Individuals entering unfamiliar ports or attempting to bring supplies without coordinating through volunteer organizations that are working with the Federal Emergency Management Agency and its partners are putting themselves in danger."
Additional safety concerns have arisen in the Eastern Carribean, where there have been reports of piracy attacks, and vessels being swamped by uncoordinated relief efforts. The Organisation of Eastern Caribbean States (OECS) and the Caribbean Emergency Disaster Management Agency (CDEMA) are spearheading the hurricane relief efforts in the Caribbean, and all relief efforts should be coordinated through them.
USCG Southeast working with local agencies
One of the common denominators that we all are repeatedly seeing throughout all of the news reports from these devastated areas is the ubiquitous presence of the United States Coast Guard. The smallest branch of the US military is perennially underfunded, and over tasked, but this year is breaking new ground in terms of extended deployments of USCG ships, planes and personnel in what is one of the largest humanitarian efforts in the Coast Guard's storied 227 year history. The Coast Guard is often taken for granted, but those of us who live our lives at sea have a special respect for the jobs the men and women of the USCG accomplish every single day. When most mariners were headed to port to seek safe haven from the approaching hurricanes, Coast Guard ships and aircraft were leaving home to preposition in the disaster zones in order to render aid to those most desperately in need. In the interest of full disclosure, long ago, I served in the United States Coast Guard.
USCGC Venturous taking on fuel prior to getting underway for hurricane relief effort
In fact, I was stationed aboard, what was then the new, USCGC Venturous, over 40 years ago (one of the first cutters to arrive in the Caribbean after the destruction of hurricane Maria). With that background, in addition to our other hurricane relief effort contributions, we have decided to make a donation to the US Coast Guard Foundation. The Coast Guard Foundation is a non profit charity that provides, among other things, financial support to the families of the men and women of the Coast Guard that have been injured or killed in the line of duty. This is our small way to say thank you to the members of America's smallest service for all that they do each and every day. Semper Paratus.
Click here for link to Coast Guard Sector Key West Incident Command Post (ICP) sharing some of their work and personal experiences after Hurricane Irma. (U.S. Coast Guard video by Petty Officer 2nd Class Tara Molle/Released)
It has been confirmed that many of the Coast Guard crews that were stationed at Coast Guard Sector Key West suffered damage to their homes and personal possessions while deployed to render assistance to others during Hurricane Irma, they too are on the list of folks that now could use a hand up.
This entry was posted in British Virgin Islands, Dominica, Dominican Republic, Puerto Rico, Spanish Virgin Islands, St. Barthelemy (a.k.a. St. Bart), St. Martin, St. Martin, Turks & Caicos and the Dominican Republic, U.S. Virgin Islands on October 1, 2017 by Randy.
HURRICANE MARIA (SEPTEMBER 2017) – by Theresa
Hurricane season has arrived in full force. As cruisers, we spend an inordinate amount of time monitoring weather systems. The latest shows Hurricane Maria intensified into a catastrophic Category 5 storm Monday, with maximum sustained winds of 160 mph (260 kph), as it surged toward islands in the eastern Caribbean.
Projected track for Hurricane Maria, September 18, 2017
Hurricane warnings have been posted for the U.S. and British Virgin Islands, Puerto Rico, Guadeloupe, Dominica, St. Kitts, Nevis and Montserrat.
A tropical storm warning was issued for Antigua and Barbuda, Saba, St. Eustatius, St. Maarten, St. Lucia (where Pilots' Discretion is currently located), Martinique and Anguilla. Many of these islands are still recovering from direct hits from hurricane Irma. (See http://www.msn.com/en-us/weather/topstories/cat-5-hurricane-maria-threatens-storm-battered-caribbean/ar-AAs6sKy?ocid=spartandhp.) We are continuing to keep all those affected in our thoughts and prayers. We will post additional updates after this storm passes.
This entry was posted in British Virgin Islands, Dominica, Guadeloupe, Montserrat, Puerto Rico, St. Christopher (a.k.a. St. Kitt), St. Eustatius (a.k.a. Statia), St. Lucia, U.S. Virgin Islands and tagged Anguilla, Antigua and Barbuda, British Virgin Islands, Dominica, Guadeloupe, Hurricane, Martinique, Montserrat, Nevis, Puerto Rico, Saba, St. Eustatius, St. Kitts, St. Lucia, St. Maarten, Tropical Storm on September 19, 2017 by Theresa.
HURRICANE IRMA – 2017 – by Theresa
First, thank you, to everyone, for reaching out to see how Pilots' Discretion, and her crew, fared as Hurricane Irma tracked through the Caribbean. In preparation for the storm and in accordance with our hurricane plan, we spider tied Pilots' Discretion, with doubled lines, in a double slip, on a floating dock, alone with no other boats, in St. Lucia. Irma was set to track north of St. Lucia, however, to be on the safe side, we left the boat in St. Lucia and flew to Florida to stay out of harms way!
As predicted, Hurricane Irma passed north of St. Lucia. We were incredibly grateful to learn that our pre-hurricane preparations were sufficient, and that St. Lucia was spared from the ferocity of the storm. The island received some rain and wind from the outer bands of the storm, but on the whole, the island and our boat, weathered the storm and are fine.
Having flown to Florida, we then holed up with family in Spring Hill, just north of Tampa, on the west coast of Florida. Having just gone through the hurricane preparations drill in St. Lucia our crew was ready and able to assist with preparations for the "high impact" potential hit headed for our relatives in Spring Hill.
We listened to reports, and observed, painfully, the pictures of the devastation from the direct hits on Barbuda, St. Barthélemy (St. Bart), St. Maarten/St. Martin, Anguilla, Antigua, the British Virgin Islands and Puerto Rico. We have travelled to all of these islands in previous cruising seasons, and our thoughts and prayers go out to all those affected by the storm.
Paraquita Bay, British Virgin Islands (Before and After)
Paraquita Bay, BVI (Before)
Paraquita Bay, BVI (After)
Nanny Cay Marina, British Virgin Islands, post hurricane Irma, 2017
BVI, Nanny Cay Marina Boat Yard, Post Hurricane Irma (2017)
BVI, Nanny Cay Marina, Post Hurricane Irma (2017)
Isleta Marina, Fajardo, Puerto Rico, post hurricane Irma, Sept. 2017
1 Isleta Marina, Puerto Rico
3 Isleta Marina, Fajardo, Puerto Rico (2017)
4 Isleta Marina, Fajardo, Puerto Rico
Foxy's before (2016) and after (2017)
Foxy's, Great Harbor, Jost Van Dyke, BVI
Foxy's, Jost Van Dyke, Post Hurricane Irma (2017)
Forecasted Track for Hurricane Irma originally had her skirting up the east coast of Florida, Sept. 7, 2017
In Florida, the original forecasts had the storm tracking up the east coast. Slowly, the storm edged west with the later predictions indicating she would run up the middle of the Florida peninsula. Finally, within the last day prior to Florida landfall, the forecast consensus had Irma tracking up the west coast of Florida. We weathered the storm just north of Tampa. The eye passed just to our east during the middle of the night. We were extremely fortunate that a slight variation in the actual track of the storm placed us on the weak side of the circulation at the same time the storm was beginning to fall apart. We had a few hours of heavy rains accompanied by gusty winds mostly in the 40 knot range. Like most, we lost power and had a few downed trees to deal with but for the most part we came through the storm wiser for the experience but without taking any direct hits. We are all very aware of the potential devastation that just barely sidestepped us.
Our thoughts and prayers continue to go out to all those affected by the storm. Florida, the islands, and those living and cruising in Florida and the Caribbean islands, are a resilient bunch. Communities have already banded together to address immediate needs and start the lengthy rebuilding process. Click here for additional photos, and to see several prominent business owners (including the infamous Soggy Dollar, Foxy's, Corsairs, Willie T's) who have already vowed to rebuild!
This entry was posted in British Virgin Islands, Puerto Rico, St. Barthelemy (a.k.a. St. Bart), St. Lucia, St. Martin, St. Martin and tagged Barbuda, British Virgin Islands, Florida, Hurricane Irma, Pilots Discretion, Puerto Rico, St. Bart, St. Lucia, St. Maartin, St. Martin, The Crew on September 14, 2017 by Theresa.
Our journey:
RONAN'S PGA GOLF DEBUT (March 2019) – by Theresa
OUR SHIP HAS COME IN AND IT'S A MARLOW!- by Randy
FLORIDA: EAST TO WEST COAST ACROSS THE OKEECHOBEE WATERWAY – by Theresa
September 11, 2001 – We will never forget!👨👩👦👦 👨✈🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸
6100 Nautical Miles Later, Pilots' Discretion Returns to the United States – by Randy
Click for more info:
Online vessel maintenance tracking and administration
Tell them Pilot's Discretion sent you!
Port Tarpon Marina, Tarpon Springs, FL
Boat kayak storage racks
Sylvia Steeves on RONAN'S PGA GOLF DEBUT (March…
Dietlind A. Coan on RONAN'S PGA GOLF DEBUT (March…
Todd Sudick on RONAN'S PGA GOLF DEBUT (March…
Randy on 6100 Nautical Miles Later, Pil…
Nick on 6100 Nautical Miles Later, Pil…
Archives Select Month March 2019 December 2018 November 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 February 2018 January 2018 December 2017 October 2017 September 2017 August 2017 July 2017 May 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 January 2014 December 2013
Big Majors Cay
Cane Garden Bay
East Coast of Florida
Exumas
Highbourne Cay
Kick 'em-Jenny
Nanny Cay
Okeechobee Waterway
Pet Import Requirements
Petit St. Vincent
Petite Martinique
Predeparture Preparations
Spanish Virgin Islands
St Vincent and the Grenedines
St. Barthelemy (a.k.a. St. Bart)
St. Christopher (a.k.a. St. Kitt)
St. Eustatius (a.k.a. Statia)
Staniel Cay
Turks & Caicos and the Dominican Republic


text:
#include <jni.h>
#include <cerrno>
#include <cstring>
#include <ctime>

#include "engine.h"

#include <android_native_app_glue.h>
#include <android/sensor.h>
#include <android/asset_manager.h>

#define LOG_TAG "AsteroidRacing"
#include "util/logs.h"

#include "menu.h"
#include "hud.h"
#include "objects/skybox.h"

#include "game.h"
#include "util/text.h"
#include "util/timer.h"
#include "util/levels.h"
#include "objects/asteroids.h"
#include "objects/ship.h"
#include "objects/particles.h"

Engine engine;

unique_ptr<Menu> menu;
unique_ptr<Hud> hud;
unique_ptr<Skybox> skybox;
unique_ptr<Particles> envp;
unique_ptr<Particles> finishParticles;

unique_ptr<Text> text;
unique_ptr<Timer> timer;
unique_ptr<Levels> levels;
size_t currentLevel;

unique_ptr<Asteroids> ast;
unique_ptr<Ship> ship;
vec3 endPos;

inline static double now_ms() {
    struct timespec res;
    clock_gettime(CLOCK_REALTIME, &res);
    return 1000.0 * res.tv_sec + (double) res.tv_nsec / 1e6;
}

/**
 * Initialize an EGL context for the current display.
 */
static int engineInitDisplay (Engine &engine) {
    const EGLint attribs[] {
        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
        EGL_RED_SIZE, 8,
        EGL_GREEN_SIZE, 8,
        EGL_BLUE_SIZE, 8,
        EGL_ALPHA_SIZE, 8,
        EGL_DEPTH_SIZE, 1,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_NONE
    };
    EGLint w, h, format;
    EGLint numConfigs;
    EGLConfig config;
    EGLSurface surface;
    EGLContext context;

    EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);

    eglInitialize(display, 0, 0);

    eglChooseConfig(display, attribs, nullptr, 0, &numConfigs);
    LOGI ("Number of EGL configs: %d\n", numConfigs);
    EGLConfig confs[numConfigs];
    eglChooseConfig (display, attribs, confs, numConfigs, &numConfigs);
    config = confs[0];

    eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &format);

    ANativeWindow_setBuffersGeometry(engine.app->window, 0, 0, format);

    surface = eglCreateWindowSurface(display, config, engine.app->window, NULL);

    const EGLint context_attribs[] {EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE};
    context = eglCreateContext(display, config, NULL, context_attribs);

    if (eglMakeCurrent(display, surface, surface, context) == EGL_FALSE) {
        LOGW("Unable to eglMakeCurrent");
        return -1;
    }

    eglQuerySurface(display, surface, EGL_WIDTH, &w);
    eglQuerySurface(display, surface, EGL_HEIGHT, &h);

    engine.display = display;
    engine.context = context;
    engine.surface = surface;
    engine.width = w;
    engine.height = h;
    engine.aspectRatio = w / (float) h;
    engine.animating = true;
    engine.delta = 0;
    LOGI ("display init!");

    // Initialize GL state.
    glClearColor (0.2f, 0.2f, 0.2f, 0.0f);
    glEnable (GL_CULL_FACE);
    glEnable (GL_DEPTH_TEST);

    engine.projectionMatrix = perspective (60.0f, ((float)w)/h, 0.1f, 2000.0f);
    engine.orthoMatrix = ortho (-engine.aspectRatio, +engine.aspectRatio,
                                      -1.0f, 1.0f, -1.0f, 1.0f);

    if (menu == nullptr) {
        menu = unique_ptr<Menu> (new Menu);
        hud = unique_ptr<Hud> (new Hud);
        text = unique_ptr<Text> (new Text);
        timer = unique_ptr<Timer> (new Timer);

        skybox = unique_ptr<Skybox>(new Skybox);
        envp = unique_ptr<Particles> (new Particles (vec3 (1,1,0.5), 256, w/20, 1/512.0));
        finishParticles = unique_ptr<Particles> (new Particles (vec3 {1, 0, 0}, 256, w/2, 1/512.0));
        ast = unique_ptr<Asteroids> (new Asteroids);
        ship = unique_ptr<Ship> (new Ship);
    }
    return 0;
}

static void drawFrame () {
    if (engine.display == NULL) {
        // No display.
        return;
    }

    static float timeCounter = 0;
    static int frameCounter = 0;
    double start = now_ms ();

    glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

    switch (engine.gameState) {
    case GAME_PLAYING:
    {
        auto shipOrientation = ship->getOrientation ();
        vec3 dv = shipOrientation * vec3 (0, 0, 1);
        vec3 up = shipOrientation * vec3 (0, 1, 0);
        vec3 rt = shipOrientation * vec3 (1, 0, 0);

        vec3 offset = engine.state.camRot[0] * rt - (0.5f + engine.state.camRot[1]) * up + 2.0f * dv;
        if (!hud->getRotating ()) engine.state.camRot *= 0.95f;

        engine.viewMatrix = lookAt (vec3 (0), offset, up);
        skybox->draw ();

        ship->update ();

        auto shipPos = ship->getPosition ();
        auto shipVel = ship->getVelocity ();

        text->addText ("alpha", textUnit {vec2(0, -1),
                                          vec4(1, 1, 0, 0.1),
                                          1, A_CENTER, A_MINUS, "alpha version"});

        char buffer[256];
        sprintf (buffer, "|v|=%.1fu/s", length (shipVel));
        text->addText ("speed", textUnit {vec2 (engine.aspectRatio, 1),
                                          mix (vec4 (0, 0.5, 1, 1), vec4 (1, 0.5, 0, 1), length (shipVel) / 100.f),
                                          0.8, A_PLUS, A_PLUS, buffer});

        if (timeCounter > 1000) {
            sprintf (buffer, "FPS: %d", frameCounter);
            text->addText ("fps", textUnit {vec2 (-engine.aspectRatio, 1),
                                            vec4 (0, 1, 1, 0.1),
                                            0.8, A_MINUS, A_PLUS, buffer});
            frameCounter = 0;
            timeCounter = 0;

            sprintf (buffer, "p: (%.1f, %.1f, %.1f) v: (%.1f, %.1f, %.1f)",
                     shipPos[0], shipPos[1], shipPos[2],
                    shipVel[0], shipVel[1], shipVel[2]);
            text->addText ("pos", textUnit {vec2 (0, 1),
                                            vec4 (1, 1, 1, 0.5),
                                            0.5, A_CENTER, A_PLUS, buffer});
            ship->guide ();
        }

        sprintf (buffer, "asteroids: %d", ast->getAsteroids ().size ());
        text->addText ("ast", textUnit {vec2 (engine.aspectRatio, 1-0.1),
                                        vec4 (1, 1, 1, 0.5),
                                        0.8, A_PLUS, A_PLUS, buffer});

        if (!engine.switchGameState) {
            sprintf (buffer, "time: %.1f", timer->getTimeLeft ());
            text->addText ("timer", textUnit {vec2 (engine.aspectRatio, 1-0.2),
                                              timer->getTimeLeft () > 5 ?
                                              vec4 (1, 1, 1, 0.5) : vec4 (1, 0, 0, 1),
                                              0.8, A_PLUS, A_PLUS, buffer});
        } else {
            text->deleteText ("timer");
        }

        engine.state.eyePos = shipPos - offset;
        vec3 center = shipPos + 3.f*dv + engine.state.camRot[0]*rt - engine.state.camRot[1] * up;
        engine.viewMatrix = lookAt (engine.state.eyePos, center, up);

        ast->draw ();

        ship->draw ();

        envp->addParticles (shipPos+ballRand (100.0f), vec3 (0), 1);
        envp->draw ();

        if (!engine.switchGameState) {
            finishParticles->setParticlesColor (
                        mix (vec3 (1, 0.1, 0.1), vec3 (0.1, 1, 0.1),
                             (levels->getAsteroids(currentLevel).size() - ast->getAsteroids().size())
                             / (float) (levels->getAsteroids(currentLevel).size())));
        } else {
            finishParticles->setParticlesColor (vec3 (0.1, 0.5, 1));
        }
        finishParticles->addParticles (endPos+ballRand (10.f), ballRand (20.f), 1);
        finishParticles->draw ();

        hud->draw ();
        text->draw ();

        timeCounter += engine.delta;
        frameCounter++;

        if (!engine.switchGameState) timer->tick ();
        if ((ast->getAsteroids ().size () == 0)
                && (length (ship->getPosition()-endPos) < length (ship->getVelocity ())*engine.delta*0.001 + 20)
                && !engine.switchGameState) {
            engine.switchGameState = true;
            thread ([&](){
                sleep(1);
                engine.gameState = GAME_WIN_MENU;
                engine.switchGameState = false;
            }).detach();
        } else if (timer->isExpired () && !engine.switchGameState) {
            engine.switchGameState = true;
            thread ([&](){
                sleep(2);
                engine.gameState = GAME_OVER_MENU;
                engine.switchGameState = false;
            }).detach();
        }
        break;
    }
    case GAME_LOADING:
        text->reset ();
        text->addText ("loading", textUnit {vec2 (0, 0), vec4 (1),
                                            2, A_CENTER, A_CENTER, "Loading..."});
        text->draw ();
        text->reset ();
        hud->setRotating (false);
        engine.gameState = GAME_PLAYING;
        break;
    default:
        menu->draw ();
        break;
    }
    eglSwapBuffers(engine.display, engine.surface);

    double end = now_ms ();
    engine.delta = end - start;
}

/**
 * Tear down the EGL context currently associated with the display.
 */
static void engineTermDisplay (Engine &engine) {
    if (engine.display != EGL_NO_DISPLAY) {
        eglMakeCurrent (engine.display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
        if (engine.context != EGL_NO_CONTEXT) {
            eglDestroyContext (engine.display, engine.context);
        }
        if (engine.surface != EGL_NO_SURFACE) {
            eglDestroySurface (engine.display, engine.surface);
        }
        eglTerminate (engine.display);
    }
    engine.animating = false;
    engine.display = EGL_NO_DISPLAY;
    engine.context = EGL_NO_CONTEXT;
    engine.surface = EGL_NO_SURFACE;
}

/**
 * Process the next input event.
 */
static int32_t engineHandleInput (struct android_app* app, AInputEvent* event) {
    Engine &engine = *(Engine *)app->userData;
    auto eventType = AInputEvent_getType (event);
    if (eventType == AINPUT_EVENT_TYPE_MOTION) {
        auto count = AMotionEvent_getPointerCount (event);
        auto action = AMotionEvent_getAction (event);
        auto actionMasked = action & AMOTION_EVENT_ACTION_MASK;
        auto actionIndex = (action & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK)
                >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT;

        if (action != AMOTION_EVENT_ACTION_CANCEL) {
            hud->newTouchEvent ();
            for (size_t i = 0; i < count; ++i) {
                float x = AMotionEvent_getX(event, i) * 2.0 / engine.width - 1.0;
                float y = -(AMotionEvent_getY(event, i) * 2.0 / engine.height - 1.0);
                if ((engine.gameState == GAME_PLAYING) && !engine.switchGameState) {
                    if (actionIndex == i && (actionMasked == AMOTION_EVENT_ACTION_UP
                                             || actionMasked == AMOTION_EVENT_ACTION_POINTER_UP)) {

                        hud->touchUp (x, y);
                    } else {
                        hud->handleTouch (x, y);
                    }
                } else {
                    hud->reset ();
                    menu->handleTouch (actionMasked, x, y);
                }
            }
        }

        return 1;
    } else if (eventType == AINPUT_EVENT_TYPE_KEY) {
        auto eventAction = AKeyEvent_getAction (event);
        if (eventAction == AKEY_EVENT_ACTION_DOWN) {
            auto eventKeyCode = AKeyEvent_getKeyCode (event);
            switch (engine.gameState) {
            case GAME_PLAYING:
                if ((eventKeyCode == AKEYCODE_BACK) || (eventKeyCode == AKEYCODE_MENU)) {
                    engine.gameState = GAME_PAUSE_MENU;
                    return 1;
                }
                break;
            default:
                return menu->handleKeyPress (eventKeyCode);
            }
        }
    }

    return 0;
}

/**
 * Process the next main command.
 */
static void engineHandleCmd (struct android_app* app, int32_t cmd) {
    Engine &engine = *(Engine *)app->userData;
    switch (cmd) {
    case APP_CMD_SAVE_STATE:
        LOGI ("Save state!");
        ship->saveState ();
        engine.app->savedState = malloc(sizeof(struct saved_state));
        *((struct saved_state*)engine.app->savedState) = engine.state;
        engine.app->savedStateSize = sizeof(struct saved_state);
        break;
    case APP_CMD_INIT_WINDOW:
        if (engine.app->window != NULL) {
            engineInitDisplay(engine);
        }
        break;
    case APP_CMD_TERM_WINDOW:
        engineTermDisplay(engine);
        break;
    case APP_CMD_GAINED_FOCUS:
        engine.token = rand ();
        break;
    case APP_CMD_LOST_FOCUS:
        engine.animating = false;
        if (engine.gameState == GAME_PLAYING) engine.gameState = GAME_PAUSE_MENU;
//        engineDrawFrame(engine);
        break;
    }
}

/**
 * This is the main entry point of a native application that is using
 * android_native_app_glue.  It runs in its own thread, with its own
 * event loop for receiving input events and doing other things.
 */
void android_main(struct android_app* state) {
    LOGI ("entering android_main!");
    srand (time(NULL));

    // Make sure glue isn't stripped.
    app_dummy();

    memset(&engine, 0, sizeof(engine));
    state->userData = &engine;
    state->onAppCmd = engineHandleCmd;
    state->onInputEvent = engineHandleInput;
    engine.app = state;

    initAssetManager (state->activity->assetManager);

    if (state->savedState != NULL) {
        // We are starting with a previous saved state; restore from it.
        LOGI ("Restore state!");
        engine.state = *(struct saved_state*)state->savedState;
    } else {
        engine.state.lightPos = vec4 (-1000, 0, 0, 1);
    }

    while (1) {
        int ident;
        int fdesc;
        int events;
        struct android_poll_source* source;

        while ((ident = ALooper_pollAll(0, &fdesc, &events, (void**)&source)) >= 0) {
            if (source) {
                source->process(state, source);
            }

            // Check if we are exiting.
            if (state->destroyRequested != 0) {
                engineTermDisplay(engine);
                return;
            }
        }

        if (engine.exitFlag) {
            engine.animating = false;
            ANativeActivity_finish (state->activity);
            exit (0);
        }
        if (engine.animating) {
            drawFrame();
        }
    }
}


text:
Monday Scramble: Cam the man in Honolulu; nerves of Steele
Ryan Lavner
Cameron Smith breaks through on his own, Brendan Steele bobbles late, Michelle Wie makes a big announcement, Charlie Woods gets the Tiger treatment and more in this week's edition of the Monday Scramble:
1. Cameron Smith earned his first individual PGA Tour title – and second overall – with a playoff victory at the Sony Open.
In a driving rain, Smith's short game and putting were the deciding factor. No surprise there – the Australian has never been a great ball-striker; in fact, he's never ranked better than 81st in strokes gained: off the tee or approach. But the annoying and windswept conditions were ideal for a guy who can get up-and-down from anywhere, and after a thinned long iron into the greenside bunker on 18, he blasted out over the bunkers to 8 feet and then hearted the putt to force extra holes.
Smith has been trending in this direction for the past few years. He won the Zurich with Jonas Blixt. He's a two-time Australian PGA champ. He's top-10'd in majors and WGCs. This was the next logical step, and he took advantage of Brendan Steele's late miscues.
Champion Chats: Smith's Sony win a product of perspective
2. With three bogeys in his last seven holes, Steele coughed up a late lead and lost in the Sony playoff.
It was a brutal way to finish for Steele, a three-time Tour winner who hasn't had a top-10 in more than two years. Staked to a two-shot lead with two to play, Steele couldn't get up-and-down from a straightforward spot long and left of the 17th green, then waited 15 minutes on the final tee. After a perfect drive, he waited ANOTHER 15 minutes after the greens staff brought out the squeegees and Ryan Palmer neglected to hit a provisional.
That's an agonizingly long time to play the final hole with the tournament on the line, and so what happened next seemed inevitable: A rope hook with a 2-iron that sailed over the hospitality tents and near the 10th fairway, 65 yards away.
Winning is hard.
Brendan Steele led by 1 when he hit this approach into the 18th hole ... pic.twitter.com/MJOhHbLbME
— PGA TOUR (@PGATOUR) January 13, 2020
He made par on the easy par 5, then bogeyed the playoff hole after a misjudged wedge.
Afterward, Steele didn't blame his miscues on the long wait – a 237-yard 2-iron, in the rain, from a soggy lie, isn't the easiest shot to pull off. But the loss stung, no doubt, even for a guy in desperate need of a good week.
steele_1920_sony20_d4_sigh
3. In his news conference Saturday night, Steele revealed why he's quietly fallen off the past two years, failing to record a top-10 for more than two years until the Sony.
In a refreshing bit of candor, Steele explained that his downturn in form (he'd plummeted to No. 403 in the world) coincided with the addition of his first child. Fatherhood can sometimes lead to a baby bump, but instead it produced the opposite effect for Steele – rather than make golf easier because his life had a greater purpose, he found himself unmotivated and unwilling to put in the time because he wanted to spend time with his family.
So low was Steele, in fact, that during the two-month break he wondered whether he could keep his card in 2020.
That discussion helped relit his fire during the offseason and, in his first start of 2020, in his first appearance at the Sony in nearly a decade, he finished second. Better days are ahead.
thomas_1920_toc19_d4_reed.jpg
4. A week after dueling in a playoff at Kapalua, both Justin Thomas and Patrick Reed miss the cut at the Sony.
Neither Thomas nor Reed had missed a cut since last summer, but this wasn't a shocker.
Thomas looked, felt and sounded gassed after his harder-than-anticipated playoff victory at the Tournament of Champions. It's hard for a recent winner to dig deep, especially after getting wind-whipped for a week. Also: In his pre-tournament presser, Thomas said that Waialae's greens were perhaps the softest he'd ever seen on Tour – and then he went out and lost more than four shots to the field on the greens.
Reed was fortunate to even make the playoff at Kapalua, given he ranked second-to-last in the field in greens hit. His ball-striking wasn't much better a few days later, ranking 108th in strokes gained: tee-to-green, and his short game couldn't bail him out this time.
Thomas was asked – for some reason – if there was any concern about his game.
"No. None at all," he said.
wie_1920_johnny_pregnant_announcement
5. Michelle Wie announces that she's expecting her first child later this year.
Congratulations are in order for the newly married Wie, who turned 30 last fall. What this means for the remainder of her golf career remains to be seen.
On a conference call with reporters, Wie said that the addition to her family – she's expecting a girl this summer – makes her more motivated than ever to return. That's interesting, seeing how last year, after another injury setback, she wondered just how much longer she could play. Even at this point she's not fully recovered from a wrist injury that cost her the back half of the 2019 season, just the latest in a series of recent ailments.
Wie seemed to set up her post-golf plans this year by signing on with CBS Sports' broadcast team for a select number of events. It might be the only time we see her at a tournament this year.
Both on and off golf course, Wie still dreaming big
THIS WEEK'S AWARD WINNERS ...
The WTH? Moment of the Week: Trinity Forest. To the chagrin of architecture enthusiasts, the Tour is leaving the Bill Coore and Ben Crenshaw design after just three years. The tournament took a financial hit after it was plagued by poor attendance (it's in a, uh, remote location) and a D-level field (split from Colonial and played around the PGA), and the minimalist design wasn't a huge hit with players who are used to bombing-and-gouging into Charmin-soft greens. The worse news of all: It could be headed back, for a year or two, until the new PGA course is ready, to TPC Four Seasons, which ranked annually as one of the worst on Tour.
R.I.P.: Pete Dye. The game-changing course architect had his fingerprints all over some of the most maddening, deceptive layouts in the world, none more so than TPC Sawgrass. A true genius who will be dearly missed.
Surely This Will Be Kept in the Proper Perspective: Charlie Woods. Video surfaced of Tiger's son's sweet swing, with his daddy caddie looking on. Let's not get carried away here – the young Woods tied for ninth in the nine-hole event, with a 41 – but I'm pretty sure that he's going to win at least 50 majors.
🚨I was not prepared for this footage of Charlie Woods striping it. 😭 (IG: arejaygolf) pic.twitter.com/1LLgYAx8CU
— Tiger Woods Legion (@TWlegion) January 12, 2020
Who Said Marriage Kills Your Golf Game: Bo Hoag. A week after tying the knot, the former Ohio State standout surged into the lead during the third round of the Sony, eventually tying for ninth. It's the rookie's third top-20 in his past four starts.
Well Done, Young Man: Jayden Schaper. Branden Grace earned the title, of course, but Schaper's tie for sixth at the South African Open – the best finish by an amateur on the European Tour in 10 years – was even more impressive when you consider that the bloated field was (gulp) 240 guys deep.
Give Him Some Conditional Status: Jay Monahan. Hey, he's no Charlie Woods, but the Commish has a pure move that he put on display under the lights at TPC Sawgrass.
Shocking scenes at 17: That would be the Commissioner, in a hoodie, putting on a primetime stripe-show. pic.twitter.com/a4dfaUbUYN
— Casey Bannon (@CaseyFBannon) January 9, 2020
Hey, Remember Me?: Tianlang Guan. Just 14 when he made the cut at the 2013 Masters, Guan's career stalled over the past few years, including an unimpactful stint at Arizona, but he now has somewhere to play for the rest of 2020: He qualified for PGA Tour China, one of the feeder systems to the big leagues.
Blown Fantasy Pick of the Week: Matt Kuchar. Inconsistent form over the past few months, but his history at Waialae, including a victory last year, was impossible to ignore: Six straight top-15s! So of course he wound up on the wrong side of the cut line, after a Friday 73 in windy conditions. Sigh.


text:
Q: How to debug cqlsh? I need to find out how cqlsh does the autocomplete because I want to include a custom compaction strategy in the autocomplete for the create table statement. I usually do this by putting a breakpoint somewhere in the code and then following the flow. But I'm not sure how to do this with cqlsh since I don't see the main method. How can I debug cqlsh to better understand where I need to implement this?
Probably not relevant, but I'm using v3.11.

A: cqlsh is written using python, hence you can use any python editor to debug the code. One such python editor which I'm using is JetBrains PyCharm You can open the cqlsh.py script from "Cassandra installed directory\bin" in this editor and run the cqlsh.py in debug mode. While running/debugging use the console view to give the input. By the way I am using PyCharm.

A: Cqlsh is a python tool, It located at $CASSANDRA_HOME/bin/cqlsh.py
If you want to add custom compaction strategy to cqlsh, you have to edit it's dependency file located at $CASSANDRA_HOME//pylib/cqlshlib/cqlhandling.py
Find the available_compaction_classes field and add yours.
available_compaction_classes = (
    'LeveledCompactionStrategy',
    'SizeTieredCompactionStrategy',
    'DateTieredCompactionStrategy',
    'TimeWindowCompactionStrategy',
    'MyCompactionStrategy'
)

Here i have added MyCompactionStrategy.
Now save the changes and relogin, you will get autocomplete for compaction
cassandra@cqlsh:titan> CREATE TABLE test (id int primary key, data text) WITH compaction = {'class': '
DateTieredCompactionStrategy  LeveledCompactionStrategy     MyCompactionStrategy          SizeTieredCompactionStrategy  TimeWindowCompactionStrategy

A: cqlsh command have option --debug that help you to debug it in detail and get more verbose information.

A: cqlsh:demo> TRACING ON
Now Tracing is enabled

sometimes this level of logging is sufficient in debugging.