Saturday, July 23, 2016

How to perform currency conversion with Java

Java 9 includes the Java Money and Currency API (JSR 354) based on ISO-4217.

Of the various features this API provides, one of my favorites is working with exchange rates and  currency conversion.  I threw together some code to demonstrate this feature.

Currency Conversion using Currency Codes

The Money API uses a Fluent API, so the following code is easy to read... you'll see one can use an exchange rate provider to start the process towards currency conversion:

public static void convertCurrency
    (String currencyCode1, Double currencyValue, String currencyCode2) {

  ExchangeRateProvider ecbExchangeRateProvider = MonetaryConversions.getExchangeRateProvider("ECB");
  CurrencyUnit currencyUnit = MonetaryCurrencies.getCurrency(currencyCode2);
  CurrencyConversion ecbDollarConversion = ecbExchangeRateProvider.getCurrencyConversion(currencyUnit);
  MonetaryAmount monetaryAmount1 = Money.of(currencyValue, currencyCode1);
  MonetaryAmount monetaryAmount2 = monetaryAmount1.with(ecbDollarConversion);
  System.out.println(currencyCode1 + " " + currencyValue + " -> " + monetaryAmount2.toString());

    }

public static void main(String[] args) {
  ExchangeRateUtils.convertCurrency("USD", 100.00, "EUR");
}


This example converts one hundred US dollars to Euros. Note that when printed, MonetaryAmount will print the currency code and the value, so currencyCode2 does not need to be included in the standard output. 

$ USD 100.0 -> EUR 90.66183136899365

Currency Conversion for All Available Locales

When instantiating a CurrencyUnit,  a Locale object may be used in place of a currency code.  The following method uses exchange rates to convert values for all available Locales.

public static void convertCurrencyAgainstAllAvailableLocales(String currencyCode, Double currencyValue) {

  int counter = 0;
  Locale localeList[] = DateFormat.getAvailableLocales();
  for (Locale locale : localeList) {
    try {
     ExchangeRateProvider ecbExchangeRateProvider = MonetaryConversions.getExchangeRateProvider("ECB");

     CurrencyUnit currencyUnit = MonetaryCurrencies.getCurrency(locale);
     CurrencyConversion ecbDollarConversion = ecbExchangeRateProvider.getCurrencyConversion(currencyUnit);

     MonetaryAmount monetaryAmount1 = Money.of(currencyValue, currencyCode);
     MonetaryAmount monetaryAmount2 = monetaryAmount1.with(ecbDollarConversion);
 

     System.out.println("\n(" + ++counter + ")");
     System.out.println("Time: " + LocalDateTime.now());
     System.out.println("Locale: "
       + locale.getISO3Country()
       + " (" + locale.toString()
       + "), Language(Country): "
       + locale.getDisplayName());
     System.out.println(currencyCode + " " + currencyValue + " -> "
       + monetaryAmount2.toString());
     } catch (Exception e) {
       e.getMessage();
     }
  }
}


public static void main(String[] args) {
  ExchangeRateUtils
    .convertCurrencyAgainstAllAvailableLocales("USD", 50.00);
}


The output of converting USD currency against all available Locales looks like this:

(1)
Time: 2015-07-29T10:37:00.027
Locale: HRV (hr_HR), Language(Country): Croatian (Croatia)
USD 50.0 -> HRK 344.42429737080687635

(2)
Time: 2015-07-29T10:37:00.074
Locale: BEL (fr_BE), Language(Country): French (Belgium)
USD 50.0 -> EUR 45.330915684496825

...

As always, I hope this was helpful,
Robert

Note, if you are working with Maven, here's your dependency to use:

<dependency>
  <groupId>org.javamoney</groupId>
  <artifactId>moneta</artifactId>
  <version>0.9</version>
</dependency>


And here's the source all put together, if you'd like to cut/paste and run it:

import java.text.DateFormat;
import java.time.LocalDateTime;
import java.util.Locale;
import javax.money.CurrencyUnit;
import javax.money.MonetaryAmount;
import javax.money.MonetaryCurrencies;
import javax.money.convert.CurrencyConversion;
import javax.money.convert.ExchangeRateProvider;
import javax.money.convert.MonetaryConversions;
import org.javamoney.moneta.Money;

public class ExchangeRateUtils {

    public static void convertCurrencyAgainstAllAvailableLocales(String currencyCode, Double currencyValue) {

        int counter = 0;
        Locale localeList[] = DateFormat.getAvailableLocales();
        for (Locale locale : localeList) {
            try {
                ExchangeRateProvider ecbExchangeRateProvider = MonetaryConversions.getExchangeRateProvider("ECB");

                CurrencyUnit currencyUnit = MonetaryCurrencies.getCurrency(locale);
                CurrencyConversion ecbDollarConversion = ecbExchangeRateProvider.getCurrencyConversion(currencyUnit);

                MonetaryAmount monetaryAmount1 = Money.of(currencyValue, currencyCode);
                MonetaryAmount monetaryAmount2 = monetaryAmount1.with(ecbDollarConversion);

                System.out.println("\n(" + ++counter
                        + ")");
                System.out.println("Time: " + LocalDateTime.now());
                System.out.println("Locale: "
                        + locale.getISO3Country()
                        + " (" + locale.toString()
                        + "), Language(Country): "
                        + locale.getDisplayName());
                System.out.println(currencyCode + " " + currencyValue + " -> "
                        + monetaryAmount2.toString());
            } catch (Exception e) {
                e.getMessage();
            }
        }
    }

    public static void convertCurrency(String currencyCode1, Double currencyValue, String currencyCode2) {
        ExchangeRateProvider ecbExchangeRateProvider = MonetaryConversions.getExchangeRateProvider("ECB");
        CurrencyUnit currencyUnit = MonetaryCurrencies.getCurrency(currencyCode2);
        CurrencyConversion ecbDollarConversion = ecbExchangeRateProvider.getCurrencyConversion(currencyUnit);
        MonetaryAmount monetaryAmount1 = Money.of(currencyValue, currencyCode1);
        MonetaryAmount monetaryAmount2 = monetaryAmount1.with(ecbDollarConversion);
        System.out.println(currencyCode1 + " " + currencyValue + " -> " + monetaryAmount2.toString());
    }

    public static void main(String[] args) {


      // ExchangeRateUtils.convertCurrency("USD", 100.00, "EUR");     
      // ExchangeRateUtils.convertCurrencyAgainstAllAvailableLocales("USD", 50.00);

    }
}
 

The Italian Desperado; Angelo Perrella

Last year, I put together with the help of Joe Tucciarone an article on the Italian Desperado; Angelo Parrella.  The article was refined, and refined and refined some more for acceptance on Wikipedia.  However, each subsequent submission was declined, so I have now decided to share Angelo's story here, within my blog... 


Angelo Perrella

The Italian Desperado
Born 1856
Agnone, Italy
Died February 25th, 1916
Ohio, U.S.
Cause of death
cerebral hemorrhage
Other names Angelo Parrella, Angelo Del Bello, Angelo Bill, Angelo Dardell, Prison Demon, Italian Desperado
Criminal penalty
Sentenced to life in the Ohio Lima State Penitentiary

Motive Marriage refusal
Conviction(s) Murder in the first degree

Killings
Victims 5; 3 survived, 1 died, 1 rumored to be killed in Italy
Country U.S.



Angelo Perrella, a.k.a., Angelo Parrella[1], Angelo Bill, Angelo Dardell[2], Angelo Del Bello, "prison demon"[3] and the Italian Desperado (1856 – Feb 25, 1916) was known as a murderer in the late 1890's.

 

Biography

Angelo was born in 1856 in Aguone (Agnone), Italy and immigrated from Marseilles, France and Naples, Italy to New York City on the ship Alesia, traveling with brother Pasquale Perrella. He arrived in the U.S. on 17 Dec 1890, and became a laborer in Trumbull County, Ohio. Angelo was well known for being a bad man; thievery, numerous death threats, rumored murders overseas, insane behavior and for attempting to kill an entire family. His notoriety persisted to his stay in prison, where he was considered by many to be the most dangerous inmate in the facility for years. He is also known for being the first to have non-capital punishment enforced (i.e., saved from the death penalty) in Ohio by use of a newly revised Statute.

 

Appearance

Angelo had medium chestnut hair/beard, a light yellow mustache and a medium dark complexion. His boot was 7 1/2 and his hat was 7 1/4. At the time of the Coalburg shootings, he was 5 foot six, ~160 pounds and wore a shabby suit of clothes with a peculiar blue jacket over his coat. He carried a revolver.

 

Thievery

in 1896, Angelo stole two revolvers and a watch from an Italian family in the city of Warren, which was in Trumbull County, Ohio. He was arrested and sentenced. Angelo also skipped out of Mrs. Campperchiloni's boarding house, owing a $21.65 board bill. A character witness of Angelo stated, "Out of 11 days in Italy he generally spent two in jail"

 

Threats to kill

Angelo had a tendency to threaten to kill people, with seven being noted in a single article[4]. Through various sources, the exact names of people being threatened have been identified. Carl Domente and Peter Corona were warned that Angelo was going to kill them[5] . Angelo also threatened to kill a Hubbard councilman in 1989 named Paul F. Dominic.[4]. Angelo also threatened the lives of Andrea Serafino and Marco Antonelli.. Both Andrea and Marco were prominent Italian businessmen in Youngstown. Marco married Gabriel Ferrando, the mother of the 5-year-old boy who died from one of Angelo's bullets. Marco married Gabriel Antonelli appear in the 1900 Youngstown census. It is believed that a sharpened broomstick found in Angelo's cell, after he was imprisoned, was fashioned to kill Sherriff Caldwell or turnkey O'Brien. Sheriff Caldwell believed that he was the most dangerous prisoner in the jail for years. Caldwell would place Angelo into solitary confinement at times, because he believed that Angelo would "kill a man as quick as look at him"[6]. On another account, he threatened to kill Mr. Powers, after Mr. Powers learned of his trees being cut down by him and asking for payment, Angelo's response was laughing and saying '... come to me for pay, I'll your head off with an ax.'[7]

 

1st Murder

News reported that Angelo left his wife and four children in Italy in 1892 due to troubles with the law. it is believed that he murdered a man[2] and this is why he had to leave Italy.

 

2nd Murder

Angelo was involved in a shooting that took place in Coalburg, Ohio on Thursday night, February 24, 1898. The victims were members of an Italian coal-mining family. Four Ferrando family members were shot.
The incident occurred at Mrs. Barbara Ferrando's home (a former store room used by the Mahoning Coal Company). At this resident where Angelo helped out with odd jobs to offset his boarding costs. Angelo told Michael Ferrando, aged 8 (or 9), while they were watering the cattle[8] , that he intended to kill his mother and then the rest of this family. Michael did not believe him. Later than night, Angelo approached the building from outside and shot Daniel Noute on the way in. Daniel was shot in the left groin and left breast and later found another bullet in his boot. Daniel also sustained a facial wound from wrestling with Angelo. This wound for a short time was incorrectly considered to be a bullet wound. Moving on, Angelo entered the house thinking that Daniel was dead. He thereafter shot at Joseph Ferrando, aged 5, from a distance of 20 feet away in his stomach.[9]. Widower Mrs. Peter Ferrando, aged 50,ran at Angelo, was shot at twice and received bullets in her left arm and shoulder. Philip Ferrando, aged 15, (sick with pneumonia) watched from bed as the events enfolded. Mrs. Martha Lawrence (Barbara Ferrando's mother), aged 55, was thereafter gotten from another building by Angelo and was told if she wanted to see her grandson alive to move quickly. When they returned to the building, Angelo shot her in the right hip.
All Ferrando family members survived except the five-year-old boy (Joseph Ferrando) who died about a week later on March 4th, 1898. It was later stated by Angelo, that he did not intend to shoot the boy.[10]
The shooting was (and the subsequent trial) was covered for months in almost fifty newspaper articles and was even reported 2,000 miles away in the L.A. Times[11]

 

Capture

Angelo in his attempt to flee boarded a freight train going to Meadville[12] . He was captured in Meadville on February 26th, 1898 warming himself by the railroad tracks. He was positively identified by Niles, Youngstown and Hubbard people. The Youngstown Daily Vindicator stated the disappointed of folks not being able to engage in the hunt for Angelo, "BLOOD HOUNDS NEEDED". George Hothan of this city, has four blood hounds, and was sorry the police did not notify him so that he could have given the canines a chance to show what they could do." George stated, "I would not have wanted a better chance. My dogs would have gotten onto that track so quickly that they would have caught Mr. Italian too quickly and then you would have heard the canines bark. The Italian would have had to climb a tree at once. I am ready any time with the blood hounds to hunt murderers, thieves, desperadoes, and only court the chance to show what they will do."[13]

 

Motive

On February 26, 1898, the Youngstown Vidicator[14] printed Angelo's motive, "The motive Angelo Will had in attempting to kill Mrs. Ferrando and her four relatives is now given by the Vindicator for the first time. He had asked her to marry, and she refused. He threatened to kill her and all the family. It is stated Will has a wife and four children in Italy and that he had to leave there because he killed a man."

 

Indictment and Trial

On April 21, 1898, the Stark County Democrat reported the indictment of Angelo del Bello for murder, in the first degree. The trial began on May 16, 1898 and the account of it appeared in the May 17th edition of the Western Reserve Chronicle, including this event, "There was a lively incident during the morning hour when the prisoner deliberately pulled a pipe from his pocket and proceeded to stow away a charge of tobacco and pushed back for a quiet smoke. Sheriff Caldwell interferred and the Italian prisoner gave a vicious lunge with his fist at the sheriff. Deputy O'Brien was at hand and dealt Del Bello a blow that quieted him, and Albert Guarnieri took a hand and voice in proceedings and, quiet restored, the case proceeded."

 

Court Notes

Here are court notes, #406 and #407 from May 23, 1898.
  1. 406 - The State of Ohio vs Angelo Del Bello - 1258 - Murder in the 1st degree.
"The motion for a new trial of this cause is heard and after due considerations is refused. And thereupon the defendant, being in court in the custody of the Sheriff is informed by the court of the verdict of the injury, and inquired of if he has anything to say why judgement should not be pronounced against him, and having nothing but what he hath already said, it is therfore adjudged by the court, that the said defendant be imprisoned in the penitentiary of this State and kept at hard labor but without solitary confinement for the term of his natural life and that he pay the cost of this prosecution tuned at $432.49 for which execution is hereby awarded."
  1. 407 - The State of Ohio vs Angelo Del Bello - 1258 - Murder in the 1st degree.
"Whereas, as the present May term of the court of Common Pleas, begun and held at the Court House, in the County of Trumbull and State of Ohio, Angelo Del Bello was convicted and sentenced to imprisonment in the Penetentiary of this State, and the Court being of opinion that it is such an extraordinary case as requires the allowance of 1 Guard to assist the Sheriff in the transportation of said convict to said Penitentiary, do allow said 1 guard for the purpose aforesaid."

 

First case to use revised Statute

Relative to the first Ohio case to enforce non-capital punishment, the Albany Law Journal noted, "It is worthy of note that the first case in Ohio under sec. 6808 of the Revised Statutes, as amended last winter, was tried in the Trumbull County Common Pleas, before Hon. T. I. Gillmer and a jury, commencing on the 16th inst. It may be remembered that this stature provides that where the accused is found guilty of murder in the first degree the jury may recommend him to the mercy of the court, and in that event his punishment shall be imprisonment in the penitentiary during his natural life, and there shall be no recommendation of pardon or parole except upon proof of innocence established beyond a reasonable doubt. The jury in the case referred to, State of Ohio v. Angelo Del Bello, returned a verdict, on the 20th inst., of murder in the first degree, and recommended the accused to the mercy of the court, which, in pursuance of the statute, left the court no discretion but to pronounce a life sentence. We are told that this statute practically does away with the death penalty in Ohio, and that the friends of the abolition of capital punishment have succeeded by the passing of the above statute in accomplishing all they desired. Time will demonstrate the wisdom or the unwisdom of this humane legislation."[15]

 

Sentence

Angelo was convicted and sentenced to life in the Ohio Lima State Penitentiary and was regarded as the most dangerous inmate there[16]. His prisoner number was #30771. During his stay he was given the title of "prison demon", which previously belonged to Ira Marlatt. The prison physician believed that Angelo's face was changing form and shape as noted by the Oklahoma Indian Chieftain[17] , "The left side of the man's face seems to be caving in, while the right side is bulging out, and the mouth is gradually moving toward the right ear." These facial changes were compared to those that happened to H.H. Holmes. The article continued, "On one side Del Bello looks like an ordinary man. On the other side all the meanness with which his nature is filled comes to surface." While in prison, Angelo engaged in a series of hand-to-hand fights with his guards. He also made a variety of weapons, such a sharpened broom stick[18] and a modified spoon.[19]. The broomstick was sharpened at both ends and was later put on display at the Chronicle's business office. He was in and out of solitary confinement, in between attacking a guard with a knife. Angelo was transferred to the Columbus State Hospital for insanity on February 1st, 1912. He was transferred to the Lima State Hospital on August 12th, 1915.

 

Lack of Cooperation

Many times, Angelo refuse to talk or cooperate with prison guards. His prison records sited refusal to share his family information. This and other signs were indicative of a mental illness. As was the incident that the Western Reserve Chronicl[20] e pointed out, "When it came time to go bed, Del Bello took a position in the center of his cell and refused to disrobe. The guard and the runner went into the cell to take his clothes off, and after a fight of an hour they succeeded in getting him undressed, but he would not go to bed, and if he slept at all it was standing in the center of the cell with a blanket around him. In the scuffle with his keeper he fell against his cot and struck his nose, causing the blood to flow freely. While it was running the prisoner dipped his finger in the blood, and, making the figure of a large bloody cross with this finger on the pillow of his cot, dared the runner to come into his cell. He would point his finger to the cross and chatter in Italian, grinning hideously all the time. Newbury, who has had a great deal of experience with Italians on railroad construction gangs, having been boss of many a squad of them, states that the bloody-cross is the emblem of the dreaded Mafia, and that the actions of the demon were a token of his oath on the cross while being initiated into the order, to pursue him to the death with the vengeance of the bloody-minded other bound fraternity." Later that night, Angelo had pulled a sharpened weapon made from a spoon from inside a roll of toilet paper and tried to kill Newbury by lunging at his jugular. The newspaper described this event as a "Dr. Jekyl and Mr. Hyde" presentation.

 

Family

An article[21] about one of Angelo’s sons appeared in the Youngstown Daily Vindicator on June 20, 1907 and stated, “Tony Paire, the young Italian who is under arrest for shooting at Nick Jock... It is alleged that Paire comes of a shooting family. His father is said to be serving a term in the penitentiary at the present time for killing the little nephew of Patrolman Ferrando at Coalburg several years ago.” Angelo had a brother, Pasquale Perrella who visited him in jail and was told by Angelo that shooting the boy was not intentional. This was Pasquale's second trip to the U.S. His arrival was dated to April 6th, 1898, where he traveled on the Augusta Victoria to visit his brother in Ohio. The boat's manifest noted Pasquale at the age of 36 and married.

 

Death

Angelo died at Ohio State Hospital on February 25th, 1916 of a cerebral hemorrhage, as noted in his death certificate File no 8425, State of Ohio. A contributing cause of his death was arteriosclerosis. He is buried at the Lima State Hospital Cemetary.



Thanks for reading.
 -- Robert

* Hey, perhaps a director will make a movie out of his story. :)

Top Ten Tips for having a successful 99Designs contest

How does one run a successful 99Designs contest?

Well, I've lead two 99Designs contests already, and my third contest is currently live, so I definitely have some lessons learned tips to share.

First, for those who don't know, 99Designs is a crowd sourcing website for all kinds of art related stuff from website design to icon creation. 99Design isn't the only crowdsourcing website on the internet, but it is a really good one to use.  Before going into the tips of running a successful 99Designs contest, let's look at my previous projects and winners.

My first contest was for capo critters, and here is the winner:



My second contest was for the Apache Camel Components poster, and here is the winner:


The devil is in the details for those projects... click through to the sites and you'll see it all.

Now for the top ten tips on running a successful 99Designs project.

10. Begin requesting designers to participate from day one

You may invite 50 designers a day to participate in your project.  If you wait until day two to start inviting designers, you missed out on some potential entries that may have ended up as the winner.

9. Ask 99Designs to extend the qualifying round


The qualifying round is only four days.  If and only if you need it, ask 99Designs to extend the qualifying round by three days.  This is important as the designer that you like may be tied up with another project, holidays may be apparent in other countries that you aren't away of, etc.  The more time you can get in the initial phase the better.

8. Insist on original work

In your design brief, explicitly state that you want your work to be original.

I showed my expected winner to my daughter and she said, "Hey Dad, that's a Disney character".  I did a quick Google search and sure enough it sure did look like one...


Additionally, when I picked a different finalist, someone reported their design to me as clipart and showed me the library it was taken from.  They did vectored it, but it still was not original.

I think the best way to guard against this behavior is to explicitly state up front that the material needs to be original... unless you don't mind reusing material where there are explicit rights to reuse it for your purposes.

7. Report any work you feel has been copied

99Designs wants to be made aware of any work that may have been copied and they have processes in place to handle the situations accordingly.  As soon as you know or suspect something, report it.

6. Brand your images/products

Make sure you incorporate branding features into your projects... whether it's a webpage, icon, business card, etc., get your unique coloring schemes, images, etc., in there.  This is important as if you have several icons made up for a app of yours, you don't want someone to just grab them off the internet and re-purpose them for themselves.  If you badge the icons, or have a clearly identify them with your brand, it's less likely that someone will try to reuse it for themselves. If it's a new branding... encourage it to be as original as possible.

5. Strongly consider designers with a history of winning

Designers who have won before, in my opinion have an edge on quality and professionalism.  This doesn't mean you shouldn't consider those that have not won yet, but having a proven record does mean that they are familiar with the process, can do great work and will deliver the end products properly.


4. Pay the extra money for the additional 99Design features

99Designs offers additional services and features to help you have a successful product.  Buy them.  It may costs you a few extra bucks, but that extra visibility may end up getting you the design that you want, from a designer who may not have known about your project otherwise.

3. Guarantee the project

I for one would not do work for a project unless I knew there was going to be a guaranteed winner.  Guarantee the project when you go through the launch process.


2. Use the polling feature

99Designs has a polling feature where you can send the entries to people of your choice for their opinions.  Create polls throughout the lifecycle of the contest and send them to people of various influence for critiques and opinions. You may find that you like one design, but everyone else favors another.

1. Respect the designers

Respect the time and efforts of the designers.  Many designers will be putting several hours into your project and may end up with nothing in return.  Only keep them engaged if there is a clear opportunity for them to be a finalist and or a winner.


For those interested in seeing my currently live project and/or participating as a designer, here it is: Achievement Icons for Gliesians.com.  Or perhaps you'd like to see a poll? :)


As always, I hope this blog post was helpful to you.
-- Robert

Piano Low Notes and Pets

Can your pet hear the low notes on the piano?



Let's look at some key facts.
  • A piano low A note (key 1) is at 27.50 Hz 
  • A five string bass guitar starts on a B note at 30.868 Hz.
  • A dog's hearing range starts at 40 Hz and ends at 60kHz
  • A cat's hearing range starts at 55 Hz and ends at 79kHz 
  • A gerbil's hearing range starts at 100 Hz and ends at 60kHz 

You can see here that the first seven notes on a piano are at frequencies below a dog's hearing range, and the first 12 notes are at frequencies below a cat's hearing range. 



Here is another way to visualize the data, this graph shows the piano output frequency and the corresponding hearing ranges of humans, dogs, cats and dolphins:



Now, you tell me, can your pet hear the low notes on a piano? That is, do you believe the facts? Go play him or her a tune and see what you think. :)

-- Robert

* And for those wondering, the low E note on a standard guitar is at 82.4 Hz.  Four string bass guitars start at 41.204 Hz. 

Wednesday, July 6, 2016

Capturing Upcoming Support Contracts in aid of the Federal Aviation Administration

The Federal Aviation Administration has two new support contracts which they are looking to fulfill with qualified contractors.

I would like to be on a team (via my company Gliesian, LLC) which aims to capture one or both of these contracts in order to effectively support the FAA.

The two contracts are here:

1. Enroute and Oceanic Support Services (EOSS)
Announcement Type     Request for Offer - SIR
Date Posted     07/06/2016
Date Closed     08/10/2016
Solicitation / Contract #     DTFACT-16-R-00002

2. Terminal and Technical Operations (TnT) Support Services
Announcement Type     Request for Offer - SIR
Date Posted     07/06/2016
Date Closed     08/10/2016
Solicitation / Contract #     DTFACT-16-R-00001

If you (i.e., your company) are looking to bid on this work, or would like to get a presence at the FAA through this work, please contact me, as I'm very much interested in supporting these contracts.

I can be reached at (609) 576-1546 to discuss.

Sincerely,
Robert James Liguori - President, Gliesian, LLC.

Sunday, July 3, 2016

Ten pieces of advice for Donald Trump and Hillary Clinton

Donald Trump and Hillary Clinton,

If you are listening, here's some advice for you...

1. Be Presidential.
 
2. Lead by example.

3. Surround yourself with success

4. Don't be hypocritical

5. Don’t be angry

6. Research, research, research.

7. Understand causes

8. Maintain healthy relationships.    

9. Make others successful.

10. Respect each other.

Good luck with your presidency. Make us proud.