text:
Christian Courier
Recent Articles Alpha Index Surprise Me Author Index
Does the Bible Encourage Hatred?
By Wayne Jackson
"I am confused about the Bible's teaching on 'hate.' Sometimes hate is condemned, at other times it seems to be encouraged. Can you comment on this?"
There are two basic biblical words that represent the concept of hating. In the Old Testament, sane (used about 145 times) means to "to hate, to set against."
In the New Testament, the word is miseo (found some 40 times). It is used with the meaning of "to hate, despise, or to disregard," depending upon the context.
The easiest way to approach this theme is to note that these terms are employed by sacred writers either in an absolute sense, or in a relative sense. This distinction is paramount in arriving at an understanding of this theme.
Hatred: The Absolute Sense
That there is nothing evil in hate per se should be evident from the fact that even God is represented as hating in a certain way.
We must note in passing, however, that the attribution of strong feelings to Jehovah frequently reflects a biblical figure of speech known as anthropopathism (human passion), by which certain volatile emotions common to man are attributed to deity for the sake of emphasis.
As one scholar has noted, this is not "emotional hate but a disowning of evil and those who commit it" (Bromiley 1985, p. 598).
And so, there is a fashion in which the Lord hates; similarly, there is also an appropriate expression of hate for the faithful servant of God.
Note the list of character flaws that are "hated" by the Lord (because of his innately holy nature — cf Isa. 6:3; Rev. 4:8), e.g., haughty eyes, the lying tongue, the shedding of innocent blood, the perpetration of family discord, etc. (Prov. 6:16ff).
The prophet Amos, speaking on behalf of Jehovah, delivers a stinging rebuke to the citizens of the Northern Kingdom of Israel. Their worship exercises were mere formality rituals; though the people dutifully offered animal sacrifices, unrighteousness saturated their daily lives. Thus, God despised their worship facades (Am. 5:21ff; cf. Isa. 1:11ff).
A beautiful passage in the book of Hebrews represents God, the Father, as speaking to his Son, and saying,
"You have loved righteousness, and hated iniquity. Therefore God, your God, has anointed you with the oil of gladness above your fellows" (Heb. 1:9).
A psalmist admonishes, "O you who love Jehovah, hate evil!" (Psa. 97:10). This text illustrates that there is an appropriate level of hate entertained by godly people.
Another passage exclaims: "Through your precepts I get understanding; therefore I hate every evil way" (Psa. 119:104). The reverse implication is this: If one refuses to hate that which is corrupting and bad, he is void of an understanding of Heaven's law.
When Christ dispatched a letter to the church at Ephesus, though he censured them in several particulars, nonetheless he had this word of commendation for those saints:
"But this you have, you hate the works of the Nicolaitans, which I also hate" (Rev. 2:6).
It is believed that this ancient sect advocated compromise with idolatrous cultism and sanctioned sexual immorality.
Paul used the term "hate" in a context wherein he expressed his deep remorse relative to occasional lapses in his spirituality. If I may take the liberty of paraphrasing the apostle, with great anguish he confesses:
"Sometimes I do not understand why I yield to the things I do. There are things I know I should be doing, yet I am not. And I find myself doing things that I actually hate ... wretched man that I am, who shall deliver me from this body of death" (Rom. 7:15, 24).
While we may entertain a certain level of self-esteem, because we are creatures in God's image (Gen. 1:26), and due to the fact that we have been bought with the Lamb's blood (1 Cor. 6:19), nevertheless, we ought to genuinely hate the sins into which we fall through weakness.
Hatred: The Relative Sense
In the ancient world, the term hate did not necessarily carry the overwhelmingly negative tone that it does in modern society.
The Middle East vocabulary was characterized by a greater degree of excitability, and so what we might describe as a lesser love, or possibly a disregard, the Eastern mind would call hate — though such should not be understood in the sense we normally would refer to hate (see Thayer 1956, p. 415).
Several examples will suffice to illustrate the point.
One recalls that Jacob longed to marry his beloved Rachel, but at the time of the marriage feast her sister, Leah, was "palmed off" upon the unsuspecting groom by the girls' father, Laban. Likely Leah's identity was concealed by the use of the oriental veil (Gen. 29:22-25; see Walton 2000, p. 62).
Subsequently, however, Jacob did marry Rachel, who was "loved more" than her sister (Gen. 29:30). The "lesser love" for Leah, though, is depicted as "hate" in that antique style of phraseology (Gen. 29:31).
There is a similar example in the Gospel records. Christ taught that one cannot become his disciple unless he "hates" his fleshly family (Lk. 14:26). In a parallel passage, however, it becomes clear that "hate" is the equivalent of "love less" (Mt. 10:37).
The point is this: Love for the Son of God must be unrivaled by mere familial love. Jesus Christ will not take second place! One who is deity has every right to make such a demand.
This idiomatic use of hate is again seen in Christ's challenge regarding the kind of quality service that is essential in serving God. The Lord stated that the person who exalts his own life to the status of the supreme, will actually lose that life.
By way of contrast, the one who "hates" his life (i.e., he is willing to subordinate it to the higher interests of God's kingdom), is the one who, in fact, saves his life (Jn. 12:25).
A curious passage in the book of Romans (though grounded in the Old Testament — Mal. 1:2ff) can be understood only in the light of the exaggerated use of "hate." Paul says, regarding the two sons of Isaac, "Jacob I loved, but Esau I hated" (Rom. 9:13).
There are those (especially of the Calvinistic persuasion) who contend that this text argues that God elects some to be saved and others to be lost, strictly on the basis of his sovereignty—irrespective of one's response to the will of the Lord, or his rejection of the same.
Douglas Moo has written regarding Romans 9:13:
"I have argued that this passage gives strong exegetical support to a traditional Calvinistic interpretation of God's election: God chooses those who will be saved on the basis of his own will and not on the basis of anything — works or faith, whether foreseen or not — in those human beings so chosen" (Moo 1996, p. 587).
Professor Moo's mistake lies in his assumption that individual "salvation" is under consideration in this context. That is not the case. Rather, as Jack Cottrell has argued convincingly, "the subject here is not individual salvation but election to service" (Cottrell 1998, p. 83).
And so, as M. T. Braunch has observed:
"The strong expression 'Esau I hated' must be seen as a typical example of Eastern hyperbole, which express thing in terms of extremes ... Neither in Malachi nor in Paul's use of [hate] is there then any warrant for the idea that God has determined in advance the eternal destinies of either the people of Israel or the people of Edom. The historical situations of the two, their 'election' or 'rejection,' are but temporary evidences of God's sovereign freedom with which he moves history toward his redemptive purposes" (Kaiser 1996, pp. 560-561).
On the basis of the available data, it is quite clear that the term "hate" must be examined in the light of the immediate contexts in which the term is found and out of the cultural background from which the word arises.
When these considerations are factored in, there is no difficulty in viewing the term in different senses without any conflict being attributed to the sacred Scriptures.
Did Balaam Prophesy Concerning the Messiah?
The Drawing Power of God
The Value of Old Testament Study
The Wages of Sin and the Free Gift of God
The Righteousness of God Revealed
What Do You Know About the Holy Spirit?
The Sweet Fragrance of a Subtle Argument
In What Sense is Humanity in the Image of God?
The Intercession of the Spirit
Is Accountability "Hereditary"?
Bromiley, G. W. Ed. 1985. Theological Dictionary of the New Testament — Abridged. Grand Rapids, MI: Eerdmans.
Cottrell, Jack. 1998. The College NIV Commentary — Romans. Vol. II. Joplin, MO: College Press.
Kaiser, Walter C., Jr., _et al. 1996. Hard Sayings of the Bible. Downers Grove, PA: InterVarsity Press.
Moo, Douglas. 1996. The Epistle to the Romans. Grand Rapids, MI: Eerdmans.
Thayer, J. H. 1956. Greek-English Lexicon of the New Testament. Edinburgh: T. & T. Clark.
Walton, J. H., V. H. Matthews & M. W. Chavalas. 2000. The Bible Background Commentary — Old Testament. Downers Grove, IL: InterVarsity Press.
Isaiah 6:3; Revelation 4:8; Proverbs 6:16; Amos 5:21; Isaiah 1:11; Hebrews 1:9; Psalm 97:10; Psalm 119:104; Revelation 2:6; Romans 7:15, 24; Genesis 1:26; 1 Corinthians 6:19; Genesis 29:22-25; Genesis 29:30; Genesis 29:31; Luke 14:26; Matthew 10:37; John 12:25; Malachi 1:2; Romans 9:13
Jackson, Wayne. "Does the Bible Encourage Hatred?" ChristianCourier.com. Access date: July 17, 2019. https://www.christiancourier.com/articles/652-does-the-bible-encourage-hatred
©2019. All rights reserved. ISSN: 1559-2235.
Fortify Your Faith
Jackson, Tennessee 38308


text:
Q: Should I be using a ForeignKey in this Django model? I've been reading a lot about Django and have finally begun developing the models for a project I've outlined, but I'm having trouble understanding ForeignKeys, and how/when to use them. I have read a bit about database work to better understand Foreign keys in general, but with no prior database experience I am still kind of confused.
I've come up with an example situation, similar to the project I'm working on and would like to know if both uses of the ForeignKey are proper, or should I use a OneToOneField or ManyToManyField in their place.
In this example situation, I would like each Bridge to have multiple builders, and each tool to have multiple different users (or Builders who are skilled with them). I would NOT like a builder to work on multiple bridges at the same time (OneToOne??). However, I would like each builder to have the ability to have multiple Tools they are skilled with(ManyToMany??).
    class Builder(models.Model):
        first_name = models.CharField( max_length = 50 )

    class Bridge(models.Model):
        bridge_name = models.CharField( max_length = 50 )
        builders = models.ForeignKey(Builder)

    class Tool(models.Model):
        tool_name = models.CharField( max_length = 50 )
        users = models.ForeignKey( Builder )

From my understanding, I can retrieve all of a builders' tools in the views.py file, although I haven't gotten to this part of the development yet, and would like to ensure I have a strong model before getting that far.
Considering how generic and open-ended this question can be, overall I would just like someone to explain:
WHY each ForeignKey relationship in this example
model is either used correctly or incorrectly.

A: It's not actually a Django question but rather a ORM question, you need to understand what and how ORM works (apart from the language and the framework used).
Your case yields different results:
1 Bridge can Have Many workers (One (bridge) <--* Many (Worker), ForeignKey)
1 Bridge can have 1 worker (One (Bridge) <--> One (Worker), One To One field)
Many Bridges can have many workers (Many (Bridges) * -- * many (Workers), Many to Many field)
If you use a ForeignKey from tools to builders, it means that a worker can have many tools, but each tool is unique to a worker, if you have many to many then any worker can have any tool.
If you need tools to belong to many different workers, then you need a many to many relation, if the tools need some specific restrictions (like skills) then again a many to many relation with specific limitations (a through table could hold extra information regarding the association, like worker 1 uses tool 1 every friday, that would be a through table of workers to tools with the middle table holding the day the worker uses the specific tool).

redpajama_set_name: RedPajamaStackExchange


WOTC Screening: Don't Leave Money on the Table!
Too many companies leave money on the table simply because they don't screen all new hires to see who is eligible for the Work Opportunity Tax Credit (WOTC). Don't let this happen to your organization.
The first step to a successful WOTC program is effective screening. One way to get the best possible screening percentage is to tie WOTC screening to Form I-9 compliance. ANN Inc. does this very well as they include WOTC screening as an integrated step in their onboarding process. The result is high screening compliance rates which have significantly increased their WOTC savings. ANN also makes it easier for their HR team, individual location hiring managers, and new hires by outsourcing collection of needed backup documentation to complete the WOTC process to us.
We're looking forward to talking about these and other WOTC best practices at an upcoming webinar with ANN. We'll also cover the potential impact of 2017 tax reform efforts on this key tax credit.
Also on the agenda, we'll share some insights on the broader impact of WOTC on your workforce. We'll talk about data that demonstrates that WOTC-eligible employees are just as stable and career-focused as their non-eligible peers and how hiring WOTC eligible employees could help you reduce your turnover.
Join us June 27 to learn more.


Get in touch with your feminine side with this gorgeous colotop. The loose material gives it a glamorous feel while the thick straps act as a prominent feature and gives this design a unique twist. A real must have for this season this top will flatter any shape and size just pair with your fave jeans for a laid back look.


text:
Home Uncategorized Restaurant World Ceramicist Wynne Noble Has Died
Restaurant World Ceramicist Wynne Noble Has Died
Wynne Noble. Photo: Liz Clayman
Anyone who ever enjoyed a meal at Momofuku Ko, Gramercy Tavern, Aquavit, Dirty Candy, Dig Inn, Westbourne, Fausto, Llama Inn, or Gem ate off a plate or out of a bowl made by Brooklyn-based ceramicist Wynne Noble.
Yesterday, her company, Noble Plateware, announced via Instagram that the artist died after a short illness.
Noble's fascination with pottery began when she watched a demonstration at sleepaway camp as a child. "I was taken," she said in a 2016 video interview with Eater. "That's magic. I want to do that magic." In the 1980s, Noble opened her first standalone studio in Dumbo, Brooklyn, at 135 Plymouth Street, where she focused on sculpture and taught classes. As the neighborhood became more expensive and exclusive, Noble managed to hold on by creating custom ceramics first for retailers like Barneys and Bendel, and later for restaurants, starting with pizza spot Ignazio's in 2009.
In the ensuing years, Noble's functional rather than precious pottery attracted the attention of big-name chefs looking to serve their dishes on handmade tableware and do so with a willing collaborator. Those clients included the team at tasting menu restaurant Contra, which tapped Noble to make all their dishware in 2013. "Wynne Noble was one of the first people to ever believe in us," co-owner Fabian Von Hauske wrote in a remembrance shared yesterday. "When we didn't have much money for Contra's opening she helped us out by selling us some of her amazing work for almost nothing. Without her I don't even know what Contra would be."
Eventually, Noble's reputation grew outside the tri-state area and she and her team were asked to create plateware for restaurants in Georgia, California, South Carolina, Arizona, and Minnesota as well as a few in Canada, France, and Japan. Accordingly, Noble and her team opened a larger studio in Gowanus to accommodate all the orders. On occasion, Noble would welcome members of the public to tour the studio and purchase her restaurant-quality plateware for their own homes.
"She leaves behind a legacy of her artistic practice that has spanned over forty years, eventually growing it into the powerhouse pottery business that exists today," reads the post announcing her death. "Her team, who she referred to as The G.O.A.T., Greatest of All Time, is committed to following Wynne's vision and upholding her moral and artistic integrity in the next phase at Noble Plateware." A memorial service to celebrate Noble's life will be held in August.
Eat like the experts.
Sign up for the Grub Street newsletter.
By submitting your email, you agree to our Terms and Privacy Notice and to receive email correspondence from us.
noble plateware
wynne noble
Previous articleBoosting Customer Engagement: Three Ways F&B Operators Can Maximize Their Mobile Strategies
Next articledinner ideas
Mario Batali Faces Criminal Charges in Boston
Crave Hot Dogs and BBQ Supports our Veterans
Fast day

redpajama_set_name: RedPajamaCommonCrawl


I'm back from vacation and I'm still basking in that vacation glow where you really don't believe you'll have to return to Reality until finally you do.
I tried to unplug and I was (mostly) successful. It only took me three days to stop obsessively checking email and Twitter.
10. No matter what amazing things you do or where you go, teenagers will check for text messages the minute something ends (many times, during).
8. Ice cream at midnight should be a world-wide vacation requirement.
7. Removing all traces of sand from a suitcase is impossible.
6. I can't play enough Scrabble.
5. I always forget Kleenex on the airplane, despite reminding myself repeatedly to bring some the last time I flew.
4. Once anyone has been upgraded to First-Class, there should be a constitutional amendment that you can never fly Coach again. Ever.
3. All adult beverages on any vacation should come with tiny pink happy umbrellas.
2. Somehow waiting for a table for a restaurant while on vacation is never painful.
1. Time spent with family? Priceless.
And I miss my sister already.
Anyone else on vacation last week? Bonus question: Did I miss anything cool?
Sounds like you had a great time! I hear you on the Kleenex. I hate being caught on a plane without some!
Glad you had such a wonderful time, Liz. I'm leaving tomorrow morning for a family reunion and am definitely unplugging.
Sounds like you had a heavenly vacay.
Sounds like you had a fabby time and you are right, ice cream at midnight is obligatory on holiday!
I've heard cruise ships offer ice cream around the clock! And sand gets into everything, doesn't it?
Ah, so nice to bask in that vacay glow--glad you HAD a vacation! Ha, on the teens checking for text messages. ;o) Have a great week!
I can never play enough Scrabble! Addicting, isn't it?
I am jealous. I want to read books while hanging out at the beach, sipping fancy drinks with happy pink umbrellas, and flying first class on the way and back.
I LOVE this... which all my vacations went that well! Welcome home.
Sounds like you had a blast Liz.
I hope to see here in October. I'm glad you had such an awesome time.
My vacay is in a few weeks. Niagara Falls, Montreal, and Quebec City. I can't wait!
Welcome home .... We've missed you.
It sounds like an amazing vacation. I'm a bit green with envy.


Do you need a proper GoPro Hero 3+ Silver review? Here's one for beginners and advanced users.
The GoPro Hero 3+ Silver Edition is a cool camera if you use it in the right situations, and I feel most reviews out there don't give you enough information for those not familiar with GoPro cameras.
Let me give you a quick back story. I've been making YouTube videos for several years now. I started shooting with the camera on my motorolla smart phone, and then I moved to a logitech webcam. Recently I wanted to upgrade to a camera that could record 1080p 60fps, and that wasn't tied to the computer with a USB cord. Of course, I didn't want to spend an arm and a leg on a camera either. So, I thought I'd give these GoPro cameras a shot since I kept hearing about.
I went for the oldest model that was capable of 1080p and 60fps because these cameras can get incredibly expensive. I even bought a used version. What most people don't mention is the fish eye lens that's on these cameras, making every shot a bit distorted. Sure, you can change the field of view from wide, to medium, to narrow, but there will always be a slight distortion. On top of that, the video quality is terrible at medium to low light settings. It gets incredibly grainy. This camera seems to be made for outdoor use in bright light settings.
Now, let's get into the actual specs of the camera. The camera is incredibly small, measuring 2 and ¼ inches wide, by 1 and ¾ inches tall, by almost ¾ of an inch deep. Or for those that like the metric system, it's 6mm by 4.2mm by about 2.1mm.There are only three buttons, a button on the front for power and mode selection, a button on the top for selecting menus and capturing photos or video, and a button on the side to turn on your last used wifi settings. You can also go to the wifi menu in the settings menu.
The side of the camera has a micro HDMI port, a mini USB port, and a micro SD port. This camera supports micro SD cards up to 64 GB, but they must be class 10 speed. Of course, the camera does not come with any storage, which means you will have to buy a micro SD card if you want to use this camera at all.
The mini USB port can be used to connect accessories to the camera, along with the Hero port on the back side. There are a ton of accessories for the GoPro cameras, but the only ones that come standard are the waterproof housing (which remains waterproof up to 131 feet or 40 meters), curved and flat adhesive mounts, quick release buckles, and a 3-way pivot arm.
The mini usb port can also be used with the included mini usb to usb cable to connect the camera directly to the computer. Once it's connected, press the power button to access all the files. You can simply open up the micro SD card's folder to copy photos and videos onto your computer, but you cannot delete them unless you use the Go Pro apps or the camera's own delete option using the front LCD screen.
The mini usb to usb cable can also be connected to common usb plugs to charge the camera using an outlet instead of a computer.
All the different options and modes will be displayed on the small front LCD screen. The navigation is pretty easy to get the hang of, or you can download the free GoPro app on your smart phone to control everything and even get a preview of what you're shooting. Without the GoPro app or a separate viewfinder accessory, you will not be able to see anything you're filming or photographing.
Setting up the GoPro app is incredibly simple. All you need to do is download the app to your smart phone, turn on wifi settings on your camera (the wi fi settings are in the settings menu), select the gopro app on the camera's wi fi settings and select on, and then select the gopro camera in your phone's wifi settings. If you registered your camera and updated the firmware, you probably gave it a name and password.
The GoPro Hero 3 + Silver has a video mode to record videos, a photo mode to take regular pictures, a burst photo mode to take several pictures in a single second, and a time lapse mode to take one picture at set intervals.
1080p at 60, 50, 30, or 25 frames per second using the ultra wide, medium, and narrow field of view.
960p at 60, 50, 30, or 25 fps using only the ultra wide field of view.
720p at 120, 100, 60, 50, 30, or 25 frames per second using the ultra wide, medium, or narrow field of view.
And WVGA, which is 848x480p at 120, 100, 60, or 50 frames per second using only the ultra wide field of view.
The resolution of photos are 10 mega pixels using ultra wide field of view, 7 MP using ultra wide field of view, or 5 MP using medium field of view.
The burst photo options are three photos in a second, five photos in a second, or ten photos in a second.
And the time lapse options are one photo every half a second, 1 second, 2, seconds, 5 seconds, 10 seconds, 30 seconds, or 60 seconds.
As I mentioned, the video quality is pretty decent in bright settings, but gets really grainy in medium to low light settings. There are no options when recording, which means all lighting and focusing is automatic. Below are examples of 1080p video using the wide field of view, the medium field of view, and the narrow field of view. I didn't move the camera or change any settings other than the field of view during the FOV change.
The photo quality is great, but only if the camera is completely still. Holding the camera almost always ensures a blurry picture, but some times you get lucky.
The only microphone on the camera is on the very top, so you'll want to keep your fingers away from the three holes. The audio isn't too bad when up close or when wearing the camera with an accessory, but don't expect to capture decent sound from too far off.


Grace Elizabeth, who is represented by NEXT in New York, walked in the Victoria's Secret Fashion Show for the first time in 2016 and was made the face of VS PINK in 2017. She is also the face of Estee Lauder and is a regular on every major designer runway from Oscar de la Renta to Versace to Chanel. She has appeared on the covers of Vogue, Elle, Harper's Bazaar, V, and InStyle, and has even graced the cover of The Daily Front Row not once, but three times.
The Daily has been fortunate to interview Grace Elizabeth a couple of times since 2017. Here are some of the highlights.
How did you react when you found out you were going to be the face of Victoria's Secret PINK?
I FaceTimed my mom, and we screamed and cried together! I saw her four days later and we did it all over again, but in person. My grandma has every magazine I'm in, and when she sees photos of me online, she'll print them out to put in a book. My mom also carries magazines, but in her purse, so she can show her dentist. My entire town of Lake City, Florida has really backed me.
It wasn't technically a discovery — my mom submitted my photos. I used to do mall shows for a prom store in my town, and I also did some wedding stuff. I was 16, which was crazy, but my mom decided to take things to the next level and submitted my photos to NEXT in Miami. I signed with them, and then was picked up by NEXT New York.
Who did you admire most in the Victoria's Secret family before landing this gig?
Adriana Lima. I think she is just absolutely amazing and perfect. She's so sweet that she could be a life coach. She tells you everything; she'll come up to you and just start talking about her children.
Has she given you any words of advice?
She told me to take every moment as a life lesson because it will help you in the long run.
What do you miss the most about your pre-supermodel life?
The stillness. I knew exactly what I was going to do every single day—I would wake up, get ready for school, go to school, go to sports practice, and come home. Now, my schedule is very unpredictable. I try to go home to Florida once every month or two, and when I'm there, I'm not "Grace Elizabeth!" I'm just myself. Everyone's really chill. We sit on the porch all day long and drink tons of coffee.
I just started college, so right now, that's kind of my life. I'm studying nutrition through Kaplan University online. I also love yoga, boxing, and Pilates, and I just bought a mini trampoline. Most afternoons, you can find me watching Netflix while jumping on it. I'm also studying to become a yoga instructor. I have a lot on my plate at the moment!
How is your mother reacting to your success?
She's proud. She knew I'd go far, but she thought I'd stay and work from home. When I moved to New York, things changed — I walked more shows and got Victoria's Secret. She's so proud, and has a subscription to every single magazine just in case there's a tiny, tiny picture of me.


text:
Concert Review: A Lesson In Nostalgia With Mayday Parade
Apr 25, 2017 James Currie 0
By Sara Mohr
Another album, another ten year tour. Mayday Parade stopped in Chicago last night, making their rounds on their ten year anniversary tour for their 2007 release A Lesson In Romantics. For fans of Mayday Parade, simply walking into the room made it clear there was anxiety in the air in the best way. Everyone that filled the music hall, which was pretty much filled to the brim, was ready for something.
The night kicked off with a visit from Milestones, a pop-punk band from overseas. Haling from England, the five men (Drew Procter (guitar), Mark Threlfall (bass), Eden Leviston (guitar), Andy Makin (drums), and Matt Clarke (vocals)) gave their all to the crowd and made sure to leave an impression with the few songs they performed. They had a majority of the crowd jumping along as they sang some jams off their debut EP Equal Measures and bounced around the stage themselves. Milestones was a prime example of those bands that could play to no one, or 15,000 people and have the same boundless energy. They were certainly a kickstarter for a night that was merely beginning.
Knuckle Puck was the one to grace the stage shortly afterwards; beginning with Nick Casasanto (rhythm guitar), followed shortly by Kevin Maida (guitar), Ryan Rumchaks (bass), John Siorek (drums, and Joe Taylor (vocals) flooding from the other side of the stage. The pop-punk band from the south suburbs pumped the crowd with continuous energy. It was endless as people crowd surfed, squished, and sang along with songs off their EP 'While I Stay Secluded', as well as their full-length 'Copacetic'. The floor was literally shaking as the crowd jumped along to songs like 'Gold Rush' and 'Evergreen'. Knuckle Puck certainly imprinted on the House Of Blues during their second visit there, leaving an impact on every fan in that room — Mayday or otherwise. The hometown heroes proved their loyal Chicago fanbase was alive and well. Though the Knuckle Puck fans gave their all, it was no match for what was to come as Mayday played some fan favorites.
The room was bustling with small talking as everyone waited for the band to grace the stage and nearly as soon as they did, there were screams of excitement. Enter the band: Alex Garcia (rhythm guitar), Brooks Betts (guitar), Jeremy Lenzo (bass), Jake Bundrick (drums), and Derek Sanders (vocals). The Mayday fans of Chicago were not quiet. A roar of applause and screams hit everyone's ears with ease. No one was silent as they kicked off their set with the expected 'Jamie All Over'. The band kicked off their setlist with a punch and no preparation could've been done for the energy everyone was giving back. It sounded as if there wasn't a soul in that room that wasn't singing happily along with A Lesson In Romantics.
The songs slowed down as they brought out a piano for 'Miserable At Best', a tear-jerker among longtime Mayday Parade fans. Everyone swayed and song and held their lovers as Derek graced the crowd with his sweet vocals. The hype was easy to pick up again, regardless of the tug on all our heart strings, the crowd pushing out the other half of their energy. Unexpected, the band ripped out a cover of 'Yesterday' by the Beatles before continuing down their setlist and rocking out to a few songs off of other albums including 'Terrible things' (from their 2011 EP Valdosta) and 'Keep in Mind, Transmogrification Is a New Technology' (from their most recent release Black Lines). The night came to an end, but not before the band could come out to say goodbye with their signature 'Oh Well, Oh Well' off their self-titled from 2011. To put it simply: Mayday Parade fans not only got served a lesson in romantics, but a lesson in nostalgia and a solid show they'll never forget.
For more on Mayday Parade, click here
For photos from the Mayday Parade show at House of Blues Chicago, click here
Setlist for Mayday Parade live in Chicago at House of Blues:
1. Jamie All Over
3. When I Get Home, You're So Dead
4. Jersey
5. If You Wanted a Song Written About You, All You Had to Do Was Ask
6. Miserable at Best
7. Walk on Water or Drown
8. Ocean and Atlantic
9. I'd Hate to Be You When People Find Out What This Song Is About
10. Take This to Heart
11. Champagne's for Celebrating (I'll Have a Martini)
12. You Be the Anchor That Keeps My Feet on the Ground, I'll Be the Wings That Keep Your
Heart in the Clouds
13. Yesterday (The Beatles cover)
14. Terrible Things
15. Three Cheers for Five Years
16. When You See My Friends
17. Keep in Mind, Transmogrification Is a New Technology
18. Kids in Love
1. Oh Well, Oh Well
The Revolution @ Metro Chicago The New Pornographers Bring A Blizzard Of Pop Wonders To The Metro


text:
Specimen-news.com
Algeria, Angola, Benin, Botswana, Burkina Faso, Burundi, Cape Verde, Cameroon, Central African Republic, Chad, Comoros, Congo, Congo Dem. Rep., Côte d'Ivoire, Djibouti, Egypt, Equatorial Guinea, Eritrea, Ethiopia, Gabon, Gambia, Ghana, Guinea, Guinea-Bissau, Kenya, Lesotho, Liberia, Libya, Madagascar, Malawi, Mali, Mauritania, Mauritius, Morocco, Mozambique, Namibia, Niger, Nigeria Rwanda, Sao Tome and Principe, Senegal, Seychelles, Sierra Leone, Somalia, South Africa, South Sudan, Sudan, Swaziland, Tanzania, Togo, Tunisia, Uganda, Zambia, Zimbabwe
Home › Business › Kenya Airways launch group booking tool for its customers
Kenya Airways launch group booking tool for its customers
By thespecimennews on July 19, 2017 • ( 0 )
Kenya Airways Plc has launched a new solution on its portal that enables its customers to book group travel in an efficient, simple and user-friendly way.
The Group Booking Tool is currently accessible on the airline's website, www.Kenya-airways.com, for self-registration and booking. The tool is accessible for all travel agents and retail customers who have group bookings. The tool is linked to all Global Distribution Systems (GDS) and reservation system in real time.
This booking tool will enable customers to manage their booking process including a view of competitive pricing and reserving seats based on the proposed dates of travel and flights. Payments and ticketing will be done through the tool to bring efficiency in the groups bookings process.
Kenya Airways Group Managing Director and CEO Sebastian Mikosz said the new booking tool will significantly streamline the group booking process while reducing the turnaround time to close the deal.
"With its quick turnaround time, our new group booking tool is able to accomplish group travel reservations in minutes rather than days. With this new tool, we aim to improve sales effectiveness for our customers as well as increase customer satisfaction by providing tailored offers while also maximizing the revenue contribution from group business," he said. "It also allows us to broaden our revenue streams."
The tool mainly targets schools and learning institutions, religious associations, sports teams, associations, corporates, conference delegates and family groups among other customers.
The tool will be based on encoded system based artificial intelligence concepts that compute the users group booking requests based on space availability, projected bookings and historical booking of a similar time or season on the previous year(s).
The new solution is provided by Sabre Corporation, which is a leading technology provider to the global travel industry.
‹ New study shows the Amazon makes its own rainy season
IMF COUNTRY FOCUS: Uganda's Infrastructure Investment Promise ›
Categories: Business
Live a safer life: STOP HIV/AIDS
ENDANGERED SPECIES: Credit Worst Channel Productions
https://youtu.be/wupzdmk3DkM
Follow Specimen-news.com on WordPress.com
Act now!
Specimen now on 103 languages
TEARS IN OUR LAND
Protect the endangered Western Gorillas
Protect the endangered Amur Leopard


40 photos this immaculate & spacious home has it all! situated on over an acre lot w/beautiful landscaping. the welcoming front porch opens to the main lvl offering 3 beds, updated kit, open sundrenched rooms & laundry. entertain away! the walkout ll is complete with a full bar, sound system, family rm w/fp, game room, an office, a custom walk in cedar closet & more! large storage rm, clean 3 car garage with epoxy floors, & the workshop located under the porch allows plenty of space for your outdoor toys!
24 photos this ranch style home is nestled on 3 country acres in st. peter. step inside to an open floor plan. the kitchen features oak cabinets, oak floors, walk-in pantry and stainless-steel appliances. a comfy living room features a 3-sided gas fireplace and great views of the backyard. relax in the 4-season sun room with that up north feeling. the large master suite features a whirlpool tub, walk-in closet and an extra closet. another bedroom, office and main floor laundry/mudroom complete the first level. heading downstairs the walk-out basement is perfect for entertaining. an additional 2 bedrooms, ¾ bathroom, 2 storage areas and utility room finish the lower level. additional features include a heated/insulated triple garage with access to the basement, 24x32 morton building with concrete floor, smoke house with 10 feet ceilings, air exchanger, hot water heater (2016), water softener (2017), reverse osmosis drinking water system, new flooring in the basement level - just too many to list.
26 photos look no more! fantastic 5 br walkout in high demand pine pointe location! you will love this huge .65 acre lot with views for miles. this meticulously maintained 3 level split boasts hardwood floors, spacious, open, vaulted floor plan, gas fireplace, master suite,and spa tub. relax and enjoy the views year round in the large 4 season sun room! room for all the toys in 3 stall garage. location, quality and views - this home has it all!
21 photos 3 bedroom multi level home on 1 acre, just minutes to st. peter. main level features large kitchen with cambria center island and spacious pantry. french doors lead you to a huge carpeted sunroom with great views. sunroom was added in 2003. large formal dining room off of kitchen as well. master bedroom with 2 double closets and a walk through full bath with double sinks. lower level family room and 2 br's and bath, walkout to beautiful yard. 3 stall garage. must see!!
27 photos one level living. walk-in-tub. main floor laundry. 4 season porch. new carpet upstairs and fresh paint. large garage 34x34. concrete driveway.
22 photos rural living/hobby farm at its finest! this 3.5 acre farmhouse has many updates, but yet some of the original character remains - transom windows, original stairway, bead board ceilings, hardwood floors have all been refinished, his/her closets, walk-in closet. pole shed (36x56 built in 2017) has electricity and three slider doors. small hog pen, storage shed, electric and invisible fences, perennial gardens on property. new septic and well in 2008. this won't last long- call today!
21 photos welcome home to this pristine rambler on a large mature lot in a quiet neighborhood! the completely updated home features a spacious kitchen with stainless appliances, hardwood floors on the main level, newly finished lower level family room & 4th bedroom, and a 3-season porch off the garage.


Image Title: Awesome Outdoor Fountain Ideas Rickyhil Outdoor Ideas With Regard To Backyard Fountain Ideas Decor. Filename: awesome-outdoor-fountain-ideas-rickyhil-outdoor-ideas-with-regard-to-backyard-fountain-ideas-decor.jpg. Image Dimension: 977 x 775 pixels. Images Format: jpg/jpeg. Publisher/Author: Hal Yost. Uploaded Date: Sunday - January 27th. 2019 02:46:08 AM. Category: Architecture. Image Source: contemporist.com.
Tap The Thumbnail Bellow to See Related Gallery of "Awesome Outdoor Fountain Ideas Rickyhil Outdoor Ideas With Regard To Backyard Fountain Ideas Decor"


text:
HomeShowsIn Question
Khashoggi murder trial underway & Israel toughens prison conditions
Manila Chan speaks to Investigative Journalist Ben Swann over the upcoming trial for Jamal Khashoggi. Then, she speaks with Former UK MP George Galloway on Israel's announcement to toughen prison conditions for Palestinians. RT Correspondent Rachel Blevins reports on the Turkish imam who was extradited from Turkey after an attempt to overthrow the government, and how he may be forced to go back to his home country. RT Correspondent Ashlee Banks reports on China's historical landing on the far side of the moon.


text:
A key component of the Revealing Cooperation and Conflict Project is the integration of citizen scholars into our research team. Citizen scholars are integrated into the project via our use of Massive Open Online Courses, or a MOOCs. During summer 2014 and fall 2014, Dr. Martinez-Davila offered the Deciphering Secrets: Unlocking the Manuscripts of Medieval Spain MOOC, and there are plans to continue using MOOCs during summer 2015 and fall 2015.
In this free, online course students will explore the history of Jews, Christians, and Muslims in late medieval, fifteenth century Spain. Serving as citizen-scholars, students will learn about the positive and negative elements of inter-religious co-existence in Plasencia, Spain, and more importantly, contribute to an international scholarly effort by helping transcribe manuscripts.
View a video relaying how the Revealing Cooperation and Conflict Project is integrated into the Deciphering Secrets Massive Open Online Course (MOOC).
Overview of Deciphering Secrets: Unlocking the Manuscripts of Medieval Spain
Challenging Assumptions
Our modern, global world is often presented as an unprecedented era of exceptional religious, political, and cultural enlightenment. Certainly we continue to experience tumultuous events and problematic relations, but many of us believe our world exists along a trajectory of human progress. This course is about doubt, questioning, and complications. It opens with the proposition that our present-day world is neither exceptional nor special, but rather is the beneficiary and the slave of history.
About this Course: The Challenges of Co-Existence
Serving as citizen-scholars, students will learn about the positive and negative elements of inter-religious co-existence in Plasencia, Spain, and more importantly, contribute to an international scholarly effort known as the Revealing Cooperation and Conflict Project.
Together, we turn to a historical era that stumbled through the challenges of cultural and religious intermixing and co-existence. From the saved memories of Catholic churchmen, Jewish noble and merchant families, as well as medieval lords and knight clans, students will study and contribute to an effort to revive long lost interactive and cooperative networks of people in Plasencia, Spain. And among the most textured, fascinating elements of our investigation is the history of Spain's Jewish community, or the Sepharad.
For example, students will evaluate the Spanish anti-Jewish pogroms of 1391 that led to the large scale conversion of Jews to Christianity (forced and voluntary). By documenting such incidents and the interaction of noteworthy families, religious organizations, political networks, and economic partnerships, we will reconstruct the quintessential cultural dynamics that underlay the foundation of the Castilian world and impacted the broader European continent.
Within the documents that students transcribe, we will encounter historical persons such as Zanfines Capa, the Jewish chainmail maker, who was a close associate of the Carvajal family of knights. In this specific case, the Catholic Carvajal clan and their compatriots in the cathedral, the Santa Maria clan (formerly the Jewish Ha-Levis), leased church-owned properties to Jewish families (like the chainmail makers) at the expense of their political competitors, the Catholic Estuñiga family (the Counts of Plasencia and Bejar). In this event, competing and overlapping political and religious jurisdictions are revealed as well as vibrant Catholic-Jewish alliances that sought to expel interloping secular lords.
In sum, we will evaluate the lives of Jews, Christians, and Muslims, in a vibrant fifteenth century Spanish community on the edge of incredible events – the consolidation of Spain under Queen Isabel and King Ferdinand, the encounter with the New World, and the defeat of the Islamic Kingdom of Granada Spain and the expulsion of the Jews from Iberia.
The Course Work
In this specific course, students will:
study the history of medieval Spain and the community of Plasencia,
explore the world of medieval manuscripts and texts,
learn to read historical documents, and
transcribe and evaluate these documents.
The primary source that students will be transcribing in this course is Book One (1399-1453) of the Capitulary Acts of the Cathedral of Plasencia, which is a census-like accounting document that details the activities and business transactions of the cathedral. Most students will work with the 19th century transcription of the original 15th century text. Students who wish to challenge themselves will be granted the opportunity to work with the original late fourteenth/fifteenth century text.


text:
"""
Python bindings for MLlib.
"""

# MLlib currently needs and NumPy 1.4+, so complain if lower

import numpy

from mllib import rand as random

if numpy.version.version < '1.4':
    raise Exception("MLlib requires NumPy 1.4+")

__all__ = ['classification', 'clustering', 'feature', 'linalg', 'random',
           'recommendation', 'regression', 'stat', 'tree', 'util']

import sys

random.__name__ = 'random'
random.RandomRDDs.__module__ = __name__ + '.random'
sys.modules[__name__ + '.random'] = random

redpajama_set_name: RedPajamaGithub


The Summer Boating Splash Series is a new wave concept of being able to leave your car home and take your boat (or a rental boat) and drive right up to a show! The special event series features two movie showings and two live concerts, both at waterfront destinations. On May 17, the premiere event of the series will be a showing of the popular Kurt Russell and Martin Short film, Captain Ron. The movie will be displayed on a 26-foot screen with concert quality sound at North Light Marina in Niceville. At the same location, on June 28, live band Heritage will be putting on a four-hour performance! The Destin Harbor will also play host to the series (with specific location on the harbor to be announced soon) with Cadillac Williams putting on a show on July 26. The movie Jaws will be screened on the Harbor on August 23 at sundown. These events are all free to the public! So, pick up anchor and cruise to these local hotspots! More information on the Splash Series can be found here.


Mexican President Enrique Pena Nieto and Donald Trump … a language barrier?
I wrote a column last week in which I said that the media's decision to give Donald Trump's core supporters the dignity of a legitimate-sounding political movement name was, essentially, a bunch of hooey. A lazy, cowardly way of saying that the folks most passionate about Trump's candidacy are bigots.
When you say Alt-Right, read it to mean the KKK, neo-Nazis, white supremacists, previously closeted fascists, anti-gays, and a bunch of woman-haters. The kind of people who, in previous eras stole land from Native Americans and slaughtered thousands of them. Who started a war to preserve slavery. Who had whites-only schools and bathrooms. Who herded fellow Americans of foreign descent into internment camps.
I thought it was a fair, truthful representation of what Americans have been subjected to for nearly a year now. Would that the major media had done the same for the past year. One reader suggested there must have been spittle on my laptop when I got through writing. Quite possible. I've been known to get a little messy when I'm angry. To me, one of the most disappointing aspects of this presidential campaign is that not nearly enough people are angry and downright embarrassed that one of our two major political parties has handed its presidential nomination to a congenital liar. A bigot. A misogynist. A narcissist. … There I go again.
Another reader noted a lot of "name-calling" in the piece. I don't know. It seems to me when I use words to describe the reality of what is going on, it's not name-calling, it's doing what Trump says he does. You know, telling it like it is; calling a spade a spade, a bigot a bigot. I think Trump's own words and actions legitimize every label I affixed to him. You can deny this if you want, but that merely puts you in line with the Republican National Committee, which is in bed with Trump, against its will but for its own selfish purposes. There are names for that, too.
Last week, Trump took his ego to Mexico to meet with that country's president, Enrique Peña Nieto. After the meeting, Trump said they discussed the infamous wall he has repeatedly vowed to build on the U.S. border with Mexico, but he said the two men did not discuss his demand that Mexico pay for it. Pena Nieto disagreed. He said he "made it clear" at the beginning of the conversation that Mexico would not pay for any wall.
Back in Washington, D.C., Priebus and his RNC crew were once again left trying to figure out how to put a positive spin on Trump's latest hateful broadside. Their decision was to say nothing because, really, what was there to say. The RNC has made its bed. Now it has to lie in it and about it. Week after week, it has been waiting for Trump to become more … presidential? No, that hope disappeared long ago. Perhaps simply more sane, more rational, more compassionate. Compassion would help. If Trump had any.
Cliche after cliche after cliche comes to mind. What you see is what you get. He is what he is. You can't teach an old dog new tricks. Fool me once, shame on you. Fool me twice, shame on me. Anything beyond that is merely ignoring the loud elephant in the room.
When this campaign is over and Hillary Clinton has become the first woman president in U.S. history — by default, if you wish — Priebus and his fellow GOP travelers will have a major decision to make.
Many Republicans who finally summed up the courage to say they cannot support a candidate with no redeeming social values to be the leader of this country are already trying to figure out where their party goes from here. Or where they go from here, if not with the GOP. For votes and power, they surrendered their party to the likes of the Koch brothers, Fox News and the fearful demands of the Tea Party fringe. Rich bigots lying to not-so-rich bigots.
Trump told them what they wanted to hear. Then he changed his mind. Then he said he never said that. Then he said, the greatest insult of all — that he was going to make America great again.
Listen, great isn't all it's trumped-up to be. When this election is over, I would rather be proud of my country again.


Kuta, Legian and Seminyak all started out as separate villages, but these days they have merged into one bustling complex of shops, restaurants, bars and small, artisanal production units. Canggu is the somewhat isolated area bordering the northern side of this giant entertainment zone, comprising of an excellent surfing beach, lots of smaller, cheap losmen-type of accommodation and very little upscale places to stay. If you frequently dine out at night, you'll have to resort to some of the trendiest restaurants around in the nearby Seminyak area. Take note that the current at Berawa beach is strong and you are advised against swimming in the sea.


text:
package org.sfm.poi.impl;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.joda.time.DateTime;
import org.junit.Test;
import org.sfm.beans.DbObject;
import org.sfm.csv.CsvColumnDefinition;
import org.sfm.csv.CsvColumnKey;
import org.sfm.reflect.Getter;
import org.sfm.reflect.primitive.*;

import java.text.SimpleDateFormat;
//IFJAVA8_START
import java.time.LocalDateTime;
import java.time.ZoneId;
//IFJAVA8_END
import java.util.Date;

import static org.junit.Assert.*;

@SuppressWarnings("unchecked")
public class RowGetterFactoryTest {

    RowGetterFactory rowGetterFactory = new RowGetterFactory();

    CsvColumnKey key = new CsvColumnKey("key", 1);
    CsvColumnKey blankCellKey = new CsvColumnKey("key", 2);
    CsvColumnKey noCellKey = new CsvColumnKey("key", 3);

    Workbook wb = new HSSFWorkbook();
    Sheet sheet = wb.createSheet();
    Row row = sheet.createRow(1);
    Cell cell = row.createCell(1);
    Cell blankCell = row.createCell(2);

    DataFormat dataFormat = wb.createDataFormat();

    CellStyle twoDigitCellFormat = wb.createCellStyle();
    CellStyle dateCellFormat = wb.createCellStyle();
    {
        twoDigitCellFormat.setDataFormat(dataFormat.getFormat("#.##"));
        dateCellFormat.setDataFormat(dataFormat.getFormat("dd/MM/yyyy"));
    }

    @Test
    public void testGetStringOnStringCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue("value");
        assertEquals("value", getter.get(row));
    }

    @Test
    public void testGetStringOnDoubleCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3.1456);
        cell.setCellStyle(twoDigitCellFormat);
        assertEquals("3.15", getter.get(row));
    }

    @Test
    public void testGetStringOnDateCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(new SimpleDateFormat("yyyyMMdd").parse("20150527"));
        cell.setCellStyle(dateCellFormat);
        assertEquals("27/05/2015", getter.get(row));
    }

    @Test
    public void testGetStringOnBooleanCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(true);
        assertEquals("true", getter.get(row));
    }

    @Test
    public void testGetStringOnBlankCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals("", getter.get(row));
    }
    @Test
    public void testGetStringOnNullCell() throws Exception {
        final Getter<Row, String> getter = rowGetterFactory.newGetter(String.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(null, getter.get(row));
    }

    @Test
    public void testGetDoubleOnDoubleCell() throws Exception {
        final Getter<Row, Double> getter = rowGetterFactory.newGetter(Double.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3.22);
        assertEquals(3.22, getter.get(row), 0.0001);
        assertEquals(3.22, ((DoubleGetter<Row>)getter).getDouble(row), 0.0001);
    }

    @Test
    public void testGetDoubleOnBlankCell() throws Exception {
        final Getter<Row, Double> getter = rowGetterFactory.newGetter(Double.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0.0, ((DoubleGetter<Row>)getter).getDouble(row), 0.0001);
    }

    @Test
    public void testGetDoubleOnNullCell() throws Exception {
        final Getter<Row, Double> getter = rowGetterFactory.newGetter(Double.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0.0, ((DoubleGetter<Row>)getter).getDouble(row), 0.0001);
    }

    @Test
    public void testGetFloatOnDoubleCell() throws Exception {
        final Getter<Row, Float> getter = rowGetterFactory.newGetter(Float.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3.22);
        assertEquals(3.22, getter.get(row), 0.0001);
        assertEquals(3.22, ((FloatGetter<Row>)getter).getFloat(row), 0.0001);
    }

    @Test
    public void testGetFloatOnBlankCell() throws Exception {
        final Getter<Row, Float> getter = rowGetterFactory.newGetter(Float.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0.0, getter.get(row), 0.0001);
        assertEquals(0.0, ((FloatGetter<Row>)getter).getFloat(row), 0.0001);
    }

    @Test
    public void testGetFloatOnNullCell() throws Exception {
        final Getter<Row, Float> getter = rowGetterFactory.newGetter(Float.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0.0, ((FloatGetter<Row>)getter).getFloat(row), 0.0001);
    }

    @Test
    public void testGetLongOnDoubleCell() throws Exception {
        final Getter<Row, Long> getter = rowGetterFactory.newGetter(Long.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3l);
        assertEquals(3l, getter.get(row).longValue());
        assertEquals(3l, ((LongGetter<Row>)getter).getLong(row));
    }

    @Test
    public void testGetLongOnBlankCell() throws Exception {
        final Getter<Row, Long> getter = rowGetterFactory.newGetter(Long.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0, getter.get(row).longValue());
        assertEquals(0, ((LongGetter<Row>)getter).getLong(row));
    }

    @Test
    public void testGetLongOnNullCell() throws Exception {
        final Getter<Row, Long> getter = rowGetterFactory.newGetter(Long.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0, ((LongGetter<Row>)getter).getLong(row));
    }

    @Test
    public void testGetIntegerOnDoubleCell() throws Exception {
        final Getter<Row, Integer> getter = rowGetterFactory.newGetter(Integer.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3);
        assertEquals(3, getter.get(row).intValue());
        assertEquals(3, ((IntGetter<Row>)getter).getInt(row));
    }

    @Test
    public void testGetIntegerOnBlankCell() throws Exception {
        final Getter<Row, Integer> getter = rowGetterFactory.newGetter(Integer.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0, getter.get(row).intValue());
        assertEquals(0, ((IntGetter<Row>) getter).getInt(row));
    }

    @Test
    public void testGetIntegerOnNullCell() throws Exception {
        final Getter<Row, Integer> getter = rowGetterFactory.newGetter(Integer.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0, ((IntGetter<Row>)getter).getInt(row));
    }

    @Test
    public void testGetShortOnDoubleCell() throws Exception {
        final Getter<Row, Short> getter = rowGetterFactory.newGetter(Short.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3);
        assertEquals(3, getter.get(row).shortValue());
        assertEquals(3, ((ShortGetter<Row>)getter).getShort(row));
    }

    @Test
    public void testGetShortOnBlankCell() throws Exception {
        final Getter<Row, Short> getter = rowGetterFactory.newGetter(Short.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0, getter.get(row).shortValue());
        assertEquals(0, ((ShortGetter<Row>)getter).getShort(row));
    }

    @Test
    public void testGetShortOnNullCell() throws Exception {
        final Getter<Row, Short> getter = rowGetterFactory.newGetter(Short.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0, ((ShortGetter<Row>)getter).getShort(row));
    }

    @Test
    public void testGetCharacterOnDoubleCell() throws Exception {
        final Getter<Row, Character> getter = rowGetterFactory.newGetter(Character.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3);
        assertEquals(3, getter.get(row).charValue());
        assertEquals(3, ((CharacterGetter<Row>)getter).getCharacter(row));
    }

    @Test
    public void testGetCharacterOnBlankCell() throws Exception {
        final Getter<Row, Character> getter = rowGetterFactory.newGetter(Character.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0, getter.get(row).charValue());
        assertEquals(0, ((CharacterGetter<Row>)getter).getCharacter(row));
    }

    @Test
    public void testGetCharacterOnNullCell() throws Exception {
        final Getter<Row, Character> getter = rowGetterFactory.newGetter(Character.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0, ((CharacterGetter<Row>)getter).getCharacter(row));
    }

    @Test
    public void testGetByteOnDoubleCell() throws Exception {
        final Getter<Row, Byte> getter = rowGetterFactory.newGetter(Byte.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(3);
        assertEquals(3, getter.get(row).byteValue());
        assertEquals(3, ((ByteGetter<Row>)getter).getByte(row));
    }

    @Test
    public void testGetByteOnBlankCell() throws Exception {
        final Getter<Row, Byte> getter = rowGetterFactory.newGetter(Byte.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertEquals(0, getter.get(row).byteValue());
        assertEquals(0, ((ByteGetter<Row>)getter).getByte(row));
    }

    @Test
    public void testGetByteOnNullCell() throws Exception {
        final Getter<Row, Byte> getter = rowGetterFactory.newGetter(Byte.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertEquals(0, ((ByteGetter<Row>)getter).getByte(row));
    }

    @Test
    public void testGetDateOnDateCell() throws Exception {
        final Getter<Row, Date> getter = rowGetterFactory.newGetter(Date.class, key, CsvColumnDefinition.IDENTITY);
        Date now = new Date();
        cell.setCellValue(now);
        assertEquals(now, getter.get(row));
    }

    @Test
    public void testGetDateOnBlankCell() throws Exception {
        final Getter<Row, Date> getter = rowGetterFactory.newGetter(Date.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }

    @Test
    public void testGetBooleanOnDoubleCell() throws Exception {
        final Getter<Row, Boolean> getter = rowGetterFactory.newGetter(Boolean.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(true);
        assertTrue(getter.get(row).booleanValue());
        assertTrue(((BooleanGetter<Row>) getter).getBoolean(row));
    }

    @Test
    public void testGetBooleanOnBlankCell() throws Exception {
        final Getter<Row, Boolean> getter = rowGetterFactory.newGetter(Boolean.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertFalse(getter.get(row).booleanValue());
        assertFalse(((BooleanGetter<Row>) getter).getBoolean(row));
    }

    @Test
    public void testGetBooleanOnNullCell() throws Exception {
        final Getter<Row, Boolean> getter = rowGetterFactory.newGetter(Boolean.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
        assertFalse(((BooleanGetter<Row>) getter).getBoolean(row));
    }

    @Test
    public void testGetDateOnNullCell() throws Exception {
        final Getter<Row, Date> getter = rowGetterFactory.newGetter(Date.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }

    @Test
    public void testGetEnumOnString() throws Exception {
        final Getter<Row, DbObject.Type> getter = rowGetterFactory.newGetter(DbObject.Type.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue("type1");
        assertEquals(DbObject.Type.type1, getter.get(row));
    }

    @Test
    public void testGetEnumOnNumber() throws Exception {
        final Getter<Row, DbObject.Type> getter = rowGetterFactory.newGetter(DbObject.Type.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(1);
        assertEquals(DbObject.Type.type2, getter.get(row));
    }
    @Test
    public void testGetEnumOnBoolean() throws Exception {
        final Getter<Row, DbObject.Type> getter = rowGetterFactory.newGetter(DbObject.Type.class, key, CsvColumnDefinition.IDENTITY);
        cell.setCellValue(true);
        try {
            getter.get(row);
            fail();
        } catch(Exception e) {

        }
    }

    @Test
    public void testGetEnumOnBlank() throws Exception {
        final Getter<Row, DbObject.Type> getter = rowGetterFactory.newGetter(DbObject.Type.class, blankCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }

    @Test
    public void testGetEnumOnNull() throws Exception {
        final Getter<Row, DbObject.Type> getter = rowGetterFactory.newGetter(DbObject.Type.class, noCellKey, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }

    @Test
    public void testJodaDateTimeOnDateCell() throws Exception {
        final Getter<Row, DateTime> getter = rowGetterFactory.newGetter(DateTime.class, key, CsvColumnDefinition.IDENTITY);
        Date now = new Date();
        cell.setCellValue(now);
        assertEquals(now, getter.get(row).toDate());
    }

    @Test
    public void testJodaDateTimeOnBlankCell() throws Exception {
        final Getter<Row, Date> getter = rowGetterFactory.newGetter(Date.class, key, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }

    //IFJAVA8_START
    @Test
    public void testJavaLocalDateTimeOnDAteCell() throws Exception {
        final Getter<Row, LocalDateTime> getter = rowGetterFactory.newGetter(LocalDateTime.class, key, CsvColumnDefinition.IDENTITY);
        Date now = new Date();
        cell.setCellValue(now);
        assertEquals(LocalDateTime.ofInstant(now.toInstant(), ZoneId.systemDefault()), getter.get(row));
    }

    @Test
    public void testJavaLocalDateTimeOnBlankCell() throws Exception {
        final Getter<Row, LocalDateTime> getter = rowGetterFactory.newGetter(LocalDateTime.class, key, CsvColumnDefinition.IDENTITY);
        assertNull(getter.get(row));
    }
    //IFJAVA8_END
}


text:
Chapter 27 - Liver and Biliary Tract Injuries
from Section 6 - Abdomen
By Kenji Inaba, Zachary D. Warriner, Kelly Vogt
Edited by Demetrios Demetriades, University of Southern California, Kenji Inaba, University of Southern California, George Velmahos
Book: Atlas of Surgical Techniques in Trauma
Print publication: 02 January 2020, pp 220-233
The liver is tethered by the following ligaments:
The falciform ligament attaches the liver anteriorly to the diaphragm and the anterior abdominal wall above the umbilicus.
The coronary ligaments extend laterally to attach the liver to the diaphragm. Beginning at the suprahepatic inferior vena cava (IVC), the lateral extensions of the coronary ligaments form the triangular ligaments (right and left), which are also attached to the diaphragm.
The anatomical division of the liver into the eight classic Couinaud segments has no practical application in traumatic liver resection, where the resection planes are nonanatomical and are dictated by the extent of injury. However, the external anatomical landmarks may be useful in planning operative maneuvers.
The plane between the center of the gallbladder and IVC runs along the middle hepatic vein, and serves as the line of division between the right and left lobes.
The left lobe is divided by the falciform ligament into the medial and lateral segments.
Dissection along the falciform ligament should be performed carefully, so as to avoid injury to the portal venous supply to the medial segment of the left lobe inferiorly and the hepatic veins superiorly.
The retrohepatic IVC is approximately 8–10 cm long and is partially embedded into the liver parenchyma. In some cases, the IVC is completely encircled by the liver, further complicating exposure and repair.
There are three major hepatic veins (right, middle, and left), as well as multiple accessory veins. The first 1–2 cm of the major hepatic veins are extra-hepatic, with the remaining 8–10 cm intra-hepatic. In approximately 70% of patients, the middle hepatic vein joins the left hepatic vein before entering the IVC.
The common hepatic artery originates from the celiac artery. It is responsible for approximately 30% of the hepatic blood flow, but supplies 50% of the hepatic oxygenation. It branches into the left and right hepatic arteries at the liver hilum in the majority of patients. In a common anatomical variant, the right hepatic artery may arise from the superior mesenteric artery. Less frequently, the entire arterial supply may arise from the superior mesenteric artery. Alternatively, the left hepatic artery may arise from the left gastric artery in 15–20% of patients.
The portal vein provides approximately 70% of hepatic blood flow, and 50% of the hepatic oxygenation. It is formed by the confluence of the superior mesenteric vein and the splenic vein behind the head of the pancreas. The portal vein divides into right and left extrahepatic branches at the level of the liver parenchyma.
The porta hepatis contains the hepatic artery (medial), common bile duct (lateral), and portal vein (posterior, between the common bile duct and the hepatic artery).
The right hepatic duct is easier to expose after removal of the gallbladder.
The left hepatic duct, the left hepatic artery, and the left portal vein branch enter the undersurface of the liver near the falciform ligament.
Chapter 15 - Cardiac Injuries
from Section 5 - Chest
By Demetrios Demetriades, Zachary D. Warriner, Scott Zakaluzny
The pericardium envelops the heart and attaches to the roots of the great vessels. This includes the ascending aorta, pulmonary artery, pulmonary veins, the last 2–4 cm of superior vena cava, and inferior vena cava.
The phrenic nerves descend on the lateral surfaces of the pericardium.
Acute accumulation of as little as 200 mL of fluid in the pericardial sac may result in fatal cardiac tamponade.
The right atrium is paper thin, approximately 2 mm. The left atrium is slightly thicker at approximately 3 mm.
The right ventricle is approximately 4 mm thick and the left ventricular wall thickness is approximately 12 mm.
The two main coronary arteries, left main and right coronary arteries, originate at the root of the aorta, as it exits the left ventricle. The left main coronary artery divides into the left anterior descending artery (LAD) and the circumflex artery, and provides blood supply to the left heart. The right coronary artery divides into the right posterior descending and acute marginal arteries, supplying blood to the right heart, as well as the sinoatrial and atrioventricular nodes responsible for regulating cardiac rhythm.
Chapter 22 - General Principles of Abdominal Operations for Trauma
By Damon Clark, Zachary D. Warriner, Lisa L. Schlitzkus
The anterior abdominal wall has four muscles: The external oblique, the internal oblique, the transversalis, and the rectus muscles. The aponeuroses of the first three muscles form the rectus sheath, which encloses the rectus abdominis muscle.
The linea alba is a midline aponeurosis that runs from the xiphoid process to the pubic symphysis and separates the left and right rectus abdominis muscles. It is widest just above the umbilicus, facilitating entry into the peritoneal cavity.
For vascular trauma purposes, the retroperitoneum is conventionally divided into four anatomic areas:
Zone 1: Extends from the aortic hiatus to the sacral promontory. This zone is subdivided into the supramesocolic and inframesocolic areas. The supramesocolic area contains the suprarenal aorta and its major branches (celiac axis, superior mesenteric artery (SMA), and renal arteries), the upper inferior vena cava (IVC) with its major branches, and the superior mesenteric vein (SMV). The inframesocolic area contains the infrarenal aorta and IVC.
Zone 2: Includes the kidneys, paracolic gutters, renal vessels, and ureters.
Zone 3: Includes the pelvic retroperitoneum, containing the iliac vessels and ureters.
Zone 4: Includes the perihepatic area, with the hepatic artery, the portal vein, the retrohepatic IVC, and hepatic veins.


Polio was once one of the most feared diseases in America, responsible for paralysis and death. Shortly after polio reached its peak in the early 1950s, the inactivated polio vaccine was introduced and greatly reduced polio's spread.
Today, few people in developed countries get paralytic polio, thanks to the polio vaccine. According to some studies, however, up to almost half the people who had polio at a young age may experience certain effects of the disease many years later — post-polio syndrome.
If you're experiencing weakness or fatigue that seems to be getting worse, see your doctor. It's important to rule out other causes of your signs and symptoms that may require different therapy from what's currently advised for post-polio syndrome.
Nobody knows exactly what causes the signs and symptoms of post-polio syndrome to appear so many years after the first episode of polio. Currently, the most accepted theory regarding the cause of post-polio syndrome rests on the idea of degenerating nerve cells.
A polio infection often leaves many of these motor neurons destroyed or damaged. To compensate for the resulting neuron shortage, the remaining neurons sprout new fibers, and the surviving motor units become enlarged.
This promotes recovery of the use of your muscles, but it also places added stress on the nerve cell body to nourish the additional fibers. Over the years, this stress may be more than the neuron can handle, leading to the gradual deterioration of the sprouted fibers and, eventually, of the neuron itself.
Age at onset of initial illness. If you acquired polio as an adolescent or adult rather than as a young child, your chances of developing post-polio syndrome increase.
Recovery. The greater your recovery after acute polio, the more likely it seems that post-polio syndrome will develop. This may happen because greater recovery places additional stress on motor neurons.
Physical activity. If you often perform physical activity to the point of exhaustion or fatigue, this may overwork already stressed-out motor neurons and increase your risk of post-polio syndrome.
Falls. Weakness in your leg muscles makes it easier for you to lose your balance and fall. A fall may result in a broken bone, such as a hip fracture, leading to other complications.
Malnutrition, dehydration and pneumonia. People who've had bulbar polio, which affects nerves leading to muscles involved in chewing and swallowing, often have difficulty with these activities as well as other signs of post-polio syndrome.
Chewing and swallowing problems can lead to inadequate nutrition and to dehydration, as well as aspiration pneumonia, which is caused by inhaling food particles into your lungs (aspirating).
Acute respiratory failure. Weakness in your diaphragm and chest muscles makes it harder to take deep breaths and cough, which can ultimately lead to accumulation of fluid and mucus in your lungs.
Obesity, smoking, curvature of the spine, anesthesia, prolonged immobility and certain medications can further decrease breathing ability, possibly leading to acute respiratory failure. This is characterized by a sharp drop in blood oxygen levels and may require you to receive treatment to help you breathe (ventilation therapy).
Osteoporosis. Prolonged inactivity and immobility are often accompanied by loss of bone density and osteoporosis in both men and women. If you have post-polio syndrome, you may wish to be screened for osteoporosis.
You're likely to start by seeing your family doctor or a general practitioner when you first notice your symptoms. However, you'll probably be referred to a doctor who specializes in nervous system disorders (neurologist).
Because appointments can be brief, and because there's often a lot of ground to cover, it's a good idea to be well-prepared for your appointment. Here's some information to help you get ready for your appointment and what to expect from your doctor.
What kinds of tests, if any, do I need? What will these tests tell you? What's involved in the test?
Have you ever had polio? If so, when?
How severe was your polio infection?
What areas of your body were affected by polio?
What types of symptoms are you now experiencing?
Previous diagnosis of polio. This may require finding old medical records or getting information from older family members for acute polio primarily occurs during childhood.
The late effects of polio usually occur in people who were adolescents or older during the initial attack of polio and in those whose symptoms were severe.
Long interval after recovery. People who recover from the initial attack of polio often live for many years without further signs or symptoms. The onset of late effects varies widely but typically begins at least 15 years after the initial diagnosis.
Gradual onset. Weakness often isn't noticeable until it interferes with daily activities. You may awaken refreshed but feel exhausted by the early afternoon, tiring after activities that were once easy.
In addition, because the signs and symptoms of post-polio syndrome are similar to those commonly associated with other disorders, your doctor will attempt to exclude other possible causes, such as arthritis, fibromyalgia, chronic fatigue syndrome and scoliosis.
Some people with post-polio syndrome worry that they may be getting amyotrophic lateral sclerosis (ALS), also called Lou Gehrig's disease. But the late effects of polio are not a form of ALS.
Electromyography (EMG) and nerve conduction studies. Electromyography measures the tiny electrical discharges produced in muscles. A thin-needle electrode is inserted into the muscles your doctor wants to study. An instrument records the electrical activity in your muscle at rest and as you contract the muscle.
In a variation of EMG called nerve conduction studies, two electrodes are taped to your skin above a nerve to be studied. A small shock is passed through the nerve to measure the speed of nerve signals. These tests help identify and exclude conditions such as an abnormal condition of your nerves (neuropathy) and a muscle tissue disorder (myopathy).
Imaging. You may undergo tests, such as magnetic resonance imaging (MRI) or computerized tomography (CT), to produce images of your brain and spinal cord. These tests can help exclude spinal disorders, such as the degenerative spine condition spondylosis or narrowing of your spinal column that puts pressure on your nerves (spinal stenosis).
Muscle biopsy. Your doctor may perform a muscle biopsy, looking for evidence of another condition that may be causing the new weakness.
Blood tests. People with post-polio syndrome usually have normal blood test results. Abnormal blood test results may indicate another underlying problem that's causing your symptoms.
Energy conservation. This involves pacing your physical activity and combining it with frequent rest periods to reduce fatigue. Assistive devices — such as a cane, walker, wheelchair or motor scooter — also can help you conserve energy. A therapist can even show you ways to breathe that help conserve energy.
Physical therapy. Your doctor or therapist may prescribe exercises for you that strengthen your muscles without you experiencing muscle fatigue. These usually include less strenuous activities, such as swimming or water aerobics, that you perform every other day at a relaxed pace.
Exercising to maintain fitness is important, but be cautious in your exercise routine and daily activities. Avoid overusing your muscles and joints and attempting to exercise beyond the point of pain or fatigue. Otherwise you may need significant rest to regain your strength.
Occupational therapy. A physical therapist or occupational therapist can help you modify your home environment so that it's safe and convenient for you. This may include installation of grab bars in the shower or a raised toilet seat. Your therapist may also help you rearrange furniture or rethink certain household or work-related tasks, decreasing the number of steps you must take and increasing your efficiency.
Speech therapy. A speech therapist can show you ways to compensate for swallowing difficulties.
Sleep apnea treatment. Treatment for sleep apnea, which is common among people with post-polio syndrome, may involve changing your sleeping patterns, such as avoiding sleeping on your back or using a device that helps open up a blocked airway.
Medications. Pain relievers — such as aspirin, acetaminophen (Tylenol, others) and ibuprofen (Advil, Motrin IB, others) — may ease muscle and joint pain.
Numerous drugs — including pyridostigmine (Mestinon, Regonol), amantadine, modafinil (Provigil) and insulin-like growth factor-I (IGF-I) — have been studied as treatments for post-polio syndrome, but no clear benefit has been found for any of them.
Having to deal again with an illness you thought was in the past can be discouraging, even overwhelming at times. Recovering from the initial illness required drive and determination on your part, but now the late effects of polio require you to rest and conserve your energy.
Protect your lungs. If your breathing is impaired, watch for signs of a developing respiratory infection, which can make breathing problems worse, and have it treated promptly. Also, avoid smoking and stay current with your flu and pneumonia vaccines.
Dealing with the fatigue and weakness of post-polio syndrome can be difficult physically and psychologically. You may need to lean on your friends and family for support. In most cases, they're probably already looking for ways to help you, and you can help them by telling them how.
You may even consider joining a support group for people with post-polio syndrome. Sometimes just talking things over with people who have similar problems enables you to better cope with the challenges at hand. You can contact Post-Polio Health International to find out about support groups in your area.


Watched X Factor on 7, then House Husbands on 9 – my wife lies it, I read or browse at the same time on my Tablet.
The Project doomsday people must realise that it is here to stay by now 😉 Also F/Feud doing OK – so why not keep it as a 3 channel showing.
Yeah there are quite a few unlikeable contestants this year on TAR but I'm still quite enjoying it.
Hope the male nurses win – super smart and they seem like decent guys …one of the few teams not acting like complete d*icks.
Re: The Amazing Race, I know the erratic timeslot may have affected its success but generally, I don't think it was ever popular with mainstream Australians. The first season was good but the ratings were never really outstanding hence Seven rested it for a year.
The Amazing Race ANZ is a total disappointment. Being beaten by Media Watch is no surprise. Then, anyone who really wants to watch it can catch one of the multiple reruns during the week and weekend.


text:
require 'stringio'

describe Honk::Post do

  describe '#initialize()' do
    before do
      @post = Honk::Post.new :title => 'foo', :contents => 'bar'
    end

    it 'raises an ArgumentError when contents are missing' do
      lambda {
        Honk::Post.new :contents => ''
      }.should.raise ArgumentError, "contents are missing"
    end

    it 'raises an ArgumentError when title is missing' do
      lambda {
        Honk::Post.new :title => 'foo'
      }.should.raise ArgumentError, "title is missing"
    end

    it 'sets a default timestamp' do
      @post.timestamp.should.be.kind_of Time
    end

    it 'sets commentable to false' do
      @post.commentable.should.be.true
    end

    it 'sets an empty tag array' do
      @post.tags.should.be.kind_of Array
      @post.tags.should.be.empty
    end
  end

  describe '#yaml_initialize()' do
    it 'does the same thing as #initialize when a YAML post is read' do
      sample = mock('posts/basic_sample.yml')
      YAML.load(sample.read).should.be.kind_of Honk::Post

      post = YAML.load(mock('posts/short_sample.yml').read)
      post.tags.        should.be.kind_of Array
      post.commentable. should.be.true
      post.tags.        should.be.empty

      lambda {
        YAML.load mock('posts/wrong_sample_1.yml').read
      }.should.raise ArgumentError, 'contents are missing'

      lambda {
        YAML.load mock('posts/wrong_sample_2.yml').read
      }.should.raise ArgumentError, 'title is missing'
    end
  end

  describe '.open()' do
    it "opens a post given it's slug and path" do
      post = Honk::Post.open('sample', 'basic_sample.yml')

      post.slug.should == 'sample'
      post.file.should == 'basic_sample.yml'
    end

    it "sets the timestamp to the file's mtime if it's missing" do
      post = Honk::Post.open('sample', 'short_sample.yml')

      post.timestamp.should == mock('posts/short_sample.yml').mtime
    end

    it 'should raise an ArgumentError if the post is invalid' do
      lambda {
        Honk::Post.open('sample', 'wrong_sample_1.yml')
      }.should.raise ArgumentError
    end
  end

  describe '#to_yaml' do
    before do
      @post  = Honk::Post.open('sample', 'basic_sample.yml')
      @short = Honk::Post.open('sample', 'short_sample.yml')
    end

    it 'should dump with the right tag' do
      dump = YAML.dump(@post)
      dump.should.include '--- !honk.yapok.org,2009/Post'
    end

    it 'should use the right order' do
      lines = YAML.dump(@post).split($/).select {|l| l =~ /^:\w+/}
      lines.map! {|l| l.gsub(/^:(\w+):.+$/, '@\1') }
      lines.should == @post.to_yaml_properties
    end
  end

  describe '#comments' do
    before do
      @with    = Honk::Post.open('sample', 'short_sample.yml')
      @without = Honk::Post.open('sample', 'basic_sample.yml')
    end

    it 'returns the comments as an array' do
      @with.comments.should.be.kind_of    Array
      @without.comments.should.be.kind_of Array
    end

    it 'returns an empty array when there are no comments' do
      @without.comments.should.be.empty
    end

    # it 'uses lazy-loading to avoid reloading comments'
  end

  describe '#write' do
    before do
      @post = Honk::Post.open('sample', 'basic_sample.yml')
    end

    it 'should write the dump to the given fileish' do
      buffer = StringIO.new
      @post.write buffer
      buffer.string.should == YAML.dump(@post)
    end
  end

  describe 'formatted_timestamp' do
    it 'returns the timestamp formatted with Honk.options.time_format' do
      @post = Honk::Post.open('sample', 'basic_sample.yml')
      @post.formatted_timestamp.
        should == @post.timestamp.strftime(Honk.options.time_format)
    end
  end
end


Louis Gerard Saliot holds a remarkable identity on the Fiji soil. His endeavor and overall motivation towards a cause has today brought him a name that is no less significant than any other popular face. Louis Gerard Saliot is the pillar of development and progress, counting down the various projects he has worked on with thorough determination and fixedness.
His tourism projects are internationally acclaimed. Even though his success stands unmatched and uncounted yet some of his primary projects with a socialistic cause include the Natadola marine resort which has redefined the face of Fiji and its natural wonder. His efforts have not only brought a prominent hike in the tourist grounds of Fiji but they have also provided employment to a large workforce in Fiji.
The story linked to the development of Natadola marine resort is absolutely exceptional since it is linked to various landowners and Fijian workers who have earned a whole new life because of Gerard Saliot's idea. The primal concept of Louis Gerard Saliotbehind each and every tourism project undertaken by him is to preserve and nurture the cultural heritage of the land and to also directly benefit the people associated with it. For Mr. Gerard Saliot it is more about the heart of the place that attracts the tourist then its materialistic identity.
Louis Gerard Saliot gets his experience from years of expertise in the tourism linked projects. His triumphant way of dealing with every big and small project can be attributed to the hardships and attempts he has given into this field. After covering all the difficult roads, Louis Gerard Saliot is the man who can either be envied or admired for his extensive list of achievements. Well, whatever it might be but he sure is an inspiration in the truest terms.
Gerard Saliot's affiliation with the hospitality industry and his tourism development inputs are one of a kind because he tries to cultivate the barren lands for the best of utilization. Overcoming many major hurdles, Louis Gerard Saliot is an exceptional winner in the face of a competition struck industry which aims at nothing but profit.
Having delivered all his works with the ease of a man going about his business, Louis Gerard Saliot is not a man to be intrigued with the scale and magnitude of any work. The world is aware of his contribution to the various tourism industry across the globe, and due to his intervention with his projects, many countries have found a new and regenerated source of income in tourism.
Having worked single handedly in many projects, Louis Gerard Saliot has achieved all his goals with very little effort. He gets inspiration from all sources and corners of life and his sole determination to see the project through has only given light to his dedication and work ethics that are impeccable. Even though he has garnered all accolades and prizes known to his sector of work, his ideas are still grounded and based on the beauty of that place and the cultural value, rather than the materialistic ideas.
Apart from getting hishugely successful venture for the masses, he is more into helping in the development of that nation and helping in the masses to gain knowledge from it. All his efforts are lauded in a global scale and have tremendous value in the international arena. His success stories are numerous and his presence is not matched by anyone in the entire industry.
Despite of all this fame and fortune which surrounds him, Louis Gerard Saliot is a well-grounded man, with no materialistic goals. His devotion and dedication to each and every project is not questionable. Having bought the Nabadola Marine project in Fiji, and making the people there earn a decent living off it, he is widely revered in that island nation. Massive construction work was the source of income for a lot of Fijians and a lot of the educated inhabitants of the island were given reputed jobs in that project. The government of Fiji has always expressed their heartiest wishes to him and the beauty of the island has been inculcated and preserved in this project, a symbiotic landscape that has only benefitted this island nation.
Louis Gerard Saliot has a firm belief that the soul and heart of the place is enough to draw people and attract them rather than the materialistic structures. His formula for success is to always stick to the identity of that place and built along with it, rather than create a new identity for that place.
Tourism industry backs up on enthusiastic support and dedicated efforts. One such man who has successfully undertaken the same since the past many years is Louis Gerard Saliot the CEO of twin tourism project firms that function at a global scale covering various multi dollar projects that have redefined the success scale of this industry.
Louis Gerard Saliot with his extraordinary reputation and efforts towards the tourism industry has a well resonating presence that is globally acknowledged. His success stories are too many and eventhough he is French by origin yet every country he takes on linked to his projects turns into his motherland. It is because of his this attitude that every tourism project under him gets an all new life because he roots it to the cultural presence of the nation.
Instead of just furnishing materialistic results, Louis Gerard Saliot works out success by highlighting the nation's natural wonders through his efforts. One such attempt was the Natadola marine project which not only revolutionized the nation's tourism base but also radically solved the employment issues by creating job opportunities for the inhabitants. Saliot has a very pure vision towards his achievements and the work he does. His free spirited attitude linked towards his work lets him see and create much more than anyone else. He is the source of motivation for people who work with him and also the same for those who know him or have heard about him. It is not because of the success Gerard Saliot holds that people know him for but primarily the attitude that he maintains towards his life, his achievements and his failures is something that draws everyone towards him.
A never die attitude along with creativity rooted to the core keeps Gerard Saliot at the top of every attempt that he takes ahead. There is a lot linked to Gerard Saliot, things that make him the man he is. Yet if one had to define the strong willed character of Mr. Louis Gerard Saliot then the best words will be remarkably positive. He is absolutely a league apart the rest in every possible way.


text:
Q: Creating a branch in SVN with files from different folders I'm trying to setup the SVN methodology within my company. The thing is, I'd like to create a simple way for our programmers to complete their tasks. We work in task assignments, and a task only modifies a subset of our code base, usually taking objects (files) from various parts of our repository.
What I would like to do is, find a way to create a branch in SVN (imagine its name as the task code from a bug tracker) and inside that branch there's only the files related to that task.
Like this: there's a huge folder structure to separate various modules and parts of the system, but we'll take a small example: folders 1, 2 and 3 with some files inside.
We want to take a file from each folder, and create a branch in /branches/task_1 that contains a file from each folder.
I want to be able to checkout only that branch, with the three files and still have a way to merge the changes back into trunk, without changing the rest of trunk. Is this possible without too much work from our developers?
EDIT: The code is mainly SQL and PL/SQL code, so there's no build to be broken. Please focus on what I'm asking and not in the traditional Software Development paradigm.
EDIT2: Convinced the client to use a traditional SVN strategy! Win!

A: No, it's not going to be easy, and rightly so: this is a horrible strategy.
SVN is meant to be used as a series of snapshots of a tree of files. So cherry-picking from the tree into a branch and then trying to merge them back in is going to be tedious, though I don't think it's impossible. Plus you have to look at testing what happens in each task... That's going to have to be tested against the entire application anyhow. So it's kind of pointless to do what you're asking.
Now, if your stuff is modular by design you could store each module in a separate tree or a separate repo and then maintain the full application as a series of svn:externals, but that's actually going to make it more complex. I think you're probably going to be better off just doing things the standard way.

And if you don't think it's impossible, you could at least try to send me in some direction.

Well you will have to create branches from the CLI tool, since I don't know of any client that supports only copying a set of specific files to create a branch (unless that set of files is the contents of a specific dir in the repository). So you or the developer would have to do something like:
svn cp --parents SVNURL/trunk/file1.sql SVNURL/trunk/file2.sql SVNURL/branches/taskname
The problem is this is only going to copy the file from trunk, not any intermediate directory structure. So if you have anything but a flat file layout on trunk then you're probably going to get confused when you merge everything back, because whoever is doing the merge will have to just know where to merge everything.
The only way around this I can think of would be to copy each file individually like:
svn cp --parents SVNURL/trunk/file1.sql SVNURL/branches/taskname
svn cp --parents SVNURL/trunk/file2.sql SVNURL/branches/taskname
svn cp --parents SVNURL/trunk/migrations/file3.sql SVNURL/branches/taskname/migrations

I'm guessing what it boils down to is that when you merge you're going to have to do a cherry-pick merge one file at a time. Which seems like a whole lot of overhead to me for not a lot of benefit.
After your explanation of what you're dealing with here and the workflow, I still think this is a bad idea. You're just going to have a much easier time if you copy TRUNK to BRANCH and then only work on the files necessary. It's pretty easy to see what those files are by just looking at the log.
And if you are worried about your developers accidentally modifying things outside the scope of the task, I'm pretty sure you could just set the permission to only give them commit access to the existing files affected by the task + write permission to add new files if necessary.


Failed to initialize the 'Microsoft .NET Framework 2.0' (net-2.0) target framework.
Property 'sdkInstallRoot' has not been set.
For more information regarding the cause of the build failure, run the build again in debug mode.


Rebecca Tillett, "Otherwise, Revolution!: Leslie Marmon Silko's Almanac of the Dead"
The World AlmanacВ® and Book of Facts is America's top-selling reference book of all time, with more than 82 million copies sold. Since 1868, this compendium of information has been the authoritative source for all your entertainment, reference, and learning needs. The 150th anniversary edition celebrates its illustrious history while keeping an eye on the future. Praised as a "treasure trove of political, economic, scientific and educational statistics and information" by The Wall Street Journal, The World Almanac and Book of Facts will answer all of your trivia needs-from history and sports to geography, pop culture, and much more.
Old Farmer's Almanac, "The Old Farmer's Almanac 2014"