text:
Read the last instalment of What is this Love? Part 4 here.
"Who the fuck are you?!", Pablo's screeched, in a surprisingly fruity tone. For his build and size, I just well, expected him to be a little more butch.
Pablo's entrance woke up Ricky, who, after hacking up a lung, came to my defence. I was just standing there, naked, in front of the guy who I thought wasn't with the guy I was in to. #gayboyproblem
"It doesn't matter who he is, Pablo. The better question is why the fuck do you still have a set of keys?!" Ricky was visually pissed. His muscles seemed enflamed, sweat trickled from his brow. The humidity lingered in the apartment like that guest from out of town who just won't take the hint that they've stayed too long. I kinda felt the same way, at least at that moment.
As they went at it, exchanging words fit for sailors, I slowly crept away. Gathering my clothes with my toes and walking backwards towards the bathroom I couldn't help but giggle to myself. Watching Ricky blast Pablo in the front hall, his tight and perky bubble butt illuminated from the sun coming through the window.
I made it to the bathroom and started to dress quickly. What the fuck did I get myself into? I thought to myself. I had been pretty sure Pablo was out of the scene. I guess he was. Based on Ricky's reaction at least. I was really not into drama. Kinda stayed away from it at all costs. I once dated a guy who would freak out every time I went out for a jog. Where you going? How long you gonna be? When are we gonna see each other? Serious.
I was really into Ricky. He seemed too real for this world of fake friends and phantom faces. He seemed to really have a head on his shoulders. His very muscly, broad, sculpted shoulders. God, he must spend 7 days a week at the gym. And don't even get me started on his dick. It was beyond perfection, without going into too many details.
He was perfection. Everything I always wanted.
At that point, I could hear the voice of my nana (grandmother) echoing in my head. Well, not for real real. Like, I wasn't crazy or nothing. Right? Anyway, she would always tell me that I fell for guys way too fast. Usually after a "night of passion", she would say. Yeah, "passion", sure nana. She was from Columbia. I guess it was a Latin thing.
By the time I had finished putting on my clothes the barking outside had come to a stop. In fact, I didn't hear much at all. A bit worried I poked my head out of the door like a frightened turtle. They weren't at the door, or in the hall.
A little curious and a lot more clothed, I left the bathroom to find Ricky. The heat in the apartment was amplified with my clothes on. My shirt was already clinging to my sides, stuck to my skin with the slick sweat oozing from my skin. The tequila stung my brain as I made my way through the unknown space that was his apartment. I was gonna call out to him, but was worried Pablo was still around. So I just looked around a bit more.
I was pretty much ready to leave when I heard some noise coming from upstairs. What's the point of going upstairs? I thought to myself. Just head out and send him a text, thanking him for an awesome night and asking him to meet up again, soon. Very soon. Then again, I really wanted to see him before I left, so I started up the stairs.
His paintings lined the walls heading upstairs. He was so talented with his hands. On the top of the landing I could hear someone in the room to the right. I never really saw past the front hallway, so I really couldn't say what the rest of the of the apartment looked like.
The door slightly ajar, I peered in. It was his bedroom. Definitely his bedroom. He lay on his back in the bed, Pablo was on top of him. He was thrusting into him. Into Ricky. Ricky's arms were around Pablo's neck, kissing him hard. His body rose and fell with the movement of Pablo's hips. Ricky's ecstasy was clear, as he leaned his head back and opened his mouth releasing the sounds I was trying to decipher downstairs.
I just stood there. I really didn't know what to feel. I guess they both thought I had left when I had retreated like a coward to the bathroom. A part of me was really pissed off. What a fucking slut-bag! A part of me was heart broken. I thought I had found a guy that I could potentially be with. A guy who checked his baggage (including his exes) at the door. And a little part of me, now a very large part of me, was really turned on. I mean, when you think about it, which I don't often tend to do, Ricky and I weren't together. He didn't owe me anything, nor I him. Watching their perfectly sculpted bodies locked together, dripping with sweat, was more than enough to get me hard.
But wait! The other half of my brain said. He's still a jerk off! You really liked this guy, and now he's shown you that he's not much more than an ass. A nice perky ass, but an ass nonetheless.
At that point it didn't matter. Ricky looked up from the pillow his face was buried in (they had switched to doggy) to see me peering in. Instead of shocked, he shot me a version of his show stopping grin. It was one of pleasure, but also one that asked me, Do you like what you see? I didn't know what to do, or what to make of the situation. Was he patronizing me? Was he telling me to join them?
I agreed with my head and my heart at that moment that this was just too much for me to handle. As I turned to walk away and leave, I heard Pablo's voice again. This time it was much lest fruity and peppered with panting. He was working hard, I guess.
"Marc", he called out. "Come join us."
To be continued….


text:
The BMJ has published a head-to-head about whether antidepressants are overprescribed, with Des Spence saying Yes and Ian Reid saying No. Reid quotes the study by Fountoulakis & Möller (2011) that provided a re-analysis and re-interpretation of the Kirsch data, which I have mentioned previously (eg. see post). Reid concludes, "Sadly, demonstrations of methodological flaws and selective reporting suggest that the conclusions [of Kirsch] were 'unjustified.'"
What Reid doesn't quote is the response by Kirsch et al (2012) which shows that the original calculations were in fact correct. The discrepancy comes from using different statistical techniques, the effect of which is that the analysis by Fountoulakis & Möller treats individual studies as though they are equivalently powered. This is contrary to the standard meta-analytic technique of weighting studies with a large sample size more than the ones with a small sample size.
Let's not get too hung up about the statistics! What is significant is that Reid uses a discrepancy like this to try and undermine Kirsch's conclusion. The fact is that the effect size in antidepressant trials is much smaller than is commonly assumed. Not everyone responds to antidepressants even in the clinical trials. It is possible that the small effect size could be explained by expectancy effects introduced through unblinding (eg. see the article by Jo Moncrieff and myself).
Saturday, January 26, 2013
2 comments:
please see our latest publication which clearly shows that Kirsch et al were mistakenReplyDelete
KN Fountoulakis
Thanks for the reference, Dr Fountoulakis. But, as I said, "Let's not get too hung up by the statistics". Meta-analysis is not an exact science. Of course there are different results depending on which method is used. There's no one right method.ReplyDelete
I don't think the placebo amplification hypothesis depends on an initial severity effect, which I've always been sceptical about anyway (see my BMJ eletter). I take it you don't believe that any statistically significant effect could be due to placebo amplification. If so, why not?

subset: commoncrawl


text:
Today is our daughter, Debi Baker's birthday. She has been an awesome gift from our Lord. There is no other daughter like her nor will there ever be.
Dad and I are so proud of you, Debi. The first time we laid eyes on you we knew you were one very special girl. We are so thankful to the Lord for His gift to us and we praise Him daily for you.
Debi always seemed to do things earlier than other kids (now I am not just bragging) (smiling) she really did. She walked at seven months and it didn't take her long to start running. The one thing that amazed me was whenever I called her name she always came to me. The only thing that seemed to take her longer than it did other babies was to cut her teeth, she really battled with that.
To be quite honest with you, to do Debi justice I would need to write a book. I will just mention some things that are cute or thoughtful that she did while growing up. And also a couple of things where the Lord stepped in to help (of course He has always been there).
She was always trying to help with her brother, Kenny when he was a baby. When I first came home from the hospital with Kenny she wanted to take care of him. She kept coming to me and asking for a cookie and I would give her one. Then I decided she was sure wanting an awfully lot of cookies and I followed her to see what she was doing with them. Well, she had taken every one of them in and put them by Kenny's head. I looked at her and she said "Mommy, he is hungry". I explained to her that he couldn't eat them so she cried and took them all back and put them in the dinning room.
One night we were watching television and her Dad wanted a pillow and she volunteered to go get it for him. We lived in a two story house and our bedroom was upstairs so she went all the way up to the bedroom and got it. When we went to bed that night I asked him if he had straightened up the bed after Debi got the pillow for him. He said 'no'. There wasn't a wrinkle one in that bed. She always wanted to help me make the bed and I told her only if she got the wrinkles out on the side she was making. Well, it must have stuck with her because she did a great job getting that pillow.
I do have to say Debi; you weren't always thoughtful of Kenny. When I was in the hospital and Nanny had come out to watch you kids and fix dinner for you kids and Dad she had mopped the kitchen floor and it was still wet, you wanted something from the kitchen and you were trying to get Kenny to go get it. You said to him "they won't spank you but they will me if I go in the kitchen". Well, Dad came in about that time and heard it; you got a spanking because you wanted Kenny to do something you knew he shouldn't have.
Debi, one night we were going someplace in the car and we were talking about hospitals when we were kids and you of all people said; "You mean they had hospitals in your day". We have always had a big laugh over that one.
When Debi was about four years old the doctor told us she had a heart murmur and we should watch her for awhile. He said he was sure she would outgrow it but we needed to be on the safe side. This was a time when our relationship with the Lord was not the best. But He must have known we loved Him very much as He answered our prayers. It wasn't right away but she never really had much problem with this. Thank you, Jesus for taking care of Debi and we praise you daily for this.
It was in the spring and I was having a horrible time with my sinuses and my Mom came out to the house to help me. Mom boiled water and put Vick's in it then put a cape over my head as I leaned over the stove, man, it took my breath away. Debi pulled on Mom's dress and said "Nanny, do you think you should be so mean to Mommy"? Mom told her she was trying to help me feel better but Debi just couldn't see it that way.
In 2008 Debi and Jim were in Arkansas on their motorcycle; there was a big dip in the highway and caused them to have a serious wreck. Debi was hurt the worst, she didn't have her helmet on, they said had she had it on she would either have been killed or paralyzed because it would have broken her neck. Again, the Lord is so great, He watched over both Debi and Jim and they still love to ride. They go riding whenever they can and enjoy it tremendously.
Through the years Debi, you have grown into such an awesome and beautiful person. You are helpful above and beyond the call. If anyone ever needed help all they would have to do would be to call on her. She feels it a privilege to work for the Lord at ALL times, not just some of the times. That would be another topic at another time.
She loves the Lord with all of her heart, you can tell it by looking at her. She always praises the Lord for her husband, children and grandchildren. There is nothing she wouldn't do for the Lord and her family.
She is the most wonderful daughter any parents could ever have. It is a privilege to call her DAUGHTER. She is always there for us. I wonder at times how she is able to do so much in a 24 hour day but she does and I don't hear her saying anything negative about it.
Happy Birthday and we love you so very much, Debi!!
May you always know the love, joy, and peace of the Lord!


text:
Sublime War Requiem Brings Serenity, Acclaim
November 30, 2013
Music speaks when words fail, it is said, so what to use to describe a sublime musical experience?
The response in Davies Symphony Hall — a minute of unprompted silence at concert's end before a long, heartfelt standing ovation — points the way, but unfortunately not applicable to written communication such as this. Perhaps a substantial blank space?
Of the dozen live performances I have heard on three continents of Britten's magnificent War Requiem, Saturday night's San Francisco Symphony presentation was not only among the "best," but also something apart from all previous experience, including even a very special evening in Santa Rosa, which surpassed numerous others in metropolitan venues, especially the one in San Francisco 11 years ago.
Besides almost uniform excellence in performance, Semyon Bychkov's direction of an orchestra at its very best and Ragnar Bohlin's brilliant SFS Chorus gave an utterly moving War Requiem without a smidgen of sentimentality. That's an exceptional accomplishment when dealing with this emotionally overwrought elegy over the senseless slaughter (16 million deaths and 20 million wounded) of World War I.
The extraordinary finale relieved the work's tragic impact, bringing a tearful serenity, catharsis. Here, with more power than at any other time in the performance, all fused, came together, overwhelmed.
Floating on the orchestra's magic carpet, tenor James Gilchrist and baritone Roderick Williams repeated the soldiers' resigned, death-embracing "Let us sleep now ..." against the SFS Chorus' mighty "Requiem aeternam" and the (invisible) Pacific Boychoir's "In paradisum deducant te Angeli" (May angels lead you into Paradise) — cohering layers of magnificence embracing the hall.
Kevin Fox's Pacific Boychoir sang gloriously behind an open door above stage left, the voices gaining an otherworldly distance, the youngsters not faced with the need to stay in view for 90 minutes without twitching a muscle or two — always a greater challenge than singing. A wise, effective arrangement.
All evening long, Gilchrist and Williams sang with crystalline diction and deep musical-emotional sensitivity. One-time Wagnerian diva Christine Brewer, who has performed the difficult soprano solo in the Requiem numerous times, still has some of the power, but strain is overwhelming the former beauty of the voice.
Bohlin's SFS Chorus went from one high point to another: their quiet, moving "Kyrie eleison" (Lord have mercy) yielded to the men's powerful "Dies irae," the women's pulsating "Quantus tremor " (What trembling); then the affecting "Recordare Jesu pie" (Recall, merciful Jesus); and the orgiastic, Orff-like "Confutatis maledictis" (When the damned are confounded).
Repetition of the "Dies irae" was huge, then the syllables of "Quantus tremor" uttered as bullets; the crescendo and climax of "Sanctus, sanctus" (Holy, holy) penetrating the big hall. Then, in the "Agnus Dei" (Lamb of God), the chorus produced an attenuated sound that was near-inaudible (on purpose), resembling a far-away drone. Similarly, a cappella endings of the "Requiem aeternam," "Dies Irae" and the last movement were whisper-quiet, very beautiful.
On the overcrowded stage — in an unusual configuration of a chamber orchestra where the first violins usually are, and sections divided — there were many appealing-impressive solos (woodwinds and brass shone all the way through), but Bychkov's greatest achievement was to move the music forward steadily in perfect balance.
In the ad-hoc "chamber orchestra," concertmaster Alexander Barantschik, associate principal cellist Peter Vyrick, principal clarinetist Carey Bell — along with the others — put their all into the performance. The brass, scattered around the stage, came through unfailingly.
And finally, kudos to the audience. Yes, there were coughs and unwelcome sounds, but relatively few, and — to explain the reference above to the "unprompted silence" at the end — Bychkov trusted the audience to do the right thing without holding up his arms to save and savor the silence, and more than 2,000 people came through together and without exception.
(Look for the broadcast of the War Requiem on KDFC-FM in the next couple of weeks.)


text:
Wisconsin quarterback Joel Stave was picked off by Iowa's Desmond King in the second quarter, and the Hawkeyes cashed in. C.J. Beathard's short touchdown pass to George Kittle gave undefeated Iowa a 10-3 halftime lead on the No. 19 Badgers in Madison.
Wisconsin's running game is moving forward without Corey Clement, and the struggles on the ground have been evident. Wisconsin has just 14 rushing yards on Iowa's defense, with Dare Ogunbowale leading the way with 10 yards so far. Iowa has been much more effective on the ground with Jordan Canzeri on his way to a 100-yard afternoon.
Marshall Koehn added a field goal in the final minute of the half to extend Iowa's lead to seven.
This is the Big Ten opener for both schools, so an early first place standing in the seemingly up-for-grabs Big ten West is on the line on this first Saturday of October.


text:
If you have ever embedded a YouTube, Camtasia, Jing or Flash video into a QuickBase dashboard you know that the Internet Explorer browser will display an annoying pop-up that can drive you crazy.
This is because you are introducing a Flash video object that is hosted in a location other than QuickBase. You can suppress these browser pop-ups by adding the following snipet to your video code.
This inserted object attribute directs your browser to the Flash player inside your Windows registry. Since you will use the installed Flash player your browser doesn't mind you playing videos that are hosted in other non-QuickBase locations.
Let's take a typical video from YouTube. I am fond of katbadar so I will use her video. Grab the embed code, copy and paste it into a QuickBase dashboard.
If you try displaying the dashboard with an Internet Explorer browser, you will get the following pop-up.
Now let's take the same video but insert the classid attribute into the object tag like below (See the classid just after the word object).
Refresh your browser and Tada... no pop-up!
Now you can add training videos, YouTube clips and Flash tutorials in your QuickBase dashboard without browser pop-ups.
By the way check out katbadar's voice on YouTube:


text:
Allison Park Church is a family-friendly church where you can belong.
Our diverse and welcoming community of believers and more than 150 life groups provide community and relationships. Plus, at Allison Park Church, kids and youth want to go to church, thanks to our vibrant kids' and students' ministries.
We are committed to creating an environment where God meets you where you are.
Each week, our practical, relevant, biblical teaching can be applied to your daily life. Our worship and prayer moments are designed to allow you to experience God's grace. We also provide a variety of ministries that are designed to support you through various needs and season of life.
We help you discover how you can make a difference in the world.
Through our Next Steps program we help you discover how God designed you uniquely, to fulfill a specific purpose. We provide hundreds of opportunities to serve locally, as well as missions trips and projects around the world.


text:
CCI's fine on Google: A wake up call for Indian companies
The fair trade body's penalty on the internet giant should be a wake-up call for Indian companies that tend to be lackadaisical towards regulatory investigations, says Avirup Bose.
The Competition Commission of India (CCI) recently imposed a penalty of Rs 1 crore (Rs 10 million) on Google, for non-cooperation with the CCI's ongoing investigation against the Internet giant.
The CCI in an order imposing the penalty noted that Google, without any reasonable cause, had failed on several occasions to comply with requests for information by the office of the director general (the CCI's investigative arm).
Google is being currently investigated by the CCI for alleged abuse of its dominant position in the internet search and search advertising markets.
CCI's probe, which mirrors that of the US and European Union (EU) competition enforcement agencies, enquires if Google is manipulating its search engine to create a "search bias" that drives users towards ancillary services owned and operated by the company (such as YouTube, Google Maps, Google Finance and so on).
Click NEXT to read more...
Photographs: Jason Lee/Reuters
CCI's fine on Google: A wake up call for Indian companies
The Rs 1-crore penalty was imposed by the CCI under section 43 of the Competition Act, 2002 - which allows the fair trade body to impose a maximum penalty of Rs 1 crore for each instance of failure by a company to co-operate with the CCI's investigation.
The penalty imposed under section 43 is a procedural one and is in addition to any substantial monetary penalty that may be imposed by the CCI if it concludes that Google has indulged in anti-competitive conduct, at the end of its investigation.
A penalty of Rs 1 crore may not be a lot of money for Google whose annual revenue from India, for the financial year 2013, was a staggering Rs 2,076.8 crore (Rs 20.76 billion).
However, Google and the senior management of companies that are currently being investigated by the CCI would be erring if they do not read the fine print of the CCI's decision and learn more.
Click NEXT to read more...
Image: CEO Eric Schmidt at Google's headquarters in Buenos Aires, Argentina.
Photographs: Enrique Marcarian/Reuters
CCI's fine on Google: A wake up call for Indian companies
It's a wake-up call for Indian companies that tend to be lackadaisical towards regulatory investigations.
Non-compliance with CCI's directions is no longer an option. It should be noted that each instance of non-cooperation can be penalised upto a maximum amount of Rs 1 crore.
For example, in Google's case, the CCI noted that the company had not co-operated with the CCI on seven separate occasions, and the regulator could have penalised Google for Rs 7 crore.
However, the CCI reduced the penalty to Rs 1 crore on account of Google's delayed compliance with the directions of the CCI.
Further, the CCI held that instances of non-cooperation by Google could be considered an aggravating factor while tabulating the aggregate penalty against it, if the CCI would conclude that Google had indeed indulged in anti-competitive conduct.
Click NEXT to read more...
Image: Google's employees play table soccer at a recreational area at their Singapore office.
Photographs: Edgar Su/Reuters
CCI's fine on Google: A wake up call for Indian companies
Both under the US and EU competition law regime, obstruction of antitrust proceedings can be treated as an aggravating factor for increasing the overall level of fine that may be imposed for a particular competition law infringement.
For a company like Google, which may face a penalty of up to about $5 billion (10 per cent of Google India's previous three-year annual average turnover of $49.3 billion) if it is found to have violated the provisions of the competition Act, it may not be wise to go down the path.
The decision also held that although companies may delay their compliance with the CCI's directions for "reasonable cause", abstract excuses such as broad and complex scope of the CCI's investigations or lack of a centrally-managed database would not be acceptable.
Click NEXT to read more...
Image: Google's employees at a pantry decorated with vintage Singapore advertisements and signages.
Photographs: Edgar Su/Reuters
CCI's fine on Google: A wake up call for Indian companies
Therefore, the parties would be required to link each instance of non-compliance with the specific inability that caused it. The CCI also held that delayed compliance with the CCI's directions may be held as non-compliance with such directions altogether.
It is important to appreciate why the CCI is empowered to impose such substantial "procedural fines" to discipline companies that refuse to co-operate with ongoing investigations.
The CCI's mandate is to regulate anti-competitive market practices, which are often conducted in secret and are, therefore, extremely difficult to prove.
For example, cartelising firms will seldom leave a trail of evidence of their concerted action; therefore, the CCI needs access to internal documents of such firms to deduce the existence of concerted behaviour.
Click NEXT to read more...
Image: A Google Android figurine sits on the welcome desk as employee Tracy McNeilly smiles at the Google office in Toronto, Canada.
Photographs: Mark Blinch/Reuters
CCI's fine on Google: A wake up call for Indian companies
If the CCI does not have the power to ensure compliance with its directions seeking internal documents/data of investigated companies, such companies would easily refuse access to the information and sabotage the investigation.
Therefore, it is vital for companies that are being investigated by the CCI is to adopt a document-management plan.
This will allow a company to efficiently manage their litigation-related documents, delineate documents/data that fall within the scope of a particular competition law investigation and effectively co-operate with the CCI.
Companies should be careful that persistent non-cooperation with the CCI's on-going investigations would not only make it vulnerable to monetary penalties under section 43 of the Competition Act, but may also nudge the CCI into launching the more onerous dawn raid proceedings (unannounced search and seizure activities), which would involve forcible entry into the offices of investigated companies to confiscate incriminating evidence.
Click NEXT to read more...
Image: A man walks by the reception desk at the Google office in Toronto, Canada.
Photographs: Mark Blinch/Reuters
CCI's fine on Google: A wake up call for Indian companies
The CCI's decision indicates that from now on it may hold companies responsible for delaying its investigations, reinforcing the regulator's commitment to complete all anti-competitive investigations in a time-bound manner.
Earlier this year, the CCI had indicated that it intends to complete behavioural competition law proceedings within one year of such proceedings being initiated.
Given the track record of bureaucratic hurdles of Indian regulators, this is a credible commitment from a new-age economic regulator.
The writer is a competition lawyer with the Competition Commission of India. These views are personal.
Image: People walk by a YouTube sign at the Google office in Toronto, Canada.
Photographs: Mark Blinch/Reuters


text:
to many people is "the place where you get the ferry to Ireland".
Other visitors use the town as a convenient point to explore
Wigtownshire but many have also found that Stranraer itself
has its own fascination.
older parts of the Royal Burgh suggest the haphazard growth
of a little lochside settlement but a closer look will discover
buildings and features which played a part in the history
of Stranraer.
Town Trail begins with The Strand by Castle of St. John (click
on the map or links below - start at Castle St. John or choose
to roam elsewhere in the town):
Strand l Portrodie
to London Road l Hanover
Street and Hanover Square l Church
Street into George Street l The
Sea Front


text:
March/April 2013
The central purpose of the Oracle PL/SQL language is to make it as easy and efficient as possible to query and change the contents of tables in a database. You must, of course, use the SQL language to access tables, and each time you do so, you use a cursor to get the job done. A cursor is a pointer to a private SQL area that stores information about the processing of a SELECT or data manipulation language (DML) statement (INSERT, UPDATE, DELETE, or MERGE). Cursor management of DML statements is handled by Oracle Database, but PL/SQL offers several ways to define and manipulate cursors to execute SELECT statements. This article focuses on the most-common ways programmers execute SELECT statements in PL/SQL, namely
Using the SELECT-INTO statement
Fetching from an explicit cursor
Using a cursor FOR loop
Using EXECUTE IMMEDIATE INTO for dynamic queries
Using cursor variables
At the end of the article, I offer some quick tips to help you figure out which of these techniques you should use for different scenarios.SELECT-INTO
SELECT-INTO offers the fastest and simplest way to fetch a single row from a SELECT statement. The syntax of this statement is
SELECT select_list INTO variable_list FROM remainder_of_query;
where remainder_of_query contains the list of tables or views, the WHERE clause, and other clauses of the query. The number and types of elements in the variable_list must match those of the select_list.
If the SELECT statement identifies more than one row to be fetched, Oracle Database will raise the TOO_MANY_ROWS exception. If the statement doesn't identify any rows to be fetched, Oracle Database will raise the NO_DATA_FOUND exception.
Here are some examples of using SELECT-INTO:
Get the last name for a specific employee ID (the primary key in the employees table):
DECLARE l_last_name employees.last_name%TYPE; BEGIN SELECT last_name INTO l_last_name FROM employees WHERE employee_id = 138; DBMS_OUTPUT.put_line ( l_last_name); END;If there is a row in the employees table with ID 138, this block will display the last name of that employee. If there is no such row, the block will fail with an unhandled NO_DATA_FOUND exception. Assuming that a unique index is defined on the employee_id column, this block will never raise the TOO_MANY_ROWS exception.
Fetch an entire row from the employees table for a specific employee ID:
DECLARE l_employee employees%ROWTYPE; BEGIN SELECT * INTO l_employee FROM employees WHERE employee_id = 138; DBMS_OUTPUT.put_line ( l_employee.last_name); END;Again, if an employee exists for that ID, the last name will be displayed. In this case, I declare a record based on the employees table and fetch all columns (with a SELECT *) into that record for the specified row.
Fetch columns from different tables:
DECLARE l_last_name employees.last_name%TYPE; l_department_name departments.department_name%TYPE; BEGIN SELECT last_name, department_name INTO l_last_name, l_department_name FROM employees e, departments d WHERE e.department_id=d.department_id AND e.employee_id=138; DBMS_OUTPUT.put_line ( l_last_name || ' in ' || l_department_name); END;In this case, I need more than one column value but not all the column values in either or both of the tables. So I declare two variables and fetch the two column values into those variables.
What happens if the list of variables in the INTO clause does not match the SELECT list of the query? You will see one of the error messages shown in Table 1.
|ORA-00947: not enough values
|The INTO list contains fewer variables than the SELECT list.
|ORA-00913: too many values
|The INTO list contains more variables than the SELECT list.
|ORA-06502: PL/SQL: numeric or value error
|The number of variables in the INTO and SELECT lists matches, but the datatypes do not match and Oracle Database was unable to convert implicitly from one type to the other.
Table 1: Possible error messages if INTO and SELECT lists do not match
Fetching from Explicit Cursors
A SELECT-INTO is also referred to as an implicit query, because Oracle Database implicitly opens a cursor for the SELECT statement, fetches the row, and then closes the cursor when it finishes doing that (or when an exception is raised).
You can, alternatively, explicitly declare a cursor and then perform the open, fetch, and close operations yourself.
Suppose I need to write a block that fetches employees in ascending salary order and gives them a bonus from a total pool of funds by calling the assign_bonus procedure, whose header is
PROCEDURE assign_bonus ( employee_id_in IN employees.employee_id%TYPE, bonus_pool_io IN OUT INTEGER)
Each time assign_bonus is called, the procedure subtracts the bonus given from the total and returns that reduced total. When that bonus pool is exhausted, it stops fetching and commits all changes.
Listing 1 includes a block that uses an explicit cursor to implement this logic, and it describes the operations in the block at specified line numbers.
Code Listing 1: Block and description of explicit cursor implementation
1 DECLARE 2 l_total INTEGER := 10000; 3 4 CURSOR employee_id_cur 5 IS 6 SELECT employee_id 7 FROM plch_employees 8 ORDER BY salary ASC; 9 10 l_employee_id employee_id_cur%ROWTYPE; 11 BEGIN 12 OPEN employee_id_cur; 13 14 LOOP 15 FETCH employee_id_cur INTO l_employee_id; 16 EXIT WHEN employee_id_cur%NOTFOUND; 17 18 assign_bonus (l_employee_id, l_total); 19 EXIT WHEN l_total <= 0; 20 END LOOP; 21 22 CLOSE employees_cur; 23 END;
|The explicit cursor declaration. Move the query from the executable section (where the SELECT-INTO must reside), and use the CURSOR keyword to declare (give a name to) that query.
|Declare a record based on the row of data returned by the query. In this case, there is just a single column value, so you could just as easily have declared l_employee_id as employees.employee_id%TYPE. But whenever you use an explicit cursor, it is best to declare a record by using %ROWTYPE, so that if the SELECT list of the cursor ever changes, that variable will change with it.
|Open the cursor, so that rows can now be fetched from the query.
Note: This is a step Oracle Database performs with the SELECT-INTO statement.
|Start a loop to fetch rows.
|Fetch the next row for the cursor, and deposit that row's information into the record specified in the INTO clause.
Note: This is a step Oracle Database performs with the SELECT-INTO statement.
|If the FETCH does not find a row, exit the loop.
|Call assign_bonus, which applies the bonus and also decrements the value of the l_total variable by that bonus amount.
|Exit the loop if all the bonus funds have been exhausted.
|Close the cursor.
Note: This is a step Oracle Database performs with the SELECT-INTO statement.
Here are some things to keep in mind when working with explicit cursors:
If the query does not identify any rows, Oracle Database will not raise NO_DATA_FOUND. Instead, the cursor_name%NOTFOUND attribute will return TRUE.
Your query can return more than one row, and Oracle Database will not raise TOO_MANY_ROWS.
When you declare a cursor in a package (that is, not inside a subprogram of the package) and the cursor is opened, it will stay open until you explicitly close it or your session is terminated.
When the cursor is declared in a declaration section (and not in a package), Oracle Database will also automatically close it when the block in which it is declared terminates. It is still, however, a good idea to explicitly close the cursor yourself. If the cursor is moved to a package, you will have the now necessary CLOSE already in place. And if it is local, then including a CLOSE statement will also show other developers and your manager that you are paying attention.
The cursor FOR loop is an elegant and natural extension of the numeric FOR loop in PL/SQL. With a numeric FOR loop, the body of the loop executes once for every integer value between the low and high values specified in the range. With a cursor FOR loop, the body of the loop is executed for each row returned by the query.
The following block uses a cursor FOR loop to display the last names of all employees in department 10:
BEGIN FOR employee_rec IN ( SELECT * FROM employees WHERE department_id = 10) LOOP DBMS_OUTPUT.put_line ( employee_rec.last_name); END LOOP; END;
You can also use a cursor FOR loop with an explicitly declared cursor:
DECLARE CURSOR employees_in_10_cur IS SELECT * FROM employees WHERE department_id = 10; BEGIN FOR employee_rec IN employees_in_10_cur LOOP DBMS_OUTPUT.put_line ( employee_rec.last_name); END LOOP; END;
The nice thing about the cursor FOR loop is that Oracle Database opens the cursor, declares a record by using %ROWTYPE against the cursor, fetches each row into a record, and then closes the loop when all the rows have been fetched (or the loop terminates for any other reason).
Best of all, Oracle Database automatically optimizes cursor FOR loops to perform similarly to BULK COLLECT queries (covered in "Bulk Processing with BULK COLLECT and FORALL," in the September/October 2012 issue of Oracle Magazine). So even though your code looks as if you are fetching one row at a time, Oracle Database will actually fetch 100 rows at a time—and enable you to work with each row individually.Dynamic Queries with EXECUTE IMMEDIATE
Dynamic SQL means that at the time you write (and then compile) your code, you do not have all the information you need for parsing a SQL statement. Instead, you must wait for runtime to complete the SQL statement and then parse and execute it.
Oracle Database makes it easy to execute SQL statements (and PL/SQL blocks) dynamically with the EXECUTE IMMEDIATE statement. And querying data is the easiest dynamic SQL operation of all!
You can fetch a single row or multiple rows. Here is a generic function that fetches the value of a numeric column in any table, for the specified WHERE clause:
CREATE OR REPLACE FUNCTION single_number_value ( table_in IN VARCHAR2, column_in IN VARCHAR2, where_in IN VARCHAR2) RETURN NUMBER IS l_return NUMBER; BEGIN EXECUTE IMMEDIATE 'SELECT ' || column_in || ' FROM ' || table_in || ' WHERE ' || where_in INTO l_return; RETURN l_return; END;
As you can see, instead of SELECT-INTO, I use EXECUTE IMMEDIATE-INTO and construct the SELECT statement from the arguments passed to the function. Here's an example of calling the function:
BEGIN DBMS_OUTPUT.put_line ( single_number_value ( 'employees', 'salary', 'employee_id=138')); END;
As with SELECT-INTO, EXECUTE IMMEDIATE-INTO will raise NO_DATA_FOUND if no rows are found and TOO_MANY_ROWS if more than one row is found.
You can also use EXECUTE IMMEDIATE to fetch multiple rows of data, which means that you will populate a collection, so you must use BULK COLLECT. The following is a procedure that will display the values of any numeric column for all rows specified in the WHERE clause:
CREATE OR REPLACE PROCEDURE show_number_values ( table_in IN VARCHAR2, column_in IN VARCHAR2, where_in IN VARCHAR2) IS TYPE values_t IS TABLE OF NUMBER; l_values values_t; BEGIN EXECUTE IMMEDIATE 'SELECT ' || column_in || ' FROM ' || table_in || ' WHERE ' || where_in BULK COLLECT INTO l_values; FOR indx IN 1 .. l_values.COUNT LOOP DBMS_OUTPUT.put_line (l_values (indx)); END LOOP; END;
And when I call the procedure for the standard employees table
BEGIN show_number_values ( 'employees', 'salary', 'department_id = 10 order by salary desc'); END;
I see the following two rows of output:
4400 3200
A general note of caution regarding dynamic SQL and the preceding examples in particular: whenever you concatenate text to execute a dynamically executed statement, you run the risk of SQL injection. This occurs when a malicious user "injects," or inserts into the statement, code that changes the behavior of that SQL statement.
For advice on avoiding SQL injection–based security breaches, check out "How to Write SQL Injection Proof PL/SQL".Cursor Variables
A cursor variable is, as you might guess from its name, a variable that points to a cursor or a result set. Unlike with an explicit cursor, you can pass a cursor variable as an argument to a procedure or a function. There are several excellent use cases for cursor variables, including the following:
Pass a cursor variable back to the host environment that called the program unit—the result set can be "consumed" for display or other processing.
Construct a result set inside a function, and return a cursor variable to that set. This is especially handy when you need to use PL/SQL, in addition to SQL, to build the result set.
Pass a cursor variable to a pipelined table function—a powerful but quite advanced optimization technique. A full explanation of cursor variables, including the differences between strong and weak REF CURSOR types, is beyond the scope of this article.
Instead, I will show the basic syntax for working with cursor variables and identify situations in which you might consider using this feature.
Cursor variables can be used with either embedded (static) or dynamic SQL. Listing 2 includes the names_for function, which returns a cursor variable that fetches either employee or department names, depending on the argument passed to the function.
Code Listing 2: Block and description of the names_for function, which returns a cursor variable
1 CREATE OR REPLACE FUNCTION names_for ( 2 name_type_in IN VARCHAR2) 3 RETURN SYS_REFCURSOR 4 IS 5 l_return SYS_REFCURSOR; 6 BEGIN 7 CASE name_type_in 8 WHEN 'EMP' 9 THEN 10 OPEN l_return FOR 11 SELECT last_name 12 FROM employees 13 ORDER BY employee_id; 14 WHEN 'DEPT' 15 THEN 16 OPEN l_return FOR 17 SELECT department_name 18 FROM departments 19 ORDER BY department_id; 20 END CASE; 21 22 RETURN l_return; 23 END names_for;
|Return a piece of data whose type is SYS_REFCURSOR.
|Declare a cursor variable to be returned by the function.
|Use a CASE statement driven by the value of name_type_in to determine which query should be opened.
|Open a cursor variable for a query from the employees table.
|Open a cursor variable for a query from the departments table.
Here is a block that uses the names_for function to display all the names in the departments table:
DECLARE l_names SYS_REFCURSOR; l_name VARCHAR2 (32767); BEGIN l_names := names_for ('DEPT'); LOOP FETCH l_names INTO l_name; EXIT WHEN l_names%NOTFOUND; DBMS_OUTPUT.put_line (l_name); END LOOP; CLOSE l_names; END;
As you can see, all the information about the query being opened is "hidden" behind the function header. You simply ask to get the "names for" a given table. The function picks the appropriate SELECT statement, opens the cursor variable for that statement, and then returns the variable pointing to that result set.
Once the cursor variable has been opened and passed back to the block, I use the same code with a cursor variable that I would use with an explicit cursor:
FETCH from the cursor (variable) INTO one or more variables (I can even FETCH-BULK COLLECT INTO with a cursor variable, populating a collection with multiple rows)
Check the %NOTFOUND attribute of the cursor variable to see if I am done fetching all rows
CLOSE the cursor variable when done
The OPEN-FOR statement is unique to cursor variables and enables me to specify at runtime, without having to switch to dynamic SQL, which data set will be fetched through the cursor variable.
Nevertheless, you can use OPEN-FOR with a dynamic SELECT statement. Here is a very simple example:
CREATE OR REPLACE FUNCTION numbers_from ( query_in IN VARCHAR2) RETURN SYS_REFCURSOR IS l_return SYS_REFCURSOR; BEGIN OPEN l_return FOR query_in; RETURN l_return; END numbers_from;
And here is a block—virtually identical to the one that calls names_for, above—that displays all the salaries for employees in department 10:
DECLARE l_salaries SYS_REFCURSOR; l_salary NUMBER; BEGIN l_salaries := numbers_from ( 'select salary from employees where department_id = 10'); LOOP FETCH l_salaries INTO l_salary; EXIT WHEN l_salaries%NOTFOUND; DBMS_OUTPUT.put_line (l_salary); END LOOP; CLOSE l_salaries; END;Choosing the Right Way to Query
This article has shown that the PL/SQL language offers many different ways, ranging from the simplest SELECT-INTO implicit query to the much more complicated cursor variable, to use cursors to fetch data from relational tables into local variables.
Here are some guidelines to help you decide which technique to use:
When fetching a single row, use SELECT-INTO or EXECUTE IMMEDIATE-INTO (if your query is dynamic). Do not use an explicit cursor or a cursor FOR loop.
When fetching all the rows from a query, use a cursor FOR loop unless the body of the loop executes one or more DML statements (INSERT, UPDATE, DELETE, or MERGE). In such a case, you will want to switch to BULK COLLECT and FORALL.
Use an explicit cursor when you need to fetch with BULK COLLECT, but limit the number of rows returned with each fetch.
Use an explicit cursor when you are fetching multiple rows but might conditionally exit before all rows are fetched.
Use a cursor variable when the query you are fetching from varies at runtime (but isn't necessarily dynamic) and especially when you need to pass a result back to a non-PL/SQL host environment.
Use EXECUTE IMMEDIATE to query data only when you cannot fully construct the SELECT statement while writing your code.
|Move SELECT-INTOs into Functions
PL/SQL developers frequently need to retrieve data for a single row in a table, specified (usually) by a primary key value, and often find themselves writing the same primary key lookup again and again. A much better approach is to move each of your SELECT-INTO queries into a function whose sole purpose is to serve up the requested row. So instead of this:
DECLARE l_employee employees%ROWTYPE; BEGIN SELECT * INTO l_employee FROM employees WHERE employee_id = 138; DBMS_OUTPUT.put_line ( l_employee.last_name); END;
you would first create a function:
CREATE OR REPLACE FUNCTION row_for_employee_id ( employee_id_in IN employees.employee_id%TYPE) RETURN employees%ROWTYPE IS l_employee employees%ROWTYPE; BEGIN SELECT * INTO l_employee FROM employees e WHERE e.employee_id = row_for_employee_id.employee_id_in; RETURN l_employee; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; END;
Then the anonymous block for your primary key lookup would be
DECLARE l_employee employees%ROWTYPE; BEGIN l_employee := row_for_employee_id (138); DBMS_OUTPUT.put_line ( l_employee.last_name); END;
Best of all, the next time you need to get a row from the employees table for an ID, you'll just call the function.
There are two big advantages to this approach:
Note that I included in the function an exception handler that traps NO_DATA_FOUND and simply returns a NULL record. During execution of a SELECT-INTO, the absence of data is often not actually an error but, rather, just a data condition. So it is quite common to trap the exception and return an indicator that no row was found. (NULL is usually, but not necessarily, a good indicator of this state of affairs.) The programmer who calls the function gets to decide how to treat the NO_DATA_FOUND condition.
Take the Challenge
Each PL/SQL 101 article offers a quiz to test your knowledge of the information provided in it. The quiz appears below and also at PL/SQL Challenge, a Website that offers online quizzes on the PL/SQL language as well as SQL and Oracle Application Express.
Here is your quiz for this article:
The plch_employees table has a single-column primary key named employee_id. I need to write a function with the following header: FUNCTION plch_one_employee (
employee_id_in IN PLS_INTEGER) RETURN plch_employees%ROWTYPE
that returns a record that contains the row of information for the specified primary key. Which of the choices provides an implementation of PLCH_ONE_EMPLOYEE that meets this requirement?
IS l_return plch_employees%ROWTYPE; BEGIN SELECT * INTO l_return FROM plch_employees WHERE employee_id = employee_id_in; RETURN l_return; END plch_one_employee;
IS CURSOR one_emp_cur IS SELECT * FROM plch_employees WHERE employee_id = employee_id_in; l_return one_emp_cur%ROWTYPE; BEGIN OPEN one_emp_cur; FETCH one_emp_cur INTO l_return; CLOSE one_emp_cur; RETURN l_return; END plch_one_employee;
IS l_return plch_employees%ROWTYPE; BEGIN FOR rec IN (SELECT * FROM plch_employees WHERE employee_id = employee_id_in) LOOP l_return := rec; END LOOP; RETURN l_return; END plch_one_employee;
IS l_cursor SYS_REFCURSOR; l_return plch_employees%ROWTYPE; BEGIN OPEN l_cursor FOR SELECT * FROM plch_employees WHERE employee_id = employee_id_in; FETCH l_cursor INTO l_return; CLOSE l_cursor; RETURN l_return; END plch_one_employee;Answer to the Challenge
The PL/SQL Challenge question in last issue's "Wrap Up Your Code in a Neat Package" article focused on how the values assigned to package-level variables persist in your session and asked, "Which of the choices will display '3' after execution?" In the print version of the article, only choice a was correct. In the online version (which also matches the quiz offered at PL/SQL Challenge, both a and b are correct. Visit PL/SQL Challenge to read a complete explanation of the answers to this quiz.
Oracle Database 11g
READ more about
BULK COLLECT and FORALL
SQL injection
Photography by Dmitri Popov, Unsplash


text: Thomas Heller wrote: > Would it be a solution to move the 'official' ctypes development into > Python SVN external/ctypes, or would this be considered abuse? Another > location in SVN could be used as well, if external is though to contain > only vendor drops... external indeed is meant only for vendor drops. I personally don't mind having the "upstream" ctypes repository also in svn.python.org; this would be similar to distutils, setuptools, and (I think) the email package. Currently, some of them live in sandbox/trunk, but I wouldn't mind it living in /ctypes/trunk, either. Be aware that the set of committers to svn.python.org/projects is currently restricted to Python committers. Regards, Martin


text:
By AirAsia on March 23, 2018
KUALA LUMPUR, 23 March 2018 – AirAsia today announced the appointment of legendary Brazilian footballer Roberto Carlos as a new global brand ambassador.
The announcement was made at Aloft Kuala Lumpur Sentral with AirAsia Malaysia CEO Riad Asmat and AirAsia X Malaysia CEO Benyamin Ismail in attendance.
Football legend Roberto Carlos (middle) with Riad Asmat, CEO of AirAsia Malaysia (middle left), and Benyamin Ismail, CEO of AirAsia X Malaysia (middle right) as AirAsia unveils its latest global brand ambassador.
AirAsia Group CEO and AirAsia X Co-Group CEO Tan Sri Tony Fernandes said, "No one embodies the dare to dream spirit like Roberto Carlos. From playing on streets of Garça and deciding to be a professional footballer at 12 to the amazing free kick against France and winning the World Cup, he has shown that when he wants something, he will see it through to the end. We couldn't be more proud to have such a fighter in our roster of world champion brand ambassadors."
Newly appointed AirAsia global ambassador said, "In Brazil, we say, 'Because we suffer so much, we value football.' This shows you can succeed no matter where you come from as long as you believe and work hard, and I am thrilled to represent a brand like AirAsia, which prides itself in making dreams come true." Roberto Carlos
Carlos, nicknamed "The Bullet Man" for his powerful free kicks, has represented Brazil at three FIFA World Cup tournaments, and was part of the team that won the 2002 World Cup hosted in South Korea and Japan.
At club level, playing for Real Madrid, Carlos has won four Spanish La Liga titles as well as the UEFA Champions League three times in 1998, 2000 and 2002.
Keep up to date with AirAsia news, activities and promotions on Twitter (twitter.com/AirAsia) and Facebook(facebook.com/AirAsia).


text:
Last week the Liberal government tabled its long awaited legislation to legalize marijuana but provinces and municipalities are already concerned with the costs and responsibilities associated with it.
St. Albert MP Michael Cooper and Mayor Nolan Crouse are both concerned that the federal government is downloading the responsibilities to the provinces and municipalities without providing any financial support.
The bills tabled on Thursday outline the federal government's guidelines for legalization, which they plan to achieve by July 1, 2018.
The government plans to legalize the possession of 30 grams of dried cannabis for Canadian adults over the age of 18. Provinces have the option to raise the age if they see fit. Canadians will be able to buy the cannabis through the mail or at provincially regulated retail spaces.
Canadians who want to grow their own plants may have four plants per household and edible cannabis will be legalized at a later date.
Cooper said that the timeline is too rushed and does not give provinces and municipalities enough time to prepare.
"The Liberals have imposed a rushed and arbitrary timeline towards legalization that is completely unnecessary other than that the Liberals can make the claim that they finally kept an election promise. Frankly the announcement last Thursday leaves more questions than answers," Cooper said.
Morinville Mayor Lisa Holmes, who is the chair of the Alberta Urban Municipalities Association, said that she is also concerned that the government is rushing the process.
"The speed at which government intends to move ahead puts municipalities at risk in preventing adverse impacts in our communities," Holmes said in a statement. "Many of the health and safety impacts are complex and require collaboration between all three levels of government and time to address."
Holmes said that things like educating the public, restricting inappropriate use, addressing health and safety issues and enabling coordinated enforcement through RCMP and municipal law enforcement bodies will take time to achieve.
Cooper said that he is concerned that the federal government is "passing the buck" down to municipalities to legislate but not providing any financial assistance to help regulate the newly legal drug.
Cooper estimated that there are "enormous costs" involved in things like roadside detection. He said that every police force across the country will have to acquire new equipment and train the officers to use the equipment to screen for marijuana impairment.
Crouse is also concerned with the costs associated with the new legislation. He said he doesn't see how there will be much revenue generated from legalization and that any money that is saved will probably be spent to enforce the new laws.
Other questions are being raised with how impaired motorists will be policed and tested. There is not an approved screening device at this point to test motorists to insure they are driving under the legal limit.
"At this time there isn't equipment that has been tested or approved," Cooper said.
The new legislation includes a fine of up to $1,000 for motorists who are caught with two to five nanograms of THC in their blood and up to 10 years in jail for serious impaired offences, but there has been no approved roadside device approved to test for marijuana intoxication.
Alberta Justice Minister Kathleen Ganley addressed the federal legislation on Thursday and said the provincial government's main areas of focus are to keep marijuana away from children, keep profits away from criminals, traffic and workplace safety.
Ganley said the government would seek input from Albertans when it comes to the minimum legal age, keeping children safe, and health and safety concerns.
The Cannabis Act proposes stiff penalties when it comes to giving cannabis to minors. People now face 14 years in prison for providing marijuana for someone under the age of 17.
The new legislation also proposed changes to impaired driving laws, that would allow police offers to take breath samples from any driver without a reasonable suspicion they are under the influence.
Crouse said that the city will have to wait to hear from the federal and provincial governments before they tackle any issues on a municipal level, such as zoning.
Cooper said that the Conservatives do not endorse the legalization and would rather see law enforcement given the power to ticket for minor possession.
The Liberal government expects the bill to become law by Canada Day, 2018.


text:
Problems with payroll software at NHS Pensions are causing some new claims to be delayed.
This is following the move of payroll administration from Equinity Paymaster back to NHS Pensions earlier this summer.
We have been told the software issues are due to be fixed this week but unfortunately delays to payments are likely to persist.
NHS Pensions are advising that delays to first payments could be up to 60 days but the RCN has been told that payments are being made approximately 3 weeks after the 30 day statutory target.
Please note, this issue does not affect any pensions already in payment.
If you have recently retired and are awaiting your first pension payment, you can ask for an urgent referral to speed up your payment if you can prove that the delay will cause you financial hardship, for example, rent or mortgage arrears. Contact the NHS Pensions Customer Contact Centre and explain your situation to them.
Ill health retirement claims made by members with terminal illness are being prioritised as usual.
Any interest due on late payments will be paid automatically but will be a separate payment to the pension payment itself.
As this delay exceeds the statutory target, NHS Pensions have informed the Pensions Regulator and they have a recovery plan in place.
The NHS Pension Board is being kept up to date and the RCN is in regular contact with NHS Pensions to monitor the situation.
This is a temporary situation and there is no suggestion that the target is being changed in the longer term.
If you need any further help or advice, please contact NHS Pensions Customer Contact Centre.


text:
Allison Medlin
Director, Goodnight Scholars Program
Peele Hall 203F
Allison Medlin joined the Goodnight Scholars Program as the first full-time director in January 2015. She previously worked with the University Scholars Program at NC State for 11 years. Allison earned both her B.S. in Family and Community Services and M.A. in Higher, Adult, and Lifelong Education from Michigan State University. She is currently pursuing her Ph.D. in Educational Research and Policy Analysis through NC State's College of Education. Her current research focuses on former foster youth in higher education. In her free time she enjoys cooking, boating, going to the movies, and playing with her son, Noah.
B.S., Family and Community Services, Michigan State University (2000)
M.A., Higher, Adult, and Lifelong Education, Michigan State University (2003)
Ph.D., Educational Research and Policy Analysis, NC State University ()


text:
July 16, 2020
Selected Intern's Day-to-day Responsibilities Include
Offered Pay AmountPay Amount : Rs.
number of openings :1
Qualification :
Job Location
Snyp Jobs helped me in curating my resume, enhancing my employability and skills by giving me my first MOCK INTERVIEW. The membership is more like a program that increases your chances of employment with the organization that YOU want. They are definitely the only one in the industry doing that. Not only this I also could access the finest internships and live projects during the program! Kudos! - Rohan Puri, B.Tech Student, Gurgaon.Name
I am a homemaker with a degree in law. I always wanted to earn some money by myself but due to household responsibilities and lack of any genuine & working platform, I could never do it. Thanks to Snyp's fantastic resume makeover, I now earn a good bit of money by devoting only 2-3 hours daily- as & when I want! - Reeta Gupta - Homemaker & Mother - Kolkata.Name
I have my own business however the income flow is not always regular as is the case with all businesses. And now with Covid-19,it has become even more unpredictable. After I registered on Snyp & took their premium plan, my mind was BLOWN with the program, especially the MOCK Interviews! It opened my eyes as to the real world scanario. They are real value for money, actually more than that!! Thanks Snyp for providing women like us such a wonderful job portal. - Deepa Alawadhi - Business Woman - New DelhiName


text:
It's July. Use these tire deals so you can spend less on tires and more on fireworks. Vehicle-Exclusive Tire Deals Audi $70 Rebate Mazda $70 Rebate Other Tire Deals BFGoodrich $50 Rebate (ends July 17) Firestone $60 Rebate (ends July 4) Goodyear Up to $70 Rebate Michelin $70 Rebate Pirelli $60 Rebate (ends July 6)
Tag: Fireworks
4th of July Road Trip to the Best Fireworks Shows
I know, I know — the 4th of July is about more than fireworks. I have just as much respect as you do for freedom, America… all that jazz. But the inner kid in me, all he cares about is fireworks. And one thing I like to do is take Fourth of July road trips to experience fireworks shows in other parts of the country. If a 4th of July … Continue reading


text:
Wednesday, December 7, 2011
[Mostly] Wordless Wednesday 12/7/11
How's the weather in your neck of the woods?
May you find your Muse.
10 comments:
- AnonymousDecember 7, 2011 at 10:50 PM
We're in summer, but it's freezing and the rains have not stopped... not that I'm complaining..it's very conducive of writing;)ReplyDelete
Wow, brilliant photo!ReplyDelete
Very windy and very cold here. Come oooon snow! Wishing for a white Christmas :D
Stinking hot and humid! A stinking tropical summer. But soon the rains will come and cool us down in time for Christmas.ReplyDelete
Very very windy here in New England today. The wind's bringing in colder temps too!ReplyDelete
Tania, I love writing on a rainy day!ReplyDelete
Miss Cole, thank you! I am, too! Come on, white Christmas!
Jen, I hope the rains come soon and give you some relief.
Joanne, any snow being brought by those winds?
It's chilly up here in Woodland Park, but I had a wonderful day unpacking Christmas ornaments!ReplyDelete
We've had such a horrible drought this year in central Texas...got some rain last week, we needed it so bad! and finally some cooler temps. That photo does look frigid! Hope you're staying warm. :) Thanks for stopping by my blog earlier, have a great weekend!ReplyDelete
Scarlett, I hear you! I'm glad you guys got some rain. We're in constant drought up here, too; the snow has been so piddly that people are still watering their lawns, despite the cold temps. If we get moisture, I'll pass it your way.ReplyDelete
It's supposed to be summer here in Oz, but the weather is pretty bad with rain every day.ReplyDelete
Love the pic.
Lynda, are you in an area of Australia where all this rain is normal, or is this a once every x number of years amount of rain?ReplyDelete


text:
L6 Fabisch Rd, Beaver Dam WI 53916 $44,900
Features of L6 Fabisch Rd, Beaver Dam, WI 53916
- Lots for Sale
- Status: Active
- County: Dodge
- Acreage: 1.48
- Subdivision: Fairway View
- Elementary School: Prairie View
- Middle School: Beaver Dam
- High School: Beaver Dam
- Property Taxes: $5
- Property Tax Year: 2014
- Listing Company: Mandi Saucerman Real Estate
Property Description for L6 Fabisch Rd, Beaver Dam, WI 53916
L6 Fabisch Rd, Beaver Dam, WI 53916 - Relax in the country in this "hidden" subdivision surrounded by rolling hills edging beautiful Old Hickory Golf Course!! Just minutes from town, this beautifully situated 1.479 acre lot comes complete with a perk test along with natural gas availability and underground electric and telephone lines to add to the attractive aspects of this spacious parcel. Beautiful exposures and a heavenly setting!!
Building and Construction
- Rural
Land Features
- Topography: Rolling
- Zoning: Single family
- Waterfront/Access: N
|MLS Number
|New Status
|Previous Status
|Activity Date
|New List Price
|Previous List Price
|Sold Price
|Aug 17 2012 4:46PM
|Dec 31 2009 11:46AM
Estimated Monthly Payment
Make An Appointment
Contact Shorewest
Get More Info
Receive more detailed information on this propertyAsk a Question
Community Homes Near L6 Fabisch Rd
|Beaver Dam Real Estate
|53916 Real Estate
|Beaver Dam Vacant Land Real Estate
|53916 Vacant Land Real Estate
|Beaver Dam Foreclosures
|53916 Foreclosures
|Beaver Dam Single-Family Homes
|53916 Single-Family Homes
|Beaver Dam Condominiums
The information which is contained on pages with property data is obtained from a number of different sources and which has not been independently verified or confirmed by the various real estate brokers and agents who have been and are involved in this transaction. If any particular measurement or data element is important or material to buyer, Buyer assumes all responsibility and liability to research, verify and confirm said data element and measurement. Shorewest Realtors is not making any warranties or representations concerning any of these properties. Shorewest Realtors shall not be held responsible for any discrepancy and will not be liable for any damages of any kind arising from the use of this site.
REALTOR *MLS* Equal Housing Opportunity


text:
THE board of the Nigeria Football Federation led by Chris Giwa has approved the appointment of Salisu Yusuf as the new Super Eagles coach.
Salisu will be assisted by Imama Amakapabo and Ike Shorunmu will serve as the goalkeeper trainer.
Former Super Eagles midfielder Emeka Ezeugo has been appointed as the team co-ordinator, while former FCT SWAN chairman Victor Ireole will serve as the team's media officer. The new coaches and officials will be unveiled next week in a glamorous occasion in Abuja.
In a similar development, the board also approved committees to manage the different levels of the Nigeria leagues. Sam Sam Jaja has been appointed as the chairman of the committee to manage the Nigeria Premier Football League. Other members of the committees are Ray Nnaji, Lumumba Adeh, Mohammed Mai Babi, Tukur Babangida and Kasali Obanoye will serve as the secretary.
The Nigeria Women's League will be chaired by Debo Adeoye while other members of the committee are Maltilda Otuene, Sunday Erelusisi, Mustapha Tahir, Emmanuel Orobosa Osahon and Margret Aku.
Abdulazeez Mahammed was appointed at the chairman of the Nigeria National League while other members of the committee are Fatai Olayinka, Saviour Noku, Edith Enekare, and Ekpeyong Elkanem.
The Nationwide League will be chaired by Iss Umar. The other members of that committee are Bernard Jomo, Uche Ejimofor, Aliu Kazeez, Mohammed Maina and Bamidele Ogungbemi.
All members of the leagues committee are charged with the responsibility of managing the leagues till the end of the current league season, while Amoni Biambo has been directed to organise elections into the board of all the league bodies.
Meanwhile, the interim league committees will be inaugurated on Thursday in Abuja.


text:
Falling Leaf Garland
Hang this
quick and easy garland from your mantel or use it in your next holiday table
arrangement to bring the season to life.
Colorful leaf garland is a
versatile Halloween decoration.
What You'll
- 9-1/4 x 12-inch sheet lightweight copper sheeting (.003 thick, 40 gauge)
- Giant leaf paper punches
- Craft foam or stack of newspapers
- Blunt-tip stylus
- Metal baking sheet
- Embossing tool
- Scrap paper
- Disposable gloves
- Makeup sponge
- Rub-on metallic finish
- Paper towel
- Wire cutters
- 2 yards nontarnish brass wire, 18 gauge
- Round-nose jewelry pliers
- Assorted beads: brown, green, earth-tone colors
- Pencil or dowel
- Embroidery needle
- Punch 12
to 15 leaves of assorted shapes from lightweight copper sheeting. Place leaves
onto craft foam. Use blunt-tip
stylus to emboss leaf veins in soft copper.
Emboss leaf veins using a blunt-tip stylus.
- One at a
time, place leaves on baking sheet and heat with embossing tool to burnish,
varying color tones from bright copper to shades of orange, rust, bluish-purple,
and gold. Repeat for all leaves. Let cool.
- Place
leaves on scrap paper, and with gloved hands use a makeup sponge to apply
metallic finish. Let sit for 1 to 2 minutes, then wipe off excess with paper
towel, buffing lightly while leaving color in grooves and corners. This gives a
softened, antiqued look. Repeat for both sides of all leaves.
- Use wire
cutters to snip several 3- to 5-inch lengths from brass wire; set aside. To
make garland, use round end of jewelry pliers to curl a small loop at end of long
brass wire. Slip a few beads onto opposite end of wire, and push them all
the way down. Bend,
curl, and loop wire as you work, adding beads wherever
you want. Create spirals by wrapping wire around pencil or dowel.
To create a spiral, wrap the wire around a pencil or dowel.
- Put
leaves on the craft foam sheet again. With an embroidery needle, pierce a small hole
near stem of each. Insert a small piece of wire (from step 4) through each
pierced hole; bend wire into a "U" shape, and wrap it around itself
to hold leaf in
place. Slip a few beads onto remaining length. Attach this piece to garland,
bending a small loop around garland wire to hold it in place. Repeat for all
leaves, alternating shapes and spacing leaves along length of garland.
To hold the wire in place, bend a small loop in the wire.
You can use the finished garland in a multitude of ways: to enhance a Halloween centerpiece, decorate a Halloween tree, adorn walls and doors, and more. Another natural fall item -- the pumpkin -- is featured next. We'll teach you how to make a whimsical jack-o'-lantern that "jumps."
Want to scare up more fun Halloween ideas? Try these:
- Halloween Crafts: Not done being creative? These are great do-it-yourself projects for Halloween, from trick-or-treat boxes to candy jewelry.
- Kids' Halloween Costumes: Try on our unique costume ideas for your ghosts and goblins.
- Halloween Masks: Want an easy way to dress up for Halloween? Try a mask instead of a costume. Check out our selection of monstrous masks.
- Halloween Games: Play more than 20 spooktacular games to entertain kids and adults alike.
- Halloween Recipes: Learn how to make dozens of bewitching Halloween treats.
- How Halloween Works: Traces the popular holiday's Celtic roots to American traditions celebrated today.
- Pumpkin Carving Patterns: What's Halloween without pumpkin carving? Check out these great pumpkin carving patterns.


text:
Republicans Split on Need to Offer Rival for Budget
By CARL HULSE
March 13, 2009
WASHINGTON — Congressional Republicans are engaged in a highly coordinated political assault on President Obama's budget, but they are not so united when it comes to offering an alternative to the spending plan they have been shredding as irresponsible.
Breaking with the House, Senate Republicans say they do not intend to offer a full counterproposal to Mr. Obama's sweeping $3.6 trillion spending blueprint, a decision that will spare them from outlining potentially painful decisions required to bring federal books more in line with their call to hold down spending, cut taxes and reduce the deficit.
"The responsibility of the majority is to produce the budget," said Senator Judd Gregg of New Hampshire, senior Republican on the Budget Committee, "and we think it is more constructive to point out how we would improve their budget."
With a month to go before Congress is supposed to pass a budget resolution, Democrats say the absence of a competing Senate Republican plan makes Republican complaints about the Obama approach ring hollow. Would Republicans, they ask, continue to keep the costs of the conflicts in Iraq and Afghanistan off the books? Account for the costly annual change to protect middle-class taxpayers from the alternative minimum tax? Set up a disaster fund to prepare for emergencies?
"They are long on criticism and short on a plan," said Rahm Emanuel, the White House chief of staff. "They have a communications strategy instead of an economic one."
House Republicans said they intended to deliver a comprehensive alternative to the Obama plan to show how they would respond to the federal government's deepening fiscal difficulties but were not ready to provide details.
As they try to reassert themselves as guardians of fiscal discipline after their own years of deficit spending, Republicans have been providing a steady stream of complaints depicting Mr. Obama's plan as spending too much, taxing too much and borrowing too much.
The effort is being made with more than the usual level of cooperation between House and Senate Republicans, with Republican leaders of the two chambers appearing in tandem and lawmakers repeating their antibudget criticism almost as a mantra.
In contrast to the first weeks of the Obama presidency, the attacks are aimed squarely at Mr. Obama, whose popularity initially shielded him from Republican criticism.
"Republicans in the House and Senate, with some degree of cooperation and collaboration, are going to attempt to both challenge the assumptions and the content of the president's budget," said Representative Mike Pence of Indiana, the No. 3 Republican in the House.
Democrats are trying to exploit the absence of a Republican alternative, creating a Web page with a clock counting the hours since the Obama budget was introduced on Feb. 26 with no Republican alternative put forth. It lampoons Republicans as the "Party of No."
Some Republicans acknowledge that the constant repetition of their budget message could turn it stale in Washington, but they say such persistence is required to break through with the general public.
With their majorities in the House and Senate lost, Republican leaders say that an effective communications strategy is their best hope. They say they have little ability to influence the legislative debate, particularly in the House, if Democrats are determined to press ahead with Mr. Obama's plan to take on health care, climate change, education, transportation and other major issues.
"As I told my colleagues, we don't have enough votes to legislate," said Representative John A. Boehner of Ohio, the Republican leader. "We are not in the majority. We are not kind-of in the minority; we are in a hole. They ought to get the idea out of their minds that they are legislators. But what they can be is communicators."
The House has a history in which the minority party and other coalitions have often proposed their own budgets to draw distinctions with the party in power. Senate Democrats have offered alternative budgets in the past, including one in 2001, the first year of the George W. Bush's presidency.
Compared to Republicans in the Senate, it will be easier for those in the House to push forward a competing spending plan because so many of them represent conservative areas where cuts in federal spending are less of a political liability.
Senators have broader constituencies and a budget that meets Republican fiscal goals could be a difficult vote for some Republicans.
House Republicans offered an alternative to Mr. Obama's economic stimulus that they said was less costly and created more jobs, though economists and others challenged the Republican economic assumptions and claims. Mr. Pence and Mr. Boehner said House Republicans believed they needed to propose their own budget to bolster the credibility of their criticisms of the Obama plan.
"It is incumbent for us to get out there and make sure people understand we have a better solution," Mr. Boehner said.
Republicans are taking a political risk in offering such relentless resistance to Mr. Obama's agenda, given his popularity and the gains Democrats made in Congress last year.
But they say they believe the public is becoming alarmed at the level of spending being pursued by Democrats. They intend to use the next month of budget debate to reinforce that impression.
"The question before the American people is whether the American family can afford the Democrats' spending, the Democrats' taxing and the Democrats' borrowing," said Senator Lamar Alexander, the No. 3 Republican in the Senate. "We have four weeks to make that case."
A version of this article appeared in print on March 14, 2009, on page A9 of the New York edition
Sunday, March 22, 2009
Republicans Split on Need to Offer Rival for Budget
No comments:
Subscribe to: Post Comments (Atom)


text: Push Away the Screen: Biltmore Bonding on Bikes 17 July 2013 jennifer Jenny This is part three of a three part series. You can read part 1 here, and part 2 here. During our hike throughout the Biltmore Estate we saw miles and miles of bike paths. James and I were so excited to get out there and cycle, but we were nervous about the kids. Why? Hills. Living in Florida we don't cycle over any hills. And some of these hills were saw on the Biltmore Estate were actually more like mountains and I was scared of the kids going down those!! We've done overpasses here in the Sunshine State and they do okay with those, but it's been a while since we've done one, and Ronin has been stopping his bike with his feet (like Fred Flintstone) and not his brakes, so I was sort of freaking out about his careening down a mountainside on his bike! The Biltmore Estate offers a TON of outdoor activities. From bike riding, to horseback riding, to kayaking, to skeet shooting, and fly fishing, there is something for everyone!! Because of the odd number of people in our family, and the age of our children, we were limited to only biking, which really is fine with us, because that's all we really wanted to do! We arrived at the "bike barn" and checked in . I had made a reservation, so they were expecting us. The staff was excellent, making sure that each of us was properly fitted on our bikes, that our helmets were nice and secure, and they had each of the kids take a test lap through the barn to demonstrate that they knew how to brake properly and mount/dismount the bike. Ronin did a great job with his hand brake. Ella was SO EXCITED to be able to choose a bike with GEARS!! She has been wanting a "gear bike" for quite a while and we thought this would be a good opportunity for her to try it out! Haley refused to give it a try, and stuck with a simple bike. It took her a few tries to get it just right, and they had to adjust the seat a few times as well, but soon we were ready! They also gave us step by step directions where we should cycle to avoid getting in to terrain that would be too challenging for the children, and gave us a hand map as well! We brought our own water (they let me know in advance we'd need this!!) and off we went! We were instructed to stay on the green marked path, though we thought we might be able to handle some of the light blue path as well, and would take it on a trail by trail basis! We had 2 hours to explore, so off we went!! I quickly went to the head of the pack, and watched as James and the trio made their way to me. Why did I go so far up ahead?? Why, to test the terrain of course! I wanted to make sure that there was nothing too challenging or dangerous for my gang, James included! He was riding a bike that he wasn't familiar with and despite my recommendation that he chose a DIFFERENT bike, he didn't listen to me. More on that later Ella was having a grand ole' time changing out her gears! There were a couple of tricky spots, not with terrain but with having to cross the road! So I'm glad I went first!! Typically when we ride as a family, we are on designated "NO CAR" bike paths, we don't have to cross roads, we just bike. On this path, we had to cross the main Biltmore Estate road, and traffic was quite busy because they were having a motorcycle festival on property, and the bikes were driving pretty fast, and in large packs. Thankfully I was able to get to the stop sign first, get in to the road, and pretty much stop traffic to allow my gang to pass. Then we were back on the paved bike trail and off exploring the property! As we crossed over this bridge, we came across a bunch of geese just cruising along!! We had 2 loaves of bread back in our room that we knew we weren't going to eat, so we had a discussion about going back to our room after we returned the bikes, picking up the bread and heading back down to feed the ducks! The kids were excited about that. Off we went again on our ride!! We made it to the end of the green trail really quickly! The blue trail took us right in front of the motorcycle camp, so we decided to head back and see what we could find the other direction! But first we stopped at the geese again for a water break! James and I even managed to talk one of the kids in to taking our picture together! It was at this stop that James mentioned how uncomfortable he was on his bike. Really?? Really?? After I told you to pick something else?? This is where I did my "I told you so, honey" talk. We knew we'd be passing close to the bike barn again, so he decided at that point that he would go and trade his bike in for the one I recommended. This made him very happy. We took a different path towards the bike barn, and came across the Biltmore Farm! The kids and I stayed here while James rode up to change in his bike. The kids were in love with this cute little donkey. We was very friendly and just stayed at the gate and let the trio pet him! James came back quickly and off we went!! We decided to head "off-road" since we all had "fat tire" bikes. I let the family get in front of me, and then they all slowed down, so I took the lead again, and off I went. I was just pedaling along dodging big rocks, and low limbs, when suddenly I realized that it was VERY quite. I slowed down, dismounted my bike and realized that NO ONE was with me. Oops. I went to fast and left them all behind. I back-tracked found James and the kids, and the kids were all upset and crying the off-road path was too hard for them. Their little legs just weren't strong enough to pedal through the rough terrain. Poor guys. I felt so bad for going so far ahead, and I felt a little guilty because I was having so much fun while they were crying. Bad mama. Oops. Tears turned to smiles though as James and I reminded them that we were going to feed the geese after our ride!! Our 2 hours was nearly up, so we decided to head back to the bike barn! Our return trip took us up a very steep hill. So steep that I had to get off my bike and walk up. The kids walked their bikes up, too. But James...not James! He made it up on his bike! GO JAMES!! We had a great time biking at Biltmore and I really hope that we can go back one day when the kids are older and do more mountain biking because that was a lot of fun for the short time I got to experience it! I made Ella pose with me for a "bike ride over" photo. She was not amused. Next up! Geese!! We went back to our room, grabbed the bread and headed back to the lake. We drove our car since it was getting near twilight and I didn't want to be walking around in an unknown place in the dark. We called the geese over, and some started to come as did some cute little ducks. But it didn't take long for the whole gang of geese to make their way over to the food! 2 loaves of bread went quickly! The kids loved feeding the geese!! It was cute to watch and there were some goslings (too bad no Ryan!!) in the mix too and the trio kept trying to make sure that they were getting their bread pieces close to those cute babes! When our bread was out, the geese wanted more and came up on land to see what else we could offer!! We got in to our truck to head back to the Inn. We had to drive out and back to get to the main road and by the time we got there, this was waiting for us! Hundreds of geese were foraging on both sides of the road!! I have never seen so many geese in one spot, at one time before!! It was pretty cool! Overall, our 2 full days at the Biltmore was AMAZING!! We created some great family memories, and it certainly gave me the taste for some more family adventures!! I can't wait to go back when the kids are older and perhaps really bike those amazing mountain trails. I'll have to be sure to work on some hills climbs so I don't have to walk my bike! What's the best family vacation you've taken with your kids?? Do you take active vacations, or do you go to try to relax?


text:
Dewey's 2 Hour Mini Challenge
Saturday, April 23, 2016
Hi Everyone!
In this challenge we are supposed to reflect on five childhood book memories. So here are mine! I hope you enjoy reading them as much I do remembering them.
1) I have always been drawn to books. I am not sure why, but it was the one thing that my little sister wouldn't try to take away from me. I would memorize every line of every story and then pretend that I knew how to "read it" back to her. The earliest book I remember doing this with was Chicken Soup with Rice. Yep, everyone knows Where the Wild Things Are-beautiful book, same guy, this one equally as awesome.
2) I think my love for books was promoted by teachers who read to us. In first grade, I could tell that my teacher loved story time as much as I did. Even in 7th grade, my teacher would read with us. This was an important role modeling of the books that were important in life. We read books like the BFG, the True Story of 3 Little Pigs, so many wonderful ones.
3) Who didn't love the Scholastic Book Orders? I mean seriously! It was my dream to order every single thing on those sheets. I remember getting Sweet Valley Books, Goosebumps, stickers by Lisa Frank, all of the cool things.
4) Book It Pizza and State Reading Certificates. If you completed your monthly goal of 4 books you would get pizza for that month! The state of North Dakota wanted you to read 18 books a year. I loved it.
5) The books that shaped and defined my childhood, The Babysitters Club. These books were everything. They gave me friends, they gave me entertainment, I loved every second of reading them. I once wrote a letter to Ann M. Martin to tell her thank you and she wrote back! I cherished that letter. I am excited to see her speak at Book Con next month!
What are some of your fave childhood reading memories?
Happy Reading!
share: facebook | twitter | pinterest
Labels: Events
Subscribe to: Post Comments (Atom)


text:
By Galen Patterson
The heists appear to have begun in 2010, when a Swedish museum was broken into by professional burglars.
The only items stolen throughout the entire museum were relics taken from China, over the course of the Swedish East India Company's existence from the mid-1700s to the early 1800s. Soon after, a string of robberies took place in museums all over Europe, and the targets were always Chinese artifacts.
Chateau de Fontainebleau in France, The Oriental Museum at Durham University in the United Kingdom, and even the same Norwegian museum being robbed twice. When one stolen item appeared on display in a Beijing airport, it didn't take long for people to make the connection that China, whether through governmental subversion, or the legions of the newly rich Chinese nationals, was behind the growing string of robberies.
Exactly who ordered the theft of these items is not up for dispute. The Chinese government dispatched a special "treasure hunting team" just months before the first robbery. The team's job was to locate and identify Chinese antiquities taken from occupations of foreign countries. The real question at hand here is much more complex: is this OK?
Before any reasonable person answers that question, they must consider the motivations of the thieves.
Most of the stolen items came from one place. A former residence of China's last emperor, a place called the "Old Summer Palace." In 1860, during what is known in Europe as "The Opium Wars," a group of 34 British and French envoys were sent to discuss peace with Chinese representatives and the Imperial Prince under a temporary truce. The men were subsequently captured, tortured, and all but 14 murdered. One of the survivors was Times journalist Thomas Bowlby, who gave his account after his return.
The nearby armies of both France and the U.K. immediately attacked the palace, looted and burned it for three days as revenge for breaking the truce. The then-300-year-old structure was not fully demolished, but everything of value was taken and documented by the European armies, who kept excellent records of their plunder.
These records made life easy for the treasure hunting team, who now knew where to look for what, because after all, there was no master list of the loot prior to seizure.
When China's communist party took over the country, art appears to have had a detrimental value. Many items remaining in the country were destroyed by either the citizens, or the government. The Chinese Red Guard destroyed 613,000 pieces of Chinese art in Beijing alone between the years 1966-1976. Obviously, this sort of plan will create a lack of art and historical artifacts.
Today, with so many newly-rich citizens, the Chinese financial elite have begun partaking in a new trend of collecting Chinese antiquities. Because of the rarity of such objects within Chinese borders, it stands to reason that well cared-for valuables of ancient Chinese origin would be found in the museums and private collections in former occupying nations.
So couldn't China just buy them back? The answer to this is not so simple. In some cases, Chinese billionaires have bought these items back when and where they find them, but museums are not known for just selling their artifacts. However, museums do have a reputation for having the rarest of items, making them an irresistible target to thieves and interested billionaires.
Shouldn't those countries just give them their stuff back? Again, the answer is not simple. In some cases, countries have elected to let the items go and not take any diplomatic action against China, fearing economic retaliation. In other cases, countries are at a loss because the Chinese government openly believes that the artifacts were stolen from them, and they are just stealing them back. With China unwilling to return the artifacts, what diplomatic action would yield their return?
Consider that less than 50 years ago (and many of these people are still alive), China went on an outright rampage against their own artifacts, causing much of their tangible history and culture to be overseas. Supply and demand are relative concepts, and if supply drops demand usually goes up, meaning China caused the rarity and value of these artifacts, not the looters and certainly not their descendants.
Furthermore, what guarantee is there that the current government will not decide to replicate their behavior again?
On a more molecular level, if a person beats up another person and takes their money, we consider that to be wrong and in fact have laws against that sort of behavior. However, when you look at warfare throughout human existence, loot and plunder are the status quo. Not too long ago, plunder was part of the allure of being a soldier, hence the well-recorded documentation of the looted artifacts.
If these countries collectively handed over all of these looted antiquities, they would set a precedent, that what is captured cannot be kept. By that rationale, everything taken from Saddam Hussein's palace would have to be returned to Iraq, and Texas would have to be given back to Mexico.
Conquest can be an ugly thing. It is unfair, harmful and life-changing, but it motivates our species to elevate itself. Conquest drives sales people to make sales, and doctors to develop new, life-changing procedures, it makes us want to be the best we can be at whatever we do, but in order for these things to exist, someone must lose.
We have all lost something or someone. It is an inescapable part of being alive. What we do with that loss is up to us. We can either use it to motivate us to do better and be better for the future, or we can let it eat us away and destroy us even further. This is the lesson I think the people ordering the thefts need to understand. Although they may gain something they can hold in their hand, they bring shame upon themselves, and when we all pass onto what happens after this life, we will not be remembered for what we kept hidden from everyone, but who we were to everyone.