text:
Life and Times from 2019
BrickFair
Remembering the Soul
A Month in Photos
Forward on Climate
Million Puppet March
From the White House to Quantico
Stuarts Draft High School
Boston Megaraid
Funk the Weekend
Schumin-Lysy Wedding
Funk the War 7
March on Crystal City
Tubing the Shenandoah River
G20 Economic Summit Protests
Midnight March
NSM Counter-Protest
Project Chanology in the Nation's Capital
Year of Many Cameras
Consolation of Ruin
J27 Anti-War Demonstration
March on the Pentagon
October Rebellion
September 15 Anti-War March
Weekend with Katie
Building 7 Burns
Night March
No Armageddon For Bush
A16: The World Bank and IMF Demonstrations
If These Streets Could Talk
J20: Counter-Inaugural
September 24 Protests
Virginia Beach 2005
Million Worker March
Random Encounters
Remodeling at Home
Virginia Beach Vacation
Wal-Mart with Becky and Rebecca
A Day in DC
Photo Blitz Outtakes 2003
Big Mavica Hits the Scene
On Saturday, November 15, 2008, the leaders of twenty nations, otherwise known as the G20, were invited to Washington DC by President George W. Bush for an economic summit in order to "discuss the current financial crisis, its causes and efforts to resolve it through more effective regulation and reform" according to a State Department press release.
Meanwhile, the activist community in the nation's capital was ready to go, as the economic crisis was viewed as the failure of our capitalist system. As such, the people prepared to hold a funeral for capitalism. A number of various demonstrations were held throughout the weekend. I personally attended two. One was a rally and march starting at 10 AM from Murrow Park in front of the World Bank to Luther Place Memorial Church on Thomas Circle, where lunch was served, and a People's Forum was held in order for people to "learn about how the financial crisis happened and how it effects your local community, discuss new ideas and alternatives to capitalism, and come together as a movement to organize," according to an Emailed announcement prior to the march. The second demonstration was a "G20 Going Away Party" – a "rowdy" march meeting at Dupont Circle at 11:55 PM.
The weather forecast for the day was a really big "if". The Washington DC area had received rain for several days prior to Saturday, and the weather forecast was calling for a 90% chance of rain, and potentially thunderstorms. Thankfully, the weather held out for the most part, and things cleared up by nightfall.
The first preparations that I made for this protest, aside from deciding I was going to attend, started on the Wednesday prior to the big day, when I attended a radical cheerleading practice at 7 PM. Unlike all previous radical cheerleading practices that I had attended, this one was being held at Dupont Circle rather than on the campus of American University. I'm never one to complain about events being held at Dupont Circle, since my office building is three blocks away from the circle itself. I arrived just ahead of the appointed time, but as it turned out, attendance was light. Meghan and Rachel, two other RCDC regulars, showed up, and that was all. Since we already knew most of the cheers, the practice turned into something more closely resembling a strategy session, as we discussed making a cheer sheet, discussed what cheers to do, and what modifications we were going to make to them to fit the demonstration at hand – a protest against an economic summit. As it turned out, we made a slight modification to 3-6-9, substituting "G20" for "World Bank" in the second line. Additionally, we took an old chant and gave it a second verse. The original bit goes like this:
That's bullshit,
Get off it,
The enemy is profit!
Disease and starvation,
Will not be solved by corporations!
Then we added this:
Don't socialize your losses!
Foreclosures and gentrification,
Will not be solved by wealthy nations!
As you can see, we took a page from the book of progressive talk show host Randi Rhodes in crafting this, as she has discussed how the banks are privatizing the profits and socializing the losses via the $700 billion bailout that was recently authorized for them.
So with ideas in place for Saturday and no need to practice any cheers, we broke for the evening. By sheer chance, it happened to be a day that I had taken the car down to the office, and so I ended up taking Rachel back home in the Sable.
On the day of the protest, I was prepared. I had two outfits laid out for the day. I had my radical cheerleading outfit all laid out, minus the tights, as it was slightly too cold to comfortably wear those. Then I also had a black bloc outfit all laid out for that evening. So, I put on my jeans, my Chucks, and the shirt I was going to wear for cheering, and packed the red cheerleading hat, the red shirt with the sleeves cut off, the arm things that I wear with that costume, and a bunch of bandannas, even though the black bandanna is strictly decorative when cheering. I also got Duckie and the Kodak ready. Since the weather forecast was calling for "showers and thunderstorms", I considered it likely that I would need Duckie's waterproof design in today's events.
Riding Alstom 6177 from Glenmont to Farragut North, I arrived at Murrow Park just ahead of the 10 AM start time. That was enough time to get there, say my hellos, and then get with the other radical cheerleaders before things got underway. I also took the opportunity to put on my radical cheerleading outfit, pulling out the arm things, the hat, the red "RADICAL CHEER" shirt, and the black bandanna for around the neck. Since the weather was a bit cooler than the last time I wore the cheer outfit (at October Rebellion), I wore jeans this time around, and left the tights at home.
One surprise for this demonstration was that our event was being held in the southwest section of the park (Pennsylvania Avenue splits the park in two), rather than the northeast section that more often hosts World Bank protests. Either side of Murrow Park is a small space, but I had never ventured into this side of the park before.
And soon the demonstration started.
Spray painting a message on a banner. This banner would ultimately read, "ANTI-CAPITALISTA".
Partial view of the crowd gathered at Murrow Park for the demonstration.
Speaking about the closing of the Franklin homeless shelter.
As part of the speech, Basav Sen then stepped in, playing the part of the unfeeling businessman.
"Anti-Capitalista" banner, completed and displayed.
Part of a multipart story about the economy.
A woman straps on a set of stilts. A group of people would walk on stilts the entire way from Murrow Park to Luther Place.
"Bury Capitalism: Life after Debt" banner.
Radical cheerleaders sing a song into the bullhorn.
And the people on stilts are up and on their way!
With the people on stilts officially on the move, it was time for everyone to begin the march, and so we were off!
Marching through the streets of downtown Washington, protesting the capitalist system under which we live.
"Let's talk about debt, baby, let's talk about anarchy…"
"…don't socialize your losses! Foreclosures and gentrification will not be solved by wealthy nations!"
The people on stilts led the way.
"…I simply remember my favorite things… and then I go F— S— UP!"
The march continues, with the radical cheerleaders and a small black bloc taking a spot near the front of the march.
Approaching Thomas Circle, with Luther Place coming into view.
Our protest march looped once around Thomas Circle before entering the park at the circle's center.
Entering Thomas Circle to the chant of, "Resist, rise up, turn the system over, put the people on top!"
Arriving in the park at the center of Thomas Circle, the people on the stilts, whose costumes were designed to somewhat represent capitalism, made their grand finale. Here, with "encouragement" from the anti-capitalist crowd gathered, the folks on stilts lost their balance and made a dramatic fall to the ground.
Members of the radical cheerleading group RCDC pose for a photo in Thomas Circle.
At Thomas Circle, a small rally occurred prior to the final march to Luther Place.
Marching from Thomas Circle into Luther Place for lunch and a People's Forum.
Performing 3-6-9 outside of Luther Place.
Arriving at Luther Place Church, everyone got a chance to relax and take a seat. Lunch would be served, and a People's Forum would be held in the main sanctuary. I peeled off my radical cheerleader accessories, and fixed my hair. For all intents and purposes, I once again looked like I would on a typical day.
The sanctuary at Luther Place Memorial Church.
Lunch took a while to get out, but it turned out to be a bit of a disappointment. It was never communicated that the organizers were going to be charging for sandwiches, and so many left without having lunch, including myself, for lack of cash. If I had known, I might have brought some money with me, but as it was, I only had my debit card, so I was out of luck. Some people took issue with the fact that they were charging at all, but my main issue with it was that it was not communicated beforehand that lunch would cost money. I had no problem paying for lunch. After all, the money was likely going to go to a good cause, likely helping to pay for the cost of the food and covering the costs of the march we just completed. But I wish I'd been informed ahead of time, because otherwise I would have brought cash. The whole daytime effort was beautifully executed, but this was their one failure, since no one indicated that we should be prepared to pay for lunch. Thus the lunch didn't raise as much in funds as it otherwise might have.
After the lunchtime disappointment, I went outside to see what others were doing. I ended up getting into a longer conversation with Delldot from Wikipedia, whom I'd initially said hello to in Thomas Circle, before heading out to catch the Metro home. If I'd made better preparations, I might have figured out which Metro station was closest to Thomas Circle, but as I didn't do my homework, and since even the police officers at Thomas Circle didn't know which Metro was nearest, I kind of wandered into the main downtown area (by the way, I now know that the nearest Metro is McPherson Square, and Metro Center is the nearest Red Line station). I stopped at a nearby CVS for a drink, and then continued. I ultimately ran into Laura and Jordan, two of my radical cheerleader buddies. We walked and talked for a bit. They were going back to Murrow Park to pick up their bikes, and with that in mind, I decided to walk to Farragut North and catch the Metro from there. Was that the closest station to Thomas Circle? No. But sometimes, that's just how things work out.
I parted company with Laura and Jordan at roughly Lafayette Park along H Street, where they turned south towards the park to retrieve their bicycles. Farragut North was north of there, so I continued on my way towards Farragut Square. I also took a moment to call my mother to tell her how things went. During our conversation was the big surprise of the afternoon. All of a sudden, just out of nowhere, the rain started coming down hard and heavy while I was walking through the middle of Farragut Square. Seriously, one moment it's dry, and the next moment, drenching. I immediately put the Kodak away and pulled Duckie back out, and picked up the pace to get through the square, across K Street, and to the shelter of the Metro station. There, I finished my conversation with Mom, where I got to tell her of the protest, the cheering, and the fact that a Quick's bus had just pulled up in front of the station entrance. For those of you not familiar, Quick's is a bus company based in Staunton, Virginia, near where I used to live, and down there, if you were taking a chartered bus, it was more than likely going to be Quick's.
It was raining – HARD!
Quick's bus in DC.
However, while it rained hard, it didn't rain long, and the rain subsided in no time.
Finishing my conversation with Mom, I got the Red Line back to Glenmont, riding back on Alstom 6152, and then returned home.
Due to the G20 summit's being held at the National Building Museum, Judiciary Square station was closed for much of the day as part of the security arrangements for the meeting. Here, we are riding Alstom 6152 through the closed station, passing through the station without stopping.
Back home, I had some work to do. For one thing, since there was a second demonstration later on that night, I had to change out some of the contents of my bag. While the first demonstration involved radical cheerleading, this second demonstration would more than likely be a black bloc, and as such I had to change my setup.
I always carry water with me for protests, and for the earlier march, I used two small Klean Kanteens, which I carried "rocket booster style" (upright and to the sides, like the Space Shuttle) in my bag. Carrying two small bottles to the sides like that seems to distribute the weight more evenly, and makes a slightly easier carry. For the later march, I switched to a single larger Klean Kanteen carried horizontally in the center of the bag. I made the change in order to minimize the amount of individual items in my bag, because in a black bloc, especially one billed as "rowdy" from the outset, anything can happen, and thus if my stuff somehow gets scattered, that's one less item either to lose or have to gather up. Still, what a change from my earlier protest days, when I used to use bottled water. Now, I have firmly taken back my tap.
Otherwise, I took out the radical cheerleader garb and set it aside, and changed black hoodies from the zip-front one to my pullover hoodie. I knew I wouldn't need to remove the hoodie for the evening event, and so I didn't need the zip-front. I also rearranged the bandannas and camera equipment, downloaded all my photos from the first demonstration, and set the batteries back on the charger. It was quite a luxury to be able to go all the way home between marches, and quickly turn the equipment around. Thus I knew that the morning's photo work would be safe regardless of what happened at night, and all the equipment would be running on a full charge once again.
And then, taking advantage of the fact that I was home, I made lunch, wrote a Journal entry, and then took a nap, thus ensuring that I would be fresh as a daisy once again for the evening march. Waking up from my nap, I basically treated things like a new day. I showered again, shaved again, got dressed, and then headed out.
Since this second march was starting at 11:55 and I had no idea when the march would end, I took no chances – I drove into DC this time rather than take the Metro. After all, if the march ran past 3 AM, Metro would be closed, and I would then be faced with the prospect of either hanging out in DC until 7 AM when Metro opened Sunday morning, waiting along 16th Street NW for who knows how long for the S bus to get to Silver Spring and then transferring after another wait of unknown duration to a Y bus to get the rest of the way home up Georgia Avenue, or paying an expensive cab fare to get back home. None of those options were my idea of fun. So I drove. Since the march would be taking off from Dupont Circle, parking was a snap – I would park at work, and then walk the three blocks from work to the circle. Then afterwards, all I'd have to do would be to walk back to my office building to retrieve the car, and I had a guaranteed ride home. Sounds like a winner to me!
So that's what I did. I arrived at work around 11:00, and had a quick dinner. At around 11:30, I put on my black pullover hoodie, and headed down to Dupont Circle. As was the case in October, the circle was crawling with police, and police cars with their lights on. Luke was there, as were a few anarchists, and some mainstream demonstrators. Missy was also there, and we got into a conversation, noting that it was not going to rain despite the heavy rain earlier in the day, because the clouds had started to break up, and you could see the moon and stars.
Yes, the cops were out in force in Dupont Circle…
One of a handful of mainstream demonstrators in Dupont Circle for this late-night march.
However, Missy and I soon noticed that Luke and the other anarchists had apparently left us. What happened? A quick phone call to Luke revealed that there was an alternate staging area that was not publicly announced that had gathered at the intersection of 20th and Q Streets, and that the march would be starting from there rather than from Dupont Circle.
Already I realized that something was definitely up, and I didn't like it.
So Missy and I proceeded to 20th and Q. Arriving, we realized that the march had already started, and was about a block or so ahead of us. We had to catch up, and fast, since this was supposed to be a fast-moving march in the first place. We trailed behind the march for several blocks, and didn't catch up with them until the march had crossed to the east side of Connecticut Avenue.
Joining the march after finally catching up with the rest of the group, we passed through a neighborhood, and one of the first things I saw was a person moving a piece of fence out into the street. Continuing north going downhill on a street slick with wet leaves, a number of people were throwing recycling bins in the air and into the street from both sides of the street. The police officers were getting really mad, as they were shouting profanity-laced warnings at the protesters to stop throwing things and that they did not have the proper permits to be in the street. After passing through this area, the march returned to Connecticut Avenue once again, and we quickly turned west onto Kalorama Road, which would bring us near a number of embassies, and residences of various high-profile individuals. With this, a car from the Secret Service joined the MPDC in following us.
Marching through a neighborhood east of Connecticut Avenue.
Marching through the streets, with the police hot on our trail.
Police cars at our protest, including an MPDC pickup truck!
Luke takes a moment to take a photo of the event.
A police officer hassles a black bloc participant. This photo was taken just before the officer forcibly yanked the demonstrator's mask down.
Continuing through the streets, the march finally ended somewhere in the Kalorama neighborhood, when the police declared the unpermitted march disorderly and ordered it stopped, and barring any further forward movement. It likely helped the police effort that the march had become somewhat strung out by this point, as the head end of the march was still moving swiftly, but other parts of the march had spread out. MPDC Captain Jeff Herold, who is regularly in attendance leading the police contingent at protest marches, indicated that the march was over, and people would be permitted to leave in groups of ten.
We had been marching for only thirty minutes when the march was stopped.
A mainstream demonstrator holds a sign as the march begins to stall.
The mainstream demonstrators address their concerns to the police officers regarding their handling of the march. Sadly, I don't think that these people knew just what they were getting into with this march, and much like the two sisters in June 2007, they made a headfirst dive into a black bloc, knowing nothing of how these things operate. I've always said that you should never march in a black bloc without first learning about how the tactic works, because it is quite different from mainstream demonstrations.
Herold explains that the march is going to be dispersed, and that people would be permitted to leave in groups of ten.
Herold explains what's going on, and apparently is feeling somewhat camera shy on this particular night.
Leaving the march, the regular DC anarchist crowd quickly regrouped on Kalorama Road, and quickly de-blocked. Masks came off, and people changed into alternate sets of clothing that they had brought in order to make it appear that they had never been involved in the march, in order to throw off anyone who might have been tailing them while in black bloc configuration. I personally question the usefulness of that effort compared to other methods of escaping the scene of a wild protest march, but that's what they did.
Ultimately, we decided our best course of action was to return to Dupont Circle and from there, call it a night. We returned to Connecticut Avenue via Kalorama Road, and after a quick discussion over which direction was northbound and which was southbound, we were on our way. I think just about anyone can forgive our forgetting which way was which, since some protest marches, especially fast-moving and circuitous marches like this one, have a way of disorienting people due to the many changes in direction. We eventually figured it out by looking at the street signs for Connecticut Avenue, since in Northwest, block numbering goes up as you go further north. Once we saw which direction had the lower number, we had it figured out.
How strange to go past the Founding Church of Scientology with my protest buddies, rather than Anonymous! It's like when worlds collide…
As is usually the case after protest marches, however, we still had a police escort. But the hell with them. We were finished demonstrating, and made small talk all the way to Dupont Circle. When we got to Dupont Circle, the police were still there, as we headed over to the fountain. There, a bunch of us got into a conversation with Jeff Herold, who, when one person addressed him as "Captain Herold", indicated that he hated the formality of that title, and actually preferred just being called "Jeff" over the more formal title. Jeff Herold is, as cops go, probably good to have around, because he has developed a rapport with the local activist crowd, and knows most of the regulars.
In the discussion, Herold discussed how he usually handles demonstrations, giving three warnings and then shutting things down if disorderliness persists. He also agreed with me that it's often times not the local activist crowd that fouls things up, but rather activists coming in from out of town. After all, even most animals know better than to soil their own bed. And it also turns out that Anonymous has a great reputation with the police due to their staying within the law at all times. After all, the government is not really what Anonymous is interested in, and thus views the police neutrally.
Then after a while, everyone broke off and went back to their respective homes, and the police declared their job for the night to be done as well. Metro was still open, and so people could still use it, obviating the need to caravan up to Silver Spring at the end of the night like we did last time. I stayed at Dupont Circle, since, in a discussion with Isis before the march, I had agreed to keep an eye on a younger demonstrator and make sure she stayed safe, and with all the chaos during the march, we had become separated. So I stayed behind, and called to check in. Since I was driving up to Maryland, I was able to take her home. She met me at Dupont Circle, and we walked back to my office building where the Sable was, and then rode back to Maryland.
Interestingly enough, on the way back to my office building, the two of us ran into Jim, a friend of mine from my Potomac Hall days at JMU, and we got to briefly say hello before again parting company. Jim is from New York, and happened to be in DC that weekend, and neither one of us ever thought we'd run into each other in DC, especially this late at night.
In the car, my friend and I got an opportunity to discuss the day's protests. Both of us agreed that the daytime march went exceptionally well, and was a lot of fun. We also agreed that the nighttime march was poorly executed, and that, sad to say, it was a waste of everyone's time and efforts, since it accomplished nothing, even by our standards. Honestly, it was the first time I'd left a protest march not in an upbeat mood. This protest left me rather annoyed, and slightly angry over what happened. I had made sacrifices to attend this nighttime march, including skipping a demonstration opposing California's Proposition 8 that was being held at the Capitol that same day that I had wanted to go to. While I support same-sex marriage and am very disappointed in California's citizens in passing such a vile ballot measure (much the same way I was disappointed in Virginia for passing theirs in 2006), I knew that three protest marches in one day was beyond my limit, and if something had to go, that was it. Because of that and the way the nighttime march was handled, it left me quite perturbed.
As I saw it, the protest put too much emphasis on the wrong things, and not enough emphasis on the right things, and as a result, came up short, putting too many people at risk for too little of a result. As I see it, the main focus of every demonstration, regardless of whether the tactic is a black bloc, street theater, civil disobedience, a rally, or what have you, should be the message. Without a clear message, people don't know what you're demonstrating about, and so you've lost the battle right there, since you're not getting outsiders to understand and sympathize with your cause. This demonstration put all of its emphasis on tactic – staying one step ahead of the police, and trying to slow down the police at every turn. This led to my getting the impression that the demonstrators had lost sight of the forest for the trees. This march had been publicly announced as a going away party for the G20. However, from the moment it started, I knew something was up, when a secret secondary staging location had been used. Plus the idea of staying ahead of police officers when you're on foot and they're in Crown Victorias seems particularly ludicrous. Additionally, while the whole "screw the police" mindset is certainly one to aspire to, in practice it doesn't always work very well. After all, we are unarmed, and, as put so well in October, "they're the ones with the guns". You've got to "play the game" to an extent, if nothing else but to placate the police. Do you have to play it entirely by the cops' rules? Hell no. That goes so far as to be undesirable, since then it makes you look like sheep. But you do have to play the game to an extent to go the distance. We played the game at the October march against the World Bank and IMF, and we completed the march, got our message across, and had fun doing it. When you put all of your effort into tactic and playing cat-and-mouse with the police, and put no effort into your message, you end up like this – shut down thirty minutes into your action, without having reached any of the targets of your march. Plus if you're having a march and making details about that march public, you need to stick to it. Publicly announcing a fake meeting point and then staging a secret "real" meeting point elsewhere leaves any supporters who aren't "in" on the real details out in the cold, and, in standing these people up, alienates these potential allies, whom you may need in the future. Additionally, by staging in secret at an alternate location, you're tacitly indicating that you are indeed afraid of the police. That's a bad message to send out. I personally have no problem walking through the gauntlet of police to reach a meeting location for a march. Really – it's not a problem. I don't fear them. It's kind of like the Looney Tunes "Wolf and Sheepdog" cartoons. Each side knows each other, and so it's okay to say hello to the other side before going about your business, even if they will interact, and potentially negatively. Plus one of the police's biggest tactics is fear, and if you show you aren't afraid of them, you're well on your way to coming out on top.
Eventually, my friend and I crossed into Maryland, and I got her home. Unlike the first time I went up that way in October, this time I knew where I was going, and so the route was far more straightforward than before. No detours and U-turns through downtown Washington and Silver Spring this time. We just drove straight in. After I dropped my friend off, I headed home. I finally got home around 2:00, where I promptly fell asleep.
Notwithstanding the evening march, the day's events were a great success, hopefully driving home the message that it's not okay to privatize profits while socializing losses. This economy is a mess, and if the governments of wealthy nations are to reform the system to try to bring us back to prosperity, we want to make sure that they do it the right way this time around, and not slant the system towards big business and away from the people.


Malibu is a rum-based liqueur with unique characteristics: its unique flavor is in fact obtained by the addition of coconut and sugar of high quality. Already label, with its references to the tropics, Malibu evokes the Caribbean lifestyle: sunny and very relaxed. No coincidence that his slogan is "Get Your Island On" awakens your desire for fun as it happens every day in the Caribbean. Unique is the perfect young compared to the classic drinks. With its sweet and extremely pleasant has no direct competitors in Italy. Malibu is produced in Barbados, in the West Indies Rum Distillery, surrounded by white beaches of fine sand and crystal clear waters of the Caribbean. Aged for 1 or 2 years, Malibu is easy to drink, thanks to its low alcohol content and taste sweet and refreshing.
Pernod Ricard owns the distilled beverage division of the former corporation Seagram (including brands like Chivas Regal), along with many other holdings. In 2005, the company acquired a British-based competitor, Allied Domecq plc. In 2008, Pernod Ricard announced its acquisition of Swedish-based V&S Group, which produces Absolut Vodka. In 2013 Pernod Ricard joined leading alcohol producers as part of a producers\' commitments to reducing harmful drinking. As of 2015, India is the company\'s third largest market by value.


Graham Collier doesn't mince words when he talks about herbicide resistance. "We have a serious problem in Western Canada," says the technical services manager for the Western Prairies with Nufarm Agriculture Inc.
Collier gives the example of weeds that germinate later, after a herbicide application. "The weed population isn't physiologically resistant to the herbicide, but when you make an application at the same time each year you select for later germinating individuals, which over time makes up the bulk of the population," he says.
Weeds are tricky, and the best way to manage resistance development is with a proactive approach. The message is the same if you farm in Eastern Canada.
Canada unfortunately ranks third in the world for the cases of herbicide resistance. We're behind Australia and the United States, but in many cases, Canada is building new cases of herbicide resistance faster than other countries.
Collier is autely aware that academics and agronomists talk about the importance of managing herbicide use to reduce the development of resistance.
So what can farmers do in their fields to slow the risk of resistant weed development?
Change up your farm practices. Do something different every year to throw weeds off their game. Weeds are smart but they thrive on routine so change it up and mess them up. Alter herbicide application timings or include an application timing you haven't before.
Rotate crops. Plant different crops and change up growing habits and competition levels in your fields.
Rotate herbicide mixtures. Use different modes of action and products with multiple modes of action. Rotate your tank mixes and change application timing.
Scout for survivors. After spraying get out in the field and see if you can find patches or individuals that were not controlled – testing for resistance to most modes of action is available in Canada. Finding and managing those patches/fields early can save money and time in the long run.
Keep records. Knowledge is power. Keep track of what you've done in the past and keep it easily accessible for planning next year.
From his perspective, James Ferrier says some growers are receptive to the resistance management message, but most growers wait until they see a resistant weed problem on their farm before they act. And by then, it's too late. As the technical services manager in Eastern Canada for Nufarm, Ferrier sees part of his role is to find technical and agronomic fits for Nufarm's products – especially as part of a strong resistance management plan.
Want to find out more about your weed control options as part of a sound resistance management plan? Ask A Nufarmer at 1.800.686.5444, visit Nufarm.ca and follow us @NufarmCA.


text:
LEAGUE ONE INSIGHT: Millwall
In this feature, we take an in-depth look at the 23 other teams in Sky Bet League One this season.
The Lions
The New Den
League position last season:
22nd - Sky Bet Championship
2014/15 top goalscorer:
Lee Gregory (8)
Neil Harris - The 37-year-old took over at the end of last season after former manager Ian Holloway was relieved of his duties.
In his ten games in charge last season, Harris won two and drew four but was unable to keep Millwall in the Championship.
Harris is a club legend at the club and was appointed permanent manager during the summer and has been tasked with getting them back in the second tier.
In his first spell with the club, he scored just under 100 goals in over 200 appearances for the club before departing for Nottingham Forest.
After an unsuccessful spell there, he returned to the New Den where he spent another four years, scoring 32 goals.
Harris' side have been priced as fourth favourites for promotion next season and he will hope to bring Championship football back to the supporters.
Key player:
Lee Gregory - The 26-year-old has had to wait for his chance in the Football League after excelling in the non-leagues.
After scoring 89 goals for Halifax Town in under 150 appearances, Gregory earned a move to the Championship club for an undisclosed fee last season.
In his first season, he finished the club's top goalscorer but could not do enough to keep the Lions in the division.
Head-to-head:
The history books show that Latics have faced Millwall 62 times in all competitions, winning 17 and losing 25.
Latics last faced the Lions in 2010 but fell to a 1-0 defeat courtesy of a goal by the current gaffer, Neil Harris.
Sky Bet League One odds:
Win outright: 10/1
Promotion: 3/1
Relegation: 18/1

redpajama_set_name: RedPajamaCommonCrawl


text:
The Children's Word
Saint John Gave God the Glory
Give God the Glory! Have you ever had to admit somebody was better than you are at something? Maybe you lost an arm wrestling match, or maybe you lost a race. Maybe you lost at a spelling bee or another contest. It is humbling when we have to admit somebody...
Saint Spiridon, the patron of Corfu
The holiest shrine on the island of Kerkyra (Corfu) just off the western coast of Greece is the tomb of a fourth-century saint whose body after sixteen centuries is in such a remarkable state of preservation that every year he is carried in solemn triumph through the streets on the...
Saints Celebrated on December 5th
Martyr Anastasius A Saint of this name is commemorated on December 5, in the Martyrologies, but neither the place nor the time of his passion is discoverable. When he saw the torments that the Martyrs gloriously endured, he ran into the arena and confessed his faith in Christ. He was...
God Saved Us Because He Loves Us
Salvation is A Gift Has anybody ever given you a gift…and you never gave anything back? Sometimes you might get a present, and you just say "thank you!" You might not give a present back. Today's epistle reading reminds us of the great gift that God gives us…and we can...
Saint Tabitha: the Charitable Daughter of the Early Church
Lambros Skontzos, Theologian Love and charity are synonymous with Christianity. The basis of the Christian message is love towards all other people, regardless of who they are. Nothing should be an impediment to the exercise of Christian love: not sex, race or socio-economic status. Our Lord Jesus Christ Himself...
Apostles Stachys, Amplias, Urbanus, Apelles, Narcissus and Aristobulus
George Poulos In recent years there has been a rash of new religions erupting on the community skin, a kind of social disease to which the seasoned Christian is immune, but which afflicts the well-intentioned but more impressionable young. The merchants of these new religions, which can be better...
Feast of Great Martyr Demetrios, The Myrrh-Streamer
Saint Demetrios suffered in Thessalonica during the reign of Galerius Maximian (c. 306). He belonged to one of the most distinguished families of the province of Macedonia and was widely admired not only because of his noble ancestry and grace of bearing, but also for virtue, wisdom and goodness of...
Blessed Gerasimos the Younger, from Kefallonia
Our blessed father Yerasimos was born in 1509, in the village of Trikala, near Corinth in the Peloponnese. His God-fearing parents, Dimitrios and Kali came from the prominent Notaras family and, from a young age, he was taught his letters, at which he excelled. While still a young man, he...
Saint Romanos the Melodious – The Nightingale of the Church
Back in the old days, he was a child raised in the Church, the right hand of the priests. He attended to all the jobs that were to be done and was always the first to get to the services. He knew the psalms and prayers by heart, and served...
Saint Kyriakos the Anachorite
† Dionysios, Metropolitan of Servia and Kozani Today the Church honours and celebrates the sacred memory of Blessed Kyriakos the Anchorite, who was born in Corinth in 408. His father was called Ioannis and was a priest, while his mother was Evdoxia. The then bishop of Corinth, Petros, who...


text:
Music Audio
Music release comments
Reasons Davido and Wizkid Will Always Be The Best
By Nayae (self media writer) | 2 years ago
Ayodeji Ibrahim Balogun (born 16 July 1990), known professionally as Wizkid (sometimes stylized as WizKid), is a Nigerian singer and songwriter. He began recording music at the age of 11 and managed to release a collaborative album with the Glorious Five, a group he and a couple of his church friends formed. Wizkid signed a record deal with Empire Mates Entertainment (E.M.E) in 2009. He rose to prominence after releasing " Holla at Your Boy ", the lead single from his debut studio album Superstar (2011). " Tease Me/Bad Guys", " Don't Dull", "Love My Baby", "Pakurumo" and "Oluwa Lo Ni" were also released as singles from the
Superstar album. In February 2014, Wizkid became the first Nigerian musician to have over one million followers on Twitter. Ayo , his self-titled second studio album, was released in September 2014. It was supported by six singles: " Jaiye Jaiye ", "On Top Your Matter", "One Question", "Joy", "Bombay" and "Show You the Money". Wizkid left E.M.E after his contract expired.
David Adedeji Adeleke (born November 21, 1992), who is better known as Davido, is an American-born Nigerian singer, songwriter and record producer. Davido was born in Atlanta , US, and raised in Lagos; he made his music debut as a member of the music group KB International. He studied business administration at Oakwood University before dropping out to make beats and record vocal references. Davido rose to fame after releasing " Dami Duro ", the second single from his debut studio album Omo Baba Olowo (2012), from which six additional singles—"Back When", "Ekuro", "Overseas", "All of You", "Gbon Gbon", and "Feel Alright"—were taken. In 2012, Davido won the Next Rated award at The Headies. Between 2013 and 2015, he released the hit singles " Gobe", "One of a Kind", " Skelewu", " Aye ", "Tchelete (Goodlife)", "Naughty", "Owo Ni Koko", "The Sound" and "The Money".
Now, the reasons they will always be the best in Nigeria.
1. They both started music at a very young age as a group member. Wizkid was he member of the Glorious Five while Davido was a member of KB International.
2. They started by signing record deals with prominent record labels and having great music influencers as their mentors. Wizkid was signed into EME record label managed by Banky W. Davido was signed into HKN record label manage by his brother.
3. Their first couple of songs were hits back to back which made people become more and more interested in them. Wizkid started with Holla at Your Boy which was a massive hit, next songs were Tease Me, Don't Dull and many others. He started with a hit and he has continued giving us hits. Davido also started with Back When, then Damiduro which was his first major hit and since then he has been giving us hits too back to back.
4. They both decided to start their own record labels, to be their own bosses after they've gained recognitions. David's record label is DMW (Davido Music Worldwide). Wizkid's record label is STARBOY ENTERTAINMENT
5. They both decided to help talented acts get signed under their record label
DMW: Mayorkun, Peruzzi, Yonda, Zlatan, Dremo
STARBOY: Terri, Spotless, Ahmed
6. They are both always involved in controversies which keeps them afloat and they never rest from releasing new hits and albums
7. They used their rivalry to make a name for themselves. They have this on-and-off friendship going on which always seem to keep people talking.
8. They always put their fans in suspense/ in anticipation which keeps them in the spotlight. For months now, they've been announcing the release of their individual albums "ABT" and "Made In Lagos", fans are really looking forward to the release of these albums.
9. They are known for being featured and featuring international acts. They want to be known worldwide so they work towards it. Davido has been associated with international acts like Chris Brown, Rae Sremmurd, Popcaan, Summer Walker, Tinashe, Meek Mill and many others. Wizkid has been associated with International acts like Drake, Beyonce, H.E.R., Wale, Tinie Tempah, Chris Brown and many others
10. Lastly, they are both signed under Sony Music (RCA) to help promote their music and gain international fame.
We could go on and on listing reasons why Wizkid and Davido will always be the best. It's for the simple fact that they are just the best and they have loyal fans worldwide who will always support and stand beside them. It is a wonder why they both haven't released a song together. It would be the biggest hit in Nigeria and Africa in general. Though their fans always battle for who's the best between the two of them, we can just appreciate the fact that they exist and are always there to bless us with good music.
Content created and supplied by: Nayae (via Opera News )
Ayodeji Ibrahim Balogun Davido Empire Mates Entertainment Nigerian Wizkid


text:
    <tbk-dashboard-lead-metric
      data-panel-class="panel-primary"
      data-icon="fa-users">

Here should be a metric.

Initial Request Count

    </tbk-dashboard-lead-metric>

    <tbk-dashboard-lead-metric
      data-panel-class="panel-green"
      data-icon="fa-line-chart">

Here should be a metric.

Percentage Average

    </tbk-dashboard-lead-metric>

    <tbk-dashboard-lead-metric
      data-panel-class="panel-red"
      data-icon="fa-tachometer">

          Here should be a metric.

Percentage Median

    </tbk-dashboard-lead-metric>

        Requests by Visibility State (absolute)

          Here should be a chart.

        Initial Requests by Visibility State (relative)

          Here should be a chart.

        Tells the visibility state in which your element had been when recording began.

redpajama_set_name: RedPajamaGithub


CBS THIS MORNING posted year-to-year gains among viewers (+6%, 2.95m from 2.78m), according to Nielsen live plus same day ratings for the week ending May 30, 2014. CBS THIS MORNING added 170,000 viewers compared to the same week last year.
Chris Licht is the Vice President of Programming, CBS News, and Executive Producer of CBS THIS MORNING.


text:
Q: Constructing a star-shaped polytope from its kernel Suppose $n$ points in $\mathbb{R}^d$ form the vertices of a convex, bounded polytope $P$ with positive volume. I have two questions:

*

*is there a largest star polytope ($S$, say) with kernel equal to $P$?

*If so, are there algorithms for constructing the vertices of $S$?

I actually have a conjecture: the answer is yes for Q1, and regarding Q2, $S$ can be obtained as follows. $P$ satisfies $P=\{x\in \mathbb{R}^d: Ax\le b\}$ for some $k\times d$ matrix $A$ and some $b\in\mathbb{R}^d$. ``$\le$'' should be understood component-wise here. Then, letting $A_{-j}$ denote the submatrix of $A$ with row $j$ removed (and similarly for $b_{-j}$), $S$ satisfies $$S=\cup_{j=1}^k \{x: A_{-j} x\leq b_{-j}\}.$$
Is that right?
Edit: some simulations suggest that the conjecture could be correct for $d=2$. However, the corresponding algorithm I have used is quite inefficient because it requires (i) a facet enumeration to obtain $A$ and $b$; (ii) $k$ vertex enumerations to obtain the vertices of $\{x: A_{-j} x\leq b_{-j}\}$ for $j=1…k$. Also, this construction does not seem to work for $d>2$.

redpajama_set_name: RedPajamaStackExchange


We adopted Sadie from Heartland when she was 10 mos. old. She is now 11 years old and the joy of our lives. She is very much loved and we treasure every minute of every day we have with her. Love her to pieces.


Summer seasons in Moonee Vale can be scorching! All of us understand exactly how challenging it is to sleep, work, or play while you're experiencing in the sweltering heat. Nobody wants to breathe thick, hot air in their own home. If you live in Moonee Vale, call us for prompt and reliable cooling repair work.
Our very qualified service specialists will ensure your Air Conditioner unit is running at peak performance. We will swiftly and precisely diagnose and repair any faults with your unit and offer maintenance contracts and advice to assist you reduce your energy usage.
There are several signs that your air conditioner system will need to be fixed. If you discover strange noises or odors coming from your system it will need to be repaired. This could be an indication that mold and mildew is expanding in the ventilation or that parts have actually gotten loose. Another sign that your system isn't working properly is drastically reduced air flow. You could examine this by turning on your A/C system and placing your hand near the vent. If the airflow isn't as strong as you remember this can mean you have to get your system fixed.
Our home AC repair Moonee Vale professionals can take a look at your Air Conditioner system to see what repair work need to be made. From there, we'll recommend new parts and change any component that is triggering your system to damage. We can make certain your Air Conditioner kicks on when you require it to in order to keep maximum comfort and fresh air. We have actually serviced many different air conditioner units over the years, and we're positive in our capability to find you a service.
If you observe that your a/c unit isn't really working, give us a call. More often than not, the a/c unit has a damaged part that needs to be changed. Units that leak, blow warm air, or make a loud clanking sound have to be serviced right away. Enjoy optimum comfort once more with the help of our group.
When you decide to work with us, you can be certain that you will get the most professional and cost efficient a/c maintenance services Moonee Vale has to offer. Thanks to our superb services our customers can relax, knowing that safety measures have been taken to maintain their air conditioner system operating at their absolute best. When you want the best care for your ac unit, you could call us any time to learn more about what we have to offer.
With extensive experience in both residential and commercial jobs, we can deal with all your urgent repairs and/or scheduled maintenance work. No job is big or too small. We could deal with you to provide a personalized, budget friendly maintenance contract to meet your a/c unit servicing requirements. You can be assured of our commitment to professionalism, integrity, safety, excellent quality workmanship and the environment!
We work with a series of makes and model air conditioner units as well both split and ducted systems. No matter whether you need one a/c unit installed or hundreds for your commercial or industrial complex. We are ready and available to service all your cooling needs.
Numerous COOLING AND HEATING companies in Moonee Vale only service or install one brand because it is simpler on their team to just learn about one system. This means that you can pick between updating older units that are functioning fine or letting your present system go without maintenance up until a serious problem occurs. Fortunately for you, we service and repair most brand names so you can give us a call regardless of what your issue is.
Our fast service is what we are known for, and our professional, lasting results are what keep our customers coming back. Our team believe in making your A/C system function the way it should with little work on your part.
Our specialists have years of experience in the industry and also successfully done countless a/c service Moonee Vale for commercial, industrial and domestic systems. We provide unbiased advice for free that would certainly save you cash and lower your down time. You can be sure that your a/c systems are performing at their best with us on the job.


text:
package cmd

import (
	"fmt"
	"log"
	"sort"
	"strings"
)

// CmdExport is `direnv export $0`
var CmdExport = &Cmd{
	Name:    "export",
	Desc:    "loads an .envrc or .env and prints the diff in terms of exports",
	Args:    []string{"SHELL"},
	Private: true,
	Action:  cmdWithWarnTimeout(actionWithConfig(exportCommand)),
}

func exportCommand(currentEnv Env, args []string, config *Config) (err error) {
	defer log.SetPrefix(log.Prefix())
	log.SetPrefix(log.Prefix() + "export:")
	logDebug("start")

	var target string

	if len(args) > 1 {
		target = args[1]
	}

	shell := DetectShell(target)
	if shell == nil {
		return fmt.Errorf("unknown target shell '%s'", target)
	}

	logDebug("loading RCs")
	loadedRC := config.LoadedRC()
	toLoad := findEnvUp(config.WorkDir, config.LoadDotenv)

	if loadedRC == nil && toLoad == "" {
		return
	}

	logDebug("updating RC")
	log.SetPrefix(log.Prefix() + "update:")

	logDebug("Determining action:")
	logDebug("toLoad: %#v", toLoad)
	logDebug("loadedRC: %#v", loadedRC)

	switch {
	case toLoad == "":
		logDebug("no RC found, unloading")
	case loadedRC == nil:
		logDebug("no RC (implies no DIRENV_DIFF),loading")
	case loadedRC.path != toLoad:
		logDebug("new RC, loading")
	case loadedRC.times.Check() != nil:
		logDebug("file changed, reloading")
	default:
		logDebug("no update needed")
		return
	}

	var previousEnv, newEnv Env

	if previousEnv, err = config.Revert(currentEnv); err != nil {
		err = fmt.Errorf("Revert() failed: %w", err)
		logDebug("err: %v", err)
		return
	}

	if toLoad == "" {
		logStatus(currentEnv, "unloading")
		newEnv = previousEnv.Copy()
		newEnv.CleanContext()
	} else {
		newEnv, err = config.EnvFromRC(toLoad, previousEnv)
		if err != nil {
			logDebug("err: %v", err)
			// If loading fails, fall through and deliver a diff anyway,
			// but still exit with an error.  This prevents retrying on
			// every prompt.
		}
		if newEnv == nil {
			// unless of course, the error was in hashing and timestamp loading,
			// in which case we have to abort because we don't know what timestamp
			// to put in the diff!
			return
		}
	}

	if out := diffStatus(previousEnv.Diff(newEnv)); out != "" {
		logStatus(currentEnv, "export %s", out)
	}

	diffString := currentEnv.Diff(newEnv).ToShell(shell)
	logDebug("env diff %s", diffString)
	fmt.Print(diffString)
	return
}

// Return a string of +/-/~ indicators of an environment diff
func diffStatus(oldDiff *EnvDiff) string {
	if oldDiff.Any() {
		var out []string
		for key := range oldDiff.Prev {
			_, ok := oldDiff.Next[key]
			if !ok && !direnvKey(key) {
				out = append(out, "-"+key)
			}
		}

		for key := range oldDiff.Next {
			_, ok := oldDiff.Prev[key]
			if direnvKey(key) {
				continue
			}
			if ok {
				out = append(out, "~"+key)
			} else {
				out = append(out, "+"+key)
			}
		}

		sort.Strings(out)
		return strings.Join(out, " ")
	}
	return ""
}

func direnvKey(key string) bool {
	return strings.HasPrefix(key, "DIRENV_")
}


You only pay full price if we successfully deliver your certificate!
The total cost to find and deliver a certificate is US$75 and includes up to 2 additional copies for free.
To start each search, we require a deposit of US$25.
If we obtain the certificate, we require a second payment of US$50 before we mail it to you.
If we do NOT obtain the certificate, you owe nothing further!
When you order, you may request 1 or 2 additional copies of each certificate free of charge, but some Vital Records offices (like Rome and Naples) will only send one at a time. In those cases, it will take longer to obtain the extra copies.
Please Note: If you make a mistake with your order, or if you otherwise change your mind, you may request a full refund of this deposit within the first 30 days after your order. After this time, the deposit becomes NON-REFUNDABLE.
The FIRST and LAST name of the ancestor in question.
The DATE or DATE RANGE (not exceeding 2 years) of the birth, marriage or death.
The name of the TOWN or CITY in ITALY where the birth, marriage or death took place.
The names of the PARENTS are not required, but you should include them if possible.
Using the information you send us, ICGS will prepare a written request on your behalf and mail it to the appropriate Italian city's official archives.
The response time varies from city to city (over 8,000 in Italy), but in most cases, we receive requested certificates within 6-8 weeks. If there are mistakes in the information you send, we will likely receive a notification of No Records Found.
I'm Ready to Request a Certificate!


text:
classdef drawRandomPoints<masivPlugin %drawRandomPoints inherits masivPlugin

	% Purpose
	% drawRandomPoints is an example plugin to show how the plugin system works.
	% Starting the plugin creates a GUI window with three buttons and one slider:
	% 1. Button that draws randomly positioned marker in the current view (over the image).
	%    Pressing again will draw more markers.
	% 2. Button to delete all drawn markers.
	% 3. Button exit the GUI. Pressing the regular close button in the menu bar
	%    also does this.
    % 4. A slider that allows the user to specify how many random points will be plotted.
    %
	%
	% Markers are drawn using the masivMarker class
	%
	%
    % The plugin system is written using object oriented MATLAB code. If this is new
    % to you, you might want to read up on this in the MATLAB docs.
	%
	%
	%
	% Rob Campbell - Basel 2015

	%Define properties of testPlug
	properties
	    hFig
        fontName
        fontSize

        markers
        hDisplayedMarkers
        hDisplayedMarkerHighlights

        slider
        sliderBaseString
        txtBox

        keyPressListener
        scrolledListener
        zoomedListener
        pannedListener
	end

    %Define protected properties
    properties(Dependent, SetAccess=protected)
        currentType
        cursorZVoxels
        cursorZUnits
    end

	%Define methods of testPlug
	methods
	   %Constructor - runs once when testPlug is loaded
	   function obj = drawRandomPoints(caller,~)
	   	obj=obj@masivPlugin(caller);
	   	obj.MaSIV=caller.UserData;

	   	%% Get settings from main GUI so we can apply to plugin GUI
        obj.fontName=masivSetting('font.name');
        obj.fontSize=masivSetting('font.size');

        %Create GUI window for plugin and position nicely on screen
        ssz=get(0, 'ScreenSize');
        lb=[ssz(3)/3 ssz(4)/3];
        pos=round([lb 400 400]);

        obj.hFig=figure(...
                'Position', pos, ...
                'CloseRequestFcn', {@deleteRequest, obj}, ...
                'MenuBar', 'none', ...
                'NumberTitle', 'off', ...
                'Name', ['Test Plugin: ' obj.MaSIV.Meta.stackName], ...
                'Color', masivSetting('viewer.panelBkgdColor'), ...
                'KeyPressFcn', {@keyPress, obj});

        %Add some wonderful buttons to our plugin's GUI
        buttonDefaults={...
            'Parent', obj.hFig, ...
            'Style', 'pushbutton', ...
            'Units', 'normalized', ...
            'FontName', obj.fontName, ...
            'FontSize', obj.fontSize, ...
            'BackgroundColor', masivSetting('viewer.mainBkgdColor'), ...
            'ForegroundColor', masivSetting('viewer.textMainColor') };

       uicontrol(...
       	buttonDefaults{:},...
       	'Position', [0.05 0.90 0.55 0.06], ...
        'String', 'Draw random markers', ...
        'Value', 1, ...
        'Callback', {@addMarkers, obj});

        uicontrol(...
         buttonDefaults{:}, ...
         'Position', [0.05 0.80 0.55 0.06], ...
         'String', 'Delete markers', ...
         'Value', 0, ...
         'Callback', {@trashMarkers, obj});

        uicontrol(...
         buttonDefaults{:}, ...
         'Position', [0.15 0.50 0.34 0.06], ...
         'String', 'EXIT', ...
         'ForegroundColor','red', ...
         'FontWeight','bold', ...
         'Value', 0, ...
         'Callback', {@deleteRequest, obj});

        %add a slider to define the number of points to plot
        obj.slider = uicontrol(...
            'Parent', obj.hFig,...
            'Style','slider',...
            'Units','normalized',...
            'Position',[0.05, 0.7, 0.55, 0.06],...
            'Min',1, 'Max',50,...
            'Value',10,...
            'SliderStep',[0.05 0.2],...
            'Callback', {@sliderUpdate, obj});

        %Add a text panel to report the current slider value
        obj.sliderBaseString='Points to plot: ';
        obj.txtBox = uicontrol(...
            'Parent', obj.hFig, ...
            'Units', 'normalized', ...
            'Style','text', ...
            'String',  [obj.sliderBaseString, num2str(get(obj.slider, 'value'))], ...
            'FontName', obj.fontName, ...
            'FontSize', obj.fontSize-1, ...
            'BackgroundColor', masivSetting('viewer.mainBkgdColor'), ...
            'ForegroundColor', masivSetting('viewer.textMainColor'), ...
            'HorizontalAlignment', 'left', ...
            'Position', [0.05 0.62 0.5 0.05]);

        %Set up a listener for the keyboard. This will allow the plugin to
        %respond to key presses in order to build a short-cut system.
        obj.keyPressListener=event.listener(obj.MaSIV, 'KeyPress', @obj.parentKeyPress);

        %Respond to scroll, zoom, and pan events but re-drawing the markers on the screen
        obj.scrolledListener=event.listener(obj.MaSIV, 'Scrolled', @obj.drawMarkers);
        obj.zoomedListener=event.listener(obj.MaSIV, 'Zoomed', @obj.drawMarkers);
        obj.pannedListener=event.listener(obj.MaSIV, 'Panned', @obj.drawMarkers);

	   end %close constructor method

        function parentKeyPress(obj, ~,ev)
            keyPress([], ev.KeyPressData, obj);
        end
        function parentClosing(obj, ~, ~)
            deleteRequest([],[], obj,1) %force quit if the parent GUI (MaSIV) closes
        end

        function clearMarkers(obj)
            if ~isempty(obj.hDisplayedMarkers)
                delete(findobj(obj.MaSIV.hMainImgAx, 'Tag', 'drawRandomPoints'))
            end
        end

        function drawMarkers(obj, ~, ~)
            if ~isempty(obj.markers)
                masivDebugTimingInfo(2, 'drawRandomPoints.drawMarkers: Beginning',toc,'s')
                obj.clearMarkers;
                masivDebugTimingInfo(2, 'drawRandomPoints.drawMarkers: Markers cleared',toc,'s')

                %Concatenate all marker x and y coordinates into vectors
                markerX=[obj.markers.xVoxel];
                markerY=[obj.markers.yVoxel];

                markerSz=12; %hard-code a default marker size

                markerCol=cat(1, obj.markers.color);

                hImgAx=obj.MaSIV.hMainImgAx;
                prevhold=ishold(hImgAx);
                hold(hImgAx, 'on')

                %% Eliminate markers not in the current x y view
                xView=obj.MaSIV.mainDisplay.viewXLimOriginalCoords;
                yView=obj.MaSIV.mainDisplay.viewYLimOriginalCoords;

                inViewX=(markerX>=xView(1))&(markerX<=xView(2));
                inViewY=(markerY>=yView(1))&(markerY<=yView(2));

                inViewIdx=inViewX&inViewY;

                markerX=markerX(inViewIdx);
                markerY=markerY(inViewIdx);
                markerCol=markerCol(inViewIdx, :);

                %% Draw markers
                masivDebugTimingInfo(2, 'drawRandomPoints.drawMarkers: Beginning drawing',toc,'s')
                obj.hDisplayedMarkers=scatter(hImgAx, markerX , markerY, markerSz, markerCol, 'filled', 'HitTest', 'off', 'Tag', 'drawRandomPoints');
                masivDebugTimingInfo(2, 'drawRandomPoints.drawMarkers: Drawing complete',toc,'s')

                masivDebugTimingInfo(2, 'drawRandomPoints.drawMarkers: Complete',toc,'s')

                %% Restore original hold state
                if ~prevhold
                    hold(hImgAx, 'off')
                end

            end
        end

        %% Getters
        function z=get.cursorZVoxels(obj)
            z=obj.MaSIV.mainDisplay.currentZPlaneOriginalVoxels;
        end

    end %methods

    methods(Static)
       %This is what the plugin is named in the MaSIV "plugins" menu
       function d=displayString
        d='Draw random markers';
       end % close displayString method
    end %close methods(Static)

end %classdef testPlug<masivPlugin

%----------------------------------------------------------------------------------------------
% Callback functions (http://mathworks.com/help/matlab/creating_plots/callback-definition.html)
% These are called when the user presses a button on the keyboard or clicks a UI element in the
% plugin GUI

%The keyPress function is run whenever the user presses a key. It's used to provide
%short-cut key controls for the plugin. Here we use it to exit the plugin if the user presses "ctrl+e"

function keyPress(~, eventdata, obj)
 key=eventdata.Key;
 ctrlMod=ismember('control', eventdata.Modifier);

 switch key
     case 'e'
         if ctrlMod
         	 fprintf('Exiting drawRandomMarkers\n')
             deleteRequest(0,0,obj);
         end
     otherwise
 end

end

%Closes the GUI and and detaches the plugin from MaSIV.
function deleteRequest(~, ~, obj, forceQuit)

    obj.deregisterPluginAsOpenWithParentViewer; %inherited from masivPlugin
    deleteRequest@masivPlugin(obj); %inherited from masivPlugin
    delete(obj.hFig);
    delete(obj);

end

function addMarkers(~, ~, obj)
    zvm=obj.MaSIV.mainDisplay.zoomedViewManager;

    %We're going to make a marker object to plot.
    G = masivMarkerType;

    %Give all markers draw a single, randomly chosen, color
    nChoose=7; %Because there are only 7 unique colours in lines
    L=lines(nChoose);
    R=randperm(nChoose);
    thisColor=L(R(1),:);
    G.color=thisColor;

    %Select a random location in the current field of view
    XL=zvm.parentViewerDisplay.viewXLimOriginalCoords; %X limits of current view
    YL=zvm.parentViewerDisplay.viewYLimOriginalCoords; %Y limits of current view

    %Loop through, adding as many points as requested
    for ii=1:get(obj.slider,'value')
        x=round(rand*range(XL) + XL(1));
        y=round(rand*range(YL) + YL(1));

        z=obj.cursorZVoxels;
        newMarker=masivMarker(G, x ,y, z);

        %Append marker
        if isempty(obj.markers)
            obj.markers=newMarker;
        else
            obj.markers(end+1)=newMarker;
        end
    end

    fprintf('Currently %d markers\n',length(obj.markers) )
    drawMarkers(obj)

end

function trashMarkers(~, ~, obj)
    fprintf('Trashing all markers\n')
    obj.clearMarkers;
    obj.markers=[];
end

function sliderUpdate(~, ~, obj)
    slider_value = round(get(obj.slider,'Value'));
    set(obj.txtBox, 'String', [obj.sliderBaseString,num2str(slider_value)])
end


Song lyrics by Dave Days. Check-out these awesome song lyrics by the artist, learn every word of your favourite song and sing it like Dave Days. Get one of the 108 lyrics and watch the video by artist Dave Days.


A credit to its present owners, it is a pleasure to bring to market, this impeccably well decorated and presented extended detached villa, complete with garage. Occupying a spacious corner site, within this highly desirable residential area of Larne, this impressive family home affords excellent, versatile living accommodation, designed to suit most families needs and requirements. Comprising of a spacious lounge, luxury fitted kitchen, with integrated appliances, dining room, sun room, three bedrooms, family bathroom and superb, attic storage room with velux window, this well appointed property is surrounded with ample gardens, laid to lawn and feature patio. Complete with garage and spacious tar mac driveway this modern villa is sure to attract much attention. Viewing is highly recommended, and is strictly by appointment only through Agents.
Incorporating push button W.C. and vanity wash hand basin.
A spacious family room, with laminate wood flooring.
Luxury range of upper and lower level units incorporating integrated ceramic hob, "eye" level double oven, chrome extractor fan, dishwasher and large fridge/freezer. "Corion" sink unit. Plumbed for automatic washing machine. Storage cupboard. Tiling.
Patio doors to rear patio feature.
Modern white suite incorporating push button W.C., vanity wash hand basin and panelled bath. Separate shower cubicle with electric shower. Ceramic wall and floor tiling.
A useful storage room, complete with velux window.
Complete with tar mac driveway.
Well tended gardens laid to lawn and feature patio.


text:
import React,{PureComponent} from "react";

let ChartJS = null;

class Chart extends PureComponent {

    constructor(props) {
        super(props);
        this.chart = null;
    }

    componentDidMount() {
        this.draw();
        document.addEventListener('copy', () => {
            let image = document.createElement('img');
            image.src = this.canvas.toDataURL();
            this.canvas.parentElement.insertBefore(image, this.canvas);
            this.canvas.style.display = 'none';
            setTimeout(()=>{
                image.remove();
                this.canvas.style.display = 'initial';
            }, 100);
        });
    }

    componentDidUpdate() {
        this.redraw();
    }

    parseData(data){
        try{
            data = eval('data=' + data);
        }catch(e){
            data = null;
        }
        return data;
    }

    draw(){
        let {data} = this.props;
        if(!ChartJS){
            window.require(['https://cdn.jsdelivr.net/npm/chart.js@2.7.3/dist/Chart.bundle.min.js'], (_) => {
                ChartJS = _;
                this.draw();
            });
        }else{
            data = this.parseData(data);
            if(data){
                let cxt = this.canvas.getContext('2d');
                try{
                    this.chart = new ChartJS(cxt, data);
                }catch(e){}
            }
        }
    }

    redraw(){
        let {data} = this.props;
        data = this.parseData(data);
        if (!data){
            return;
        }
        for(let key in data){
            this.chart.config[key] = data[key];
        }
        this.chart.update({
            duration: 800,
            easing: 'easeOutBounce'
        });
    }

    render() {
        return (
            <div className="language-chart">
                <canvas ref={ref=>this.canvas = ref}></canvas>
            </div>
        )
    }
}

export default Chart;


Upto 70% Off Clearance. Burlingston.com has "Petite Sleeveless Printed Dress with Beaded Neck" on sale for $9.99. Shipping is free w/ qualifying orders of $75 or more. This is one of the lowest prices we have seen for Clearance.


After I restart MCS and load a saved Session all trigger configuration has been lost. Is this normal?
No, please report within the bug report forum.
I reported this a few weeks ago to the Bugs Report thread and have not gotten a response. Could you please look into this?