text:
FRANCIS ROCCA
Pope Francis suggested the Catholic Church could tolerate some types of nonmarital civil unions as a practical measure to guarantee property rights and health care.
He also said the Church would not change its teaching against artificial birth control but should take care to apply it with "much mercy."
Pope Francis' words appeared in an interview published March 5 in the Italian daily Corriere della Sera.
In the wide-ranging conversation with the paper's editor-in-chief, Ferruccio de Bortoli, the pope defended the Church's response to clerical sex abuse and lamented popular mythology has turned him into a kind of papal superhero.
He also addressed the role of retired Pope Benedict XVI.
"Matrimony is between a man and a woman," the pope said, but moves to "regulate diverse situations of cohabitation (are) driven by the need to regulate economic aspects among persons, as for instance to assure medical care."
Asked to what extent the Church could understand this trend, he replied: "It is necessary to look at the diverse cases and evaluate them in their variety."
Bishops around the world have differed in their responses to civil recognition of nonmarital unions. The president of the Pontifical Council for the Family said in February 2013 that some legal arrangements are justifiable to protect the inheritance rights of nonmarried couples. But until now, no pope has indicated even tentative acceptance of civil unions.
In the interview, Pope Francis praised Pope Paul VI's 1968 encyclical Humanae Vitae, which upheld the prohibition on the use of contraception.
In contradicting contemporary pressures for population control, Pope Paul's "genius was prophetic, he had the courage to side against the majority, defend moral discipline, put a brake on the culture, oppose neo-Malthusianism, present and future," Pope Francis said.
But he also noted that Pope Paul had instructed confessors to interpret his encyclical with "much mercy, attention to concrete situations."
"The question is not whether to change the doctrine, but to go deeper and make sure that pastoral care takes account of situations and of what each person is able to do," Pope Francis said.
The pope said birth control, like the predicament of divorced and civilly remarried Catholics, would be a topic of discussion at the Vatican in October at an extraordinary Synod of Bishops on the family.
DISCUSSION WELCOME
The pope said he had welcomed the "intense discussion" at a February gathering of cardinals, where German Cardinal Walter Kasper gave a talk suggesting divorced and civilly remarried Catholics might sometimes be allowed to receive Communion even without an annulment of their first, sacramental marriages.
"Fraternal and open confrontations foster the growth of theological and pastoral thought," he said. "I'm not afraid of this; on the contrary, I seek it."
Pope Francis said cases of sex abuse by priests had left "very profound wounds," but that, starting with the pontificate of Pope Benedict XVI, the Church has done "perhaps more than anyone" to solve the problem.
"Statistics on the phenomenon of violence against children are shocking, but they also clearly show the great majority of abuses occur in family and neighbourhood settings," Pope Francis said.
"The Catholic Church is perhaps the only public institution to have acted with transparency and responsibility. No one else has done more. And yet the Church is the only one attacked."
MYTHOLOGY OF POPE
Reflecting on his own colossal popularity, the pope criticized "ideological interpretations, a certain mythology of Pope Francis. When it is said, for instance, that he leaves the Vatican at night to go feed the tramps on Via Ottaviano. That never even occurred to me."
"To portray the pope as a kind of superman, a type of star, strikes me as offensive," he said. "The pope is a man who laughs, weeps, sleeps soundly and has friends like everybody else. A normal person."
Pope Francis said he has sought out his predecessor Pope Benedict for advice and encouraged him to "go out and participate in the life of the Church," most recently by appearing at a Feb. 22 ceremony with the College of Cardinals in St. Peter's Basilica.
"The pope emeritus is not a statue in a museum," Pope Francis said.
Noting bishops never retired until after the Second Vatican Council, but that the practice has since become the norm, Pope Francis said the "same thing should happen with the pope emeritus. Benedict is the first and maybe there will be others. We don't know."
« Francis leads Curia out of Rome for week-long Lenten Retreat
Ottawa archbishop stirs pot with ban on funeral eulogies »
Modern popes enter the lion's den
Quebec's largest churches facing uncertain future
Slaughter in Iraq Cathedral is 'absurd violence,' says pope


text:
Czapka frygijska (łac. pileus) – nakrycie głowy
 Pileus – forma chmury

redpajama_set_name: RedPajamaWikipedia


text:
#ifndef _NFSCLIENT_NFSMOUNT_H_
#define _NFSCLIENT_NFSMOUNT_H_

/*
 * Mount structure.
 * One allocated on every NFS mount.
 * Holds NFS specific information for mount.
 */
struct	nfsmount {
	int	nm_flag;		/* Flags for soft/hard... */
	int	nm_state;		/* Internal state flags */
	struct	mount *nm_mountp;	/* Vfs structure for this filesystem */
	int	nm_numgrps;		/* Max. size of groupslist */
	u_char	nm_fh[NFSX_V3FHMAX];	/* File handle of root dir */
	int	nm_fhsize;		/* Size of root file handle */
	struct	socket *nm_so;		/* Rpc socket */
	int	nm_sotype;		/* Type of socket */
	int	nm_soproto;		/* and protocol */
	int	nm_soflags;		/* pr_flags for socket protocol */
	struct	sockaddr *nm_nam;	/* Addr of server */
	int	nm_timeo;		/* Init timer for NFSMNT_DUMBTIMR */
	int	nm_retry;		/* Max retries */
	int	nm_srtt[4];		/* Timers for rpcs */
	int	nm_sdrtt[4];
	int	nm_sent;		/* Request send count */
	int	nm_cwnd;		/* Request send window */
	int	nm_timeouts;		/* Request timeouts */
	int	nm_deadthresh;		/* Threshold of timeouts-->dead server*/
	int	nm_rsize;		/* Max size of read rpc */
	int	nm_wsize;		/* Max size of write rpc */
	int	nm_readdirsize;		/* Size of a readdir rpc */
	int	nm_readahead;		/* Num. of blocks to readahead */
	int	nm_acdirmin;		/* Directory attr cache min lifetime */
	int	nm_acdirmax;		/* Directory attr cache max lifetime */
	int	nm_acregmin;		/* Reg file attr cache min lifetime */
	int	nm_acregmax;		/* Reg file attr cache max lifetime */
	u_char	nm_verf[NFSX_V3WRITEVERF]; /* V3 write verifier */
	TAILQ_HEAD(, buf) nm_bufq;	/* async io buffer queue */
	short	nm_bufqlen;		/* number of buffers in queue */
	short	nm_bufqwant;		/* process wants to add to the queue */
	int	nm_bufqiods;		/* number of iods processing queue */
	u_int64_t nm_maxfilesize;	/* maximum file size */
};

#if defined(_KERNEL)
/*
 * Convert mount ptr to nfsmount ptr.
 */
#define VFSTONFS(mp)	((struct nfsmount *)((mp)->mnt_data))

#endif

#endif

redpajama_set_name: RedPajamaGithub


call for our hours of operation.
Margaret Sanger, M.Ac., L.Ac., at The Tao of Acupuncture, is experienced in treating a wide variety of ailments. Learn more about The Tao of Acupuncture and our approach to helping you achieve better health.
Posted on May 02, 2014. Brought to you by localcom.
Posted on July 20, 2015. Brought to you by merchantcircle.


Abstract This problem was given to students as part of a course on problem based learning (PBL) using fractious problems. It asked them to consider the ethicality of a law permitting or requiring the use of neuroimaging tests as an aid to predicting the likely future dangerousness of students identified as "at-risk". Students were asked to apply six skills in analyzing and devising policy resolutions for the problems and to apply PBL skills in doing so.


Hi, my name is Hayim/Victor, I am very excited to share with you my amazing pomegranate story.
This is my pomegranate story – beginning way back when I was a child on my parents' farm. I'm going to take you on my journey with me as I share with you my first-hand experience of receiving my very own pomegranate trees and how I cared for them and ultimately fell in love with this amazing fruit.
I'll share with you all the interesting things about growing your own pomegranate trees, caring for the trees, and harvesting the fruit. It's a beautiful thing to see the fruit begin to grow and then realize one day that it's ready to pick off the tree. There is something inherently satisfying about harvesting fruit from a tree that you've nurtured and maintained for years!
Pomegranate is the perfect additive for the skin. Ancient Greeks touted its medicinal benefits; while modern beauty editors point out that the fruit is loaded with powerful antioxidants. Archipelago botanicals pomegranate products carry the delightfully fresh scent of pomegranate - and are blended with premium ingredients.
Have you ever wondered what it would be like to grow your own pomegranates? I sure hope you will check back often to read more about how I take care of my trees and how we harvest the fruit each season.
Perhaps you will be inspired to plant your own trees and then come back and share your experience with me! I'm always interested in hearing other people's stories about growing pomegranate orchards – everyone's experience is different, which makes each one interesting.
My pomegranate story is one that is ongoing, so I hope you will visit this page often to see what is new. I'll talk about every aspect of growing your own pomegranate orchard and what it takes to care for these special trees. I'll share with you the best time to harvest, how to harvest, and hopefully give you inspiration to try some pomegranates yourself. We have plenty of recipes you can choose from to give this amazing fruit a try right in your own home!
Pomegranates are a delicious tangy fruit. I fell in love with the taste of this ruby red fruit as a child and I still love them today as an adult. I enjoy drinking the healthy pomegranate juice, it keeps me young and healthy. I hope you will find some inspiration here – whether it's to grow your own trees, enjoy the outdoors, or to simply try pomegranate fruit for yourself.
Delicious archipelago botanicals pomegranate sheer lip gloss leaves lips hydrated, shiny and smooth.
I had a nice walk in my pomegranate field this morning.
My green trees really came back to life after the long fall season!
I was disappointed to see however that some of the leaves on the trees are full of small black insects. In my experience, it's best to let nature take care of the insects rather than spraying anything on the trees. Last spring, the same black insects were on my trees, but they disappeared on their own after about two weeks.
If you desire to have truly organic fruits, it's essential that you keep them free of chemicals. Try not to spray any chemicals on the trees or field.
I've added some pictures of the insects that attacked my trees so that you might know what they look like if something similar shows up on your trees.
I finally started picking my pomegranate fruit!
It's only been about two weeks since the fruits were looking almost ripe, which is a great time frame.
This years' crop is pretty good. The outside of the fruits has a beautiful red color and they're nice and big in size. The arils on the inside of the fruits are juicy and sweet.
Now that the fruits are ripe, it's the perfect time to begin making pomegranate juice. Store your juice in the freezer in glass bottles and it will stay fresh and delicious for up to one year.
I hope you are enjoying the new pomegranate season as much as I! And, I hope you are taking full advantage of the amazing health benefits of this tangy fruit.
I had a nice surprise this morning as I was walking in my pomegranate orchard - the fruit has grown to the right size and is changing nicely to the right color.
Picking time will probably come sometime around September 1, 2011.
I can tell the fruits are turning ripe nicely because the seeds inside the fruit are a pretty red color and they taste pretty sweet.
I need to be careful about spraying any more at this point.
My orchard has various sizes of fruits in different stages of ripeness, so I will most likely have to do the picking in different stages as well.
Here is a picture of these amazing fruits from today. Looking good, yes?
This week I sprayed around the tree trunks to get rid of the small branches that always grow up around the trunk. The ants are bound to be back, so I sprayed for them too.
As I was walking in my pomegranate orchard this morning, I saw many fruits on my trees and noticed they are starting to mature.
I opened one fruit to check the progress and it was quite red inside, which is a very good sign.
The picture you are seeing here is one I took this morning while on my stroll through the orchard. See how pretty the pomegranates are growing?
At this time during the growing season, it's a good idea to cover the fruits with nylon stocking to protect them from insect damage. We had mentioned this tip last year on the site, but wanted to mention it again this year.
This summer seems to be very hot, so make sure you are increasing the amount of water you are giving your trees. I'd recommend watering at least twice a week.
This morning my orchard looked beautiful. The blossoming flowers are very pretty and I already saw little fruits coming out all around on the trees.
Yesterday marked the beginning of the watering season as the trees are full with flowers and fruits.
My pomegranate field looked beautiful this morning. It is looking like a truly mature pomegranate field!
The leaves are a beautiful shade of green and they're growing to a nice size. I can't wait to see the fantastic red flowers to blossom, which will probably be in the next week or two.
The trees have started blossoming and the trees appear red when you look at them.
I sprayed the small branches that grow around the trunk instead of cutting them. Cutting them would actually make them stronger, so I spray them instead of cutting them.
Hi, I am going to give you some details of my pomegranate orchard.
My pomegranate orchard is relatively small with about 252 trees. The trees are very young at just about 4 years old.
The type of pomegranate trees I have produce Aco 128/129 pomegranate fruits.
I plant my trees 4.5 x 5.5 meters apart.
The trees are bare and don't have any leaves right now. The trees are "sleeping" at this point in the year.
I'm almost finished with the pruning season.
I promise I'll show you some pictures of my orchard very soon!
Read enough about my pomegranate story and want to discover more about the amazing pomegranate health benefits?


Zephrofel :- It is how to end being disquieted thoughts bordering on this but you probably think that I'm twice as stubborn as an ox and half as smart. I may want to verbalize that I dislike your thingamajig. I have to avoid seeming exposed. This takes me back to where I started. Definitely, it's a rural thing. To be honest, you've come to the right place. We have to be cautious though. Zephrofel is straightforward folks and it's right in front of you and inherently, it's something to believe concerning this. So far I have avoided trouble with the info. This is a gathering up more Zephrofel. I suspect you discover this information helpful and a leap might become a solution for a share of newbies.


I had to record a voiceover, so I dragged out three lavalier microphones for a quick test, plugging each into a Zoom H1 and recording a snippet of normal speaking. The results? While the audio quality won't match a high-end microphone, the recording is fine for use in documentary interviews on location.
That's not a surprise -- the 3350 is basically the updated replacement for the 35s. It's also essentially the same as the mic included in Audio Technica PRO88W-R35 Wireless Lavalier System with ATR3350mW Omnidirectional Mic, 170 MHz .
You could post the audio somewhere else and just link to it. I use Blip.tv to host an audio podcast. I don't know if you can upload .wav files but .mp3 works well.
That would work. The Voiceover itself is done, so I might post a sample from that as well.
Panasonic GH2 Tele Conversion: Bagful of Primes?


text:
Atletico Madrid Barcelona
Atletico Madrid striker Luis Suarez tests positive for Covid-19, out of Barcelona match
By Colin Millar - 16 November 2020, 20:13
Atletico Madrid striker Luis Suarez has tested positive for Covid-19 whilst on international duty with Uruguay, the South American nation's FA confirmed on Monday evening.
The striker is one of three people in the Uruguay camp to test positive for the virus alongside teammate Rodrigo Munoz and team attendant Matias Faral.
📄 Comunicado de la Asociación Uruguaya de Fútbol – 16/11/2020 pic.twitter.com/IDbS7JZ7NF
— AUF (@AUFOficial) November 16, 2020
The news comes as a massive blow to Atleti and to the striker on a personal basis, with the positive test coming just five days before he was due to take on his former club Barcelona in La Liga.
An early reaction from El Mundo Deportivo suggests that it will be impossible for the 33-year-old to participate in that clash at the Wanda Metropolitano.
Suarez has been in fine form for Diego Simeone's side in the early stages of the campaign – netting five goals in his opening six appearances for the team in La Liga.
The veteran striker has scored seven goals in his last nine matches for club and country, including in Atleti's most recent outing – a 4-0 win over Cadiz.
Colin Millar
Tags Luis Suarez
Luis Suarez proving the perfect fit for Atletico Madrid
Ronald Koeman has no regrets over Luis Suarez's Barcelona exit
Luis Suarez helps Atletico Madrid to 1-0 win over Getafe

redpajama_set_name: RedPajamaCommonCrawl


text:
I've been wondering the same thing
I heard that Chris use to live in Australia, maybe that's why it's registered there.
Re: Not a Problem, Just a query!	15 years 1 month ago	#6286
A bit of history here..
Yes you're absolutely right, .cx are Christmas Island domain names (no that's not why we've got everything set up all Santa-like on the banner )..
Long before I joined the site, I had got myself a .cx domain name, I remember they were giving them out free ages ago.. I never really got round to asking Chris about whether thats how he picked it up.
Its actually a very smart name.. you can't get firewall.com or .net or similar.. but this still comes out like a top level domain name and its very easy to remember
Yes, Chris did live in Australia... in fact I think he still considers it 'home'.... though now he's in the land of olives !
So far no member of the firewall.cx team comes from Christmas Island... maybe we should get one just for the heck of it
Not a Problem, Just a query!


text:
Belgian authorities hit gang moving cash for parallel bank
BRUSSELS (AP) — Belgian prosecutors say they've broken up a money laundering ring trying to transfer cash from Africa to set up a parallel banking system.
The Crown Prosecutor's office said Friday that several raids have been launched around Brussels since April and that four people have been arrested, and cash and bankcards seized.
It said investigators discovered that bankcards from two African banks had been used to withdraw large sums of money from cash machines across Belgium.
Neither the banks nor those arrested were identified.
Prosecutors said the probe "showed that it was a well-organized crime group trying to anonymously transport money from Africa to Belgium to invest in a parallel banking system."
They said the system makes it possible to transfer money without authorities in the country of origin knowing.


I wonder why the democrats just pushed their debates back another 10 weeks? Is the presumptive nominee not ready for prime time? Oh dear….
Hillz now has to work harder than she ever has for the next ten weeks to slim down to skirt-wearing condition.
Only if they can liposuction the cankles. Dieting won't knock them back, they're like camel humps.
So… Shrillary is playing that democrap person… who is it again… Madrassa?
Debbie Wasserman Schultz on a GOOD hair day?


text:
Pitchfork Pie Stand
World Piece
Pie Classes
MS. AMERICAN PIE: BUTTERY GOOD PIE RECIPES AND BOLD TALES FROM THE AMERICAN GOTHIC HOUSE
Available at Amazon, Barnes & Noble, and independent booksellers.
Beth M. Howard knows about pie. She made pies at California's Malibu Kitchen for celebrities including Barbra Streisand (lemon meringue), Dick Van Dyke (strawberry rhubarb), and Steven Spielberg (coconut cream) before moving back home to rural Iowa. She now lives in the famous American Gothic House (the backdrop for Grant Wood's famous painting) and runs the hugely popular Pitchfork Pie Stand.
With full-color photos throughout, Ms. American Pie features 80 of Beth's coveted pie recipes and some of her own true tales to accompany them. With chapters like Pies to Heal, Pies to Seduce, and Pies to Win the Iowa State Fair, Beth divulges her secret for making a killer crust without refrigerating the dough and shows you how to break every rule you've ever learned about making delicious, homemade pie.
MAKING PIECE: A MEMOIR OF LOVE, LOSS AND PIE
Available at Amazon, Barnes & Noble, Books a Million, IndieBound and other booksellers. Also available on Kindle and as an audio book.
Published by Harlequin Non Fiction, in hardcover.
"Beth Howard describes with warmth and wit how the bitter events in life are set off by the sweet ones—much like the ingredients of a good recipe. Making Piece is a moving account of love and loss."
–Jeannette Walls, New York Times bestselling author of The Glass Castle
"I honestly can't remember the last time I read any book through at a sitting, but I could not put Making Piece down. It's wonderful. It's poignant and painful and honest and funny and unexpected and absolutely gripping. And after reading the book I dreamed about pie."
–Leigh Michaels, author of The Wedding Affair and On Writing Romance
FROM THE BOOK JACKET
Journeying through a grief that at times seems unbearable, Making Piece introduces a superb writer who used America's quintessential comfort food—pie—to heal her heart, reconnect with people and find her way back after suffering a devastating loss. When journalist Beth Howard's young husband dies suddenly, she packs up the RV he left behind and hits the American highways. At every stop along the way—be it shooting a pie documentary or handing out free slices on the streets of Los Angeles, Beth uses pie as a way to reach out and find purpose. Ultimately, Howard returns to her Iowa roots and creates the perfect synergy between two of America's biggest icons—pie and the American Gothic House, the little white farmhouse immortalized in Grant Wood's famous painting, where she now lives. During the summer, she runs the Pitchfork Pie Stand, which bears her living motto to "pie it forward" because she believes pie heals and makes the world a better place. Making Piece powerfully shows how one courageous woman uses the simple act of giving to others to triumph over tragedy. It tells of the role of fate, second chances and the strength found in community.
I blame pie. If it wasn't for banana cream pie, I never would have been born. If my mom hadn't made my dad that pie, the one with the creamy vanilla pudding, loaded with sliced bananas and covered in a mound of whipped cream, the one that prompted him to propose to her, I wouldn't be here. Think about it. The anatomical shape of bananas. The pudding so luscious and moist. The cream on top as soft as a pillow on which to lie down and inspire certain sensuous acts. My parents were virgins and intended to stay that way until they exchanged vows at the altar. That pie made wedding plans urgent. If it wasn't for that pie, they may never have gotten married and had kids, had me.
If I had never been born, I never would have learned to make pie; not just banana cream, but apple and strawberry-rhubarb and chocolate cream and peach crumble and many others. If I had never been born, I never would have grown up to become a writer and gotten that job at the dot com that paid so well, but stressed me out so much that I quit to become a full-time pie baker in Malibu. If I hadn't gotten that baking job, I never would have made pies for Barbra Streisand and Steven Spielberg, and I never would have taken time off to go on that road trip, the one where I ended up at Crater Lake National Park and met Marcus Iken that night in the hotel lobby.
If I had never met Marcus, never fallen in love with him and his almond-shaped green eyes, exotic German-British accent and those odd-yet-elegant leather hiking boots that laced up at the sides, I never would have invited him to join me at my friends' wedding in Tuscany. And thus, I never would have taken the train from Italy to his apartment in Stuttgart, Germany, carrying that pie I baked him, the apple one heaped high with fruit, drowning in its own juices and radiating the seductive scent of cinnamon, the one that made him realize I was like no woman he'd ever met before and that he couldn't live without me—the pie that prompted him to propose to me.
If it wasn't for pie, I never would have been born. I never would have married Marcus and moved to Germany, to Oregon and then to Mexico with him. If I had never married him, I would not have been the one listed as the emergency contact, the one who got The Phone Call that day. I never would have learned how a call from a medical examiner can mean only one thing, how harsh the word would sound in my ears—"Deceased," he'd said—and how that word would haunt me, change my life, change me.
If I had never been born, I never would have known what it feels like to lose Marcus, never known what his sexy, athletic body, the body I had made love to hundreds of times, looked like lying in a casket, cold, hard, lifeless, eventually cremated, his ashes buried, never to be seen again.If only my mom hadn't made my dad that banana cream pie. Fuck pie.
I am a pie baker and I live in the American Gothic House. Yes, the American Gothic House, the one in the iconic Grant Wood painting of the couple holding the pitchfork. It is the second most famous white house in the U.S.A., second only to the White House. Yes, the White House in Washington, D.C. The American Gothic House is nowhere near Washington, D.C. It is located in rural Southeastern Iowa in a sleepy, former railroad town called Eldon (pop. 928), and while the house is indeed white, it is decidedly smaller and humbler than the presidential one. Because it is famous and old—old as in "built in 1881" old—it is listed on the National Register of Historic Places. But one doesn't need documentation or a plaque by the front door to know the age of this house. The slanted, worn, wide-plank floorboards, the rectangular shape of the nail heads handcrafted by blacksmiths and the cracks in the front door that let in the winter drafts speak for its many years of weathering a hardscrabble life on the windswept prairie.
Living in a tourist attraction (which must be where the expression "living in a fishbowl" comes from) takes a special person. And since I live here, I guess that makes me special in that I can handle the daily foot traffic tromping across my front porch,I accept how strangers, unable to restrain their curiosity, peer into my windows . . . and I politely offer to snap the occasional photo of a couple striking the prerequisite pose in front of the Gothic window.
Out of the hundred-plus places I've ever lived, this is the first and only one where I signed a lease requiring that the "tenant shall treat the public in a friendly manner." And mostly I am friendly. Except when I've had too many faces pressed up against the glass in my kitchen window. In which case, the white cotton curtain gets yanked across their hungry eyes, and I retreat to the most private room in the house: ironically, the upstairs bedroom, the one immediately behind the house's main feature, the Gothic window.
Legend has it that this window—and the matching one on the opposite end of the second floor—was purchased via mail order from Sears Roebuck. The triangular shape of the paned glass attracted Grant Wood's attention when he visited Eldon in 1930. He found it incongruous, if not pretentious, that such a simple white wooden farmhouse would be adorned with such an ornate, if not religious, window. Wood was so intrigued, he drew a sketch of the front of the house, returned to his art studio in Cedar Rapids, convinced his sister and his dentist to pose as the spinster daughter and dour father to represent the stoic, roll-up-your-sleeves-and-just-do-it, Midwest stereotype, painted the three individual elements onto one canvas, and the rest, as they say, is history. The house—and its window—is so famous that it attracts over 10,000 visitors a year to its remote Iowa location.
It is behind this window and its lace curtain that I sleep, dream, read, cry, snuggle with my two small dogs and escape the peering eyes of passersby. The lease also states "tenant agrees to maintain South Window curtains similar to those featured in Grant Wood's American Gothic painting." This is no problem, as the lace curtains came with the house. In the upstairs bedroom window, the showcase one, I simply hung white sheers over the lace curtain, which maintains the original appearance for the tourists' photo opportunity, but adds a layer of privacy from the outside world, and keeps at bay the blazing Iowa sun, which rises around seven each morning over the neighbor's soybean field.
On the weekends, when the weather is good, I sell pies out on the lawn of the house. I can't say if this has ever been done before at the American Gothic House. Out of the many families that have lived here—the Dibbles, the Joneses, the Smiths—mine are certainly not the first pies to be baked inside. That would be impossible, seeing as Iowa is the pie capital of America, where pies are a way of life, baked into the fabric of Midwestern existence. Eldon, Iowa, is full of pie bakers. (I know this because I've sampled Arlene Kildow's coconut cream pie. It would win first prize at the Iowa State Fair if she would enter. And Janice Chickering's apple pie, which I haven't tried yet, must be delicious because it wins every local pie contest.) But setting up a pie table right outside the famous house, as if it were an Amish farm stand or a Girl Scout bake sale? That might be a first.
I didn't move into the American Gothic House to sell pies. Moving into the American Gothic House wasn't in my plans at all. In fact, until that hot, humid, late August day that I happened upon the road sign for the house, I didn't even know of its existence. I will tell you how and why I came to live here, how I became known as "America's Pie Lady," how I became adopted by the mayor and other residents of Eldon, and most important of all, how my grief began to ease and my heart eventually began to heal. I will tell you all that and more. But I have to begin further back in time.
You will find my story is a lot like pie, a strawberry-rhubarb pie. It's bitter. It's messy. It's got some sweetness, too. Sometimes the ingredients get added in the wrong order, but it has substance, it will warm your insides and, even though it isn't perfect, it still turns out okay in the end.
MAKING PIECE is available on Amazon, Barnes & Noble, Books a Million, IndieBound and other booksellers. Also available on Kindle, and as an audio book.
©The World Needs More Pie 2019


The most critical thing of all when it comes to picnics, is that every person has a fantastic day out adults and children. In other words, it must be enjoyable to make, have exciting ingredients, and taste good!! It is fun for kids to aid you produce these entertaining bunny fruit faces and they will be so excited to consume the ears, eyes, mouth and all the rest of the components of the face till there is practically nothing left! Youngsters can pour the honey, sugar, and butter mixture more than oats, and then toss it all with each other. And with the prep you do at home just before the trip, the little ones can make this one particular themselves – the hallmark of a very good camping recipe that the kids will enjoy. My kids are going to enjoy it. I will be sure to consist of this in our next camping adventure! If you have easy enjoyable recipes for little ones to do we would enjoy to have them posted as nicely.


text:
using MB.Algodat;
using Microsoft.Win32;
using Newtonsoft.Json.Linq;
using POESKillTree.ViewModels.Items;
using POESKillTree.Views;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using POESKillTree.Utils;

namespace POESKillTree.Controls
{

    internal class IntRange
    {
        public int From { get; set; }
        public int Range { get; set; }
    }

    /// <summary>
    /// Interaction logic for Stash.xaml
    /// </summary>
    public partial class Stash : UserControl, INotifyPropertyChanged
    {

        public ObservableCollection<Item> Items
        {
            get { return (ObservableCollection<Item>)GetValue(MyPropertyProperty); }
            set { SetValue(MyPropertyProperty, value); }
        }

        public static readonly DependencyProperty MyPropertyProperty =
            DependencyProperty.Register("Items", typeof(ObservableCollection<Item>), typeof(Stash), new PropertyMetadata(null, ItemsPropertyChanged));

        private static void ItemsPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var stash = d as Stash;

            if (e.OldValue != null)
            {
                var list = (ObservableCollection<Item>)e.OldValue;
                list.CollectionChanged -= stash.items_CollectionChanged;
            }

            if (e.NewValue != null)
            {
                var list = (ObservableCollection<Item>)e.NewValue;
                list.CollectionChanged += stash.items_CollectionChanged;
            }

            stash.ReloadItem();
        }

        public ObservableCollection<int> SearchMatches
        {
            get { return (ObservableCollection<int>)GetValue(SearchMatchesProperty); }
            set { SetValue(SearchMatchesProperty, value); }
        }

        // Using a DependencyProperty as the backing store for SearchMatches.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty SearchMatchesProperty =
            DependencyProperty.Register("SearchMatches", typeof(ObservableCollection<int>), typeof(Stash), new PropertyMetadata(null));

        internal ObservableCollection<IntRange> NewlyAddedRanges
        {
            get { return (ObservableCollection<IntRange>)GetValue(NewlyAddedRangesProperty); }
            set { SetValue(NewlyAddedRangesProperty, value); }
        }

        // Using a DependencyProperty as the backing store for NewlyAddedRanges.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty NewlyAddedRangesProperty =
            DependencyProperty.Register("NewlyAddedRanges", typeof(ObservableCollection<IntRange>), typeof(Stash), new PropertyMetadata(null));

        Dictionary<Item, ItemVisualizer> _usedVisualizers = new Dictionary<Item, ItemVisualizer>();
        Dictionary<StashBookmark, Rectangle> _usedBMarks = new Dictionary<StashBookmark, Rectangle>();

        void items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {

            if (e.OldItems != null)
            {
                foreach (Item i in e.OldItems)
                    _StashRange.Remove(i);
            }

            if (e.NewItems != null)
            {
                foreach (Item i in e.NewItems)
                    _StashRange.Add(i);

            }

            if (!_supressrebuild)
            {
                _StashRange.Rebuild();
                OnPropertyChanged("LastLine");
            }

            RedrawItems();
        }

        private double getValueForTop(double top)
        {
            var d = (asBar.Maximum - asBar.Minimum);
            if (d == StashGridHeight)
                return 0;

            return top * d / (d - StashGridHeight);
        }

        private double getTopForValue(double value)
        {
            return value - value / (asBar.Maximum - asBar.Minimum) * StashGridHeight;
        }

        public int PageTop
        {
            get
            {
                return (int)Math.Round(getTopForValue(asBar.Value));
            }
        }

        public int PageBottom
        {
            get
            {
                return PageTop + StashGridHeight + 1;
            }
        }

        private void RedrawItems()
        {
            int from = PageTop;
            int to = PageBottom;

            foreach (var tab in Bookmarks)//TODO bisection method?
            {
                if (tab.Position >= from && tab.Position <= to)
                {
                    var y = (tab.Position - from) * GridSize;

                    Rectangle r;

                    if (!_usedBMarks.TryGetValue(tab, out r))
                    {
                        r = new Rectangle();
                        r.Fill = new SolidColorBrush(tab.Color);
                        r.Height = 2;
                        r.Tag = tab;
                        r.Cursor = Cursors.SizeNS;
                        r.MouseDown += R_MouseDown;

                        gcontent.Children.Add(r);
                        Grid.SetZIndex(r, -1000000);
                        _usedBMarks.Add(tab, r);
                    }
                    r.Margin = new Thickness(0, y - 1, 0, gcontent.ActualHeight - y - 1);
                    continue;
                }

                if (_usedBMarks.ContainsKey(tab))
                {
                    gcontent.Children.Remove(_usedBMarks[tab]);
                    _usedBMarks.Remove(tab);
                }

            }

            var items = new HashSet<Item>(_StashRange.Query(new Range<int>(from, to)));
            var toremove = _usedVisualizers.Where(p => !items.Contains(p.Key)).ToArray();
            foreach (var item in toremove)
            {
                gcontent.Children.Remove(item.Value);
                _usedVisualizers.Remove(item.Key);
            }

            foreach (var item in items)
            {
                ItemVisualizer iv = null;

                if (!_usedVisualizers.TryGetValue(item, out iv))
                {
                    iv = new ItemVisualizer()
                    {
                        HorizontalAlignment = HorizontalAlignment.Left,
                        VerticalAlignment = VerticalAlignment.Top,
                        Item = item,
                    };

                    Binding b = new Binding();
                    var menu = this.Resources["itemContextMenu"] as ContextMenu;

                    b.Source = menu;
                    b.Mode = BindingMode.OneWay;

                    iv.SetBinding(ItemVisualizer.ContextMenuProperty, b);

                    if (item == _dnd_item)
                        iv.Opacity = 0.3;

                    if (_FoundItems.Contains(item))
                        iv.Background = ItemVisualizer.FoundItemBrush;

                    iv.MouseLeftButtonDown += Iv_MouseLeftButtonDown;

                    _usedVisualizers.Add(item, iv);
                    gcontent.Children.Add(iv);
                }
                Thickness m = new Thickness(item.X * GridSize, (item.Y - from) * GridSize, 0, 0);
                iv.Margin = m;
                iv.Width = item.Width * GridSize;
                iv.Height = item.Height * GridSize;
            }
        }

        internal void BeginUpdate()
        {
            _supressrebuild = true;
        }

        internal void EndUpdate()
        {
            NewlyAddedRanges.Clear();
            _supressrebuild = false;
            _StashRange.Rebuild();
            ResizeScrollbarThumb();
        }

        private void R_MouseDown(object sender, MouseButtonEventArgs e)
        {
            Rectangle r = sender as Rectangle;
            StashBookmark sb = r.Tag as StashBookmark;
            _dnd_startDrag = Mouse.GetPosition(gcontent);
            _dnd_overlay = new Rectangle()
            {
                Fill = r.Fill,
                Height = r.Height,
                Margin = r.Margin,
                Opacity = 0.3,
            };
            gcontent.Children.Add(_dnd_overlay);
            Grid.SetZIndex(_dnd_overlay, 52635);
            DragDrop.DoDragDrop(this, sender, DragDropEffects.Move);
            gcontent.Children.Remove(_dnd_overlay);
            _dnd_overlay = null;
        }

        private void ReloadItem()
        {
            _supressrebuild = true;
            foreach (var i in Items)
            {
                _StashRange.Add(i);
            }
            _supressrebuild = false;

            _StashRange.Rebuild();
            OnPropertyChanged("LastLine");

        }

        public double GridSize
        {
            get { return (double)GetValue(GridSizeProperty); }
            set { SetValue(GridSizeProperty, value); }
        }

        // Using a DependencyProperty as the backing store for GridSize.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty GridSizeProperty =
            DependencyProperty.Register("GridSize", typeof(double), typeof(Stash), new PropertyMetadata(47.0));

        public Stash()
        {
            NewlyAddedRanges = new ObservableCollection<IntRange>();
            SearchMatches = new ObservableCollection<int>();

            if (DesignerProperties.GetIsInDesignMode(this))
            {
                this.SetValue(BookmarksProperty, new ObservableCollection<StashBookmark>()
                {
                    new StashBookmark("0",0, Colors.Blue),
                    new StashBookmark("1",12, Colors.Maroon),
                    new StashBookmark("20",24, Colors.DarkGreen),
                    new StashBookmark("300",36, Colors.Brown),
                    new StashBookmark("4000",48, Colors.Orange),
                    new StashBookmark("50000",60, Colors.Purple),
                    new StashBookmark("600000",72, Colors.Violet),
                    new StashBookmark("7000000",84, Colors.SteelBlue),
                    new StashBookmark("0",96),
                });
            }

            InitializeComponent();
        }

        public ObservableCollection<StashBookmark> Bookmarks
        {
            get { return (ObservableCollection<StashBookmark>)GetValue(BookmarksProperty); }
            set { SetValue(BookmarksProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Bookmarks.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty BookmarksProperty =
            DependencyProperty.Register("Bookmarks", typeof(ObservableCollection<StashBookmark>), typeof(Stash), new PropertyMetadata(new ObservableCollection<StashBookmark>(), BookmarksPropertyChanged));

        private static void BookmarksPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var stash = d as Stash;

            if (d == null)
                return;

            var ov = e.OldValue as ObservableCollection<StashBookmark>;
            var nv = e.OldValue as ObservableCollection<StashBookmark>;

            if (ov != null)
                ov.CollectionChanged -= stash.bookmarks_CollectionChanged;

            if (nv != null)
                nv.CollectionChanged += stash.bookmarks_CollectionChanged;
        }

        private void bookmarks_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            OnPropertyChanged("LastLine");
        }

        public void AddItems(IEnumerable<Item> items, string tabname = null)
        {

            int y = LastOccupiedLine + 2;
            if (tabname != null)
            {
                StashBookmark sb = new StashBookmark(tabname, y);
                AddBookmark(sb);
            }

            int x = 0;
            int maxh = 0;
            var y2 = y;
            var y3 = y;
            foreach (var item in items)
            {
                if (x + item.Width > 12) //next line
                {
                    x = 0;
                    y += maxh;
                    maxh = 0;
                }

                item.X = x;
                x += item.Width;

                if (maxh < item.Height)
                    maxh = item.Height;

                item.Y = y;
                Items.Add(item);

                if (y3 < item.Y + item.Height)
                    y3 = item.Y + item.Height;
            }

            AddHighlightRange(new IntRange() { From = y2, Range = y3 - y2 });
            ResizeScrollbarThumb();
        }

        internal void AddHighlightRange(IntRange range)
        {
            while (NewlyAddedRanges.Count > 5)
                NewlyAddedRanges.RemoveAt(0);

            NewlyAddedRanges.Add(range);
        }

        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string prop)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(prop));
        }

        private class ItemModComparer : IComparer<Item>
        {
            public int Compare(Item x, Item y)
            {
                return ((IRangeProvider<int>)x).Range.CompareTo(((IRangeProvider<int>)y).Range);
            }
        }

        private RangeTree<int, Item> _StashRange = new RangeTree<int, Item>(new ItemModComparer());

        public int StashGridHeight
        {
            get { return (int)(gcontent.ActualHeight / GridSize); }
        }

        public int LastLine
        {
            get
            {
                return LastOccupiedLine + StashGridHeight;
            }
        }

        public int LastOccupiedLine
        {
            get
            {
                return Math.Max(_StashRange.Max, Bookmarks.Count > 0 ? Bookmarks.Max(b => b.Position) : 0);
            }
        }

        bool _supressrebuild = false;

        private void asBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            RedrawItems();
        }

        void ResizeScrollbarThumb()
        {
            OnPropertyChanged("LastLine");
            asBar.LargeChange = StashGridHeight;
            var length = asBar.Maximum - asBar.Minimum;
            var p = Math.Round(gcontent.ActualHeight / GridSize) / length;

            var newsize = length * p / (1 - p);
            if (newsize <= 0 || double.IsNaN(newsize) || double.IsInfinity(newsize))
                asBar.ViewportSize = double.MaxValue;
            else
                asBar.ViewportSize = newsize;

            RedrawItems();
        }

        private void gcontent_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            ResizeScrollbarThumb();
        }

        private void control_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            if (e.Delta > 0)
                asBar.Value -= 1;
            else
                asBar.Value += 1;
        }

        ItemVisualizer _dndVis = null;
        Rectangle _dnd_overlay = null;
        Point _dnd_startDrag;
        Thickness _dnd_original_Margin;
        Item _dnd_item = null;
        private void Iv_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {

            var siv = sender as ItemVisualizer;
            if (siv != null)
            {
                _dnd_startDrag = Mouse.GetPosition(gcontent);// e.GetPosition(gcontent);
                _dnd_overlay = new Rectangle()
                {
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment = VerticalAlignment.Top,
                    Width = siv.ActualWidth,
                    Height = siv.ActualHeight,
                    Fill = Brushes.DarkGreen,
                    Margin = siv.Margin,
                    Opacity = 0.3,
                };
                _dnd_original_Margin = siv.Margin;
                gcontent.Children.Add(_dnd_overlay);
                Grid.SetZIndex(_dnd_overlay, 52635);

                _dndVis = new ItemVisualizer()
                {
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment = VerticalAlignment.Top,
                    Width = siv.ActualWidth,
                    Height = siv.ActualHeight,
                    Item = siv.Item,
                    Margin = siv.Margin,
                    Opacity = 0.5,
                    Background = null,
                };
                gcontent.Children.Add(_dndVis);
                Grid.SetZIndex(_dndVis, 52636);

                siv.Opacity = 0.3;
                _dnd_item = siv.Item;
                DragDrop.DoDragDrop(this, sender, DragDropEffects.Link | DragDropEffects.Move);
                siv.Opacity = 1;
                gcontent.Children.Remove(_dnd_overlay);
                gcontent.Children.Remove(_dndVis);
                _dndVis = null;
                _dnd_overlay = null;
                _dnd_item = null;
            }
        }

        private void control_DragOver(object sender, DragEventArgs e)
        {
            if (e.Source == null || (e.Source as FrameworkElement).FindAnchestor<Stash>() != this || _dnd_overlay == null)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }

            var pos = e.GetPosition(gcontent).Y;
            if (pos > gcontent.ActualHeight - GridSize / 3)
            {
                asBar.Value++;
            }
            else if (pos < GridSize / 3)
            {
                asBar.Value--;
            }

            if ((e.AllowedEffects & DragDropEffects.Move) != 0)
            {

                bool line = false;
                if (e.Data.GetDataPresent(typeof(Rectangle)))
                {
                    line = true;
                    if (!((e.Data.GetData(typeof(Rectangle)) as Rectangle).Tag is StashBookmark))
                    {
                        e.Effects = DragDropEffects.None;
                        return;
                    }

                }
                else if (!e.Data.GetDataPresent(typeof(ItemVisualizer)))
                {
                    e.Effects = DragDropEffects.None;
                    return;
                }

                e.Handled = true;
                e.Effects = DragDropEffects.Move;

                var newpos = e.GetPosition(gcontent);

                var dx = newpos.X - _dnd_startDrag.X;
                var dy = newpos.Y - _dnd_startDrag.Y;

                var newx = _dnd_original_Margin.Left + dx;
                var newy = _dnd_original_Margin.Top + dy;

                var x = (int)Math.Round((newx / GridSize));
                var y = (int)Math.Round((newy / GridSize));

                if (line)
                {
                    y = (int)Math.Round(newpos.Y / GridSize);
                    _dnd_overlay.Margin = new Thickness(0, y * GridSize - 1, 0, gcontent.ActualHeight - y * GridSize - 1);
                }
                else
                {
                    _dnd_overlay.Margin = new Thickness(x * GridSize, y * GridSize, 0, 0);

                    y += (int)PageTop;

                    var itm = _dndVis.Item;
                    var overlapedy = _StashRange.Query(new Range<int>(y, y + itm.Height - 1));

                    var newposr = new Range<int>(x, x + itm.Width - 1);

                    if (overlapedy.Where(i => i != itm).Any(i => new Range<int>(i.X, i.X + i.Width - 1).Intersects(newposr)) || newposr.To >= 12 || y < 0 || x < 0)
                        _dnd_overlay.Fill = Brushes.DarkRed;
                    else
                        _dnd_overlay.Fill = Brushes.DarkGreen;

                    _dndVis.Margin = new Thickness(newx, newy, 0, 0);
                }
            }
        }

        private void gcontent_Drop(object sender, DragEventArgs e)
        {
            if (e.Source == null || (e.Source as FrameworkElement).FindAnchestor<Stash>() != this)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }

            if ((e.AllowedEffects & DragDropEffects.Move) != 0)
            {

                bool line = false;
                if (e.Data.GetDataPresent(typeof(Rectangle)))
                {
                    line = true;
                    if (!((e.Data.GetData(typeof(Rectangle)) as Rectangle).Tag is StashBookmark))
                    {
                        e.Effects = DragDropEffects.None;
                        return;
                    }

                }
                else if (!e.Data.GetDataPresent(typeof(ItemVisualizer)) || _dnd_overlay.Fill != Brushes.DarkGreen)
                {
                    e.Effects = DragDropEffects.None;
                    return;
                }

                e.Handled = true;
                e.Effects = DragDropEffects.Move;

                var newpos = e.GetPosition(gcontent);

                var dx = newpos.X - _dnd_startDrag.X;
                var dy = newpos.Y - _dnd_startDrag.Y;

                var newx = _dnd_original_Margin.Left + dx;
                var newy = _dnd_original_Margin.Top + dy;

                var x = (int)Math.Round((newx / GridSize));
                var y = (int)Math.Round((newy / GridSize));

                y += (int)PageTop;

                if (line)
                {
                    y = (int)Math.Round(newpos.Y / GridSize + PageTop);
                    Rectangle r = e.Data.GetData(typeof(Rectangle)) as Rectangle;
                    StashBookmark sb = r.Tag as StashBookmark;
                    sb.Position = y;
                    Bookmarks.Remove(sb);
                    AddBookmark(sb);
                    RedrawItems();
                }
                else
                {

                    var itm = _dnd_item;
                    _dnd_item = null;
                    itm.X = x;
                    itm.Y = y;

                    Items.Remove(itm);
                    Items.Add(itm);
                }
                ResizeScrollbarThumb();
            }
        }

        private void gcontent_DragLeave(object sender, DragEventArgs e)
        {
            if (e.Source != this)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }

            if (_dndVis != null)
                _dndVis.Visibility = Visibility.Collapsed;

            if (_dnd_overlay != null)
                _dnd_overlay.Visibility = Visibility.Collapsed;
        }

        private void gcontent_DragEnter(object sender, DragEventArgs e)
        {

            if (e.Source != this)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }

            if (_dndVis != null)
                _dndVis.Visibility = Visibility.Visible;

            if (_dnd_overlay != null)
                _dnd_overlay.Visibility = Visibility.Visible;
        }

        private void Button_StashTab_Click(object sender, RoutedEventArgs e)
        {
            var bm = (sender as Button).DataContext as StashBookmark;
            asBar.Value = getValueForTop(bm.Position);
        }

        private void Button_AddBookmark(object sender, RoutedEventArgs e)
        {
            var picker = new TabPicker() { Owner = Window.GetWindow(this) };
            var ret = picker.ShowDialog();
            if (ret == true && !picker.Delete)
            {
                AddBookmark(new StashBookmark(picker.Text, PageTop + 1, picker.SelectedColor));
                RedrawItems();
            }
        }

        public void AddBookmark(StashBookmark stashBookmark)
        {
            Bookmarks.Insert(findbpos(stashBookmark.Position, 0, Bookmarks.Count), stashBookmark);
        }

        private int findbpos(int position, int from, int limit)
        {
            if (Bookmarks.Count == 0)
                return 0;

            var middle = from + (limit - from) / 2;

            if (middle == from)
                return (Bookmarks[middle].Position > position) ? middle : middle + 1;

            if (middle == limit)
                return limit + 1;

            if (Bookmarks[middle].Position > position)
                return findbpos(position, from, middle);
            else
                return findbpos(position, middle, limit);
        }

        private void ButtonStashTabMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Right)
            {
                var bm = (sender as Button).DataContext as StashBookmark;

                var picker = new TabPicker() { Owner = Window.GetWindow(this), SelectedColor = bm.Color, Text = bm.Name };
                if (picker.ShowDialog() == true)
                {
                    if (picker.Delete)
                    {
                        Bookmarks.Remove(bm);
                        RedrawItems();
                        if (_usedBMarks.ContainsKey(bm))
                        {
                            gcontent.Children.Remove(_usedBMarks[bm]);
                            _usedBMarks.Remove(bm);
                        }
                        ResizeScrollbarThumb();
                    }
                    else
                    {
                        bm.Name = picker.Text;
                        bm.Color = picker.SelectedColor;
                        if (_usedBMarks.ContainsKey(bm))
                        {
                            _usedBMarks[bm].Fill = new SolidColorBrush(bm.Color);
                        }
                    }
                }
            }
        }

        private void control_Loaded(object sender, RoutedEventArgs e)
        {
            if (!DesignerProperties.GetIsInDesignMode(this))
            {
                var w = Window.GetWindow(this);
                Keyboard.AddKeyDownHandler(w, KeyDownHandler);
            }
            ResizeScrollbarThumb();
        }

        private void KeyDownHandler(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Delete)
            {
                Point pt = Mouse.GetPosition(this);
                var hit = VisualTreeHelper.HitTest(this, pt);

                if (hit == null)
                    return;

                var hh = hit.VisualHit;

                while (hh != null && !(hh is ItemVisualizer))
                    hh = VisualTreeHelper.GetParent(hh);

                if (hh != null)
                    Items.Remove(((ItemVisualizer)hh).Item);

                NewlyAddedRanges.Clear();
                ResizeScrollbarThumb();
            }
        }

        private void tbSearch_TextChanged(object sender, TextChangedEventArgs e)
        {
            var txt = tbSearch.Text;

            foreach (var item in _usedVisualizers)
            {
                if (_FoundItems.Contains(item.Key))
                    item.Value.ClearValue(ItemVisualizer.BackgroundProperty);
            }

            if (string.IsNullOrWhiteSpace(txt))
            {
                SearchMatches.Clear();
                _FoundItems.Clear();
                return;
            }

            if (txt.Length < 3)
                return;

            _FoundItems = new HashSet<Item>(Items.Where(i => IsSearchMatch(i, txt)));

            foreach (var item in _usedVisualizers)
            {
                if (_FoundItems.Contains(item.Key))
                {
                    item.Value.Background = ItemVisualizer.FoundItemBrush;
                }
            }

            SearchMatches = new ObservableCollection<int>(_FoundItems.Select(i => i.Y).Distinct());
        }

        HashSet<Item> _FoundItems = new HashSet<Item>();

        private bool IsSearchMatch(Item i, string txt)
        {
            var local = new List<ItemAttributes.Attribute>();
            var nonlocal = new List<ItemAttributes.Attribute>();

            ItemAttributes.LoadItem(i, local, nonlocal);

            List<string> modstrings = new List<string>()
            {
                i.BaseType,
                i.FlavourText,
                i.Name,
            };

            modstrings.AddRange( local.Select(a => a.ValuedAttribute));
            modstrings.AddRange(nonlocal.Select(a => a.ValuedAttribute));

            modstrings = modstrings.Distinct().ToList();

            return modstrings.Any(s =>s!=null && s.ToLower().Contains(txt));
        }

        private void Button_DragEnter(object sender, DragEventArgs e)
        {
            var sb = (sender as Button).DataContext as StashBookmark;
            asBar.Value = getValueForTop(sb.Position);
        }

        private void MenuItem_Delete_Click(object sender, RoutedEventArgs e)
        {
            var mi = sender as MenuItem;

            if (mi != null)
            {
                var menu = mi.FindParent<ContextMenu>();
                var vis = menu.PlacementTarget as ItemVisualizer;
                if (vis != null)
                {
                    RemoveItem(vis.Item);
                }
            }
        }

        internal void RemoveItem(Item item)
        {
            Items.Remove(item);
            NewlyAddedRanges.Clear();
            ResizeScrollbarThumb();
        }
    }
}


text:
<?php

// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
	die("Direct initialization of this file is not allowed.

Please make sure IN_MYBB is defined.");
}

$page->add_breadcrumb_item($lang->moderation_queue, "index.php?module=forum-moderation_queue");

$sub_tabs['threads'] = array(
	'title' => $lang->threads,
	'link' => "index.php?module=forum-moderation_queue&type=threads",
	'description' => $lang->threads_desc
);

$sub_tabs['posts'] = array(
	'title' => $lang->posts,
	'link' => "index.php?module=forum-moderation_queue&type=posts",
	'description' => $lang->posts_desc
);

$sub_tabs['attachments'] = array(
	'title' => $lang->attachments,
	'link' => "index.php?module=forum-moderation_queue&type=attachments",
	'description' => $lang->attachments_desc
);

$plugins->run_hooks("admin_forum_moderation_queue_begin");

// Actually performing our moderation choices
if($mybb->request_method == "post")
{
	$plugins->run_hooks("admin_forum_moderation_queue_commit");

	require_once MYBB_ROOT."inc/functions_upload.php";
	require_once MYBB_ROOT."inc/class_moderation.php";
	$moderation = new Moderation;

	if(is_array($mybb->input['threads']))
	{
		// Fetch threads
		$query = $db->simple_select("threads", "tid", "tid IN (".implode(",", array_map("intval", array_keys($mybb->input['threads'])))."){$flist}");
		while($thread = $db->fetch_array($query))
		{
			$action = $mybb->input['threads'][$thread['tid']];
			if($action == "approve")
			{
				$threads_to_approve[] = $thread['tid'];
			}
			else if($action == "delete")
			{
				$moderation->delete_thread($thread['tid']);
			}
		}
		if(is_array($threads_to_approve))
		{
			$moderation->approve_threads($threads_to_approve);
		}

		$plugins->run_hooks("admin_forum_moderation_queue_threads_commit");

		// Log admin action
		log_admin_action('threads');

		flash_message($lang->success_threads, 'success');
		admin_redirect("index.php?module=forum-moderation_queue&type=threads");
	}
	else if(is_array($mybb->input['posts']))
	{
		// Fetch posts
		$query = $db->simple_select("posts", "pid", "pid IN (".implode(",", array_map("intval", array_keys($mybb->input['posts'])))."){$flist}");
		while($post = $db->fetch_array($query))
		{
			$action = $mybb->input['posts'][$post['pid']];
			if($action == "approve")
			{
				$posts_to_approve[] = $post['pid'];
			}
			else if($action == "delete")
			{
				$moderation->delete_post($post['pid']);
			}
		}
		if(is_array($posts_to_approve))
		{
			$moderation->approve_posts($posts_to_approve);
		}

		$plugins->run_hooks("admin_forum_moderation_queue_posts_commit");

		// Log admin action
		log_admin_action('posts');

		flash_message($lang->success_posts, 'success');
		admin_redirect("index.php?module=forum-moderation_queue&type=posts");

	}
	else if(is_array($mybb->input['attachments']))
	{
		$query = $db->simple_select("attachments", "aid, pid", "aid IN (".implode(",", array_map("intval", array_keys($mybb->input['attachments'])))."){$flist}");
		while($attachment = $db->fetch_array($query))
		{
			$action = $mybb->input['attachments'][$attachment['aid']];
			if($action == "approve")
			{
				$db->update_query("attachments", array("visible" => 1), "aid='{$attachment['aid']}'");
			}
			else if($action == "delete")
			{
				remove_attachment($attachment['pid'], '', $attachment['aid']);
			}
		}

		$plugins->run_hooks("admin_forum_moderation_queue_attachments_commit");

		// Log admin action
		log_admin_action('attachments');

		flash_message($lang->success_attachments, 'success');
		admin_redirect("index.php?module=forum-moderation_queue&type=attachments");
	}
}

$all_options = "
\n";
$all_options .= "
{$lang->mark_as_ignored}
\n";
$all_options .= "
{$lang->mark_as_deleted}
\n";
$all_options .= "
{$lang->mark_as_approved}
\n";
$all_options .= "
\n";

// Threads awaiting moderation
if($mybb->input['type'] == "threads" || !$mybb->input['type'])
{
	$plugins->run_hooks("admin_forum_moderation_queue_threads");

	$forum_cache = $cache->read("forums");

	$query = $db->simple_select("threads", "COUNT(tid) AS unapprovedthreads", "visible=0");
	$unapproved_threads = $db->fetch_field($query, "unapprovedthreads");

	if($unapproved_threads > 0)
	{
		// Figure out if we need to display multiple pages.
		$per_page = 15;
		if($mybb->input['page'] > 0)
		{
			$current_page = intval($mybb->input['page']);
			$start = ($current_page-1)*$per_page;
			$pages = $unaproved_threads / $per_page;
			$pages = ceil($pages);
			if($current_page > $pages)
			{
				$start = 0;
				$current_page = 1;
			}
		}
		else
		{
			$start = 0;
			$current_page = 1;
		}

		$pagination = draw_admin_pagination($current_page, $per_page, $unaproved_threads, "index.php?module=forum-moderation_queue&page={page}");

		$page->add_breadcrumb_item($lang->threads_awaiting_moderation);
		$page->output_header($lang->threads_awaiting_moderation);
		$page->output_nav_tabs($sub_tabs, "threads");

		$form = new Form("index.php?module=forum-moderation_queue", "post");

		$table = new Table;
		$table->construct_header($lang->subject);
		$table->construct_header($lang->author, array("class" => "align_center", "width" => "20%"));
		$table->construct_header($lang->posted, array("class" => "align_center", "width" => "20%"));

		$query = $db->query("
			SELECT t.tid, t.dateline, t.fid, t.subject, t.username AS threadusername, p.message AS postmessage, u.username AS username, t.uid
			FROM ".TABLE_PREFIX."threads t
			LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost)
			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)
			WHERE t.visible='0'
			ORDER BY t.lastpost DESC
			LIMIT {$start}, {$per_page}
		");
		while($thread = $db->fetch_array($query))
		{
			$thread['subject'] = htmlspecialchars_uni($thread['subject']);
			$thread['threadlink'] = get_thread_link($thread['tid']);
			$thread['forumlink'] = get_forum_link($thread['fid']);
			$forum_name = $forum_cache[$thread['fid']]['name'];
			$threaddate = my_date($mybb->settings['dateformat'], $thread['dateline']);
			$threadtime = my_date($mybb->settings['timeformat'], $thread['dateline']);

			if($thread['username'] == "")
			{
				if($thread['threadusername'] != "")
				{
					$profile_link = $thread['threadusername'];
				}
				else
				{
					$profile_link = $lang->guest;
				}
			}
			else
			{
				$profile_link = build_profile_link($thread['username'], $thread['uid'], "_blank");
			}

			$thread['postmessage'] = nl2br(htmlspecialchars_uni($thread['postmessage']));

			$table->construct_cell("{$thread['subject']}");
			$table->construct_cell($profile_link, array("class" => "align_center"));
			$table->construct_cell("{$threaddate}, {$threadtime}", array("class" => "align_center"));
			$table->construct_row();

			$controls = "
\n";
			$controls .= $form->generate_radio_button("threads[{$thread['tid']}]", "ignore", $lang->ignore, array('class' => 'radio_ignore', 'checked' => true))." ";
			$controls .= $form->generate_radio_button("threads[{$thread['tid']}]", "delete", $lang->delete, array('class' => 'radio_delete', 'checked' => false))." ";
			$controls .= $form->generate_radio_button("threads[{$thread['tid']}]", "approve", $lang->approve, array('class' => 'radio_approve', 'checked' => false));
			$controls .= "
";

			$forum = "{$lang->forum} {$forum_name}
";

			$table->construct_cell("
{$controls}
{$forum}
{$thread['postmessage']}
", array("colspan" => 3));
			$table->construct_row();
		}

		$table->output($lang->threads_awaiting_moderation);
		echo $all_options;
		echo $pagination;

		$buttons[] = $form->generate_submit_button($lang->perform_action);
		$form->output_submit_wrapper($buttons);
		$form->end();
		$page->output_footer();
	}
}

// Posts awaiting moderation
if($mybb->input['type'] == "posts" || $mybb->input['type'] == "")
{
	$plugins->run_hooks("admin_forum_moderation_queue_posts");

	$forum_cache = $cache->read("forums");

	$query = $db->query("
		SELECT COUNT(pid) AS unapprovedposts
		FROM  ".TABLE_PREFIX."posts p
		LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
		WHERE p.visible='0' AND t.firstpost != p.pid
	");
	$unapproved_posts = $db->fetch_field($query, "unapprovedposts");

	if($unapproved_posts > 0)
	{
		// Figure out if we need to display multiple pages.
		$per_page = 15;
		if($mybb->input['page'] > 0)
		{
			$current_page = intval($mybb->input['page']);
			$start = ($current_page-1)*$per_page;
			$pages = $unaproved_posts / $per_page;
			$pages = ceil($pages);
			if($current_page > $pages)
			{
				$start = 0;
				$current_page = 1;
			}
		}
		else
		{
			$start = 0;
			$current_page = 1;
		}

		$pagination = draw_admin_pagination($current_page, $per_page, $unaproved_posts, "index.php?module=forum-moderation_queue&type=posts&page={page}");

		$page->add_breadcrumb_item($lang->posts_awaiting_moderation);
		$page->output_header($lang->posts_awaiting_moderation);
		$page->output_nav_tabs($sub_tabs, "posts");

		$form = new Form("index.php?module=forum-moderation_queue", "post");

		$table = new Table;
		$table->construct_header($lang->subject);
		$table->construct_header($lang->author, array("class" => "align_center", "width" => "20%"));
		$table->construct_header($lang->posted, array("class" => "align_center", "width" => "20%"));

		$query = $db->query("
			SELECT p.pid, p.subject, p.message, p.dateline, p.username AS postusername, t.subject AS threadsubject, t.tid, u.username, p.uid, t.fid
			FROM  ".TABLE_PREFIX."posts p
			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
			WHERE p.visible='0' AND t.firstpost != p.pid
			ORDER BY p.dateline DESC
			LIMIT {$start}, {$per_page}
		");
		while($post = $db->fetch_array($query))
		{
			$altbg = alt_trow();
			$post['threadsubject'] = htmlspecialchars_uni($post['threadsubject']);
			$post['subject'] = htmlspecialchars_uni($post['subject']);

			if(!$post['subject'])
			{
				$post['subject'] = $lang->re." ".$post['threadsubject'];
			}

			$post['postlink'] = get_post_link($post['pid'], $post['tid']);
			$post['threadlink'] = get_thread_link($post['tid']);
			$post['forumlink'] = get_forum_link($post['fid']);
			$forum_name = $forum_cache[$post['fid']]['name'];
			$postdate = my_date($mybb->settings['dateformat'], $post['dateline']);
			$posttime = my_date($mybb->settings['timeformat'], $post['dateline']);

			if($post['username'] == "")
			{
				if($post['postusername'] != "")
				{
					$profile_link = $post['postusername'];
				}
				else
				{
					$profile_link = $lang->guest;
				}
			}
			else
			{
				$profile_link = build_profile_link($post['username'], $post['uid'], "_blank");
			}

			$post['message'] = nl2br(htmlspecialchars_uni($post['message']));

			$table->construct_cell("{$post['subject']}");
			$table->construct_cell($profile_link, array("class" => "align_center"));
			$table->construct_cell("{$postdate}, {$posttime}", array("class" => "align_center"));
			$table->construct_row();

			$controls = "
\n";
			$controls .= $form->generate_radio_button("posts[{$post['pid']}]", "ignore", $lang->ignore, array('class' => 'radio_ignore', 'checked' => true))." ";
			$controls .= $form->generate_radio_button("posts[{$post['pid']}]", "delete",$lang->delete, array('class' => 'radio_delete', 'checked' => false))." ";
			$controls .= $form->generate_radio_button("posts[{$post['pid']}]", "approve", $lang->approve, array('class' => 'radio_approve', 'checked' => false));
			$controls .= "
";

			$thread = "{$lang->thread} {$post['threadsubject']}";
			$forum = "{$lang->forum} {$forum_name}
";

			$table->construct_cell("
{$controls}
{$forum}{$thread}
{$post['message']}
", array("colspan" => 3));
			$table->construct_row();
		}

		$table->output($lang->posts_awaiting_moderation);
		echo $all_options;
		echo $pagination;

		$buttons[] = $form->generate_submit_button($lang->perform_action);
		$form->output_submit_wrapper($buttons);
		$form->end();
		$page->output_footer();
	}
	else if($mybb->input['type'] == "posts")
	{
		$page->output_header($lang->moderation_queue);
		$page->output_nav_tabs($sub_tabs, "posts");
		echo "
{$lang->error_no_posts}
";
		$page->output_footer();
	}
}

// Attachments awaiting moderation
if($mybb->input['type'] == "attachments" || $mybb->input['type'] == "")
{
	$plugins->run_hooks("admin_forum_moderation_queue_attachments");

	$query = $db->query("
		SELECT COUNT(aid) AS unapprovedattachments
		FROM  ".TABLE_PREFIX."attachments a
		LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=a.pid)
		LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
		WHERE a.visible='0'
	");
	$unapproved_attachments = $db->fetch_field($query, "unapprovedattachments");

	if($unapproved_attachments > 0)
	{
		// Figure out if we need to display multiple pages.
		$per_page = 15;
		if($mybb->input['page'] > 0)
		{
			$current_page = intval($mybb->input['page']);
			$start = ($current_page-1)*$per_page;
			$pages = $unapproved_attachments / $per_page;
			$pages = ceil($pages);
			if($current_page > $pages)
			{
				$start = 0;
				$current_page = 1;
			}
		}
		else
		{
			$start = 0;
			$current_page = 1;
		}

		$pagination = draw_admin_pagination($current_page, $per_page, $unapproved_attachments, "index.php?module=forum-moderation_queue&type=attachments&page={page}");

		$page->add_breadcrumb_item($lang->attachments_awaiting_moderation);
		$page->output_header($lang->attachments_awaiting_moderation);
		$page->output_nav_tabs($sub_tabs, "attachments");

		$form = new Form("index.php?module=forum-moderation_queue", "post");

		$table = new Table;
		$table->construct_header($lang->filename);
		$table->construct_header($lang->uploadedby, array("class" => "align_center", "width" => "20%"));
		$table->construct_header($lang->posted, array("class" => "align_center", "width" => "20%"));
		$table->construct_header($lang->controls, array("class" => "align_center", "colspan" => 3));

		$query = $db->query("
			SELECT a.*, p.subject AS postsubject, p.dateline, p.uid, u.username, t.tid, t.subject AS threadsubject
			FROM  ".TABLE_PREFIX."attachments a
			LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=a.pid)
			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
			WHERE a.visible='0'
			ORDER BY a.dateuploaded DESC
			LIMIT {$start}, {$per_page}
		");

		while($attachment = $db->fetch_array($query))
		{
			if(!$attachment['dateuploaded']) $attachment['dateuploaded'] = $attachment['dateline'];
			$attachdate = my_date($mybb->settings['dateformat'], $attachment['dateuploaded']);
			$attachtime = my_date($mybb->settings['timeformat'], $attachment['dateuploaded']);

			$attachment['postsubject'] = htmlspecialchars_uni($attachment['postsubject']);
			$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
			$attachment['threadsubject'] = htmlspecialchars_uni($attachment['threadsubject']);
			$attachment['filesize'] = get_friendly_size($attachment['filesize']);

			$link = get_post_link($attachment['pid'], $attachment['tid']) . "#pid{$attachment['pid']}";
			$thread_link = get_thread_link($attachment['tid']);
			$profile_link = build_profile_link($attachment['username'], $attachment['uid'], "_blank");

			$table->construct_cell("{$attachment['filename']} ({$attachment['filesize']})
{$lang->post} {$attachment['postsubject']}");
			$table->construct_cell($profile_link, array("class" => "align_center"));
			$table->construct_cell("{$attachdate}, {$attachtime}", array("class" => "align_center"));

			$table->construct_cell($form->generate_radio_button("attachments[{$attachment['aid']}]", "ignore", $lang->ignore, array('class' => 'radio_ignore', 'checked' => true)), array("class" => "align_center"));
			$table->construct_cell($form->generate_radio_button("attachments[{$attachment['aid']}]", "delete", $lang->delete, array('class' => 'radio_delete', 'checked' => false)), array("class" => "align_center"));
			$table->construct_cell($form->generate_radio_button("attachments[{$attachment['aid']}]", "approve", $lang->approve, array('class' => 'radio_approve', 'checked' => false)), array("class" => "align_center"));
			$table->construct_row();
		}
		$table->output($lang->attachments_awaiting_moderation);
		echo $all_options;
		echo $pagination;

		$buttons[] = $form->generate_submit_button($lang->perform_action);
		$form->output_submit_wrapper($buttons);
		$form->end();
		$page->output_footer();
	}
	else if($mybb->input['type'] == "attachments")
	{
		$page->output_header($lang->moderation_queue);
		$page->output_nav_tabs($sub_tabs, "attachments");
		echo "
{$lang->error_no_attachments}
";
		$page->output_footer();
	}
}

// Still nothing? All queues are empty! :-D
$page->output_header($lang->moderation_queue);
echo "
{$lang->error_no_threads}
";
$page->output_footer();

?>


text:
vcincmarketing
Orig on stage
By vcincmarketing ⋅ Jul 8, 2014
Orig with Smo
SAE Nashville Graduate Co-Stars in New A&E Reality Show
SAE Institute Nashville Audio Technology Program graduate Ray "DJ Orig" Riddle is a co-star of "Big Smo", a new reality series on the A&E...
sae app 1
SAE Institute USA Introduces iPhone/Android App
SAE Institute USA, one of America's premier creative media colleges, has launched a downloadable app for tablet and mobile usage. The new app makes...
Babe Ruth live Shacklock
Babe Ruth posed group
SAE Nashville Faculty Member Reunites 70s Rock Band Babe Ruth for Milwaukee's Summerfest
SAE Institute Nashville Audio Technology Program co-chair Alan Shacklock performed along with his progressive rock band Babe Ruth at Summerfest, billed as "the world's...
Bill Gordon studio
SAE Institute Miami Faculty Member Places Original Songs With ABC's "Nashville"
SAE Institute Miami Instructor and Curriculum Author for Music Theory and Music Business Bill Gordon has placed an original jazz composition entitled "That Sweet...
Protoje 1
SAE Miami Graduate Protoje Prepares Third Reggae Album for Release
SAE Institute Miami 2007 graduate Oje Ken Ollivierre, who performs under the name Protoje, is currently completing his third full-length album, which will be...
SweatShop_25
By vcincmarketing ⋅ May 27, 2014
Recording Studio Owned by Graduate of SAE Institute Builds Bookings with New Clients in a Variety of Industries
Shaul Dover, a 2009 graduate of SAE Institute New York's Audio Technology Program, is the owner of Sweatshop Studios, an audio recording and production...
Cherette YHS 2
SAE Institute Student Participates in National Hip-Hop/EDM Collaboration Project
SAE Institute San Francisco Audio Technology Program student Amy Cherette created two tracks for "Volume One", a critically acclaimed album of diverse electronic music...
Chicago open mic 1
SAE Institute Chicago Showcases Area Performers at Weekly Open Mic Night
SAE Institute Chicago, a creative media college that offers both diploma and Associate Degree programs in Audio Technology and Music Business studies, is presenting...
tec beatz
SAE Atlanta Hosted Hip Hop Workshop with Grammy-Nominated Producer Tec Beatz
Atlanta-based producer and beatmaker Tec Beatz, who has worked with such artists as Killer Mike, Nelly, Busta Rhymes, Lil Scrappy, Cyhi Da Prynce, and...
freeverse 1
SAE Institute Student Signs Production Deal with Beatology Music
Richard "Freeverse" Lopez, a student in the Audio Technology Program at SAE Institute Los Angeles, has signed a multi-year production deal with Beatology Music,...
Beats and Breaks flyer
By vcincmarketing ⋅ Apr 15, 2014
tN_91521_beats and breaks logo
SAE Institute To Sponsor Beats & Breaks Battles Featuring Chicago-Area Hip Hop Producers
Beats & Breaks Battles, a competitive performance event featuring aspiring hip hop producers from around the country, will be held in Chicago through April...
Graduate of SAE Atlanta to Engineer the U.K. Concerts of Grammy-Nominee Janelle Monae
Amanda Davis, a 2010 graduate of SAE Institute Atlanta's Audio Technology Program, will be the front of house engineer for the U.K. concerts of...
Hector De Marchena the-counselor-poster
hector de marchena portrait-reduced
SAE Graduate's Music Hits the Silver Screen
Hector De Marchena, a 2013 graduate of SAE Institute Miami's Audio Technology Program, licensed the track "The Theory of Fudu (Diego Iglesias Remix)" by...
Chicago_Main_Entrance
By vcincmarketing ⋅ Mar 5, 2014
SAE Institute's Chicago Campus Gains Approval to Receive Title IV Funding for Student Tuition
The Chicago campus of SAE Institute, a creative media arts college with schools across America, has been approved by the U.S. Department of Education...
SAE Institute Graduate Releases Critically Acclaimed Electronica Album
Ryan Duncan, a 2013 graduate of SAE Institute Los Angeles' Audio Technology Program, has released "The Escapist", his 11 song debut album under his...
Dom SAE
Audio Technology Student at SAE Institute NYC Honored at Prestigious Hip Hop Producers Competition
Dominique Smith, a student in the Audio Technology Program at SAE Institute New York, competed as one of America's Top Producers at the iStandard...
scratch_logo_black
SAE Institute Atlanta Adds a New DJ Education Curriculum in a Partnership with Scratch DJ Academy
SAE Institute, a national creative media college, has partnered with Scratch DJ Academy to launch Scratch's newest location at SAE's Atlanta campus. Scratch DJ...
Rebekah – pub shot
Graduate of SAE Institute Nashville Stays Busy as CTM Studios' Newest House Engineer
Rebekah Long, a 2009 graduate of SAE Institute Nashville's Audio Technology Program, has a full work schedule as the newest house engineer at CTM...
Michele McGonigle
Michele McGonigle, a graduate of SAE Institute, co-produced/sound designed Stephen Colbert's "America Again: Re-becoming The Greatness We Never Weren't", which won the 2014 Best...
Michele Grammy
Graduate of SAE Institute Wins Grammy for Best Spoken Word Album
Michele McGonigle, a 2010 graduate of the Audio Technology Program of SAE Institute's New York campus, co-produced and sound designed Stephen Colbert's "America Again:...
Carnes-V2
SAE Nashville Graduate Cited in Arkansas Business' "40 Under 40" List
Matthew Carnes, a graduate of SAE Institute's Audio Technology Program, was selected for inclusion in the "40 Under 40" list of Arkansas Business, the...


text:
Q: How to pass value of C# variable to javascript? In button click event I am writing this code.(code behind).I know button click event
protected void button_click()
{
    string s1 = "Computer";
    StringBuilder sb = new StringBuilder();
    sb.Append(@"");

}

It is working but I want value of s1 not s1.I know javascript is a client side programing.I wrote this function in button click event.How can pass value of s1 that is computer to table's cell

A: simply
sb.Append("document.write('
" + s1 + "
');");

A: Have you tried
    if(s1 == "Computer" )
   {
     sb.Append("
"+s1+"
");
   }

A: You could change this line to:
sb.Append("
" + s1 + "
");

A: Your code is a bit irrelevant to the question you're asking. Your error has already been fixed by previous answers. But I will try to expand the asnwer further. If you wish to pass some value from C# to JavaScript, there're different methods.
1) You could make a protected method in a codebehind file and call it from your .aspx file, like
my.aspx

my.aspx.cs
protected string GetMyValue()
{
    return "example";
}

2) If you wish to execute some JavaScript once page finishes loading, you could also do it from your codebehind like this
my.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    string myScript = string.Format("myVar = '{0}';", GetMyVarValue());
    ScriptManager.RegisterStartupScript(this, this.GetType(), "MyVarSetter", myScript, true);
}
private string GetMyVarValue()
{
    return "example";
}

redpajama_set_name: RedPajamaStackExchange


There's no hiding from Microsoft anymore.
Do you want an AI recording everything you say?
High-performance PCs are in for a treat.
We're going to create our own dystopia through screen addiction.
Microsoft's mobile strategy feels as if the company is saying: "If you can't beat 'em, join 'em."
Hell's not exactly freezing over, but there's a cool breeze.
It's like Apple Clips, but better.
The next version of Windows is here.
Microsoft is finally ready to open its assistant up to developers.
Satya Nadella kicked off Microsoft Build with some deep thoughts.
Microsoft's "universal translator" is coming to PowerPoint.
What if you could understand everything about a video without ever having to watch it?
Windows 10 is still growing fast.
Mashable is live from Microsoft's biggest event of the year.
Microsoft is expected to comment on a new Windows design language, codenamed "Project Neon" and share updates to the company's AI research.
Developer conference season has officially kicked into high gear.
Microsoft Build 2016 kicks off Wednesday with a keynote that's sure to be packed with news about Windows, Xbox and HoloLens. Here's how to watch.
When Clippy was being developed, most of the female focus groups thought the character was too male and that it was leering at them.
The PlayStation 4 and Xbox One are barely more than a year old, but that doesn't mean we can't get a sense right now of what their successors will be capable of.
Here's everything new with Windows 10, announced at Microsoft Build 2015.
Microsoft's biggest event of the year is about to begin.
With the upcoming Windows 10 revamping the entire Windows experience, this year's Microsoft developers conference should be called Re-Build 2015.
Microsoft's Build 2015 developer conference opened for registration at about noon ET. By 12:46 p.m., it was sold out.


Watertown for All Ages is a group of residents working to improve the livability of Watertown for residents of all ages and abilities. They work closely with the Watertown Council on Aging/Senior Center. The Watertown Council on Aging/Senior Center provides a variety of social, health, educational, recreational, advocacy, and support programs designed to help Watertown's older adults age well in the community. Services provided to seniors living in the community range from transportation support to nutrition services and social services, along with a range of programs and activities meant to enhance well-being and quality of life. Similar to many Councils on Aging, the Watertown COA also provides leadership in the community, as the community as a whole addresses the growing number and changing needs of senior residents.
As a means of learning more about community concerns and values relating to aging in place, the Watertown Senior Center arranged a public forum to be held at the Watertown Free Public Library in cooperation with the resident-led community organization Watertown for All Ages. This event was held on November 30th, 2017 at 6:30PM. The forum was moderated by Caitlin Coyle, PhD, from the Gerontology Institute at the University of Massachusetts Boston. Claire Wickersham, a doctoral student in Gerontology at UMass Boston, served as note-taker. The purpose of these forums was to introduce the community to the age-friendly community framework, as outlined by the World Health Organization; to present selected demographic features of Watertown relevant to planning for an age-friendly future; and to elicit input from the community about Watertown as a community in which to age in place. The purpose of this document is to report on each of these elements of the forums.
Coyle, Caitlin, "Envisioning a Watertown for All Ages" (2018). Center for Social and Demographic Research on Aging Publications. 35.


Trinculo is an english ceilidh dance band, which emerged from the vibrant folk music scene of Sheffield in 2002, formed from a group of friends who played regularly for Sheffield University Ceilidh Society. The band comprises of musicians who all have a rich grounding in both dancing and playing for dance, enabling them to produce music that naturally flows to dancing feet. Ontop of the naturally infectious rhythms, the combination of fiddle, melodeon and sax encompass each other, creating a thick harmonic sound. The music is rooted in English folk heritage, with additional influences stolen from the Scandinavian folk traditions.
Ceilidh (pronounced 'kaylee') is another description for the more commonly known barn dance, but implies a more riotous and eclectic variation. English ceilidhs involve dances in 'sets', with moves described by a caller. Just about any ceilidh is suitable for beginners, and in fact many dancers say that making mistakes is just as fun as getting it right... Ceilidhs are really inclusive, great fun and can be as energetic or genteel as each dancer wants.
Rock solid guitars and bass underpin driving melodeons. Fiddle, sax and whistles weave in and out of carefully chosen tunes; traditional and self penned. Five grins (Six if you count the caller). If Trinculo doesn't make you want to dance, check you still have feet.


text:
est l'ancien nom de l'université désormais connue sous le nom d'Université d'État de Louisiane (LSU). Cet établissement a été créée en 1853, a ouvert en janvier 1860 à Pineville et a changé de nom en mars 1870.

Histoire

Notes et références

Université d'État de Louisiane
Histoire de la Louisiane


I prepared my Avatar avatar (not an echo) and I hope You like it (I didn't see the movie so far but I'm committed to take my two boys there).
Done on an imaginary self-portrait inspired by pictures of mine of 15 years ago (alas).
Actually I had just started a memory self-portrait sketch to change my Avatar (and rejuvenate me of about 15-18 years after I reviewed some of my old pictures I wouldn't be so narcissistic to show), when I got this idea from our lovely Sandra. I therefore superimposed a layer and hue-blended it together with another one when i drew the morphological changes.
I then quickly finished the paintings in its (rough) details!
Last edited by Caesar; 01-20-2010 at 03:35 AM.
So cool one, Caesar. Very well painted too. I like it. Interesting self-interpreted Avatar that everyone has painted differently. Now, I see you in it.
Stunning Cesare, and I don't think you have change a bit.
Thank You, dear Flyashy! And I didn't even show my gorgeous tail in here!
Awesome. I love seeing the process.
Cesare!!!! This is an accurate avatar portrayal, and also of you, one of our most handsome forum members! You did well!
As Mike also recited the tender line in the movie: "I see you"


text:
HVAC turning vanes are sheet metal devices inside of mechanical ductwork used to smoothly direct air inside a duct where there is a change in direction, by reducing resistance and turbulence.

See also
Duct (HVAC)
Pressurisation ductwork

External links

Building Engineer Word Press Treatise
Turning Vane and Rail Construction Patent #US 3381713 A

Heating, ventilation, and air conditioning


text:
Q: Best Product Listing Option for Concrete5 I'm going to be creating a Concrete5 website that will feature product listings. The listing system must offer all your typical ecommerce features, minus the ability to purchase items. It's strictly for browsing purposes only.
For example:
- Browse by category
- Search products
- Listings/results page with thumbnails and brief information (title, description, price in US/CAD, manufacturer, maker, etc.)
- Products single page (with detailed information, attributes and gallery/images)
All the things you'd expect to find in a listing system.
My issue is I can't find a specific add-on for something like product listings. This leaves me thinking that it may be best to use the e-commerce add on and do my best to hide anything related to the cart/payment process. That way it could just be used for everything else it offers.
What are your thoughts on this? Is there a better option?
Thanks for the advice!

A: Use the page list block. It has everything you need except for searching. But, in essence, that's what your requirements call for -- listing of pages.
Create a page type for your "product". The "brief information" can be in the Content block, or you can set as attributes. You'll probably want to make some minor changes to the block's view (by creating a new template) that displays the image as you want, the proper attributes, etc. Something similar to http://www.concrete5.org/documentation/how-tos/designers/styling-the-page-list-block/
There are several adanced page list blocks in the marketplace. You might want to start with those.

A: Right creat Page type.
After creat Page attributes.
Add a block page_list create a template for it and filter by attributes.
You can even use ajax to filter.
http://www.weblicating.com/doku/doku.php?id=cheatsheet/#.UbR7P0BmiSp
U can find here about page_list or read documentation Concrete5.


text:
Dimos Agios Vasileios (engelska: Agios Vasileios) är en kommun i Grekland.   Den ligger i prefekturen Nomós Rethýmnis och regionen Kreta, i den sydöstra delen av landet,  km söder om huvudstaden Aten. Antalet invånare är . Arean är  kvadratkilometer.

Terrängen i Dimos Agios Vasileios är kuperad åt nordväst, men åt sydost är den bergig.

Klimatet i området är tempererat. Årsmedeltemperaturen i trakten är  °C. Den varmaste månaden är juli, då medeltemperaturen är  °C, och den kallaste är februari, med  °C. Genomsnittlig årsnederbörd är  millimeter. Den regnigaste månaden är december, med i genomsnitt  mm nederbörd, och den torraste är juli, med  mm nederbörd.

Kommentarer

Källor

Externa länkar

Indelningar på Kreta


Detours Live by Steamhammer Us at Public Sounds. Hurry! Limited time offer. Offer valid only while supplies last.
View More In Progressive Metal.
If you have any questions about this product by Steamhammer Us, contact us by completing and submitting the form below. If you are looking for a specif part number, please include it with your message.