Investing in a rainwater harvesting system and water tanks can be daunting but these tips below will help you budget for a rainwater system, whether you live in the US or South Africa or anywhere else for that matter.
Harvesting rainwater is the wave of the future. Why? Because it's great for the environment and great for your budget.
For example, the rainwater you collect can be used to water your lawn and other landscaped areas. This saves you money in that it reduces the amount of municipally-supplied water you use. It's also good for the plants because, unlike municipal water, rainwater is clean and hasn't been treated with chemicals to make it drinkable.
Landscaping isn't the only way to use the rainwater you've collected. You can use collected rainwater for washing vehicles; bathing pets; refilling swimming pools, ponds, and fish tanks; cleaning your driveway and sidewalks and the outside of your house. You can, if you install a good filtering system, even use rainwater for washing dishes and drinking.
In addition to being usable for all of these things (and greatly reducing your dependency upon your municipal water supply), collecting rainwater eases the burden on your property's drainage systems (and, eventually, municipal drainage systems). It reduces runoff and erosion. Really, it's best for everybody!
Rigging up your own rainwater collection system really isn't that hard, but if you're like most of us, you'd probably rather buy a ready-made and professionally installed system to harvest rainwater – just to make sure you're set up correctly and safely.
The problem is that professional systems cost more than homemade systems, and pretty much everybody is on a really strict budget these days. So how do you find the money in an already tight financial situation?
If you need some budget help, here are some tips you can use to create wiggle room so you can afford a quality water harvesting system.
You're literally saving for a rainy day!
Instead of buying coffee in the mornings and lunch while you're at work, take your own from home! Home-brewed coffee and homemade lunches cost way less than what you'd pay in a cafe. Put the money you'd spend out into your rainwater system fund.
Taking the bus to work every day gives you time to relax on your way to and from work and costs much less than having to gas up your car every week. Put your gas money into your rainwater system or rain water tank fund!
Do you like to shop? Challenge yourself to not buy anything besides food and other absolute necessities like hygiene products. Take the money you're tempted to spend on movies, dinners out, clothes, etc., and put it into your savings instead.
Growing your own veggies and herbs is a great way to reduce what you'd spend at the supermarket and is better for your health in the long run. Once you have your rainwater tanks, you can irrigate the vegetable garden with free water!
Name-brand stuff and generic stuff is almost always the exact same stuff. Stop paying for branding and pay for a rainwater harvesting system instead!
Turn off the lights, unplug your appliances, and turn off your central air systems when they aren't in use. Reducing your power bill is a great way to find money for your rainwater system.
Go through your home and clear it out. If you haven't used it in over a year, sell it online and put the profit into your rainwater collection savings.
Instead of buying books, paying for streaming media, etc., use the library and the Internet to access (for free!) what you would normally buy. Make no mistake, we're not advocating piracy. But you can listen to music on YouTube and Pandora for free. There are lots of free books in Amazon's Kindle store. And, of course, you can use the library to check out things to read, watch, and listen to.
Do you regularly set money aside for a savings account? For a few months, take 5% of that deposit and set it aside for your rainwater collection system (keep track of what you save so you can pay it back later).
In addition to moving money around in your budget, why not simply try to earn more money to help fund your purchase? Doing small odd jobs around your neighborhood and for your friends for a small fee can be a great way to beef up your rainwater collection and water tank fund.
If you use all of these tips, you should be able to have your rainwater system, with water tanks, purchased and installed fairly quickly. Good luck!
Source: Erin Steiner (Erin Steiner is from the U.S and writes about personal finance, pop culture, and other topics for a variety of websites).
If you are in South Africa, click on the links below to view the wide range of JoJo water tanks suitable for rainwater harvesting and other uses.


McKim Jean-Pierre '16 has been selected to receive a full, merit-based scholarship to attend an intensive leadership training program in South Africa this summer.
McKim was one of only 15 students selected solely on her merits from a pool of 200 applicants for the highly competitive Experiment Leadership Institute in South Africa. The institute is a program of The Experiment in International Living (EIL), a Brattleboro, Vt.-based organization that provides summer abroad programs for high school students who want to connect deeply and engage meaningfully with the richness and complexities of another country.
McKim, a boarding student from Milford, Mass., is an International Baccalaureate diploma candidate at SBS, which is the first and only girls' school in New England to offer this academically rigorous, interdisciplinary curriculum. She is also involved in Student Council, the Community Service Club, and Students of Color, as well as serves as a Blue Key tour guide for prospective students and their families.
McKim was thrilled to learn she was accepted into the program. She believes she has grown in many ways since first arriving at SBS as an 8th grader, and is excited to continue to grow as a leader through her first trip abroad.
The summer program, "South Africa: Youth Leadership in Peace, Politics, and Human Rights," will begin with four days of intensive leadership training in Washington D.C., where McKim will participate in trainings, workshops, field trips, group exercises, and discussions with political and non-government organization leaders. Then, she will travel to South Africa for four weeks, visiting Johannesburg, Drakensburg, Cato Manor, and Amacabini. Upon her return to the United States, McKim will spend three days on EIL's School for International Training campus in Brattleboro, Vt., for synthesis sessions, briefings, a re-entry workshop, and brainstorming sessions on a post-program project.
McKim's teachers and school administrators enthusiastically recommended her for the South Africa program. French teacher Miriam Przybyla-Baum said McKim has become one of SBS's best role models as a leader due to her strong work ethic, self-reliance, and helpfulness.


DISH is the only TV provider to bring you action straight from Belmont, Dubai, Sam Houston and dozens of tracks in between on Racetrack Television Network. RTN offers 80 different live feeds from American and international races, from Aqueduct to Woodbridge. Watch as underdogs take on crowd favorites with full wagering information, paddock shots and post parades included in the simulcast feed.
The hottest races in the country are delivered to your TV when you add RTN to your DISH TV package. Watch races on popular tracks like Churchill Downs and Belmont Park, plus up-and-coming horses and riders from smaller tracks around the world. These horse racing channels have it all, right on your TV.
Keep up with the action with RTN's full wagering information, paddock shots and post parades, plus commentary from the track. This complete package offers all the information available at the track or your favorite wagering establishment in your own home. Enjoy the thrill of the chase right from your own TV with DISH.
The biggest greyhound races also air on the Racetrack Television Network. Just like your favorite horse races, the fastest dogs in the country and around the world are paired with in-depth commentary and wagers. Watch as greyhounds beat the clock at Birmingham, Derby Lane, Naples and more!


They are really pushing the little brother to be a part of the harem. The little brother clearly loves him as more than just a big brother. At least the best friend had some impact for once, pushing the little brother to wear the cheerleader costume. This was kinda tainted for me, ever since I learned how Yosuga no Sora ended... I can't help but laugh at what happens when sibling love gets serious.
I guess I should touch up on the main plot point of the episode: the race. It wasn't hard to guess that the acorn girl would win; she had the most legitimate reason for wanting to win. Having her dress up as a bride with Kazuma in a tux was a nice touch, though. It will probably be her only chance to get so close to him in his harem. It'll be unrequited love; after all, c'est la vie of a harem. Even Hinata is shown in this episode to be affected by Kazuma; the heavy tsundere is falling prey so early on!
It made for a nice fanservice-ish episode. There was not much plot, but we got some nice scenarios due to the athletic meet for the characters to show a different side (and costume) of themselves. I am still convinced that the shrine girl will be the one that Kazuma picks, but there seems to be nearly no development yet. I guess that will be left closer to the end of the anime, as the final climax.


We all know the WBOA has a long tradition of State Final Officials. What you may not know is that we also have a long tradition of our members being selected as Official of the Year by the Illinois High School Association.
This year is no different. As just announced, WBOA Member Ron Ritter has been selected as the Girls Basketball Official of the Year.
While there weren't a lot of changes to the game of basketball for the next/upcoming season, there were a few that require you to keep abreast. An exception to the backcourt violation and a clarification regarding specifications of the ball comprise the changes approved for the 2018-19 high school basketball season.
The National Federation of State High School Associations (NFHS) Basketball Rules Committee recommended the changes at its April 9-11 meeting in Indianapolis, and all changes were subsequently approved by the NFHS Board of Directors.
Please feel free to contact any one of the board members with any question related to the organization.


text:
Die Stonington-Insel ist eine felsige Insel, die 1,5 km nordöstlich der Neny-Insel im östlichen Abschnitt der Marguerite Bay vor der Fallières-Küste des Grahamlands auf der Antarktischen Halbinsel liegt. Sie ist etwa 650 × 320 m groß und war bis in die 1970er-Jahre über eine Schneebrücke mit dem Northeast-Gletscher am Festland verbunden. An gleicher Stelle sind jetzt 400 Meter offenes Meer bis zur Abbruchkante des Gletschers.

Die Insel wurde als Standort für das östliche Basislager (East Base) der United States Antarctic Service Expedition (1939–1941) gewählt. Die East Base wurde im Norden der Insel errichtet und bot 26 Menschen Platz. 1941 wurde die Station wegen des Eintritts der USA in den Zweiten Weltkrieg aufgegeben. Am 24. Februar 1946 nahm Großbritannien im zentralen Teil der Insel die Station Stonington Island (Base E) mit zwei Gebäuden für 11 Personen in Betrieb, durchgehend bis zum 12. Februar 1950, danach noch zeitweilig 1958/59 und 1963–1966. Die beiden ehemaligen Forschungsstationen gehören heute zu den geschützten Historischen Stätten und Denkmälern in der Antarktis als HSM-55 und HSM-64.

Überdies zählt die Insel zu den Important Bird Areas in Antarktika (IBA Ant001). Sie ist Brutgebiet der Blauaugenscharbe, des Antarktikskua und der Antipodenseeschwalbe.

Benannt ist sie nach der Stadt Stonington im US-Bundesstaat Connecticut, Heimathafen der Sloop Hero, mit der Nathaniel Palmer am 17. November 1820 die Sichtung des antarktischen Kontinents gelang.

Literatur
 A.G. Fraser, The Petrology of Stonington and Trepassey Islands, 1965

Weblinks

  (englisch)
 Stonington Island auf geographic.org (englisch)
 Stonington Island Area (Karte, 1971)

Einzelnachweise

Insel (Antarktika)
Insel (Bellingshausen-See)

redpajama_set_name: RedPajamaWikipedia


text:
« John Liu: Congress still an option
Avella Rewarded With Sweet Committee Assignments »
What does it mean when the nicest person in politics is suddenly calling you out?
You've been a bad boy Tony.
At her campaign announcement, Grace Meng said how deeply disappointed she was with Avella's switch to the IDC.
This means a little more than at first glance: Meng is an optimist known for her sincerity, warmth, and candor to everyone – even her political enemies – which comes in part from longstanding roots in her hometown district and an old school sense of respect. Grace gives a mother's touch to everything, sort of like the district's ever-watchful matriarch, always reluctant to scold you in public, so when she spoke of her feelings during a press conference about Tony Avella and his IDC debacle (an old colleague mind you), we couldn't help but feel like our mother just gave us that look of REAL disappointment.
John Liu wasn't happy about Tony either, but it's Grace's comments we should be mindful of, no matter how delicate.
[From The Politicker] State Senator Tony Avella's decision to join the Independent Democratic Conference is irking ex-Comptroller John Liu and Congresswoman Grace Meng.
Mr. Liu and Ms. Meng–who like Mr. Avella, are Democrats hailing from northeast Queens–criticized Mr. Avella when asked about about his recent move to join the breakaway conference Democrats governing the State Senate with the Republican Party.
"It's disappointing to say the very least," Ms. Meng told Politicker at an unrelated press conference. "I think the Democrats, especially the Democratic senators, have worked very hard on issues that not only affect Democrats throughout the state, but affect everyone, all working families. And so I was disappointed at the very least."
Full article: http://politicker.com/2014/03/grace-meng-and-john-liu-slam-tony-avella-for-joining-idc/
Tags: Congress, Grace Meng, IDC, John Liu, Tony Avella
Permanent link to this article: http://queens-politics.com/2014/03/meng-disappointed-with-tony-avella/

redpajama_set_name: RedPajamaCommonCrawl


Getting the right nutrition while you're expecting is one of the best ways to give your baby a head start in life – and it can make pregnancy safer and more comfortable for you, too. So check out the pregnancy diet and get the lowdown on all the good stuff you need when you're eating for two. Then get the recipes for some delish meals and treats that you can eat anywhere — whether you're at home or you're out and about.
This good-for-you guide will make eating well for the next nine months surprisingly simple – and delicious!
From certain fish to too much caffeine, here's what to avoid or cut back on during pregnancy.
This is one of the few times in life when gaining weight is a good thing. But there's an art to pregnancy weight gain — you have to put on pounds the right way.
Make sure you're meeting your nutritional needs with these tips and tricks.
Always have these foods in your kitchen to kick cravings and keep you and baby healthy.
Get the lowdown on your pregnancy diet, week by week.
From the benefits of fish for you and baby to what's safe to eat and what's not, here's what you need to know.
How to ensure your baby gets all the necessary nutrients if you can't eat certain foods.
Make the most of your mornings with these nutritious breakfast recipes for the expecting set.
Guidelines for what's safe and what's not, plus delicious recipes you can make at home and bring with you on-to-go.
Crunchy granola smoothie pops, plus more yummy recipes that are good for you and baby.
You'll have to pass on alcoholic drinks, but these delicious concoctions are sure to quench your thirst.
Pick up these simple snacking habits to keep binges to a minimum.
Get a healthy dose of Vitamin A, Vitamin C and protein in this easy recipe from Tupperware.
Enjoy a salty snack AND a serving of leafy greens with this simple recipe from Tupperware.
Craving a sweet treat? This recipe from Tupperware is packed with Vitamins A and C.
From dark greens to cold-water fish, the best foods to eat for this essential fatty acid.
Where you'll find this important B vitamin that can help prevent birth defects.
Learn more about this essential nutrient that builds and maintains strong bones and teeth for you and your baby.
Get your fill of calcium with these 8 foods that help you & your developing baby build & maintain strong bones.
Protein helps baby grow and prevents low-birth weight. Try these yummy ways to get your fill.
How much zinc do you need, why is it so important for you and baby and how do you incorporate it into your pregnancy diet?


text:
Hugh Jackman >
Hugh Jackman's Wife Has Him Wear Film Costumes In...
Hugh Jackman's Wife Has Him Wear Film Costumes In The Bedroom
By Steven Williams in Lifestyle / Showbiz on 28 January 2013
Follow Hugh Jackman
Hugh Jackman Deborra-lee Furness
At this stage, it's a wonder if Hugh Jackman is more famous than the character of Wolverine or vice versa. But apparently, the actor's wife likes him to play dress-up in order to experience the feeling of an affair.
According to 'X-Men' star, Hugh Jackman, his wife is a big fan of him bringing home his movie costumes and wearing them in the bedroom. The actor, who appeared in 'Les Misérables' in 2012 and will star in 2013's 'The Wolverine', stated that his wife, Deborra-lee Furness, uses his costumes as a way to indulge in fantasy's that she is having a relationship with another man.
Related: Hugh Jackman Recalls "Amazing" Experience Singing At Joan Rivers' Funeral
In an interview with The Sun, Jackman stated: ''She likes me coming home in costume because it makes her feel like she's having an affair. She's eight years older than me, which is no big issue, and is a fantastic actress who has taught me a lot.'' Despite being one of the most recognisable faces in Hollywood, Jackson reports that his wife ensures he stays grounded in reality and doesn't start getting too big-headed.
Related: Hugh Jackman Reminds Us All Why We Should Wear Sunscreen After Having Skin Cancer Cells Removed
''She's the one that keeps my feet firmly on the ground - and she has a great sense of humour. When I was named Sexiest Man Alive [by People magazine] a few years ago, she said, 'Obviously, Brad Pitt was not available this year.' ''The 44-year-old actor has been married to his wife since 1996. In that time the couple have adopted two children together - Oscar, 12, and Ava, 7.
Related: Why The Hugh Jackman & Jake Gyllenhaal's 'Prisoners' Is This Year's Must See Thriller
Jackman also talked about how his teenage years were a far-cry from the older and wiser man he is today. Instead, he said that ''I was a loudmouth idiot at 18. I had ridiculous rage and male bravado in those days. I had some very dark periods. I wanted mum to come back because I felt that everybody stared at us as being abnormal. It was an odd situation for a mother not to be there. I thought for years she was going to come back. There was a time, when I was about 12, I thought they were going to get back together. They didn't and I took that anger and frustration out on others in my teens.''
Hugh Jackman mourns acting teacher and mentor Lisle Jones
Hugh Jackman mocks Ryan Reynolds in message to John Legend
Hugh Jackman banned from daughter's class
Hugh Jackman awarded Order of Australia
Hugh Jackman to headline AFL Grand Final?
Hugh Jackman's marriage pact
Hugh Jackman records supportive message to Olivia Newton-John at concert
Hugh Jackman denies Robbie Williams' Greatest Showman role
Hugh Jackman warns fans against alleged scammer
Hugh Jackman was almost fired from X-Men
X-Men: Dark Phoenix didn't want Wolverine romance because of age gap
Hugh Jackman joined by Keala Settle in tour
Hugh Jackman's intimate marriage
Hugh Jackman says work is underway for Greatest Showman sequel
The Greatest Showman Trailer
When P. T. Barnum (Hugh Jackman) loses his business when the company goes bankrupt, he's...
Logan Movie Review
Hugh Jackman returns to his signature role one last time (so he says), reuniting with...
Logan Trailer
In an almost fourth-wall-breaking episode, the latest installment of the Wolverine movie series acknowledges the...
Not even a mutant can be powerful forever. Logan aka Wolverine is dealing with the...
X-Men Apocalypse Trailer
X-Men Apocalypse comes as the ninth instalment in the X-Men film series and stars Jennifer...
X-Men: Apocalypse Movie Review
This closing chapter of the First Class trilogy falls into the same trap as The...
Eddie the Eagle Movie Review
Based on the true story of an unapologetic underdog who never won anything, this British...
Eddie The Eagle Trailer
Even when Michael Edwards was a small boy, he had huge ambition. Whenever the Olympics...
Chappie Movie Review
This is a terrific small film about artificial intelligence wrapped within a much bigger, less...
Chappie Trailer
Mankind has the potential to build wondrous things, yet it also truly fears what it...


There is a HUGE stack of paper!
I just got done printing FIVE copies of my book for my beta readers! Book launch in FIFTEEN DAYS!
Many thanks to my current beta readers. If you asked to be a beta reader, they are in today's mail. I have TWO ONE NO spots left. Let me know if you would like to be a beta reader.
Early access to my writing.
English mastery — this is an unreleased manuscript. As such, it probably contains typos, grammar problems, and plot problems. Beware!
Seeing this monster printed out is a huge accomplishment. HUGE!
Previous Post It Is Finished!


text:
Q: how can I return the next for loop item for this method? I am working on this method where as you can see I have the for loop, but what I want to do is return the next item each time where this method is called (next name). But for the last return statement i am not sure what to put?
I have this so far:
public String getChosenInputFileNames() {

setNames();

for (int i = 0; i < names.size(); i++) {

    if (i == 0) {
        return String.valueOf(i);
    } else {
        return String.valueOf(i + 1);
    }
}
return null;

}
Basically, I want to keep returning the next arrayList Item each time, where I call this method. Any help would be much appreciated!

A: implement/fill a queue using the array list and make a poll() every time you call the method... so you dont need to take care of any index in the collection (the queue will do that for you and will return null if you by mistake try to go beyond the size)
example: (please dont use the static if you dont really need it)
static Queue<String> myQueue = new LinkedList<>();
public static void main(String[] args) {
    myQueue.add("2");
    myQueue.add("4");
    myQueue.add("6");
    myQueue.add("8");
    myQueue.add("10");
    for (int i = 0; i < 7; i++) {
        System.out.println(getChosenInputFileNames());
    }
}

public static String getChosenInputFileNames() {
    return myQueue.poll();
}

A: What your method is currently doing is returning "0" every time you call it, which is far from your expected behaviour.
What you are trying to do here already exists in the Standard Library. It is called an Iterator, specifically Iterator.next().
Here is an example of using Iterator.
// names contains "Tom", "Dick", "Harry"
Iterator<String> iterator = names.iterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());

/*
Output:
Tom
Dick
Harry
*/

See? It is exactly what you want!
Instead of a for loop, you can use a while loop with iterators:
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}

A: There is no need of subsequent return statement you can hold the value of String and then return from last return statement.
public String getChosenInputFileNames() {

String name ="";

for (int i = 0; i < names.size(); i++)
{
    if(your condtion)
    {
       name = names.get(i);
       break;
    }
}
return name;
}

redpajama_set_name: RedPajamaStackExchange


The Kennedy Nova is a four-star, seafront hotel just a stone's throw away from the crystal blue Mediterranean waters. Situated right in the heart of Malta's busy shopping and seaside district Sliema, Hotel Kennedy Nova offers both comfort and convenience for visitors to the island. Hotel Kennedy Nova is located within one of the most popular tourist spots on the island, but it doesn't stop there. Malta is the perfect holiday location with plenty to see and do. There is no shortage of good food and entertainment, and shopping lovers will enjoy the bustling boutiques and markets, just within walking distance from the hotel.
The hotel is situated on the local bus route. One may take the public bus from the Airport direction Sliema Ferries. As one reaches Gzira descend one stop before the Sliema Ferries terminal. The bus driver would be very happy to indicate your stop.
Tea/Coffee making facilities available against a nominal charge. No smoking Rooms available.
No. of Fresh Water Pools : 1.
Fresh Water Pools Opens From : May.
Fresh Water Pools Opens To : Oct.
Fresh Water Children's Pool : Integrated With Adults Pool.


text:
package edu.northwestern.bioinformatics.studycalendar.domain.delta;

import edu.northwestern.bioinformatics.studycalendar.domain.DomainTestCase;
import edu.northwestern.bioinformatics.studycalendar.domain.Epoch;
import edu.northwestern.bioinformatics.studycalendar.domain.Fixtures;
import edu.northwestern.bioinformatics.studycalendar.domain.PlannedCalendar;
import edu.northwestern.bioinformatics.studycalendar.domain.Study;
import edu.northwestern.bioinformatics.studycalendar.domain.StudySegment;
import edu.northwestern.bioinformatics.studycalendar.domain.tools.Differences;
import edu.northwestern.bioinformatics.studycalendar.tools.FormatTools;
import gov.nih.nci.cabig.ctms.lang.DateTools;

import java.util.Calendar;
import java.util.Date;

import static edu.northwestern.bioinformatics.studycalendar.domain.Fixtures.createAmendments;
import static edu.northwestern.bioinformatics.studycalendar.domain.Fixtures.setGridId;
import static gov.nih.nci.cabig.ctms.testing.MoreJUnitAssertions.*;

/**
 * @author Rhett Sutphin
 */
public class AmendmentTest extends DomainTestCase {
    private Amendment a3, a2, a1, a0;
    private Amendment b2;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        a3 = createAmendments("A0", "A1", "A2", "A3");
        a2 = a3.getPreviousAmendment();
        a1 = a2.getPreviousAmendment();
        a0 = a1.getPreviousAmendment();

        b2 = createAmendments("B0", "B1", "B2");
        FormatTools.setLocal(new FormatTools("MM/dd/yyyy"));
    }

    @Override
    protected void tearDown() throws Exception {
        FormatTools.clearLocalInstance();
        super.tearDown();
    }

    public void testIsPreviousAmendment() throws Exception {
        assertFalse(a3.hasPreviousAmendment(a3));
        assertTrue(a3.hasPreviousAmendment(a2));
        assertTrue(a3.hasPreviousAmendment(a1));
        assertTrue(a3.hasPreviousAmendment(a0));

        assertFalse(a2.hasPreviousAmendment(a3));
        assertFalse(a2.hasPreviousAmendment(a2));
        assertTrue(a2.hasPreviousAmendment(a1));
        assertTrue(a2.hasPreviousAmendment(a0));

        assertFalse(a1.hasPreviousAmendment(a3));
        assertFalse(a1.hasPreviousAmendment(a2));
        assertFalse(a1.hasPreviousAmendment(a1));
        assertTrue(a1.hasPreviousAmendment(a0));

        assertFalse(a2.hasPreviousAmendment(b2));
    }

    public void testCount() throws Exception {
        assertEquals(3, a3.getPreviousAmendmentsCount());
        assertEquals(2, a2.getPreviousAmendmentsCount());
        assertEquals(1, a1.getPreviousAmendmentsCount());
        assertEquals(0, a0.getPreviousAmendmentsCount());
    }

    public void testDisplayNameWithDateOnly() throws Exception {
        a3.setName(null);
        a3.setDate(DateTools.createDate(2005, Calendar.MARCH, 6));
        assertEquals("03/06/2005", a3.getDisplayName());
    }

    public void testDisplayNameWithBlankName() throws Exception {
        a3.setName("  ");
        a3.setDate(DateTools.createDate(2005, Calendar.MARCH, 6));
        assertEquals("03/06/2005", a3.getDisplayName());
    }

    public void testDisplayNameWithDateAndName() throws Exception {
        a3.setDate(DateTools.createDate(2005, Calendar.MARCH, 6));
        assertEquals("03/06/2005 (A3)", a3.getDisplayName());
    }

    public void testDisplayNameForOriginalAmendment() throws Exception {
        a0.setName(Amendment.INITIAL_TEMPLATE_AMENDMENT_NAME);
        assertEquals("Initial template", a0.getDisplayName());
    }

    public void testIsInitialTemplate() throws Exception {
        a0.setName(null);
        assertFalse(a0.isInitialTemplate());
        a0.setName("3");
        assertFalse(a0.isInitialTemplate());
        a0.setName(Amendment.INITIAL_TEMPLATE_AMENDMENT_NAME);
        assertTrue(a0.isInitialTemplate());
    }

    public void testDefaultsToMandatory() throws Exception {
        assertTrue(new Amendment().isMandatory());
    }

    public void testNaturalKeyWithName() throws Exception {
        a0.setDate(DateTools.createDate(2005, Calendar.MAY, 4));
        a0.setName("4");
        assertEquals("2005-05-04~4", a0.getNaturalKey());
    }

    public void testNaturalKeyWithoutName() throws Exception {
        a0.setDate(DateTools.createDate(2009, Calendar.NOVEMBER, 6));
        a0.setName(null);
        assertEquals("2009-11-06", a0.getNaturalKey());
    }

    public void testNaturalKeyWithBlankName() throws Exception {
        a0.setDate(DateTools.createDate(2022, Calendar.MARCH, 6));
        a0.setName(" ");
        assertEquals("2022-03-06", a0.getNaturalKey());
    }

    public void testDecomposeNaturalKeyWithName() throws Exception {
        Amendment.Key actual = Amendment.decomposeNaturalKey("2003-08-11~fred");
        assertDayOfDate(2003, Calendar.AUGUST, 11, actual.getDate());
        assertEquals("Wrong name", "fred", actual.getName());
    }

    public void testGetNextDate() throws Exception {
        Amendment.Key actual = Amendment.decomposeNaturalKey("2003-08-11~fred");
        assertDayOfDate(2003, Calendar.AUGUST, 11, actual.getDate());
        Date nextDay = actual.getDateNext();
        Calendar c1 = Calendar.getInstance();
        c1.setTime(nextDay);
        int day = c1.get(Calendar.DATE);
        System.out.println("day " + day);
        assertEquals("Day is not incremented", 12, day);
        assertEquals("Wrong name", "fred", actual.getName());
    }

    public void testGetNextDateAtTheEndOfMonth() throws Exception {
        Calendar c = Calendar.getInstance();
        Amendment.Key actual = Amendment.decomposeNaturalKey("2003-08-31~fred");
        assertDayOfDate(2003, Calendar.AUGUST, 31, actual.getDate());
        c.setTime(actual.getDate());

        Date nextDay = actual.getDateNext();
        Calendar c1 = Calendar.getInstance();
        c1.setTime(nextDay);
        assertEquals("Day is not incremented", 1, c1.get(Calendar.DATE));
        assertEquals("Month is not incremented", c.get(Calendar.MONTH)+1, c1.get(Calendar.MONTH));
        assertEquals("Wrong name", "fred", actual.getName());
    }

    public void testDecomposeNaturalKeyWithoutName() throws Exception {
        Amendment.Key actual = Amendment.decomposeNaturalKey("2001-01-12");
        assertDayOfDate(2001, Calendar.JANUARY, 12, actual.getDate());
        assertNull("Wrong name", actual.getName());
    }

    private void ensureUpdatedDate(Amendment expectedAmendment, Date expectedDate) {
        expectedAmendment.getDeltas().clear();
        Delta<?> delta = Delta.createDeltaFor(new Epoch(), PropertyChange.create("name", "A", "B"));
        delta.getChanges().get(0).setUpdatedDate(expectedDate);
        expectedAmendment.addDelta(delta);
    }

    public void testLastModifiedDateIsNullIfAllDatesAreNull() throws Exception {
        a3.setReleasedDate(null);
        ensureUpdatedDate(a3, null);

        assertNull(a3.getLastModifiedDate());
    }

    public void testLastModifiedDatePrefersUpdatedDateIfLater() throws Exception {
        a3.setReleasedDate(DateTools.createDate(2007, Calendar.OCTOBER, 19));
        ensureUpdatedDate(a3, DateTools.createDate(2007, Calendar.OCTOBER, 20));

        assertDayOfDate(2007, Calendar.OCTOBER, 20, a3.getLastModifiedDate());
    }

    public void testLastModifiedDatePrefersReleasedDateIfLater() throws Exception {
        a3.setReleasedDate(DateTools.createDate(2007, Calendar.OCTOBER, 21));
        ensureUpdatedDate(a3, DateTools.createDate(2007, Calendar.OCTOBER, 20));

        assertDayOfDate(2007, Calendar.OCTOBER, 21, a3.getLastModifiedDate());
    }

    public void testLastModifiedDatePrefersUpdatedDateIfReleasedDateNull() throws Exception {
        a3.setReleasedDate(null);
        ensureUpdatedDate(a3, DateTools.createDate(2007, Calendar.OCTOBER, 20));

        assertDayOfDate(2007, Calendar.OCTOBER, 20, a3.getLastModifiedDate());
    }

    public void testLastModifiedDatePrefersReleasedDateIfNoDeltas() throws Exception {
        a3.setReleasedDate(DateTools.createDate(2007, Calendar.OCTOBER, 20));
        a3.getDeltas().clear();

        assertDayOfDate(2007, Calendar.OCTOBER, 20, a3.getLastModifiedDate());
    }

    public void testLastModifiedDatePrefersReleasedDateIfNoChanges() throws Exception {
        a3.setReleasedDate(DateTools.createDate(2007, Calendar.OCTOBER, 20));
        a3.addDelta(new EpochDelta());

        assertDayOfDate(2007, Calendar.OCTOBER, 20, a3.getLastModifiedDate());
    }

    public void testUpdatedDateWhenOneChangeHasAnUpdatedDate() throws Exception {
        a3.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B"), Add.create(new StudySegment())));
        a3.getDeltas().get(0).getChanges().get(0).setUpdatedDate(DateTools.createDate(2005, Calendar.MAY, 3));

        assertDayOfDate(2005, Calendar.MAY, 3, a3.getUpdatedDate());
    }

    public void testUpdatedDateIsMaxWithinOneDelta() throws Exception {
        a3.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B"), Add.create(new StudySegment())));
        a3.getDeltas().get(0).getChanges().get(0).setUpdatedDate(DateTools.createDate(2005, Calendar.MAY, 3));
        a3.getDeltas().get(0).getChanges().get(1).setUpdatedDate(DateTools.createDate(2005, Calendar.MAY, 4));

        assertDayOfDate(2005, Calendar.MAY, 4, a3.getUpdatedDate());
    }

    public void testUpdatedDateIsMaxAcrossDeltas() throws Exception {
        a3.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B")));
        a3.addDelta(Delta.createDeltaFor(new Epoch(),
            Add.create(new StudySegment())));
        a3.getDeltas().get(0).getChanges().get(0).setUpdatedDate(DateTools.createDate(2005, Calendar.MAY, 3));
        a3.getDeltas().get(1).getChanges().get(0).setUpdatedDate(DateTools.createDate(2005, Calendar.MAY, 4));

        assertDayOfDate(2005, Calendar.MAY, 4, a3.getUpdatedDate());
    }

    public void testCloneDeepClonesDeltas() throws Exception {
        Amendment src = Fixtures.createAmendment(null, DateTools.createDate(2008, Calendar.JUNE, 22));
        src.addDelta(Delta.createDeltaFor(new Study()));

        Amendment clone = src.clone();
        assertEquals("Wrong number of cloned changes", 1, clone.getDeltas().size());
        assertNotSame("Deltas not deep cloned", src.getDeltas().get(0), clone.getDeltas().get(0));
    }

    public void testCloneDeepClonesPreviousAmendments() throws Exception {
        Amendment src = Fixtures.createAmendments("C", "B", "A");
        Amendment clone = src.clone();

        assertNotSame("Previous amendment not cloned",
            src.getPreviousAmendment(), clone.getPreviousAmendment());
        assertNotSame("Previous previous amendment not cloned",
            src.getPreviousAmendment().getPreviousAmendment(),
            clone.getPreviousAmendment().getPreviousAmendment());
    }

    public void testSetMemOnlyRecursiveToDeltas() throws Exception {
        Amendment amendment = Fixtures.createAmendment(null, DateTools.createDate(2008, Calendar.JUNE, 22));
        amendment.addDelta(Delta.createDeltaFor(new Study()));
        amendment.setMemoryOnly(true);
        assertTrue(amendment.getDeltas().get(0).isMemoryOnly());
    }

    public void testSetMemOnlyRecursiveToPreviousAmendments() throws Exception {
        Amendment amendment = Fixtures.createAmendments("C", "B", "A");
        amendment.setMemoryOnly(true);
        assertTrue(amendment.getPreviousAmendment().isMemoryOnly());
    }

    public void testFindMatchingDelta() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Epoch epoch1 = new Epoch();
        epoch1.setGridId("epoch1");
        Delta<Epoch> delta1 = Delta.createDeltaFor(epoch1);
        delta1.setGridId("delta1");
        a1.addDelta(delta1);
        Delta actualDelta = a1.getMatchingDelta("delta1", "epoch1", delta1.getClass());
        assertNotNull("Delta not found", actualDelta);
    }

    public void testEqualsWhenAmendmentNameAndDateIsEquals() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        assertEquals("Amendments are not equals", a1, a2);
    }

    public void testEqualsWhenAmendmentNameAreNotEquals() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment1", DateTools.createDate(2007, Calendar.APRIL, 6));
        assertNotEquals("Amendments are not equals", a1, a2);
    }

    public void testEqualsWhenAmendmentDateAreNotEquals() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2008, Calendar.APRIL, 6));
        assertNotEquals("Amendments are not equals", a1, a2);
    }

    public void testDeepEqualsWhenDatesAreNotEqual() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2008, Calendar.APRIL, 6));
        assertDifferences(a1.deepEquals(a2), "amendment date 04/06/2007 does not match 04/06/2008");
    }

    public void testDeepEqualsWhenNamesAreNotEqual() throws Exception {
        Amendment a1 = Fixtures.createAmendment("A", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("B", DateTools.createDate(2007, Calendar.APRIL, 6));
        assertDifferences(a1.deepEquals(a2), "amendment name \"A\" does not match \"B\"");
    }

    public void testDeepEqualsWhenNoOfDeltaAreDifferent() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        a1.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B"), Add.create(new StudySegment())));
        a2.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B"), Add.create(new StudySegment())));
        a2.addDelta(Delta.createDeltaFor(new Epoch(),
            PropertyChange.create("name", "A", "B"), Add.create(new StudySegment())));
        Differences differences = a1.deepEquals(a2);
        assertFalse(differences.getMessages().isEmpty());
        assertEquals("Amendment are Equals", "number of deltas does not match: 1 != 2", differences.getMessages().get(0));
    }

    public void testDeepEqualsWhenNoDeltaFoundInAmendment() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Epoch epoch1 = new Epoch();
        epoch1.setGridId("epoch1");
        Delta<Epoch> delta1 = Delta.createDeltaFor(epoch1);
        delta1.setGridId("delta1");
        delta1.addChanges(PropertyChange.create("name", "A", "B"), Add.create(new StudySegment()));
        a1.addDelta(delta1);
        StudySegment segment1 =  new StudySegment();
        segment1.setGridId("segment1");
        Delta<StudySegment> delta2 = Delta.createDeltaFor(segment1);
        delta2.setGridId("delta1");
        delta2.addChanges(PropertyChange.create("name", "A", "B"), Add.create(new StudySegment()));
        a2.addDelta(delta2);
        Differences differences = a1.deepEquals(a2);
        assertFalse(differences.getMessages().isEmpty());
        assertEquals("Amendments are equals", "no delta for epoch epoch1 found", differences.getMessages().get(0));
    }

    public void testDeepEqualsWhenDeltaAreNotEquals() throws Exception {
        Amendment a1 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Amendment a2 = Fixtures.createAmendment("Amendment", DateTools.createDate(2007, Calendar.APRIL, 6));
        Epoch epoch1 = new Epoch();
        epoch1.setName("Epoch");
        epoch1.setGridId("GridId1");
        Delta<Epoch> delta1 = Delta.createDeltaFor(epoch1);
        delta1.setGridId("delta1");
        delta1.addChanges(PropertyChange.create("name", "A", "C"), Add.create(new StudySegment()));
        a1.addDelta(delta1);
        Epoch epoch2 = new Epoch();
        epoch2.setName("Epoch");
        epoch2.setGridId("GridId1");
        Delta<Epoch> delta2 = Delta.createDeltaFor(epoch2);
        delta2.setGridId("delta1");
        delta2.addChanges(PropertyChange.create("name", "A", "B"), Add.create(new StudySegment()));
        a2.addDelta(delta2);
        Differences differences = a1.deepEquals(a2);
        assertFalse(differences.getChildDifferences().isEmpty());

        assertChildDifferences(differences,
            new String[] { "delta for epoch GridId1", "property change for name" },
            "new value \"C\" does not match \"B\"");
    }

    public void testDeepEqualsWithMismatchedChanges() throws Exception {
        Amendment a = new Amendment();
        a.getDeltas().add(setGridId("D1", Delta.createDeltaFor(
            setGridId("PC1", new PlannedCalendar()),    Add.create(setGridId("E1", new Epoch())))
        ));
        Amendment b = new Amendment();
        b.getDeltas().add(setGridId("D1", Delta.createDeltaFor(
            setGridId("PC1", new PlannedCalendar()), Remove.create(setGridId("E1", new Epoch())))
        ));

        assertChildDifferences(a.deepEquals(b), new String[] { "delta for planned calendar PC1" },
            "add of epoch:E1 replaced by remove of epoch:E1");
    }
}

redpajama_set_name: RedPajamaGithub


I was just invited to a "lay it all on" day at the races for Oaks Day during Melbourne Cup week in Melbourne when I had an insight. It was alcohol induced, but an insight nonetheless.
A cool statue of Makybe Diva is now immortalised on the lawns on Flemington so I stopped to grab a pic. Standing next to this amazing creature, you can't help but be in awe of her greatness. The greatest ever winning Melbourne Cup horse!!!
If you want to be inspired, if you want greater results in your life – you need to hang out with winners.
Greatness rubs off on people. Just being around a statue, a person, a location where great battles were won, allows your mind to visualise and absorb what it must have felt like.
It's a bit like hanging around a great mentor who influences the way you think and feel just by being around them.
My ONLY comment is: "Why the Hell didn't you let me know you were going to be there Mate," I would gladly have met you there, I could even have turned up in much the same Clobber! Then you're day would surely have been complete scott, As you would have Indeed have nbeen standing next to "REAL GREATNESS." — Chow My Boy!
Yes! it is said iron sharpens iron. s when you rub minds, yu will eventually become.
"oh o" busted!!! It was a fly in fly out visit hosted by Flexirent Australia who flew me in. Had a blast though. Back in Melbourne in a couple of weeks. See you then Dad.


Please Note: Changes to auto insurance rates for light vehicles take effect May 19, 2019. To see how your rate may be affected visit the light vehicle rate page.
not included in the rate calculator.
Are you entitled to a farm car discount?
Apply the Reduced No Fault Injury Coverage Discount?
The registration and insurance for this vehicle is per year. Based on the information you have chosen, this registration would expire on .
This annual rate reflects a discount of for your safety rating.
You may pay your insurance through monthly installments.
The down payment amount and the monthly amounts depend on both the day of the month you register your vehicle and the day you would like payments to be withdrawn from your account.
With the registration effective date you have entered and the funds available date you have chosen, you would pay a down payment of and monthly payments of . This includes PST plus a 4% finance fee. It is important to note that any change in the dates you've chosen will result in a change to these amounts.
Disclaimer: Please note that this information is provided for your convenience and is not legally binding on the corporation. The rates provided are based on criteria that you have chosen and may be subject to change without notice. Please contact your SGI motor licence issuer or SGI to verify your insurance rates or to purchase your licence plates and insurance.


Triple threat performer and all round nice guy Kuki Tipoki has been selected as one of the ensemble cast members for the upcoming Australian production of Mamma Mia. Kuki Tipoki is an accomplished musician and vocalist playing cello, guitar and bass. Having worked for many Australian and International producers as a performer, Kuki has continued to build repute in the industry culminating in the launch of Laviathon production house.
Kuki's most recent musical theatre credits include SHOUT!, 2006/2007 Japan tour of We Will Rock You and also the Australian tour of the Boy From Oz starring Hugh Jackman. Other stage credits include Fiddler on the Roof, Grease- the arena spectacular, The Man From Snowy River, The King and I and South Pacific. After having gained experience in the various fields of performing, kuki continued to develop his skills as a director, producer and sound engineer.


text:
Q: What does it mean to regress out current features? First of all, I'd like to say that this is the intro to a homework problem.  Please do not post any answers, I am only looking for clarification on some terminology in the setup.

I am trying to understand how this algorithm works and most of it makes sense except for the part where they "update the residual by regressing out the currently selected features".  What does that mean? and what is the least squares regression of $y$ onto $X_{S_t}$?


text:
Gawker unable to reach owner of alleged Rob Ford video, editor says
by News Staff
Posted May 23, 2013 8:48 pm EDT
TORONTO – Nearing its $200,000 goal, the Gawker-led "Crackstarter" campaign hit a snag Thursday night — editor John Cook says the website has been unable to reach the owner of the alleged Mayor Rob Ford crack video since Sunday.
The crowd-funding campaign is trying to purchase cellphone video that allegedly shows Ford smoking crack cocaine.
By late Thursday, the campaign was at nearly $160,000.
"At the rate it's going, we will reach our goal by Saturday, if not sooner," Cook wrote in an update.
However, Cook said that neither the U.S.-based website nor the "tipster" that alerted Gawker to the alleged video has been able to reach the source.
"We were initially made aware of the video by a tipster, who connected us with the owner of the video after we travelled to Toronto," Cook wrote.
"We've been in relatively constant communication with the tipster since then. But he has told us that hasn't been able to make contact with the owner of the video in recent days."
In an interview with 680News' sister station KiSS 92.5, Cook said there is concern whether the alleged video will surface.
"Our confidence that this can actually happen has diminished somewhat," he said.
"I'm not at all worried that it was a hoax because I know it wasn't a hoax. I am concerned about whether or not this is actually ever going to see the light of day."
The campaign will end Monday. Because the initiative is a fixed-funding campaign, it will only receive the funds if the goal is reached by its 11:59 p.m. PT deadline.
Cook said he is hopeful he is able to reach the source or the owner of the alleged video will resurface once the goal is reached.
"I think the intense scrutiny and interest has scared these guys off," he told KiSS 92.5.
"My hope is that they realize that what they actually wanted to begin with is basically on the table and that they get in touch," he said.
However, if the goal is met and Gawker cannot obtain the alleged video, the proceeds will go to a Canadian non-profit that focuses on substance abuse issues, Cook said in the update.
The campaign also received a $10,000 contribution Thursday. According to Gawker, the donor would receive "the actual iPhone that was used to record the video."
"This perk is, of course, contingent on the deal actually happening as we hope," Gawker wrote on its campaign page.
Last week, both Gawker and the Toronto Star reported they had seen but did not obtain a video allegedly showing Ford appearing to smoke crack cocaine. According to the two reports, it was shot by an alleged drug dealer who was shopping it around for six figures.
Neither of the reports about the alleged video have been independently verified.
City Hall|Crack|Gawker|rob ford|toronto


M/S Sun Ray is one of the Largest and most Luxurious vessels on the Nile River between Luxor and Aswan providing the services and facilities of 5 Star Deluxe. The crew and the management on the M/S Sun Ray assure comfortable and enjoyable cruise on the Nile River.
Cabins; 60 outside cabins (20 SQM) + 2 Single cabins (15.00 SQM) + 2 Junior Suites (37 SQM) + 2 Senior Suites (39 SQM).
The cabin have been designed to the very highest standards, keeping guests comfort & needs in mind throughout.
Each cabin has either two Twin beds or King-size bed, private bathroom with bath tub & Hair Dryer, mini-bar, remote control LCD television, music channels, Internal telephone , controlled air condition, safe deposit box & 2 Life Jackets.
N.B.: Itineraries vary according to season and local conditions .


The experts at Koury Painting & Power Washing are your source for quality residential painting services in Westwood, NJ; Ramsey, NJ & Pearl River, NY.
When your home could use a touch up, call the residential painting experts at Koury Painting & Power Washing. See for yourself what makes us the preferred painting service of countless home owners in the Westwood, NJ; Ramsey, NJ; and Pearl River, NY areas.
Quality Paints - We apply superior quality paint products – applied evenly with proper thickness and uniformity in appearance, color and sheen; without runs, streaks or bare spots.
Wall Coverings - We apply all types of decorative wall coverings.
Trim Work - Installation of crown moldings, decorative moldings, door frames and window casings. Creative design and installation of wall panels and wainscoting.
Siding - We apply superior quality paint products to vinyl, aluminum, stucco, wood shingles, clapboard and dryvitt siding. Restoration of weathered aluminum and vinyl sidings with a brilliant acrylic coating.
Protective Coatings - We apply all types of protective finishes and stains.
State-of-the-Art Lift - We use a state of the art lift that enables us to handle jobs over 20ft without leaning on your home. Regardless of property slope, we are able to set up the lift with no damage to your lawn.
Services - We clean homes, roofs, decks and patios and wash pool areas, walkways and masonry steps. We offer complete removal of mold, mildew, dirt and loose paint.
Slate Roofs - Slate roof cleaning and maintenance experts. Using our lift, we are able to clean the slate and replace cracked or missing pieces, when necessary.
Field Stone Cleaning - We apply and use safely heavy-duty chemicals to clean your field stone and make it look like new.
Complete color and coating consultation – will provide a large variety of oversized samples allowing for easy color selection.
Careful and thorough prep work, often the most important and time-consuming step in the paint process.
Special attention in selection of the right shine and finish leading to uniformity in appearance, color and sheen with lines between colors being extremely straight, sharp and true.
A final inspection to correct any imperfections to guarantee a perfect job every time.


text:
package io.enmasse.admin.model.v1;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

import io.fabric8.kubernetes.api.model.Doneable;
import io.fabric8.kubernetes.api.model.IntOrString;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.BuildableReference;
import io.sundr.builder.annotations.Inline;

@Buildable(
        editableEnabled = false,
        generateBuilderPackage = false,
        builderPackage = "io.fabric8.kubernetes.api.builder",
        refs = {@BuildableReference(AbstractHasMetadataWithAdditionalProperties.class)},
        inline = @Inline(type = Doneable.class, prefix = "Doneable", value = "done")
)
@JsonPropertyOrder({"resources", "addressFullPolicy", "globalMaxSize", "storageClassName", "updatePersistentVolumeClaim", "podTemplate", "connectorIdleTimeout", "connectorWorkerThreads", "minAvailable", "maxUnavailable", "javaOpts"})
@JsonInclude(JsonInclude.Include.NON_NULL)
public class StandardInfraConfigSpecBroker extends AbstractWithAdditionalProperties {
    private StandardInfraConfigSpecBrokerResources resources;
    private String addressFullPolicy;
    private String globalMaxSize;
    private String storageClassName;
    private Boolean updatePersistentVolumeClaim;
    private PodTemplateSpec podTemplate;
    private Integer connectorIdleTimeout;
    private Integer connectorWorkerThreads;
    private IntOrString minAvailable;
    private IntOrString maxUnavailable;
    private String javaOpts;

    public void setResources(StandardInfraConfigSpecBrokerResources resources) {
        this.resources = resources;
    }

    public StandardInfraConfigSpecBrokerResources getResources() {
        return resources;
    }

    public void setAddressFullPolicy(String addressFullPolicy) {
        this.addressFullPolicy = addressFullPolicy;
    }

    public String getAddressFullPolicy() {
        return addressFullPolicy;
    }

    public String getGlobalMaxSize() {
        return globalMaxSize;
    }

    public void setGlobalMaxSize(String globalMaxSize) {
        this.globalMaxSize = globalMaxSize;
    }

    public void setStorageClassName(String storageClassName) {
        this.storageClassName = storageClassName;
    }

    public String getStorageClassName() {
        return storageClassName;
    }

    public void setUpdatePersistentVolumeClaim(Boolean updatePersistentVolumeClaim) {
        this.updatePersistentVolumeClaim = updatePersistentVolumeClaim;
    }

    /*
     * NOTE: This is required due to a bug in the builder generator. For a boolean object
     * type it requires an "is" type of the getter. Luckily we can hide this behind the "default"
     * visibility. Also the "is" variant must appear before the "get" variant.
     */
    Boolean isUpdatePersistentVolumeClaim() {
        return updatePersistentVolumeClaim;
    }

    public Boolean getUpdatePersistentVolumeClaim() {
        return updatePersistentVolumeClaim;
    }

    public PodTemplateSpec getPodTemplate() {
        return podTemplate;
    }

    public void setPodTemplate(PodTemplateSpec podTemplate) {
        this.podTemplate = podTemplate;
    }

    public Integer getConnectorIdleTimeout() {
        return connectorIdleTimeout;
    }

    public void setConnectorIdleTimeout(Integer connectorIdleTimeout) {
        this.connectorIdleTimeout = connectorIdleTimeout;
    }

    public Integer getConnectorWorkerThreads() {
        return connectorWorkerThreads;
    }

    public void setConnectorWorkerThreads(Integer connectorWorkerThreads) {
        this.connectorWorkerThreads = connectorWorkerThreads;
    }

    public IntOrString getMinAvailable() {
        return minAvailable;
    }

    public void setMinAvailable(IntOrString minAvailable) {
        this.minAvailable = minAvailable;
    }

    public IntOrString getMaxUnavailable() {
        return maxUnavailable;
    }

    public void setMaxUnavailable(IntOrString maxUnavailable) {
        this.maxUnavailable = maxUnavailable;
    }

    public void setJavaOpts(String javaOpts) {
        this.javaOpts = javaOpts;
    }

    public String getJavaOpts() {
        return javaOpts;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        StandardInfraConfigSpecBroker that = (StandardInfraConfigSpecBroker) o;
        return Objects.equals(resources, that.resources) &&
                Objects.equals(addressFullPolicy, that.addressFullPolicy) &&
                Objects.equals(globalMaxSize, that.globalMaxSize) &&
                Objects.equals(storageClassName, that.storageClassName) &&
                Objects.equals(updatePersistentVolumeClaim, that.updatePersistentVolumeClaim) &&
                Objects.equals(podTemplate, that.podTemplate) &&
                Objects.equals(connectorIdleTimeout, that.connectorIdleTimeout) &&
                Objects.equals(connectorWorkerThreads, that.connectorWorkerThreads) &&
                Objects.equals(minAvailable, that.minAvailable) &&
                Objects.equals(maxUnavailable, that.maxUnavailable) &&
                Objects.equals(javaOpts, that.javaOpts);
    }

    @Override
    public int hashCode() {
        return Objects.hash(resources, addressFullPolicy, globalMaxSize, storageClassName, updatePersistentVolumeClaim, podTemplate, connectorIdleTimeout, connectorWorkerThreads, minAvailable, maxUnavailable, javaOpts);
    }

    @Override
    public String toString() {
        return "StandardInfraConfigSpecBroker{" +
                "resources=" + resources +
                ", addressFullPolicy='" + addressFullPolicy + '\'' +
                ", storageClassName='" + storageClassName + '\'' +
                ", globalMaxSize='" + globalMaxSize + '\'' +
                ", updatePersistentVolumeClaim=" + updatePersistentVolumeClaim +
                ", podTemplate=" + podTemplate +
                ", connectorIdleTimeout=" + connectorIdleTimeout +
                ", connectorWorkerThreads=" + connectorWorkerThreads +
                ", minAvailable=" + minAvailable +
                ", maxUnavailable=" + maxUnavailable +
                ", javaOpts=" + javaOpts +
                '}';
    }

}


text:
using System;
using System.Collections.Generic;
using System.Text;

namespace MLifter.DAL
{
	/// <summary>
	/// This class represents a learning module category.
	/// </summary>
	[Serializable()]
	public class Category
	{
		private bool m_Converted = false;
		private int m_Id = -1;
		//private int m_OldId = -1;
		private string m_Description = "";

		internal event EventHandler IdChanged;

		/// <summary>
		/// The id of the default category.
		/// </summary>
		public static readonly int DefaultCategory = 3;

		/// <summary>
		/// The names of the legacy categories.
		/// </summary>s
		private readonly string[] OldCategoryNames = new string[12]
		{
			Properties.Resources.CATEGORYNAMES0,
			Properties.Resources.CATEGORYNAMES1,
			Properties.Resources.CATEGORYNAMES2,
			Properties.Resources.CATEGORYNAMES3,
			Properties.Resources.CATEGORYNAMES4,
			Properties.Resources.CATEGORYNAMES5,
			Properties.Resources.CATEGORYNAMES6,
			Properties.Resources.CATEGORYNAMES7,
			Properties.Resources.CATEGORYNAMES8,
			Properties.Resources.CATEGORYNAMES9,
			Properties.Resources.CATEGORYNAMES10,
			Properties.Resources.CATEGORYNAMES11
		};

		private readonly string[] CategoryNames = new string[6]
		{
			Properties.Resources.NEWCATEGORYNAMES0,
			Properties.Resources.NEWCATEGORYNAMES1,
			Properties.Resources.NEWCATEGORYNAMES2,
			Properties.Resources.NEWCATEGORYNAMES3,
			Properties.Resources.NEWCATEGORYNAMES4,
			Properties.Resources.NEWCATEGORYNAMES5,
		};

		private Category()
		{
			// for serialization only!
		}

		internal Category(int id)
		{
			m_Id = id;
			m_Converted = true;
		}

		internal Category(int id, bool converted)
		{
			m_Id = id;
			m_Converted = converted;
			if (!converted)
			{
				//automatically translate Arts, Languages and Miscellaneus
				switch (m_Id)
				{
					case 0:
						m_Id = 1;
						m_Converted = true;
						break;
					case 4:
						m_Id = 2;
						m_Converted = true;
						break;
					case 7:
						m_Id = 3;
						m_Converted = true;
						break;
					default:
						break;
				}
			}
		}

		private Category(int id, string description)
		{
			m_Id = id;
			m_Description = description;
		}

		internal bool Converted
		{
			get { return m_Converted; }
			set { m_Converted = value; }
		}

		/// <summary>
		/// Gets the old id.
		/// </summary>
		/// <value>The old id.</value>
		/// <remarks>Documented by Dev03, 2008-02-14</remarks>
		internal int OldId
		{
			get
			{
				//CATEGORYNAMES0	Arts
				//CATEGORYNAMES1	Earth Sciences
				//CATEGORYNAMES2	History
				//CATEGORYNAMES3	Humanities
				//CATEGORYNAMES4	Languages
				//CATEGORYNAMES5	Leisure
				//CATEGORYNAMES6	Medical Sciences
				//CATEGORYNAMES7	Miscellaneous
				//CATEGORYNAMES8	Politics
				//CATEGORYNAMES9	Pure Sciences
				//CATEGORYNAMES10	Social Science
				//CATEGORYNAMES11	Technology
				//NEWCATEGORYNAMES0	Applied Sciences (0)	->  Pure Sciences (9)
				//NEWCATEGORYNAMES1	Arts (1)	->  Arts (0)
				//NEWCATEGORYNAMES2	Languages (2)	->  Languages (4)
				//NEWCATEGORYNAMES3	Miscellaneous (3)	->  Miscellaneous (7)
				//NEWCATEGORYNAMES4	Natural Sciences (4)	->  Earth Sciences (1)
				//NEWCATEGORYNAMES5	Social Sciences (5) ->  Humanities (3)
				if (!m_Converted)
					return m_Id;
				int oldId = 7;
				switch (m_Id)
				{
					case 0:
						oldId = 9;
						break;
					case 1:
						oldId = 0;
						break;
					case 2:
						oldId = 4;
						break;
					case 4:
						oldId = 1;
						break;
					case 5:
						oldId = 3;
						break;
					case 3:
					default:
						oldId = 7;
						break;
				}
				return oldId;
			}
		}

		/// <summary>
		/// Gets or sets the id.
		/// </summary>
		/// <value>
		/// The id.
		/// </value>
		public int Id
		{
			get { return m_Id; }
			set
			{
				m_Id = value;
				IdChanged(this, null);
			}
		}

		/// <summary>
		/// Gets or sets the description.
		/// </summary>
		/// <value>
		/// The description.
		/// </value>
		public string Description
		{
			get
			{
				if (m_Converted)
				{
					if ((m_Id >= 0) && (m_Id < CategoryNames.Length))
						return CategoryNames[m_Id];
					else
						return m_Description;
				}
				else
				{
					if ((m_Id >= 0) && (m_Id < OldCategoryNames.Length))
						return OldCategoryNames[m_Id];
					else
						return m_Description;
				}
			}
			set { m_Description = value; }
		}

		/// <summary>
		/// Returns a <see cref="System.String"/> that represents this instance.
		/// </summary>
		/// <returns>
		/// A <see cref="System.String"/> that represents this instance.
		/// </returns>
		public override string ToString()
		{
			return String.Format("{0}", Description);
		}

		/// <summary>
		/// Determines whether the specified <see cref="System.Object"/> is equal to this instance.
		/// </summary>
		/// <param name="obj">The <see cref="System.Object"/> to compare with this instance.</param>
		/// <returns>
		///   <c>true</c> if the specified <see cref="System.Object"/> is equal to this instance; otherwise, <c>false</c>.
		/// </returns>
		/// <exception cref="T:System.NullReferenceException">
		/// The <paramref name="obj"/> parameter is null.
		///   </exception>
		public override bool Equals(Object obj)
		{
			if (obj == null)
				return false;

			Category category = obj as Category;
			if (category == null)
				return false;

			return Equals(category);
		}

		/// <summary>
		/// Checks if this category equalses to the specified category.
		/// </summary>
		/// <param name="category">The category to compare to.</param>
		/// <returns></returns>
		public bool Equals(Category category)
		{
			if (category == null)
				return false;

			return (this.Id == category.Id && this.Converted == category.Converted);
		}

		/// <summary>
		/// Returns a hash code for this instance.
		/// </summary>
		/// <returns>
		/// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
		/// </returns>
		public override int GetHashCode()
		{
			return this.Converted ? this.Id : this.Id + CategoryNames.Length;
		}

		// STATIC Classes

		/// <summary>
		/// Gets the default category.
		/// </summary>
		/// <returns></returns>
		public static Category GetDefaultCategory()
		{
			return new Category(MLifter.DAL.Category.DefaultCategory);
		}

		/// <summary>
		/// Gets all categories.
		/// </summary>
		/// <returns></returns>
		public static List<Category> GetCategories()
		{
			List<Category> categories = new List<Category>();
			Category mother = new Category();
			for (int i = 0; i < mother.CategoryNames.Length; i++)
				categories.Add(new Category(i));
			return categories;
		}

		/// <summary>
		/// Converts an old CategoryId to the new CategoryId.
		/// </summary>
		/// <param name="oldCatId">old category id.</param>
		/// <returns>the new Category Id</returns>
		/// <remarks>Documented by Dev08, 2008-10-06</remarks>
		public static int ConvertCategoryId(int oldCatId)
		{
			switch (oldCatId)
			{
				case 0:             //Old Category "Arts"
					return 1;       //New Category "Arts"

				case 4:             //Old Category "Languages"
					return 2;       //New Category "Languages"

				case 6:             //Old Category "Miscellaneous"
					return 3;       //New Category "Miscellaneous"

				case 10:            //Old Category "Social Sciences"
					return 5;       //New Category "Social Sciences"

				default:
					return 3;       //New Category "Miscellaneous"
			}
		}
	}
}


Today's businesses are tackling the challenge of solving their growing infrastructure and communications demands by embracing Hosted PBX/VoIP services. In fact, in an August 2014 Infonetics Research report entitled, 'Business Cloud VoIP and UC Services,' Principal Analyst Diane Meyers states that while sales of premise-based PBX systems have been stagnant to declining over the past few years, the market for cloud services continues to expand with businesses worldwide seeking out hosted alternatives.
Whether it is referred to as Hosted PBX, Hosted VoIP, Cloud PBX and/or Cloud VoIP, this dynamic technology effectively and efficiently shifts the cost of a new phone system and the replacement and upgrade costs of an existing one, to your operating budget. Organizations can now focus on their core business and have the peace of mind to know that their communications infrastructure is in good hands with geo-redundant servers, data centers, 24/7 support, automatic patching and consistent, secure anywhere access.
In this white paper, we cover some top operational advantages and productivity features of Hosted PBX. Please note: our whitepapers are free to download; we simply ask that you provide your full name and a valid email address.
To download this whitepaper, please fill out the quick form below and then click the 'subscribe to unlock' button. Thanks and happy reading!