I received an email over the weekend from a personal training client who wanted to know my thoughts on the validity of lemon juice and weight loss.
While I didn't see it, apparently the "tip of the day" on the Bill O'Reilly show a while back was to drink lemon juice and water before meals to help with weight loss.
In today's post we'll get into whether or not there's any truth with lemon juice helping to assist with weight loss.
Is this legit or just more weight loss hype?
Lemon juice has long been an ingredient in many naturopathic remedies for things like gastrointestinal distress, kidney stones, and liver detoxification. While not a "magic bullet" cure for any ailment, it can be very beneficial in part of a holistic plan to rejuvenate health.
I'll preface this discussion by stating that I'm a big proponent on the use of lemon juice in the diet. I consume lemon juice on a daily basis, although not for the purpose of losing weight. More on that in a minute.
The practice of drinking lemon juice and water prior to meals can assist with weight loss, just not in the way some individuals mistakenly believe.
There's nothing in lemon juice that's going to directly impact metabolic rate or have an effect on lipolysis (fat burning). So don't expect the pounds to just melt away by downing a bunch of lemon juice.
The correlation is more indirect by helping the individual to consume less at meals. The reason is lemon juice contains citric acid which helps to active digestive enzymes and hormones associated with satiation triggers.
In other words, it helps the body conduct nutrient assimilation and normal digestive functions using its resources. This assists with sending chemical signals to your brain via neurotransmitters that "enough is enough" while eating.
Contrast this to consuming processed and refined foods which contain artificial sweeteners, high fructose corn syrup, hydrogenated fats, and other "anti-nutrients" which block these signals, thereby causing you to eat more without feeling full.
This is why you can eat a whole bag of chips with ease, but would struggle consuming the same amount of fat and calories from a whole food, say raw almonds for example.
So in short, the answer is yes, drinking lemon juice and water prior to a meal will help you consume fewer calories.
No metabolic tricks, it just helps with digestive system function.
I've said it before and I'll say it again…improving digestive system function is one of the most important things a person can do to assist with weight loss.
The healthier your digestive tract and organs (like the liver and pancreas) are, the better off you'll be with weight loss.
What about the concern of lemons being acidic and triggering heart burn or acid reflux?
Many individuals shy away from lemon juice because they fear the acidity will cause digestive problems. The exact opposite is actually true. Lemon juice will help to create healthy digestive system function.
While lemons have high amounts of citric acid and are therefore "acidic," this isn't the case inside the body. Once in the stomach, lemon juice and water become alkaline and help to neutralize pH balances.
If your body is acidic from consuming high amounts of processed foods, excess sugars, starches, red meat, alcohol, etc, then lemon juice can be very helpful.
The first step towards rejuvenating health in general is to get your body in more of an alkaline state. High acidity is the precursor to most chronic illnesses and disease. It's the root cause behind inflammation that disrupts hormonal balances and cellular function.
I mentioned earlier that I consumed lemon juice on a daily basis, even when I'm not looking to lose weight. The reason is for all the benefits I've discussed above.
A while back I learned of a juice that is an early morning staple for health guru, Lou Corona. If you're not familiar with Lou Corona, I suggest you search is name in YouTube and check out some of his videos.
The man is in his sixties but seriously he looks like he's in his thirties. While I don't follow a complete raw-food, vegan diet, like he advocates, there's a lot that can be said for the health promoting benefits of things like juicing.
Basically, he juices a couple lemons along with some apples to cut the tartness, and a piece of ginger root. Greens like parsley or cilantro can also be added for additional benefit, although I usually just juice the lemons, apples, and ginger root.
You can find the recipe in my Lean Code Method Quick Start Nutrition Guide which can be downloaded for free with the above link.
If you try this juice I'll tell you to go easy on the ginger root when first starting out. Go with a 1″ piece at first then progress to larger sizes as you get used to it. No question it will warm you right up and has a kick.
I've found I'll eat less at breakfast when making this juice first thing in the morning upon awakening. Plus I don't get as hungry mid-morning when I do this juice. It all goes back to digestive function and providing your body with nutrients, not just calories.
Related: What are the best urology services?
I've really got into juicing over the past couple of years and highly recommend it. If you start juicing look to get a high quality juicer like the Breville. It can do whole apples with ease due to the wide mouth and high power motor. It's the best juicer I've found and I tried several before finally investing in the Breville 850 watt- 2 speed juicer.
Whether you decide to start juicing or not, definitely try adding some lemon juice to your water prior to main meals. Slowly drink a tall glass of water with lemon juice then when your meal is ready, eat slowly, taking small bites and fully chewing your food.
Believe it or not, this really does help you eat less and will help you cut out the excess calories.
Shane Doll is a certified Charleston personal trainer, fat loss expert, speaker, and founder of Shaping Concepts. With a staff of over 10 certified fitness professionals, Shaping Concepts provides fitness consulting in Charleston with a specialty on weight loss and body transformation. See our success stories from numerous Lowcountry residents then sign up for a no-obligations consultation today.


text:
Seton Hall 90, Lafayette 58; Bittersweet non-conference finale masks dominant performance
By GonzoBallSHU Dec 27, 2013, 10:07pm EST
Share All sharing options for: Seton Hall 90, Lafayette 58; Bittersweet non-conference finale masks dominant performance
Starting the game with nearly a full roster of healthy bodies for the first time in over a month, Seton Hall dismissed the Lafayette Leopards 90-58 on campus in South Orange, Friday night. Senior center Aaron Geramipoor was the only player unable to take part in the festivities, as the Pirates rolled out Fuquan Edwin, Patrik Auda and Sterling Gibbs for the first time since November 22nd against Oklahoma. While the Pirates made easy work of their opponent, fans had to temper their excitement after witnessing Eugene Teague (18PTS/11REB) suffer a hard fall that forced him to leave on a stretcher early in the second half.
Seton Hall's superior athleticism and determination to feed Eugene Teague made for what appeared to be the perfect tune-up before Big East play is set to begin on New Year's eve. Teague (7), Brandon Mobley (5) and Brian Oliver (6) bullied the undersized Leopards on the glass in the first half, setting the way for Seton Hall to run Lafayette out of the building. Before fans and students could finish filing in, the Pirates hand wrapped a Christmas present of their own, complete with a shiny maroon-bow.
In a move rarely seen in Divison-1 basketball, it appeared Kevin Willard attempted to call off the frantic pace of his offense with Seton Hall leading 32-7 with 6 minutes remaining in the half. If only Fran O'Hanlon accepted Willard's good faith offering. For whatever reason, trailing by THIRTY points in the first half, the Leopards refused to concede the track meet as they continuously rushed the ball down the court, resulting in missed field goal attempts and low-percentage shots. In result, the Pirates continued to defend aggressively while extending their lead to a 47-15 mark at the intermission.
Six minutes into the second half, Eugene Teague went airborne for a rebound attempt and fell extremely hard, hitting his neck/head and apparently suffered whiplash according to the FS1 booth. A stretcher was immediately called for Teague and the Seton Hall staff appeared to administer oxygen at one point. Just minutes after leaving the court, the Fox Sports booth informed viewers that Teague did not have a neck injury and was only being evaluated for a concussion.
Obviously, that's as good of news as anyone could have hoped for after witnessing the 14-minute sequence on television, or in person. In these situations, basketball and Teague's impact on Seton Hall's depth going forward is merely a secondary concern that serves no purpose in addressing at the moment. Please get well soon, Eugene. It also should be noted of the great job by the Seton Hall medical staff in attending to Teague and taking the appropriate precautions. Well done, guys.
Seton Hall is next in action with a matinee on New Year's eve as they hit the road and open up conference play against the Providence Friars.

redpajama_set_name: RedPajamaCommonCrawl


text:
NFXZCOGCHKSWNZNGARDWR
Wall Street Pares Losses as Jobs Data Shakes Confidence
Michael Teague Follow
| Friday, 05 April 2013 10:44 (EST)
The economic recovery and especially Wall Street's spectacular first quarter run were thrown into question as the Department of Labor's report indicated that far less jobs were added in March than expected.
The 88,000 jobs created in March fell short of the 190,000 jobs that were expected. The figure is also a far cry from the revised February figure of 268,000 jobs created, and ends a week that also saw disappointing data from ISM's report for March.
The Department of Labor also showed unemployment had dropped 0.1 percent to 7.6, but the 24,000 job loss in the retail sector was a particular cause for concern, as the labor force participation rate fell to its lowest in over 30 years.
The week was also marked by Thursday's announcement from the Bank of Japan that it would be following its Western counterparts in the U.S. and Europe by increasing stimulus through purchases of longer-term assets, in order to reach the country's 2 percent inflation target.
Very late in the day, however, some losses were recovered.
After dropping to as low as 14,434.43, the Dow clawed its way back to 14,565.25, cutting its loss to 0.28 percent. The biggest losses were taken by American Express (AXP), down 2.14 percent to $65.30, as well as Cisco Systems Inc. (CSCO), down 2.04 percent to $20.61. Generally speaking, tech stocks were once again the source of significant downward pressure, with Hewlett-Packard (HPQ), Intel (INTC), IBM (IBM) all taking losses.
Meanwhile Boeing (B) was one of the few bright spots, up 1.44 percent to $86.17 on news that it would be conducting "the final certification test for the new battery system" for its 787 dreamliners on Friday, the last step before potential FAA approval of the new plane that has been beset with technical difficulties resulting from battery problems.
The S&P 500 dropped 0.43 percent to 1,553.28 after dipping as low as 1,539.50. Financial and tech stocks also led the way down, with F5 Networks (FFIV) losing a whopping 19 percent to close at $73.21 and Juniper Networks (JNPR) down 3.15 percent to $17.55.
AFLAC (AFL) was down 3.90 percent to $49.49, while Prudential Financial Inc. (PRU) lost 2.60 percent to close at $55.48, and accident and health insurer Unum Group (UNM) down 2.67 percent to $26.26.
A number of oil and gas stocks were on the upside of the S&P, especially independent companies such as WPX Energy (WPX), Cabot Oil & Gas Co. (COG), Southwestern Energy (SWN), Newfield Exploration (NFX), and Chesapeake Energy Corporation (CHK) all clocking in gains of over two percent to over five percent.
The Nasdaq Composite turned out to be the day's biggest loser, down 0.65 percent to 3,203.86, after dropping as low as 3,168.88 earlier in the day, with health care and tech stocks providing a good deal of the day's losses. The IT company Radware Ltd. (RDWR) took a 22.65 percent hit to close at $29.07.
Online real-estate company Zillow Inc. (Z) made up for some of the week's losses by closing up 3.82 percent to $52.19, while online gaming company Zynga (ZNGA)'s turnaround plan seems to be pleasing investors for the moment, with the company closing the day up 2.90 percent to $3.55.
Follow	 COG Cabot Oil & Gas Corporation 18.51 -0.46 -2.42 5,021,046 Trade
Follow	 SWFT KNX Liberty Media Corp (DE) n/a n/a n/a n/a
Follow	 SWN Southwestern Energy Company 3.87 -0.09 -2.27 28,015,280 Trade
Follow	 ZNGA Zynga Inc. 9.94 0.27 2.74 24,053,220 Trade
Follow	 Z Zillow Group Inc. 143.97 6.47 4.71 2,657,944 Trade
Follow	 RDWR Radware Ltd. 28.24 0.42 1.49 162,685 Trade
Follow Cabot Oil & Gas Corporation
Follow Liberty Media Corp (DE)
Follow Southwestern Energy Company
Follow Zynga Inc.
Follow Zillow Group Inc.
Follow Radware Ltd.


Aaptiv offers more than 2,500 audio-guided workouts to keep you motivated and moving.
Getting in shape takes time and motivation. Whether you're trying to get fit, lose weight, or train for your next race, having the right tool can help you get the most out of each workout.
For some people, hitting the gym a couple times each week is all they need. For others, they need something to offer that extra push. Aaptiv is the trainer you need, right where it matters most.
Aaptiv is a subscription-based fitness "coach" app, offering more than 2,500 workouts. Each workout is taught by one of their expert trainers, and ranges in difficulty, area of focus, and length.
Using the app is dead simple. Whether you're looking for a specific category of workout, or you're feeling a musical genre, you can find a workout that meets your needs.
Once you're ready to get started, put on your headphones and get started. With each workout, the trainer will explain each exercise or intensity as you go. They also walk you through the workout, and offer motivation as things get tougher.
With so many workouts to choose from, there's always something new to try.
What makes Aaptiv different than many other "workout coaching" apps is their focus on audio. Having tried several different workout apps in the past, none have provided the realistic, perfectly timed motivation that Aaptiv does. This makes the workouts feel cohesive and true-to-life. The added use of music to help provide pacing and rhythm to the workouts makes them even better.
Aaptiv also offers an Apple Watch app, which will sync your favorited workouts from the iOS app. After downloading the workout to your watch, you can start exercising without your iPhone nearby. Aaptiv workouts include both the voice guidance and background music, making it perfect for an Apple Watch + AirPods workout.
As someone that occasionally finds it difficult mix up my workout, get the most of my time at the gym, or what new thing to try, Aaptiv is excellent at keeping things interesting. It provides the variety and the motivation I need to push myself and maximize my fitness.
Aaptiv is free to download, and their unlimited access costs $14.99 per month or $99.99 per year.
Pro-tip: if you skip the initial sign-up screen after making your account and head into a class, you can get the same unlimited access for $11.99/month or $69.99/year (because who doesn't love saving a few bucks).


text:
John Fox, Jr.
Historical Marker #2575 describes the importance of hemp to Bourbon County and the Alexander House, whose owner William Alexander operated a hemp factory in Bourbon County. Located at 902 Main Street, Paris, Kentucky.
Bourbon County was one of Kentucky's chief hemp producing counties and led production in 1810, accounting for 796 of the 5,755 tons grown in state. Two hemp mills produced on average 50,000 yards of fiber per year. Production slowed during the Civil War, but local farms produced a crop of 569 tons in 1870. By 1900, production declined with a brief revival during the World Wars.
In 1812, hemp factories in Bourbon and Fayette counties accounted for over 94 percent of bagging produced along the Maysville Road, and 73 percent of the state's total production. Merchant-manufacturers of Lexington and Paris found great profit in hemp and cotton productions, tapping into the cash crop that flourished in southern Kentucky (Friend, 2005). As the hemp industry began to show profits, the local manufacturing industry continued to develop around what is now known as the Maysville & Lexington pike. Local manufacturers in Paris like Samuel Williams, William Alexander, and Samuel Pike all made bagging, rope, and twine made of hemp fiber and made fortunes from the expanding industry.
The Alexander House
The Alexander House was built for William W. Alexander, a Kentucky State Representative from 1848-1852. His father, William Alexander, owned a hemp factory until 1856 that was operated by over 100 enslaved people. At 600 feet it had one of the world's longest rope walks. Hugh D. Alexander operated the home as a saloon and restaurant from the 1880s until 1908.
Kentucky led the nation in hemp production in 1840 (Brown, 2002), while Bourbon and Fayette Counties led the state. Hemp production became even more profitable for Bourbon County when the southern terminus of the Maysville- Lexington Railroad was constructed in 1854 and Paris was designated the most important shipping point in Kentucky. (Collins, 1878). However, by 1859, the county had fallen behind Fayette, Woodford, Boyle, Scott, Mason, and Jessamine counties in production (Hopkins, 1951).
After the Civil War, local farmers produced a crop of 569 tons in 1870. By 1900, production declined with a brief revival during the World Wars. Several hemp dealers and manufacturers also managed to find success toward the turn of the century. E.F. Spears and Sons and Charles S. Brent & Brothers dealt in hemp during the late 19th century into the early 20th century and were some of the last known dealers in Bourbon County. One of E. F. Spears' last hemp contracts was for the renovation of the battleship Constitution around 1920 (Scott & Scott, 2002). While the industry experienced brief influxes during WWI and WWII, hemp production ceased in the area by the late 1940s.
Source: Hopkins, James. F. A History of the Hemp Industry in Kentucky. Lexington: University of Kentucky Press, 2015.
Source: Scott, Berkeley & Jeanine. Paris and Bourbon County. Arcadia Publishing, 2002.
Black workers inside Spears & Sons hemp factory
The planting, growing, harvesting, and processing of hemp was difficult and dangerous labor. As Kentucky was the leading producer of hemp prior to 1850, historian James F. Hopkins asserts that hemp is the reason slavery was allowed to flourish here. Even after the Civil War many formerly enslaved people were still doing this work with the transition to sharecropping, continuing the exploitation of black labor.
Black workers breaking hemp
Breaking hemp was hard work as one man had to continually lift and drop the upper part of the break in order to crack open the stalks and reach the fiber. It was a much more labor intensive process than that of picking and cleaning cotton.
Hemp Hackle
A hemp hackle was used to comb out the hemp fibers similarly to how flax was combed. Hackling was usually done in the winter and in a dry confined place, like a barn. Hackling was dusty and dirty work and many of the enslaved men developed respiratory issues due to the process.


I've made a start on the wiring for Smestow. I know it might sound a bit backwards to some that I have started the wiring before laying any track on the scenic sections of the layout but, the idea is to do as much of the basic wiring as possible so as each section of track is laid it can be tested and checked as work progresses.
I'm still sticking with conventional DC control for locomotives and other traction but I'm also developing my own local bus system for control of servo point and signal motors. This should reduce the number of wires going back and forwards to the control panel.
MERG have a range of similar modules in the members kit locker but I enjoy experimenting with electronics and I'm in the process of designing and building my own local bus system using cheap and easy to obtain parts from several sellers on Ebay.
This was the state of play with some of the wiring this morning.
Note that I use good old fashioned solder tag strips rather than the screw connector blocks.
Just my personal preference as I always think that a good solid soldered joint is far more reliable than screw terminals.
I find that screw terminals have a tendency to shake loose over a period of time and throw up all sorts of faults.
Having said that, some of my modules will have screw terminals just to make a quick disconnect and removal of modules for any modifications and alterations that I might want to make.
The picture shows the underside of the end base board and the solder tag strips can be seen, the tags are wired to a 25way D connector that will connect the control panel to the layout.
The circuit board in the centre is just a 15V DC distribution board and feeds power to other modules individually.
Below that is the 5 V DC power supply to provide power to the servo motors.
I'm using a bit of a mixture of servo drivers for the points and signals. I have some Heathcote electronics modules salvaged from one of my old layouts and some MERG servo drivers that I haven't used before but at the price for the kits are as cheap as chips.
The only drawback with the Heathcote modules and cheap Ebay servo motors is that the servos tend to kick quite violently on power up. To overcome this I have incorporated a timer circuit in the motor supply line.
On start up power is applied to the control modules immediately, but there is a two second delay before the motor power is applied. this gives the control modules time to settle down and stops the servos from jittering on power up. .
As I said earlier some of the control modules are still in the development stage but I will update this page as and when things develop.


text:
A Terrible Anniversary on Valentine's Day
Tomorrow will mark the one-year anniversary of the 17 murders and 15 injuries at Marjory Stoneman Douglas High School in Parkland, Florida. Students who survived and have spoken out have been called "crisis actors." It is hard to believe in a country built on democratic speech that anyone would attack children speaking out after what is likely the worst day of their lives in a place where they should feel the safest.
From Rolling Stone:
It was the sixth of 24 shootings in U.S. schools last year, but the incident at Marjory Stoneman Douglas High School in Parkland, Florida, became the catalyst for a nationwide movement. The school's students rallied more than half a million people to Washington, D.C., for the March for Our Lives and galvanized support for some 67 new gun laws.
The Education Writers Association has a good story on what that school may have missed and what districts should be considering going forward.
That an expelled student with a lengthy school discipline record, a history of violent outbursts, disturbing social media posts, and run-ins with police was able to buy an assault weapon, walk into his former school, and kill 17 students and educators has been called a "multi-system failure."
How do schools identify and support students who show signs of potential violence?
What training do staff receive to identify and report potentially dangerous behavior?
Is there a designated threat response team in the district? If so, who is on the team? What training do they receive?
And, are districts making changes to their school safety and threat assessment systems in the wake of the school shooting?
I would certainly say that schools need more counselors so there are more eyes on more kids. There is a bill in the WA state legislature to provide funding.
It's important to distinguish between systems in place for responding to immediate threats of violence versus systems for preventing situations from escalating to the point of violence in the first place.
The latter systems may include things like comprehensive behavioral and mental health services writes Evie Blad for Education Week:
While it can be tempting to focus on costly visible measures, like adding more school police and installing metal detectors, some schools may achieve greater safety benefits in hiring an additional school counselors or launching new programs to support students with behavioral needs, school leaders say.
Perhaps "See something, Say something" might be a good mantra to give to students to use if they see students who have a pattern of self-hating language or violent language towards others.
What avenues do students, parents, and educators have to report concerns? For example, some school districts have created hotlines that students can email or call to report concerns.
What about discipline?
How do schools distinguish between minor infractions and serious, credible threats? Are threat response policies applied evenhandedly, or, like zero-tolerance approaches to discipline, do they tend to disproportionately affect students of color?
But like many problems that come to the schoolhouse door, there are societal issues that schools and districts alone cannot solve.
They can't solve students access to guns. (Although in the Marysville Pilchuck High School shooting case, the father of the killer did get prosecuted and sent to jail for having guns - he was a felon - not so much for them laying around and being accessible.) From USA Today in 2016:
A jury in September convicted the elder Fryberg of six counts of illegally possessing firearms. After he serves his sentence, Fryberg will have three years of supervised release.
Prosecutors say Fryberg should not have purchased guns because it violated a court protection order. But a record of the order never made it into criminal databases used by firearms dealers during gun purchases.
Also, this from the AP:
Sheriffs in a dozen Washington counties say they won't enforce the state's sweeping new restrictions on semi-automatic rifles until the courts decide whether they are constitutional.
A statewide initiative approved by voters in November raised the minimum age for buying semi-automatic rifles from 18 to 21, required buyers to first pass a firearms safety course and added expanded background checks and gun storage requirements, among other things. It was among the most comprehensive of a string of state-level gun-control measures enacted in the U.S. after last year's shooting at a Florida high school.
Initiative supporters say they are disappointed but noted the sheriffs have no role in enforcing the new restrictions until July 1, when the expanded background checks take effect. The provision brings vetting for semi-automatic rifle and other gun purchases in line with the process for buying pistols.
I have to shake my head because some of these sheriffs are saying they have to protect the constitution except that the constitution allows for laws regulating rights. Plus, their job is NOT to interpret law but to enforce it. Leave it to the courts and enforce it until a court says it is unconstitutional. That's generally how it works.
I'll ask the district what, if anything, has changed in their security policies from a year ago.
giaonhan247 said...
Giaonhan247 chuyên dịch vụ ship hàng từ mỹ về việt nam giá rẻ với hướng dẫn cách mua hàng trên ebay ship về việt nam hay dịch vụ chuyển hàng đi mỹ giá rẻ nhất hay hướng dẫn cách mua hàng trên amazon ship về việt nam uy tín hay dịch vụ mua hộ hàng mỹ uy tín giá rẻ.
Cuts Happening Throughout Seattle Schools
Wednesday Open Thread
Seattle Schools Decides on Snow Make-Up Days
High School Updates
Charter Schools: Education Reform Losing Its Luste...
Check Yourself Middle School Mental Health Screeni...
Board To Hold Work Session at Garfield
Tell City Council Candidates - We Want Safe Sidewa...
New Head for Advanced Learning Should At Least Hav...
Upcoming Charter School Applications in Washington...
What is the State of Charter Schools in Washington...
Statement from OSPI on Waivers Due to Snowy Weathe...
Seattle Schools News Updates
Election Day (How to Vote if You Can't Get Your Ba...
District to Cease Use of Some Education Software T...
Seattle Schools Week of Feb. 11-16, 2019
More Bad Weather to Come
Washington Middle School Upheaval Update
Prospective Students Encouraged to Apply for Acade...
Saturday Open Thread
Strategic Plan: Moving Fast
Discord at the Start of Black History Month/Black ...


Flagging off the reconstruction of Egbelu Street and construction of link roads in East-West in Rumuodara, Obio Akpor Local Government Area on Thursday , Governor Wike said that the Federal Government has not informed him on the President's visit and the reason behind his visit.
He said: "I hear they say that the President is coming to our state. I have not been told the President is coming and why he is coming. He has the right to come to any state.
"Maybe the President is coming to make sure that he will improve the fortunes of the APC that is dead in Rivers State.
"Apart from Jesus Christ, we don't know of anyone who has risen a dead thing. APC is a dead party in Rivers State. No matter how you fast and pray, it will never wake up".
Governor Wike charged Rivers people not to be bothered the politics or otherwise of the visit, because the state is very peaceful.
"Let nobody bother him or herself that the President is coming for security reasons. We don't have security challenges in the state.
He stated that there is no state in this country where kidnappers and armed robbers are not operating. He said if President Muhammadu Buhari is visiting because of Kidnappers and Armed Robbers, then he should visit all the 36 states.
According to him: "Since the administration has abandoned Rivers State for three years, this visit may be a blessing in disguise. The President may use the visit to complete the Port Harcourt International Airport, the neglected East West road, the neglected sea ports and the rejected Port Harcourt-Aba road".
Speaking on the road, Governor Wike said the Chairman of the Rivers State Council of Traditional Rulers, King Dandeson Jaja drew his attention to the challenges faced by residents of the populated surburb.
Commissioner of Works, Dum Dekor said the seven roads will be completed in six months, while the project will offer employment to 230 youths.
The Works Commissioner noted that the road construction will also resolve the environmental challenges facing the residents.
Chairman of Obio/Akpor Local Government Area Caretaker Committee, Prince Noble Amadi praised the governor for key projects across the area, assuring him of total support in 2019.


If you still do not know how to make canapes for a birthday, then I suggest you pay attention to the proposed ideas. Prepared from the usual products, turn out beautiful and tasty snacks. They can replace traditional meat and vegetable cuts, sandwiches and even salads.
1. Lightly salted or smoked salmon can be an excellent ingredient for canapes. A slice of white bread should be cut into small pieces. Grease with butter and lay out thinly sliced salmon. Repeat layers 2-3 times and strung on a skewer. Such canapés can be supplemented with a piece of egg, a slice of cucumber or fresh greens. These small sandwiches will look great on a festive table.
2. There are also options how to make canapés for a birthday without bread. In this case, you can use crackers, for example. Spread a thin layer on it (fish or liver pate) and add a slice of tomato and egg to the canape. You can decorate the snack with olive and fresh greens.
3. Traditional sandwiches can replace small canapes with bread, sausage, cheese and vegetables. They can be served on small skewers, decorated with greens. Cut ingredients can be ordinary squares or using molds for biscuits.
4. As an ingredient for canapes at home for birthday, you can use absolutely everything — meat delicacies, seafood, vegetables and even fruits. Such canapés can also be supplemented with various sauces.
5. Another fairly simple recipe for birthday canapés is a combination of boiled beets and meat. You can use beef or lean pork, cut into thin pieces. To make these canapes more piquant, you can also add salted cucumber or pickled onion ring.


She will be adding more to the album as time allows.
I am not allowed to see the page...is it 'under construction'? or just not available to non-FB members?
It might not be available to non-facebook members. I'll see what we can do about that. If necessary I will try to load all of those pics here. The problem is that it gets difficult to keep posting pictures on different sites. Elaine has basically one day uploaded so far, and there is a lot more work yet to do.
Nice photos, and.......somehow, you were able to catch Andy Chase in 21st C apparel!
That second link works for me John- thanks!
As the host of the event, I want to thank everyone who has come and shared the conversation over the past eight years. Although the AEBG will end as we know it, I hope that it will continue to shape the conversation in the future through all who have participated. Thanks to Greg Adams, Kyle and all of our great presenters, we have put forth some difficult and important discussions on race, music, culture, dance and our favorite icon of American multiculturalism. Thanks you all, and let's plan on keeping the conversation on the next life of the Early Banjo Gathering here on Ning!
Um, what does all this mean?
What happened, and why ??
I thoroughly enjoyed this year's AEBG, many said they thought this was the best one yet. We had many first timers and they all told me they had a great time and were able to connect well and felt very included in the events. My thanks to all those who mentored over the weekend, your willingness and openness to share with others was a big reason I think everyone had such a great time.
To your question about what happened and why, George and/or Greg can answer more in depth, but simply put George and the Civil War Medical Museum, that operates at the Pry House property including the barn, are parting ways as George moves on to a new position at a local university. Not only that, the Medical Museum staff provide a lot of the organization and manpower to host the event at the barn, and with George's departure their board may not be willing to support the event to this degree. So there is a possibility that the Pry House and barn will not be the venue for next year's gathering. And while George and Greg are not necessarily stepping away from the gathering, now is the time for some new leadership and vision to arise and carry this further.
We should probably start a thread here on this site, as we all agreed this is probably as good a central location as any, to start the discussions and get some folks involved in leading the charge to whatever the new gathering might entail. Among the ideas discussed over the weekend were holding the gathering at other local venues to Sharpsburg (like the Antietam or Harper's Ferry or Monocacy Battlefields), local colleges (Hood College, Shepherd College, Stevenson, etc), or other such places.
It was good to see some new, enthusiastic people at this year's gathering. Missed the Carolina boys, Strumula, Mike Randolph, and Dan Gibson as I think it's the first time in my four years of attending that they haven't been there. Of course we miss Carl Anderton, but he hasn't been to the past couple gatherings. Good to meet Scott Miller, too, after seeing him on YouTube so often.
Terrific weekend, folks. One venue as a possible place for the future AEBG I think, would be Gettysburg College. The interest in 19th century life and society are already there, plus they have great facilities with a strong music department. Thoughts?
Regarding AEBG, I am an outsider and so this may be a completely unworkable thought for reasons I'd have no reason to know, but: Perhaps it would be worth seeing whether a related event is having similar issues and would benefit from co-location (e.g. Bones Fest, the Black Banjo Gathering, a re-enactment event, etc.). The events could still arrange their own programming, in different spaces within a large venue, but having two events at the same venue on the same weekend could allow for economies of scale -- a larger pool in which to spread fixed costs like overhead, group rates at a hotel or camp, and a single point person to manage admin tasks related to the venue. A bonus would be some overlapping programming (e.g. a joint concert, presentation, or jamming/social/meal time) to allow for individuals with similar interests to meet, mix, and network without forcing them to do so. I saw this done to good effect with a pair of historical hobbyist conventions held simultaneously at the same hotel, with separate programming in different rooms, but a single individual handling registration and housing, and common social areas; registering for either event gave you access to "visit" the other.
Jeff. I think Gettysburg College would be a great place for a conference if they would be interested in having us.
Nice to see the pics, thanks Robin.
I've been mulling over a longer-form essay about how I found my way to AEBG and what it means to me, but for now suffice it to say that the five gatherings I attended have been tremendously important to me on multiple levels. I really missed seeing some of the regulars this year, but was glad to see new people. I'm sad to see it come to an end in its current form, but I do dearly hope that it can continue to exist in some form and somewhere in the general mid-atlantic region, which has so many ties to the banjo's rise to popularity in the 19th century.
I can't offer a lot of "on the ground" support from up here in New England, but if a steering/organizing committee emerges I'd like to be in the loop. It seems like the ning site is a natural place for sharing details as they become public, but if need arises for private tools for collaboration/organization I could help with setup and/or hosting.


4. There is an increasing demand of oil (according to the International Energy Agency, the oil demand will rise by 50 per cent by 2030).
According to Pierre Noel, member of the French Institute of International Relations (IFRI), the oil market is the single international market composed of different industries, public or private. Thereby, energy policies not only dependent on the states' policies but they are also the result of industrial strategies. This essay will analyze the politics of oil in Africa.


Bertomeu is speaking about change in the industry in general, driven by digital media technology. But he could have been talking about his own organization specifically. Hand-in-hand with global entertainment and marketing specialist IMG, EB is undergoing a remarkable, high-speed transformation.
Modernizing the league's digital content output.
It's an ambitious schedule. But Euroleague Basketball can't afford to stand still. As a second-tier property, in a second-tier sport in Europe, it has to work hard for every fan and every euro of revenue. The footprint of both the league and the sport is greatest in smaller, less-wealthy markets in the south and east of the continent.
The good news for Euroleague and IMG is that their joint work already seems to be paying off, just two years into the partnership.
The two crucial pieces of work in the first two seasons were: changing competition formats at both the EuroLeague and the 7DAYS EuroCup; and improving the standard and consistency of TV production.
Format changes to the EuroLeague ensured more games overall and more games between the biggest teams. New standards and specifications were introduced for TV broadcasters producing EuroLeague games, and IMG took on production in markets where there weren't any local broadcasters willing or able to meet the standards.
Between 2015-16 and 2017-18, EB revenues increased by 96 per cent, with media revenue increasing by 103 per cent and sponsorship revenue going up 50 per cent.
These changes did not come without challenges, including EB clubs getting used to a competition that required them to play many more games.
Bertomeu says that for the first two seasons the main focus was "to start the competition in October with everything ready, with more cameras, with a different [TV] production plan, with all the broadcasters aligned with the broadcast standards. There were so many things to do around the launch of this new concept".
Many of the forthcoming developments are digital. Investments are being made in new types of content for the league's digital platforms, in the platforms themselves and in a system to fully exploit the data generated as fans interact with the content and the platforms. These moves are considered critical in building the league's value to fans, sponsors and other partners.
"It's about trying to align our sponsorship, media and digital strategy under the same concept," Bertomeu says.
This work includes the EuroLeague Creators Project, which employed social media influencers and personalities from more than 10 markets around the world to create EuroLeague-themed content. The Creators attended this year's Final Four as part of the project. They included one of Turkey's biggest YouTubers, Enes Batur, who has 7.2 million YouTube subscribers, and Germany's Simon Desue, who has 6.6 million followers on Facebook. "We want them to be a viral extension to partnerships with sponsors," Francini says.
Euroleague Basketball has positioned itself as a tech-savvy property and is also exploring new content technology. In last season's EuroLeague playoffs and in the Final Four event, fans got novel content from HEED, a service that uses sensors on players to generate statistical and performance-based content and deliver it to mobiles in-game. HEED is an IMG joint venture with technology firm AGT International.
The biggest upcoming investment is in the EuroLeague Data and Intelligence Engine, which will centralize fan data that is currently split across databases in the league. EB expects a much greater understanding of its fans to emerge from the system, which is to be used in many aspects of the business, as well as crafting effective content for fans and pitching to potential sponsors.
The aim is to have data from all clubs integrated into the system by the 2019-20 season.
Much of the work on digital content and data is aimed at supporting a revamp of EB's sponsorship business.
"What you're seeing today in sponsorship is the tail end of the traditional EB business model of sponsorship," Francini says. "We have global, regional and local partners, and have heavy participation from certain regions. It's a transactional, opportunistic business model. We are going to completely redesign the sponsorship programme – which doesn't mean a revolution – but will be about creating a structure that's fit for purpose going forward. Our plan for the next phase of EB sponsorship will be presented at the end of this year to the board, and then we'll start rolling it out next year.
One of the most visible developments in the next couple of seasons will be the addition of two new semi-permanent teams to the top-tier EuroLeague. Currently, 11 teams have their participation guaranteed each season by virtue of 10-year licenses – these are also the teams that own EB. In 2019-20, two teams will get three-year licenses envisaged as a stepping stone to longer-term licenses. Crucially, these teams will be the league's first from the powerhouse economies of Germany and France: FC Bayern Munich and ASVEL Lyon-Villeurbanne, respectively. ASVEL's licence is yet to be signed off – the club has to complete further preparatory work to satisfy the league that it will be able to compete, but both sides are confident that it will.
"Both are major markets with an existing basketball culture," says Bertomeu. "Germany, thanks to the growth of basketball in the last 10 years, is probably now more mature than France. What makes sense for us is to be associated with big brands. To be partnered with one of the most prestigious sports brands worldwide in FC Bayern Munich is a great way for the league to increase and improve our footprint in Germany.
Tony Parker is one of France's greatest ever players, still playing in the NBA with the Charlotte Hornets and previously a four-time NBA champion with the San Antonio Spurs. He first acquired a stake in ASVEL in 2009 and is now the majority shareholder in the club. His plans for its development include a new 10,500-seat arena that is currently under construction.
The EuroLeague's end-of-season showpiece had a record-breaking year in Belgrade in 2018, with new highs in attendance and revenue.
But the organizers aren't resting on their laurels and are planning a broader range of entertainment options for visitors to next year's event, in Vitoria-Gasteiz, the capital of the Basque region in Spain. Vitoria-Gasteiz – a Spanish basketball hub and home to one of the country's most successful teams, Baskonia – will be the main focus and host all matches, but there are plans to host related events in a nearby city, with Bilbao or San Sebastian under consideration.
Alongside the big-ticket developments above, EB and IMG are working on numerous other programs to grow the league's brand and the sport of basketball, including a grassroots scheme with 12,000 children in Spanish schools; the One Team corporate social responsibility project; and the EB Tech Challenge startup competition, to name a few.
The hard work appears to be paying off. So far, the results of the changes under the joint venture are highly encouraging and make Euroleague Basketball an essential property to watch for the sports industry in Europe and beyond.


text:
"""

"""
from pyjamas.ui.Panel import Panel
from pyjamas.ui import Event

from pyjamas import DOM

class SplitPanel(Panel):
    """ Abstract base class for {@link HorizontalSplitPanel} and
        {@link VerticalSplitPanel}.
    """

    def __init__(self, mainElem, splitElem, headElem, tailElem, **kwargs):
        """ Initializes the split panel.
           @param mainElem the root element for the split panel
           @param splitElem the element that acts as the splitter
           @param headElem the element to contain the top or left most widget
           @param tailElem the element to contain the bottom or right most widget
        """

        self.widgets = [None, None]
        self.elements = [headElem, tailElem]
        self.isResizing = False

        self.setElement(mainElem)
        self.splitElem = splitElem

        Panel.__init__(self, **kwargs)

        self.sinkEvents(Event.MOUSEEVENTS)

    def addAbsolutePositoning(self, elem):
        """ Sets an elements positioning to absolute.
        """
        DOM.setStyleAttribute(elem, "position", "absolute")

    def addClipping(self, elem):
        """ Adds clipping to an element.
        """
        DOM.setStyleAttribute(elem, "overflow", "hidden")

    def addScrolling(self, elem):
        """ Adds as-needed scrolling to an element.
        """
        DOM.setStyleAttribute(elem, "overflow", "auto")

    def expandToFitParentUsingCssOffsets(self, elem):
        """ Sizes and element to consume the full area of its parent
            using the CSS properties left, right, top, and
            bottom. This method is used for all browsers except IE6/7.
        """
        zeroSize = "0px"

        self.addAbsolutePositoning(elem)
        self.setLeft(elem, zeroSize)
        self.setRight(elem, zeroSize)
        self.setTop(elem, zeroSize)
        self.setBottom(elem, zeroSize)

    def expandToFitParentUsingPercentages(self, elem):
        """ Sizes an element to consume the full areas of its parent
            using 100% width and height. This method is used on IE6/7
            where CSS offsets don't work reliably.
        """
        zeroSize = "0px"
        fullSize = "100%"

        self.addAbsolutePositoning(elem)
        self.setTop(elem, zeroSize)
        self.setLeft(elem, zeroSize)
        self.setElemWidth(elem, fullSize)
        self.setElemHeight(elem, fullSize)

    def getOffsetHeight(self, elem):
        """ Returns the offsetHeight element property.
        """
        return DOM.getIntAttribute(elem, "offsetHeight")

    def getOffsetWidth(self, elem):
        """  Returns the offsetWidth element property.
        """
        return DOM.getIntAttribute(elem, "offsetWidth")

    def preventBoxStyles(self, elem):
        """ Adds zero or none CSS values for padding, margin and
            border to prevent stylesheet overrides. Returns the
            element for convenience to support builder pattern.
        """
        DOM.setIntStyleAttribute(elem, "padding", 0)
        DOM.setIntStyleAttribute(elem, "margin", 0)
        DOM.setStyleAttribute(elem, "border", "none")
        return elem

    def setBottom(self, elem, size):
        """ Convenience method to set bottom offset of an element.
        """
        DOM.setStyleAttribute(elem, "bottom", size)

    def setElemHeight(self, elem, height):
        """ Convenience method to set the height of an element.
        """
        DOM.setStyleAttribute(elem, "height", height)

    def setLeft(self, elem, left):
        """ Convenience method to set the left offset of an element.
        """
        DOM.setStyleAttribute(elem, "left", left)

    def setRight(self, elem, right):
        """ Convenience method to set the right offset of an element.
        """
        DOM.setStyleAttribute(elem, "right", right)

    def setTop(self, elem, top):
        """ Convenience method to set the top offset of an element.
        """
        DOM.setStyleAttribute(elem, "top", top)

    def setElemWidth(self, elem, width):
        """ Convenience method to set the width of an element.
        """
        DOM.setStyleAttribute(elem, "width", width)

    def add(self, w):
        if self.getWidget(0) is None:
            self.setWidget(0, w)
        elif self.getWidget(1) is None:
            self.setWidget(1, w)
        #else:
        #    raise IllegalStateException("A Splitter can only contain two Widgets.")

    def isResizing(self):
        """ Indicates whether the split panel is being resized.

            @return True if the user is dragging the splitter,
                    False otherwise
        """
        return self.isResizing

    def __iter__(self):
        return self.widgets.__iter__()

    def onBrowserEvent(self, event):
        typ = DOM.eventGetType(event)

        if typ == "mousedown":
            target = DOM.eventGetTarget(event)
            if DOM.isOrHasChild(self.splitElem, target):
                self.startResizingFrom(DOM.eventGetClientX(event) -
                                       self.getAbsoluteLeft(),
                          DOM.eventGetClientY(event) - self.getAbsoluteTop())
                DOM.setCapture(self.getElement())
                DOM.eventPreventDefault(event)

        elif typ == "mouseup":
            DOM.releaseCapture(self.getElement())
            self.stopResizing()

        elif typ == 'mousemove':
            if self.isResizing:
                #assert DOM.getCaptureElement() is not None
                self.onSplitterResize(DOM.eventGetClientX(event) -
                                      self.getAbsoluteLeft(),
                          DOM.eventGetClientY(event) - self.getAbsoluteTop())
                DOM.eventPreventDefault(event)

    def remove(self, widget):
        if widgets[0] == widget:
            setWidget(0, None)
            return True
        elif widgets[1] == widget:
            setWidget(1, None)
            return True
        return False

    def setSplitPosition(self, size):
        """ Moves the position of the splitter.
            @param size the new size of the left region in CSS units
            (e.g. "10px", "1em")
        """
        pass

    def getWidgetElement(self, index):
        """ Gets the content element for the given index.
            @param index the index of the element, only 0 and 1 are valid.
            @return the element
        """
        return self.elements[index]

    def getSplitElement(self):
        """ Gets the element that is acting as the splitter.
            @return the element
        """
        return self.splitElem

    def getWidget(self, index):
        """ Gets one of the contained widgets.
            @param index the index of the widget, only 0 and 1 are valid.
            @return the widget
        """
        return self.widgets[index]

    def setWidget(self, index, w):
        """ Sets one of the contained widgets.
            @param index the index, only 0 and 1 are valid
            @param w the widget
        """
        oldWidget = self.widgets[index]

        if oldWidget == w:
          return

        if w is not None:
          w.removeFromParent()

        # Remove the old child.
        if oldWidget is not None:
          # Orphan old.
          self.disown(oldWidget)
          # Physical detach old.
          #DOM.removeChild(self.elements[index], oldWidget.getElement())

        # Logical detach old / attach new.
        self.widgets[index] = w

        if w is not None:
            # Physical attach new.
            DOM.appendChild(self.elements[index], w.getElement())

            # Adopt new.
            self.adopt(w, None)

    def onSplitterResize(self, x, y):
        """ Called on each mouse drag event as the user is dragging
            the splitter.
            @param x the x coord of the mouse relative to the panel's extent
            @param y the y coord of the mosue relative to the panel's extent
        """
        pass

    def onSplitterResizeStarted(self, x, y):
        """ Called when the user starts dragging the splitter.
            @param x the x coord of the mouse relative to the panel's extent
            @param y the y coord of the mouse relative to the panel's extent
        """

    def startResizingFrom(self, x, y):
        self.isResizing = True
        self.onSplitterResizeStarted(x, y)

    def stopResizing(self):
        self.isResizing = False

redpajama_set_name: RedPajamaGithub


Today I'm celebrating; celebrating life.
Hello to basking in the glory that its a new week, a fresh start, a chance to keep on chasing dreams.
Hello bright little bows on my feet. A happy and bright way to start my day.
Hello to a chance to build community where I am.
Hello endless rain; you won't keep my spirits down!
Hello adorable product photoshoot; oh how my photographers always capture what I'm looking for.
Hello summer weather, which means ice cream treats.
LOVE the bracelet!! So pretty.. sharing on my FB page :-) I adore the whole blog too, so inspiring!
Hello & Good Morning to you! =) Those shoes are adorable!
I'm celebrating too today! We went 5 days last week w/ no sun and lots of rain, so I broke out my brightest ensemble and wore it to work today!
Love the pic of your lil girls! Too cute!


text:
require('global');

var assert = require('assert');

try {
    assert(true);
} catch (e) {
    console.log('assert(true) throw = ' + e);
}

try {
    assert(false);
} catch (e) {
    console.log('assert(false) throw = ' + e);
}


Thoughts on Samsung S8 speakers?
Hi, the samsung s8 is my first ever samsung device. I really do like it but I find the speakers sound garbage. My previous phone was a HTC 10, the difference in quality is huge.
Why can I not search on my Zedge app?


text:
Q: Why does this REST-service not return while the other does? SITUATION
In the code below you can see 2 REST services which both should return a MessageVO. The first service (serviceThatDoesWork) returns a MessageVO as excpected, but the second service (serviceThatDoesNotWork) refuses to, it  doesn't even give any output at all.
However returning a Response (java.ws.rs.core.Response) with serviceThatDoesNotWork does give an output. Even when I skip the 'doStuff'-methods and create a dummy-MessageVO that is exactly the same for each service, the 2nd one doesn't return anything.
QUESTION
Why does the 2nd service fail to return a MessageVO? It doens't return anything when I try returning a MessageVO, and nothing out of the ordinary appears in the logging.
The two services need to return exactly the same kind of thing but still one of them doesn't want to return anything, what am I not seeing here?
Could it be because of the path (and/or the amount of parameters)?
CODE
MyServices.java:
@Path("/myService")
...
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/myPath/{param1}/{param2}/{param3}")
    public MessageVO serviceThatDoesWork(@PathParam("param1") Integer param1_id,  @PathParam("param2") Integer param2_id, @PathParam("param2") Integer param2_id)
    {
        List<SomethingVO> lstO = MyRestServiceBusiness.doStuff(param1_id, param2_id, param3_id);

        //return SUCCESS or FAIL message
        MessageVO msg = new MessageVO();
        if(lstO.size() > 0)
        {
            List<String> s = new ArrayList<String>();
            for(SomethingVO k : lstO)
            {
                s.add(k.getId().toString());
            }
            msg.setItem_ids(s);
            msg.setMsg("SUCCESS");
        }
        else
        {
            msg.setMsg("FAIL");
        }
        return msg;
    }
...
@GET
@Path("/myPath/{param1}/{param2}/{param3}/{param4}/.../{param15}{a:(/a/[^/]+?)?}{b:(/b/[^/]+?)?}")
public Response serviceThatDoesNotWork(@PathParam("param1")Integer param1_id, ..., @PathParam("param15") Integer param15_id,
            @PathParam("a") String a_id, @PathParam("b") String b_id)
    {
        //PUT 'OPTIONAL' PARAMS IN A LIST
        List<Integer> lstI = new ArrayList<Integer>();
        String aId = a_id != null ? a_id.split("/")[2] : null;
        String bId = b_id != null ? b_id.split("/")[2] : null;
        if(aId != null)
        {
            lstI.add(Integer.parseInt(aId ));
        }
        if(bId  != null)
        {
            lstI.add(Integer.parseInt(bId ));
        }

        //DO STUFF
        String afsId = "";
        if(lstI.size() > 0)
        {
            afsId = MyRestServiceBusiness.doStuff(param1, ..., lstI);
        }

        //return SUCCESS or FAIL message
        MessageVO msg = new MessageVO();
        if(afsId != null && !afsId.isEmpty())
        {
            List<String> s = new ArrayList<String>();
            s.add(afsId);
            msg.setItem_ids(s);
            msg.setMsg("SUCCESS");
        }
        else
        {
            List<String> s = new ArrayList<String>();
            for(Integer i : lstI)
            {
                s.add(i.toString());
            }
            msg.setItem_ids(s);
            msg.setMsg("FAIL");
        }

        //WENT THROUGH ALL ABOVE CODE AS EXPECTED, MESSAGEVO HAS BEEN FILLED PROPERLY
        return msg;
    }

CODE MessageVO.java:
@XmlRootElement
public class MessageVO
{
    private String msg;
    private List<String>  item_ids;

    //GETTERS
    @XmlElement(name = "Message")
    public String getMsg() {
        return msg;
    }
    @XmlElement(name = "Item ID's")
    public List<String> getItem_ids() {
        return item_ids;
    }

    //SETTERS
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public void setItem_ids(List<String>  item_ids) {
       this.item_ids = item_ids;
    }

If I need to provide extra information please ask, this is my first attempt at (REST-) services.

A: As Vaseph mentioned in a comment I just forgot the @Produces annotation in the 2nd service.

redpajama_set_name: RedPajamaStackExchange


text:
class CreateTaggings < ActiveRecord::Migration
  def change
    create_table :taggings do |t|
      t.references :question, null: false
      t.references :tag, null: false
      t.boolean :is_standard, default: false
      t.integer :standard_id

      t.timestamps
    end
    add_index :taggings, :question_id
    add_index :taggings, :tag_id
  end
end


text:
import * as nls from 'vs/nls';
import { RunOnceScheduler } from 'vs/base/common/async';
import * as dom from 'vs/base/browser/dom';
import { CollapseAction2 } from 'vs/workbench/browser/viewlet';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { IDebugService, IExpression, IScope, CONTEXT_VARIABLES_FOCUSED, IViewModel } from 'vs/workbench/contrib/debug/common/debug';
import { Variable, Scope } from 'vs/workbench/contrib/debug/common/debugModel';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { renderViewTree, renderVariable, IInputBoxOptions, AbstractExpressionsRenderer, IExpressionTemplateData } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { IAction } from 'vs/base/common/actions';
import { SetValueAction, AddToWatchExpressionsAction } from 'vs/workbench/contrib/debug/browser/debugActions';
import { CopyValueAction, CopyEvaluatePathAction } from 'vs/workbench/contrib/debug/electron-browser/electronDebugActions';
import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IViewletPanelOptions, ViewletPanel } from 'vs/workbench/browser/parts/views/panelViewlet';
import { IAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { IListVirtualDelegate } from 'vs/base/browser/ui/list/list';
import { ITreeRenderer, ITreeNode, ITreeMouseEvent, ITreeContextMenuEvent, IAsyncDataSource } from 'vs/base/browser/ui/tree/tree';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { Emitter } from 'vs/base/common/event';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { WorkbenchAsyncDataTree, IListService } from 'vs/platform/list/browser/listService';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { onUnexpectedError } from 'vs/base/common/errors';
import { FuzzyScore, createMatches } from 'vs/base/common/filters';
import { HighlightedLabel, IHighlight } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';

const $ = dom.$;

export const variableSetEmitter = new Emitter<void>();

export class VariablesView extends ViewletPanel {

	private onFocusStackFrameScheduler: RunOnceScheduler;
	private needsRefresh: boolean;
	private tree: WorkbenchAsyncDataTree<IViewModel, IExpression | IScope, FuzzyScore>;

	constructor(
		options: IViewletViewOptions,
		@IContextMenuService contextMenuService: IContextMenuService,
		@IDebugService private readonly debugService: IDebugService,
		@IKeybindingService keybindingService: IKeybindingService,
		@IConfigurationService configurationService: IConfigurationService,
		@IInstantiationService private readonly instantiationService: IInstantiationService,
		@IContextKeyService private readonly contextKeyService: IContextKeyService,
		@IListService private readonly listService: IListService,
		@IThemeService private readonly themeService: IThemeService
	) {
		super({ ...(options as IViewletPanelOptions), ariaHeaderLabel: nls.localize('variablesSection', "Variables Section") }, keybindingService, contextMenuService, configurationService);

		// Use scheduler to prevent unnecessary flashing
		this.onFocusStackFrameScheduler = new RunOnceScheduler(() => {
			this.needsRefresh = false;
			this.tree.updateChildren().then(() => {
				const stackFrame = this.debugService.getViewModel().focusedStackFrame;
				if (stackFrame) {
					stackFrame.getScopes().then(scopes => {
						// Expand the first scope if it is not expensive and if there is no expansion state (all are collapsed)
						if (scopes.every(s => this.tree.getNode(s).collapsed) && scopes.length > 0 && !scopes[0].expensive) {
							this.tree.expand(scopes[0]).then(undefined, onUnexpectedError);
						}
					});
				}
			}, onUnexpectedError);
		}, 400);
	}

	renderBody(container: HTMLElement): void {
		dom.addClass(container, 'debug-variables');
		const treeContainer = renderViewTree(container);

		this.tree = new WorkbenchAsyncDataTree(treeContainer, new VariablesDelegate(),
			[this.instantiationService.createInstance(VariablesRenderer), new ScopesRenderer()],
			new VariablesDataSource(), {
				ariaLabel: nls.localize('variablesAriaTreeLabel', "Debug Variables"),
				accessibilityProvider: new VariablesAccessibilityProvider(),
				identityProvider: { getId: element => element.getId() },
				keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: e => e }
			}, this.contextKeyService, this.listService, this.themeService, this.configurationService, this.keybindingService);

		this.tree.setInput(this.debugService.getViewModel()).then(null, onUnexpectedError);

		CONTEXT_VARIABLES_FOCUSED.bindTo(this.contextKeyService.createScoped(treeContainer));

		const collapseAction = new CollapseAction2(this.tree, true, 'explorer-action collapse-explorer');
		this.toolbar.setActions([collapseAction])();
		this.tree.updateChildren();

		this.disposables.push(this.debugService.getViewModel().onDidFocusStackFrame(sf => {
			if (!this.isBodyVisible()) {
				this.needsRefresh = true;
				return;
			}

			// Refresh the tree immediately if the user explictly changed stack frames.
			// Otherwise postpone the refresh until user stops stepping.
			const timeout = sf.explicit ? 0 : undefined;
			this.onFocusStackFrameScheduler.schedule(timeout);
		}));
		this.disposables.push(variableSetEmitter.event(() => this.tree.updateChildren()));
		this.disposables.push(this.tree.onMouseDblClick(e => this.onMouseDblClick(e)));
		this.disposables.push(this.tree.onContextMenu(e => this.onContextMenu(e)));

		this.disposables.push(this.onDidChangeBodyVisibility(visible => {
			if (visible && this.needsRefresh) {
				this.onFocusStackFrameScheduler.schedule();
			}
		}));
		this.disposables.push(this.debugService.getViewModel().onDidSelectExpression(e => {
			if (e instanceof Variable) {
				this.tree.refresh(e);
			}
		}));
	}

	layoutBody(width: number, height: number): void {
		this.tree.layout(width, height);
	}

	focus(): void {
		this.tree.domFocus();
	}

	private onMouseDblClick(e: ITreeMouseEvent<IExpression | IScope>): void {
		const session = this.debugService.getViewModel().focusedSession;
		if (e.element instanceof Variable && session.capabilities.supportsSetVariable) {
			this.debugService.getViewModel().setSelectedExpression(e.element);
		}
	}

	private onContextMenu(e: ITreeContextMenuEvent<IExpression | IScope>): void {
		const element = e.element;
		if (element instanceof Variable && !!element.value) {
			const actions: IAction[] = [];
			const variable = <Variable>element;
			actions.push(new SetValueAction(SetValueAction.ID, SetValueAction.LABEL, variable, this.debugService, this.keybindingService));
			actions.push(new CopyValueAction(CopyValueAction.ID, CopyValueAction.LABEL, variable, this.debugService));
			actions.push(new CopyEvaluatePathAction(CopyEvaluatePathAction.ID, CopyEvaluatePathAction.LABEL, variable));
			actions.push(new Separator());
			actions.push(new AddToWatchExpressionsAction(AddToWatchExpressionsAction.ID, AddToWatchExpressionsAction.LABEL, variable, this.debugService, this.keybindingService));

			this.contextMenuService.showContextMenu({
				getAnchor: () => e.anchor,
				getActions: () => actions,
				getActionsContext: () => element
			});
		}
	}
}

function isViewModel(obj: any): obj is IViewModel {
	return typeof obj.getSelectedExpression === 'function';
}

export class VariablesDataSource implements IAsyncDataSource<IViewModel, IExpression | IScope> {

	hasChildren(element: IViewModel | IExpression | IScope): boolean {
		if (isViewModel(element) || element instanceof Scope) {
			return true;
		}

		return element.hasChildren;
	}

	getChildren(element: IViewModel | IExpression | IScope): Promise<(IExpression | IScope)[]> {
		if (isViewModel(element)) {
			const stackFrame = element.focusedStackFrame;
			return stackFrame ? stackFrame.getScopes() : Promise.resolve([]);
		}

		return element.getChildren();
	}
}

interface IScopeTemplateData {
	name: HTMLElement;
	label: HighlightedLabel;
}

class VariablesDelegate implements IListVirtualDelegate<IExpression | IScope> {

	getHeight(element: IExpression | IScope): number {
		return 22;
	}

	getTemplateId(element: IExpression | IScope): string {
		if (element instanceof Scope) {
			return ScopesRenderer.ID;
		}
		if (element instanceof Variable) {
			return VariablesRenderer.ID;
		}

		return null;
	}
}

class ScopesRenderer implements ITreeRenderer<IScope, FuzzyScore, IScopeTemplateData> {

	static readonly ID = 'scope';

	get templateId(): string {
		return ScopesRenderer.ID;
	}

	renderTemplate(container: HTMLElement): IScopeTemplateData {
		let data: IScopeTemplateData = Object.create(null);
		data.name = dom.append(container, $('.scope'));
		data.label = new HighlightedLabel(data.name, false);

		return data;
	}

	renderElement(element: ITreeNode<IScope, FuzzyScore>, index: number, templateData: IScopeTemplateData): void {
		templateData.label.set(element.element.name, createMatches(element.filterData));
	}

	disposeTemplate(templateData: IScopeTemplateData): void {
		// noop
	}
}

export class VariablesRenderer extends AbstractExpressionsRenderer {

	static readonly ID = 'variable';

	get templateId(): string {
		return VariablesRenderer.ID;
	}

	protected renderExpression(expression: IExpression, data: IExpressionTemplateData, highlights: IHighlight[]): void {
		renderVariable(expression as Variable, data, true, highlights);
	}

	protected getInputBoxOptions(expression: IExpression): IInputBoxOptions {
		const variable = <Variable>expression;
		return {
			initialValue: expression.value,
			ariaLabel: nls.localize('variableValueAriaLabel', "Type new variable value"),
			validationOptions: {
				validation: () => variable.errorMessage ? ({ content: variable.errorMessage }) : null
			},
			onFinish: (value: string, success: boolean) => {
				variable.errorMessage = null;
				if (success && variable.value !== value) {
					variable.setVariable(value)
						// Need to force watch expressions and variables to update since a variable change can have an effect on both
						.then(() => variableSetEmitter.fire());
				}
			}
		};
	}
}

class VariablesAccessibilityProvider implements IAccessibilityProvider<IExpression | IScope> {
	getAriaLabel(element: IExpression | IScope): string {
		if (element instanceof Scope) {
			return nls.localize('variableScopeAriaLabel', "Scope {0}, variables, debug", element.name);
		}
		if (element instanceof Variable) {
			return nls.localize('variableAriaLabel', "{0} value {1}, variables, debug", element.name, element.value);
		}

		return null;
	}
}


text:
University of Miami. Office of Media Relations, 1 results 1
University of Miami, 1 results 1
University of Miami. Office of Media Relations University of Miami
archiefbewaarplaats Architecture Research Center, School of Architecture, University of Miami Archives of American Art Cuban Heritage Collection University of Miami Cuban Heritage Collection University of Miami Marta & Austin Weeks Music Library University of Miami Rosenstiel School of Marine and Atmospheric Science University of Miami School of Architecture University of Miami Special Collections University of Miami University Archives
University of Miami Office of Media Relations photograph collection
ASU0052
The majority of the items found in this collection are photographs, negatives, and contact sheets of university buildings, its people, and events taken by the Office of Media Relations from the 1940s to the 1990s. Press releases, university public...
University of Miami. Office of Media Relations


No matter where you are in life, it can always get better. Forward Recovery helps adults of all ages that are facing addiction. Members are provided care and treatments that will lead them down the road of recovery. Call today and see what they can do for you.


Roof Vent 14 x 14 - Smoked | TwoFeathers Restorations & Design llc.
Standard Mount Universal Vents: Available in standardFlange covers all screw holes. One piece metal frame, deep drawn metal base. Covers all interior stains left by previous garnishes. Interchangeable with existing Elixir and Ventline products.
This is a replacement roof vent. If you would like to see threw the vent but shield some of the sun. This does not have a fan included. See our other vents.


text:
Louisville man wrongfully convicted of murder reaches $7.5M settlement
Kerry Porter was exonerated for the murder of Tyrone Camp.
Author: Renee Murphy
Published: 12:50 PM EDT March 12, 2018
Updated: 5:34 PM EDT March 12, 2018
LOUISVILLE, Ky. (WHAS11) – After a lengthy civil battle, Kerry Porter is now $7.5 million richer.
He says money doesn't erase what happened to him.
"From $1 to $10 trillion – y'all cannot give back what you stole from me," he said.
Porter and his attorneys reached a settlement agreement with the city of Louisville that was finalized last week.
"To Louisville Metro Police – shame on y'all. Shame on y'all. Y'all beyond hurt me and my family," he said.
Porter was in prison for 11 years for the murder of Tyrone Camp.
It was a crime he said he never committed and in 2011, he was exonerated in part because of DNA evidence.
Camp's brother, Jerome, has always believed Porter was innocent.
"City of Louisville, do the right thing. Remove yourself from this case," Jerome said.
Porter, his legal team and supporters are calling for a special prosecutor in this case and want LMPD to step aside. Those with the department would only say they are still investigating.
"I'm gonna be here and I'm gonna be around and I'm gonna make sure y'all do the right thing. Period. Me and Jerome ain't going away – no damn where," he said.
The person Porter believes killed Camp was someone close to him.
No one else has been charged in Camp's murder.
Porter said he wants to see the real killer arrested and Camp's family continues to fight for justice.


John Shaw is the property and catastrophe claim consulting leader for Marsh in the southwest, based in the Los Angeles office. He assists clients in the resolution of claims and coverage disputes. John has extensive property, liability, and product recall claims handling experience in numerous areas, including domestic and international exposures in aerospace, automotive, energy, heavy construction, manufacturing, food processing and distribution, real estate, health care, technology, hospitality, professional sports, and entertainment. He is familiar with the intricacies of countries, cultures, and timely delivery to clients in their time of need.
Prior to joining Marsh in 2000, John worked for two international brokerage firms in risk engineering, risk consulting, claims consulting, and staff management positions, spanning a period of over 11 years. He spent four years prior to that as a project manager for an engineering firm specializing in the restoration of commercial and industrial facilities after fires, natural disasters, and other losses. John has handled many complex property and casualty claims, including major business interruption losses and litigated claims. He has worked on projects throughout North and South America, Europe, the Middle East, and Southeast Asia.
John has designed claims management programs for many national and international clients, and claims management curriculums for on-line training programs. He also has consulted on the design of several owner-controlled insurance programs involving residential, commercial, and heavy construction. He has designed and implemented programs for both public and private projects. He has consulted on large builders risk and construction defect claims as well, most recently for infrastructure (bridges and tunnels), energy (power generation) mixed use retail/office/residential (high rise), and renewable energy (solar, wind) projects.
Drivers of Change: What's Shaping the Future of Claims?


text:
It's All The Fault of The Immigrants. Isn't It?
It's All The Fault of The Immigrants. Isn't It?
I have been slacking with writing and blog posts this last two weeks. I start and then just cannot get anything to make sense, my insanity has gone mad.
However I'm stocked up on coffee and trying to post today on a several subjects that have caught my eye this week.
Over the weekend I have been having several debates on the subject of Immigration. A hot button issue for so many, UKIPs rallying cry and an area where all three main parties are changing their standing on every other hour.
Cameron and Miliband are head swivelling on the subject so much I keep thinking they should see a doctor for whiplash, Clegg is being Clegg but so few listen to him now that anything he says is not important and generally written off as another idiotic statement from the inconsequential party.
No, it is the three important parties (Tory, Labour, UKIP) that are at the heart of this debate and it is UKIP that are clearly not only leading the debate but winning it hands down.
Yes I did say the three important parties include UKIP. In terms of this debate it is the Kippers who are leading the debate, setting the pace and making the other two run to try and catch up.
So much so in fact that this morning I watched the Defence Secretary Michael Fallon talking about whole towns and communities being swamped by large numbers of immigrants.
"In some areas, particularly on the east coast, yes, towns do feel under siege from large numbers of migrant workers and people claiming benefits. It is quite right that we look at that."
As Farage said after hearing this comment from the Tory cabinet minister, if he had said that the press would be up in arms.
Miliband is both promising strong action to restrict Immigrants such as stopping child benefit and tax credits being paid for children who live abroad, cracking down on illegal immigration by ensuring that everyone is recorded when they arrive in or departed from Britain through electronic checks and making it easier to deport foreign criminals, and to double to six months the period before which EU nationals can claim benefits and tax credits in Britain.
But he is also saying that he will not make any promises or pledges on the subject because he doesn't want to mislead the public and would not offer policies that endanger the economy. Oh and he didn't think Immigration was important enough to even bother with during his speech to the faithful not so long ago.
He has also promised that a Labour government would ensure that all public sector workers would have to have a minimum standard of English but only in public facing roles.
Erm, do what. Is he saying that prior to this point Labour has been happy with the fact that Public sector workers in the UK did NOT have to meet standards of spoken English!
It's no wonder that UKIP are leading the race when Labour and Miliband come out with gems like that one, this being England I would have thought the ability to speak English was required for ANY government job, nope, apparently its a new policy about to be adopted by Labour.
The problem is NOT immigration per se.
There is nothing wrong with the system of EU citizens travelling across the whole Euro zone to work, the problem is that the UK is one of very few that is seen to go out of its way to give every benefit and advantage to anyone that arrives in the UK job or not.
The problem is how the UK deals with people who arrive here legally and the UK's inability to deal with people arriving here illegally.
Reality or simply perception, people are crossing the whole length and width of Europe to get to the UK. France, Italy etc push the immigrants north to the channel and across to the UK. It doesn't matter where these people are coming from, Africa, Eastern Europe or further afield, the destination of choice is the UK or Germany.
Immigrants get into Europe and then charge north to reach the UK, the mobs rioting and protesting at Calais are not trying to live in France or Italy, they are trying to get to what they consider to be the land of milk and gravy, the UK.
This is not something you can dispute. They have been told for years that the UK is the place to come where they will be given homes and money and so they come by the thousands.
Hospitals and medical services. Population increase vastly outstripping available medical support and in a number of cases the immigration situation is distorting the medical requirements. Diseases long eliminated from the UK being bought in by immigrants arriving from countries lacking first rate medical facilities putting pressure on British hospitals that no longer have the facilities to deal with numbers of cases of diseases that were thought long gone.
The UK population has grown. In 2000 it was 58.7 million people. As of the census of 2013 it was 64.1 million. That number has increased by 400,000 this year. That makes the population 64.5 million, an increase of 9%. Over that same period have the capacities of our schools, hospitals, utilities etc increased by 9%? This is the problem with uncontrolled immigration, we are not a big island in the scale of things.
Using a very simplistic value to cover a far more complex situation, in 2000/1 the NHS in England had 186,000 beds available. In 2013/14 it has 135,000. An overall fall of some 30% over the same period when the UK population increased by 9% and that despite a steady increase in the money allocated to the NHS. Figures from NHS reports via ONS.
Education. Schools with dozens of languages because there is no requirement for immigrants to speak English and legal requirements that schools teach the immigrant children regardless of the fact that there are few if any teachers who speak those languages.
Yes UK schools are managing to cope with the huge increase in non English speaking students, but where are the resources coming from to handle that increase. At a time when just about everyone I know who is in education is unhappy with squeezed funds, lack of resources and government attitude towards schools who do I believe, the teachers that I know or comments from the government that says all the teachers are imagining the problem. Ask people you know who are teachers about the fact that they buy books for their classes because there is no budget for the schools to buy those books.
The falling wages as a result of incoming immigrant labour who have lower wage expectations and the corporate attitude towards larger labour pools and higher unemployment as an opportunity to cut wages are part of the problem but not a significant part. The recession and current political attitude towards the poor, unemployed and low paid is responsible for more wage cuts, zero hours contracts and economic exploitation than immigrants are.
Immigrants legal or illegal are part of, but a small part of, the problem. Many of them are happy to take what they see as generous wages and in doing so create a rush to the bottom where employers offer lower and lower wages and people have little choice but to accept them.
Immigration is not the whole problem or even a large part of the problem but it is there and it is involved. Corporate greed and the government attitude towards the poor and towards workers in general is the biggest contributor towards the drop in wages.
Housing. People flowing into the UK much faster than they leave, limited house building so house prices have risen to the point where huge sections of the population can no longer afford to get on the house owning ladder.
Uncontrolled and unrestricted Immigration is part of that problem and creates problems when it happens in such numbers. To refuse to acknowledge that there is a problem is to allow the problem to grow larger and to spread to every aspect of our society.
Building 2 million new homes will blight vast areas of our countryside and greenbelts and yet that is how many homes we apparently need right now. Two million new homes will need hundreds of new hospitals and schools, new power stations and water treatment centres, sewage and phones and gas and all of the myriad things that people in this country both need and want.
Without a massive investment in utilities and the creation of several new cities the UK cannot cope and yet there is no money for such investment at a time when despite many promises by the government the UK deficit and national debt continues to rise. There is little investment in building for the future and yet more and more people arrive to place an ever greater strain on what is available for the current occupants of this little island.
The rate of population increase combined with the lack of increase in the utilities needed to support those people leaves everyone suffering.
The Greater Manchester Built-up area consists of Manchester, Salford, Bolton, Stockport, Oldham, Rochdale, Bury, Trafford and Tameside and has a total population two and a half million. Since 2000 the population of the UK has increased enough to fill two entire Greater Manchester areas plus another a million people. If the population grows by another 400,000 each year by 2018 we will have enough people to fill a third Manchester.
Let's be honest here, since 2000 has the UK built enough schools, hospitals or power stations to handle another three Manchesters?
Both major parties are unwilling to stand up and try to defend the immigration situation because I feel neither can defend it. Instead they are both rolling our anti immigrant policies rather than attempting to defuse the situation.
Trying to out Kipper the UKIPpers.
The whole situation is crumbling round the edges, we are on a slippery slope towards some dystopian society with a vast gap between the isolated 'Haves' and the majority of the population who are 'Have Nots'. Aside from security concerns in an ever more dangerous world uncontrolled immigration is putting a huge strain on every aspect of our society which simply creates more problems as they begin to fail.
Our politicians are quick to point the finger at enemies both domestic and foreign and send British men and women to bomb people or spy on people while seemingly turning a blind eye to what is both in reality a large problem and in perception a HUGE problem.
Without significant support for every aspect of our ability to cope with children, adults, the sick and the old the UK cannot cope now, bringing in 400,000 people next year as happened this year will lead to more shortages, more failures and ever greater drive by political groups to the right and to oppression and state control.
The Free movement of people in the Euro zone is not the problem, the UKs inability to handle those large numbers of people IS the problem and either we do something to support the people already here and arriving each year or do something to stop the unending flow of new arrivals or we must accept the fact that every resource, utility and service is going to be in shorter and shorter supply as an ever growing number of people fight for less hospital beds, less school places and less electricity.
But this is the UK, doing nothing is the Political norm.
Immigration is a factor for sure - but a much larger problem is the increase in people of retirement age but old poeple are much more likely to vote and and are a harder target aren't they? http://www.parliament.uk/business/publications/research/key-issues-for-the-new-parliament/value-for-money-in-public-services/the-ageing-population/
C Mellish
@pete sutton - it's a nice sentiment but ignores the fact that immigration is the problem you can deal with. What is more ethical - controlling who comes into the country or shipping out or killing off the old aged segment of the population?
If you have a problem with over population due to increased life expectancy adding immigration on top is not part of the solution.
Rob Carver
You cannot blame the many who seek to immigrate to the UK, as said we are the only nation that tries to support them on arrival.The problem is the more that arrive the bigger the wealth gap gets, the EU must take responsibility and ensure that immigrants are processed in the country that they arrive in, realistically this and the flow of people from with in the EU is slowly killing our national Identity and Culture, which must not be allowed to happen.
The only soloution is to leave the EU and remove the illegal and the criminal elements that have arrived here and only have a sustainable Immigration Policy.


This section describes the command required to work with centralized version control systems supported by Virtual DataPort. That is, with Subversion and Microsoft TFS repositories.
VCSCOMMIT checks the specified element into the configured version control repository (with its dependencies). If the element already exists, the command commits the element's local changes (and those of its dependencies).
A database: "/databases/<databaseName>", for example, "/databases/db1".
A folder (note that it must end with a /): /databases/<databaseName>/folder.<folderName1>/[folder.folderNameN/]*. For example, /databases/db1/folder.Folder 1/folder.Folder 2/.
A single element: /databases/<databaseName>/[folder.folderNameN/]*<elementType>/[elementSubType/]<elementName>. For example, /databases/db1/folder.Folder 1/views/My Base View.
The possible element types are: views (for views and base views), datasources, associations, webservices, widgets, storedprocedures and listeners.
The possible element sub-types (this only applies to data sources) are: arn, custom, df, gs, itp jdbc, json, ldap, odbc, olap, saperp, ws and xml.
When checking a database or a folder in, all of their content and the content's dependencies will be checked in or commited (in the case of databases, the associated JMS listeners will also be included).
The clause DBELEMENTS indicates that you are only commiting elements that belong to the database and not elements that are common to all the databases: i18n maps or jars.
An optional log message can be specified with using the LOGMESSAGE clause.
The NOCOMMIT clause disables the detection of conflicts. Add this clause to increase the performance of this statement. On the other hand, if there are conflicts, the operation will fail. In this case, the user will have to execute the statement again with the FORCE clause.
The check in operation will fail if conflicts are found. In this case, VCSCOMMIT will return a list of conflicting elements (i.e. elements that are not up-to-date and contain local changes). By using the FORCE clause, conflicts will be resolved by overriding the remote changes with the local ones.
Alternatively, by using the SIMULATE clause, the command will not attempt to do any actual change in the remote repository, but will inform the user about what conflicts will be found and what files will be checked in when actually executing the command.
VCSUPDATE checks the specified element out from the configured version control repository (with its dependencies, and its contents in the case of folders and databases) and loads it into the server. If the element already exists, the command updates it and its dependencies.
It is mandatory to specify an element's path that can be a database, a folder or a single element (see the path syntax in VCSCOMMIT). In the case of databases, their associated JMS listeners will be checked out or updated as necessary.
The clause DBELEMENTS indicates that you are only updating elements that belong to the database and not elements that are common to all the databases such as i18n maps or jars.
A revision can be specified by using the REVISION clause (see REVISIONS).
The check out operation will fail if there are conflicts. In this case, VCSUPDATE will return a list of conflicting elements (i.e. elements that are not up-to-date and contain local changes). By using the FORCE clause, conflicts will be resolved by overriding the remote changes with the local ones.
The check out operation will also fail if it detects that the deletion of elements is required to complete the operation. In this case, VCSUPDATE will return a list of elements that need to be deleted (e.g. elements that did not exist in the specified revision). By using both the FORCE and the WITH DROPS clauses, the required deletions will be performed.
VCSCONTENTS returns the elements or the actual files contained in a database or folder of the configured version control repository. It can also be used to obtain a list of the databases contained in the repository.
A path to a database or folder must be specified (see the path syntax in VCSCOMMIT) in order to obtain a list of the elements contained in them. Using the FILES clause will show a list of actual files instead of VDP elements.
VCSCONTENTS LIST DATABASES stores a list of the databases contained in the repository.
VCSSHOW returns the VQL of a local element and the VQL of that same element that is stored in the VCS server. It only works for elements under version control.
The section VCSCOMMIT describes the syntax of path.
When obtaining the remote version of an element, a revision can be specified with the REVISION clause (see REVISIONS).
By adding WITH_DEPENDENCIES, VCSSHOW returns the elements on which this element depends.
REVISIONS returns a list of existing revisions for the specified element (see the element path syntax in VCSUPDATE).


Nearly half of senior nurses believe leadership in the NHS is poor while most say not enough priority is given to quality of care, according to a new survey.
In total 80% of nurses who responded to the King's Fund leadership survey said they did not think quality was prioritised enough. That was higher than any other professional group including doctors and senior management.
Meanwhile just 8% of nurses felt the quality of leadership in the NHS was "good". Forty per cent said it was "average" while 49% described it as either "poor" or "very poor". However, they were more positive about their individual teams and services where 60% described leadership as "good".
The survey of NHS professionals, mainly leaders and managers in hospitals and care settings, attracted 900 responses – 36% of which were from nurses.
When asked about the biggest obstacle to improving patient care, 41% of respondents said it was "time and/or resources" but that was higher among nurses at 51%.
The survey was published alongside a King's Fund report on leadership, which highlights the critical role of nurse leaders.
The Patient-centred leadership report found the best nurse leaders built strong teams by getting to know staff, talking about problems early on and setting the "tone" for care by treating staff as they wished staff to treat patients.
They also ensured staff had support and supervision that reflected the emotional and physical challenges of their jobs.
"What matters is that the critical role of nurse leaders in ensuring care quality and patient safety is recognised and that they receive adequate support to fulfil their role," it said.
Steve Jamieson, head of the RCN's nursing department, told Nursing Times it was vital nurses were supported and given time to undertake leadership training. He said this was particularly important in the wake of the Francis report into care failings at Mid Staffordshire Foundation Trust which found a lack of nurse leadership was a key factor in poor care.
Mr Jamieson said: "We have to make sure up and coming nurses have got the skills and expertise in leadership to be able to work in our rapidly changing health system," he said.
He welcomed initiatives like the NHS Leadership Academy's scheme that will see Band 6 and 7 nurses get leadership training.
"There are opportunities out there so it's about ensuring nurses can access them," he added.
Care in the health and social care sector is not person-centred, according to the outcome of a nursing debate organised at London South Bank University last night.
The importance of the "little" things in nursing, such as kindness and compassion, are often talked about but without the recognition that these are far from "little" things.
Time is a massive constraint. There is a lot of emphasis in the press for nurses to get back to giving basic nursing care. How is this possible when we are expected to work in conditions where there is little nurses to look after increasing patient numbers. How are we to work when people who leave are not being replaced?


Looking for someone once to twice a week. Basic housekeeping including: bathrooms, tidying (2kids), making beds, laundry, floors, dishes, occasionally wiping inside of fridge, dusting, vacuuming.
I need help with General Errands, Shopping, General housekeeping, wash clothes, dishes occasionally, help keep the house in order. My ideal assistant has own transportation, a non-smoker and comfortable with pets.


Makadara MP George Aladwa has been arrested.
Mr Aladwa was arrested Friday night from him Buru buru home, minority whip in the National Assembly Junet Mohamed said.
Mr Mohamed who is also the Suna East MP said the Mr Aladwa is currently being held at the Directorate of Criminal Investigation headquarters.


The asset manager sees the first ChiNext ETF as a way for bearish managers to short the controversial high-growth Shenzhen board. It comes amid concerns over the small-cap stocks' soaring valuations.
CSOP Asset Management will today list the first renminbi ETF tracking Shenzhen's ChiNext index, which has seen explosive growth this year.
CSOP Asset Management has become the first Chinese manager to independently list an ETF in the US. The launch was months late because a shortage of RQFII quota forced it to readjust its investment policy.
The Hong Kong fund house also plans to list the Dublin-domiciled product elsewhere, including in Germany and Switzerland.
The Chinese manager plans to list an FTSE A50 Index ETF on the New York Stock Exchange this June after receiving an additional Rmb3.5 billion in RQFII quota.
China's onshore market is far more accessible than even three years ago, says CSOP chief Ding Chen. And a market-watcher claims barriers to MSCI A-share inclusion could be resolved within months.