text:
Views: 455
I'm only in Calc 1, still have two semesters left after this. I've only finished two semesters of Chem, and I haven't even started my Physics yet. I'm probably never going to take a Theology class... and while I did get an "A" in Philosophy, I never touched the textbook (I wonder how that approach would've worked out in any of my Maths or Sciences?). My lack of education is a blight on me.
@Cathy Cooper
I find it ironic that you are offended by Craig and then make comments like this:
"Whether it be the Enlightenment of earlier times, or the modern Enlightenment, when people are allowed to think and be reflective, and they have access to all the information, i.e. education, then you will have a rise in atheists and agnostics because the inconsistencies and contradictions within religion, the belief in gods and goddesses, and Christianity in particular."
You call Craig a bigot because he suggested that some atheists are uneducated. Then you turn around and say that education leads to atheism--implying rather clearly that theists are uneducated. Let's at least be intellectually consistent here.
Yes, I was offended that he implied that atheists are "uneducated blue collar workers." Whereas I claimed that those that have been to college and those that have not, can reason for themselves, as long as they are given the proper information.
Personally, I became an atheist via education, and many people have done the same. There are others, however, that never became theists, or became atheists on their own.
For Craig to infer that atheists are "ignorant uneducated blue collar workers" is ignorant and bigoted. Anyone can be an atheist, but I stand by my statement that education CAN lead to atheism. It does not necessarily lead to atheism, but it certainly CAN lead to atheism.
@Cathy Cooper
Given what I quoted above and the following sentence--"When people are able to apply deductive and inductive logic and the H-D method, they are more apt to come to better conclusions, and choose the best explanations."--it sounded to me as if you are implying that "better conclusions" and "best explanations" equal atheism. There are undoubtedly many who apply logic and reason, yet reach a different conclusion.
Of course, you have to admit that there are uneducated and ignorant atheists as well as theists, neither of whom have critically thought through their positions. Perhaps Craig didn't mean to imply that all atheists are uneducated. Perhaps, seeing that you would like me to give you the benefit of the doubt regarding what you meant in the quotes above, you could do the same for Craig.
@ Dan--No--I said they could make better decisions and decide for themselves when they had all the arguments and information. I said my education led me to atheism, but that is not necessarily so for everyone.
I will not give Craig the benefit of the doubt--he said what he said. What Craig said implies that he is an elitist, and a bigot.
@Cathy Cooper
OK, I tried to be diplomatic about it. Again, you said "...when people are allowed to think and be reflective, and they have access to all the information, i.e. education, then you will have a rise in atheists and agnostics because the inconsistencies and contradictions within religion, the belief in gods and goddesses, and Christianity in particular." Your statement is equally as offensive as Craig's, and for exactly the same reason. But more damning for you is your inability to understand that or to accept it. If Craig is an elitist and a bigot, then you are too. But you've shown that you are dense and/or arrogant, as well.
@ Dan
As a scholar, I never get tired of promoting reflectivity. In this case, you would do better to read and think about what you are saying before you say it. Furthermore, what I said was workers who have not been to college or have no formal education, will have this same tendency when provided with ALL of the information and explanations and all the various arguments. Your ad hominem attack phases me not, as sticks and stones may break my bones, but your ad hominem can never hurt me---nor my argument---as arguments aer judged on their validity and soundness.
It was Craig that used the term "uneducated", to make reference to blue collar workers, as I pointed out above. In response to this, and what the bishop told me, I said:
"The so-called "uneducated peasants" ARE able to understand and choose the best arguments and explanations when they are provided with all the information."
In response to Bryan on the previous page I stated:
"Whether or not a person has a degree in philosophy and religion is neither here nor there for me. I only care about their arguments one way or the other. Even if I was walking by a homeless person, who explained he had never been to school, but asked me to evaluate an argument he constructed with chalk on the sidewalk, I would give it the same consideration as if he had graduated from McGill, Harvard, or Oxford, or any other university. Malcolm X is an example of a great scholar who had no formal secondary schooling--he was mostly self taught. "
And to top that off, my favorite philosopher, John Stuart Mill, did not have a degree in philosophy!! All I care about is the arguments--not petty ad hominen attacks.


text:
Today's Inspiration is going to take this week off while I attend to a personal matter. Thanks for your patience. - Leif
* While I'm away, here are some new places to visit for interesting, inspiring mid-century art and information:
We Too Were Children, Mr. Barrie
Ariel S. Winter, We Too's creator writes, "about children's books written by significant "adult" authors... I sometimes focus on particular illustrators, for example Richard Erdoes, whose work definitely fits in with your aesthetic."
Paperbacks 1940 - 1947
Uilke Komrij (AKA UK Vintage on Flickr) who provided all those gorgeous paperback cover scans we looked at recently writes, "I made a set about the first paperback period. This was until the pulpcover influence interfered and the covers became sexy or GGA (stands for Good Girl Art). That wasn't bad but we must not forget where it all started. Their weapons were color, symbolic figures and lettering. So more attention to the design. I make the same mistake as I watch the views of the second period rise above those of the first period! I hope with this set we can focus a little on this colorful period."
Oleg Stavrowsky... "was an illustrator in the 50s and 60s, but moved into fine art (Western) when the illustration business started to peter out. At 83 he is still painting and more excited about it than ever," writes Oleg's son, Matt. With matt's help I hope to feature Oleg's mid-century work some day soon. For now, his magnificent recent work is well worth a look!
Finally, be sure to drop by Storyboard Central for a new post by my buddy Stuart Godfrey featuring a Coors spot he drew and, for comparison, the finished live action commercial!

subset: commoncrawl


text:
Author Notes: This is a quick version of the classic Portuguese pairing of fish and pork, often done with clams or other fish as a stew known as a cataplana. I didn't have wherewithal to manage a cataplana so I improvised after buying cod at a farmer's market. The key ingredients, beside the cod, are linguica, a smoked sausage from Portugal, and a preserved sweet red-pepper paste, massa de pimentao. My Portuguese mother-in-law and her siblings used to make both each year, keeping me regularly supplied, but the tradition is waning with advancing age, alas. Linguica's main ingredients are wine, garlic and massa de pimentao, which this recipe echoes. If you can't find linguica, you can substitute chorizo or another spiced, smoked pork sausage. You can make your own pepper paste (http://food52.com/recipes...) or there's an easy shortcut in this recipe, which works fine. There are endless variations to this. You can adjust the ingredients fit the amount of fish you're cooking, whether for one or ten. You can use any firm white fish. I've also done it with hake and monkfish. Sometimes I add potatoes, sometimes onions; other herbs like thyme or oregano also work, depending on one's mood. You can also substitute canned tomatoes, but it makes the sauce thicker and more cloying (though not in a very bad way). It's best to use an oven proof frying pan large enough to hold the fish for the roasting, which has the added benefit of making it a one-pot meal. —Steven Lee Myers
Serves: 4
tablespoon olive oil
pound linguica (or other spiced, smoked sausage) chopped into half-inch cubes
cloves of garlic, sliced
pinch red pepper flakes (optional)
cup dry white wine
large tomatoes or three medium
red bell pepper, cored, seeded and blended coarsely with a half teaspoon of salt
bay leaves, fresh if possible, or dried
1 to 1.5
pounds fresh cod, cut into four serving-size chunks
Salt to taste
handful parsley, chopped for garnish
- In an oven-proof frying pan, heat the oil over medium and brown the linguica, roughly 10 minutes. Don't worry if it falls apart, as the real stuff is apt to do.
- Add the garlic and sauté for a minute or two. Add a pinch of red pepper flakes (optional)
- Add the wine to deglaze the pan
- While the linguica is cooking core, seed the red pepper, and put in a blender or food processor with a half teaspoon of salt until it becomes a coarse paste, and add that. If you have massa de pimentao already, add three heaping tablespoons
- Add the tomatoes and bay leaf and then let the sauce simmer and breakdown, 15 to 20 minutes. If it gets thick, add more wine or water. It should be a little soupy. Taste for salt.
- Preheat the oven to 425 degrees while the sauce simmers.
- Salt the cod and nestle the pieces in the sauce, put the pan in the over and roast until done, 10 minutes or so, depending on the thickness of the cod, checking frequently.
- Set the fish on individual plates and spoon the sauce around or over it. Garnish with parsley.
- This recipe is a Community Pick!
- This recipe was entered in the contest for Your Best Dish with Meat as a Flavoring
More Great Recipes:


text:
Wall Street Journal reporter and Minnesota native Lee Hawkins' "I Love You Woman" was Grand Prize winner in the R&B category of the 2011 John Lennon Songwriting Contest.
Winning the contest "prompted me to release a few songs from my catalogue on iTunes under the title 'Midnight Conversations,'" he told me. Hawkins writes, sings and hosts "The Business of Celebrity with Lee Hawkins" on YouTube. It's the kind of smart family content that Magic Johnson mused about while being interviewed for the show -- programming that the NBA Hall of Famer and businessman would like to see on his new network, "Aspire."
On rare occasions, Hawkins is able to integrate journalism and singing, as he did in an interview (startribune.com/a1511) with boxer Manny Pacquiao. "Reporters had been asking Manny to sing all day as part of his [Timothy] Bradley-Pacquiao fight, but I was the only reporter who was willing to sing with him. He kept telling everybody 'No' but when I started singing with him, the fun began." The results are charming, even though neither Pacquiao nor Hawkins can fully recall the lyrics to Lennon's "Imagine." Still, it's "one example of how being a musician helps me with my guests," said Hawkins. I conducted this Q&A with him via e-mail and was left with the impression he'd like to interview with Katie Couric.
Q Who gets hit on more, Lee covering a story or Hawk performing on stage?
A I rarely, if ever, get hit on when I am working as a journalist. I have had interview subjects invite me to parties or to hang out with them, but I haven't done it. Plus, I think they are mostly viewing it as a professional thing. At least, I hope. I am a very serious guy as a journalist. I think I walk around during the day with a very determined and sometimes harried look on my face, because I am trying to get so many things accomplished. I come off as aloof or like I am not really in a social mood. When I am performing, it is always different. I am singing songs about love and relationships or dance songs that are high-energy and fun, so that's when women have felt most comfortable approaching me. I think you attract the energy you put out.
Q How do you get in the frame of mind to write a song -- or is it all inspiration?
A I get my inspiration from feelings. As a journalist, I really observe the world, and people and their feelings and how their emotions motivate their actions. I take scenarios that I've seen, based on real people. Like my song, "I Love You Woman." It's a man saying how deep his love is for his woman, who is a single mother. He has seen her raise a child with dignity and be elegant and graceful through it all. So that song is really for single mothers everywhere, because people think that just because a single mother is raising children she doesn't want to find love. Everybody needs love, so why wouldn't they?
Q What comes more easily, writing a song or a story?
A I would say writing a story comes easier for me, because I've written more stories than I have written songs. I probably wrote more than 2,000 stories when I was working mainly on the print side of the business. Do you know how happy I would be if I had 2,000 songs? Man, that would special.
Q Name a musician with whom you'd like to collaborate.
A I have kept up with your column over the years, and I don't think you two like each other too much, CJ (!!!), but I gotta tell you, Prince is in my musical spirit. I've been influenced by his use of the falsetto voice interspersed with the baritone voice. My vocal cords are set up the same way as his. He has an incredible high-pitched voice and a resonant low voice. His middle voice is not extraordinary, but he knows where his strengths are, and he really exploits his strengths. That is me, too. I write songs for my voice, but if they are not ideal for me, I will bring in someone else to sing them. I don't know who it was, but someone taught Prince how to go about being great, which gave him a special talent for knowing how to make other performers great. Who knows? It could have just come from listening to Curtis Mayfield, James Brown, Jimi Hendrix and John Coltrane and playing along, but he's not from the 80s era ... his influences reached way back. I know if I did a song with Prince he would recognize things within my voice and songwriting that could be accentuated, and he would turn it into something even better.
Q I don't dislike Prince; I'm averse to his eccentricities while respecting his musical genius. Would you ever perform (and to answer this we'll pretend you no longer have journalistic bosses) in buttless breeches, as has your musical spirit?
A Lol. Of course I wouldn't, but I still think the dude is a genius! Lol
Q Name a singer with whom you'd like to duet.
A That would be the late Curtis Mayfield. I would do that because I would invite my father [Lee, Sr. of Maplewood] to the studio session to play guitar and sing with us, because he was heavily influenced by Curtis and then influenced me with his music. I think Curtis Mayfield would have some heavy modern day observations about our society, and he would infuse that both into his delivery of the song and the songwriting. We would do a duet that would say something to black people about how little those of us who have achieved some level of success have done with that success. Many black artists today aren't really writing songs that are meant to truly empower black people to love themselves and each other, and that's what Curtis Mayfield stood for. It would be refreshing to do a song with him that could begin to get the young generation thinking about what they are going to do to become great.
Q Who is your favorite male singer?
A My favorite singer is Joe Ligon of the Mighty Clouds of Joy. He is the best living commercially known singer in the world, a gospel singer. No one can touch him. I hope to interview him someday.
Q Who is your favorite female singer?
A Sade Adu ... another interview I hope to get.
Q As a journalist, does unnecessarily poor grammar in songs trouble you?
A I don't mind poor grammar in songs because the grammar in songwriting is often based on the characters in the story you're trying to tell.
Q Scenario: You are on an elevator with Katie Couric and Katy Perry. You can only strike up a conversation with one of them. Which one and what is your opening remark?
A I would probably want to talk with Katie. I would ask her why she didn't start the "Katie Couric Women's Network" instead of going to ABC. I think she could have partnered with some major media mogul and essentially done the same thing that Oprah has done. I have always been fascinated by her brand and how she's taken authenticity and turned it into millions of viewers. I would want to find out if she really knew during that period of transition in her career how powerful her brand was -- that she had enough cachet at that time to get millions of women to watch her on her own network instead of doing what she chose to do.
Q Three most incredible concerts you've attended?
A Michael Jackson, Prince and a Japanese jazz pianist named Hiromi Uehara.
Q I give you a choice between breaking the Watergate story and being Prince?
A Watergate all the way. I don't think I would change places with anyone on this Earth.
Q Ever been an idiot with a celebrity you've run into unexpectedly?
A I'll never forget a time in about 2001 when I was in a casino in Las Vegas during the late morning hours. This particular casino had a zoo in it, and Michael Jackson asked for them to open it up in the middle of the night to get a tour! He was standing basically right next to us. We said hello to him and he was standing there, actually looking like he wanted to talk more ... but I froze up. What do you say to someone like that? "I love your work?" I am never fazed by celebrities -- I meet so many of them, and they are just people. But MJ made me nervous. I am paid to communicate every day, but I could hardly speak in that instant.
Q Whose music career to do envy?
A I guess I would say I envy rappers the most, because they actually get to go on the road stress-free. They can get no sleep and frolic and play around from city to city, and when it comes time to do the show, all they have to do is jump around with hype men, remember their lyrics and make sure their voice sounds like the record. Being on the road as a serious singer can be very stressful, because you are always having to worry about taking care of your voice. If you blow out your voice, you've lost everything. Think about it - Adele had to cancel all those shows.
Q Would you leave journalism if promised the same success in the music world?
A Absolutely not.
Q Do you go to church as much as you did when you lived in Minnesota?
A I would say no, because when I was young it was a requirement that I be in church every Sunday, participating in service, in a suit and wing-tipped shoes. I still wear wing-tipped shoes, but I don't go every Sunday. I actually have a beautiful Catholic church across the street from my office, and I go there three or four times a month for a 15 minute prayer service and also go on some Sundays. Once you have true faith instilled in you, it never leaves. That said, I will never forget when I used to come and visit Minnesota and stay with my parents during college. I would go out partying downtown Minneapolis all night with all my friends and my Dad would come pounding on the bedroom door at 7 a.m. on Sunday morning and say, "Time to get up for church boy! After last night I know you have a lot of praying to do!"
C.J. can be contacted at 612.332.TIPS or email@example.com and seen on Fox 9.


text:
The hop-poles stand in cones
. . . . . . . . . .
[--- The rest of this text is notcurrently in the database but will beadded as soon as we obtain it. ---]
This text may be protected by copyright under Canadian copyright law, so we will not display it until we obtain permission to do so or discover it is public-domain.
Musical settings (art songs, Lieder, mélodies, (etc.), choral pieces, and other vocal works set to this text), listed by composer (not necessarily exhaustive)
Text added to the website: 2008-01-08 00:00:00.
Last modified: 2014-06-16 10:02:00
Line count: 0
Word count: 0
Browse imslp.org (Petrucci Music Library) for Lieder or choral works


text:
Hey guys it's Sam, and I feel like digging something. Just uprooting something from the earth. Oh, which reminds me…it's time for another YouTube treasure that needs discovering, mateys! This time, I'm going to talk about someone who has been putting smiles on our face since the summer of 2006. A man that maintains three channels weekly and still pulls it off, a man that has made its way to even merchandise. He has over a million subscribers on YouTube (including me for all 3 of his channels), over 200,000 followers on Twitter, and over 100,000 likes on Facebook. Whether it's his Cute Win Fail series, or his Literal trailers, or his Lazy Vlogs or Let's Plays, you must not be watching enough YouTube if you don't know that this guy's ranked among the top 30 YouTubers. His name is Toby Tobuscus [Joe] Turner, known simply as Tobuscus.
"Do-do, do-do-do-do-do-DO, subscribe!"
– The official Tobuscus theme song
Besides being a YouTube personality, Toby (also a close friend of iJustine, and confirmed-to-be-fake girlfriend) has also tried his hands at acting and stand-up comedy. He was born in March 1985, a couple months before the primetime release of Super Mario Bros. His first video demonstrated what Toby would do with the remote from Click (released on the same day of the video), and its quick popularity gave Toby his YouTubing start. That video currently has over 400,000 views. Believe it or not, Tobuscus was not Toby's first-ever channel; it instead was his "LazyVlog" second channel, TobyTurner, launched a month before Tobuscus. 4 years later, TobyGames, the third out of 3 channels, came to be and became Toby's official gaming channel, since his gaming videos were originally on TobyTurner. His most famous video remains the Literal Assassin's Creed: Brotherhood trailer at over 20 million views. TobyGames ranks #83 on the top 100 YouTubers' list at 899 thousand subscribers, matter of fact, even beating David Guetta's channel. Lemme show you some examples of what you would find @ all 3 of his channels:
"That was rhetorical, you know I am the oracle, I know you like my sword, it's made of frickin' diamonds…"
It's been 4 days and this video has already gone past the one-million-view mark. This video is called "I Can Swing My Sword!" from Tobuscus (the main channel), talking about how much a diamond sword means to a Minecraft-turned Toby, and it meansa lotto that fella. By the way, diamond swords are the highest ranks of swords ever in the game of Minecraft. This very song inspired me to change my Google icon from a Raccoon Tail Mario to a diamond sword (a decision I currently do not regret), and the song will forever be my "ultimate diamond sword theme song anthem". The spot-on animations were provided by the fellow YouTube channel GonzoSSM, whose videos consist entirely of these animations. The two channels have collaborated on other Tobuscus videos like "Safety Torch", the "Tobuscus Adventures" series, the "Animated Tobuscus" videos, the timeless hit "Nugget in a Biscuit", among others. This same video was released on TobyTurner under the name "Minecraft Diamond Sword Song" a while after the Tobuscus version, which is the reason why it has only almost 200,000 hits. He ranks as the twenty-fifth most subscribed channel of all time, #10 in the Directors division, and #50 most viewed in the Directors division. And he has a whole lotta other honors.
"Audience? Wha-what are you doing [please insert scenario]?"
This is one of Toby's many Lazy Vlogs, released on April Fools Day 2 weeks ago, and it's called "April Fools Day Disease", currently at over 100,000 hits. These kind of videos can range upon subjects like recently-heard tweets, the origin of Tobuscus, and real-life Minecraft objects (there is one for the diamond sword and one for the diamond pickaxe). Anyway, the channel releases a new vid almost every day, and has over 600,000 subscribers and over 100 million video views. Toby's companion channel ranks as the #1 subscribed channel in the Reporters division, #3 this month, and #12 most viewed. In this video, Toby talks about how sick he is, among other topics. And like this post if you feel bad for him about that.
Sometimes on Toby's third channel, he'll make little 1-minute snippets of his videos, and they're quite diverse since Toby's usual Let's Play series go for at least 100 videos apiece, no lie. This one is a Skyrim snippet called "My Son Is A Failure", featuring Toby making uncivilized remarks against a giant, and eventually boasting about his win over the beast with a little too large of arrow use. These videos alone can reach 100,000 views apiece on average, surprisingly enough. He currently has play-throughs for Legend of Zelda: Skyward Sword, Halo Reach, Minecraft (not big surprise), Limbo, Skyrim, Rayman Origins, among others. Ever since summer 2010, he is the eighty-second most subscribed channel of all time, with almost 896 thousand subscribers and over 300 million video views, making him #10 at both most viewed and subscribed, in the Gurus division.
Tobuscus has also been no stranger to memes online. He has an article on Know Your Meme (currently being researched & evaluated), and here are some of his meme entries:
See? Oh, I think I should probably wrap this one up. Thanks for joining me at Sammwak, and be a doll and make sure you rate, comment, like, share, etc. for this post, and make sure you subscribe to both me and Tobuscus! He's got some pretty sweet stuff, guys. You can also follow me at Google+ or send me an email (samgwamaka@gmail) if you feel like it! Now if you'll excuse me, [feel free to insert your own scenario].
Required channels to subscribe to:
– Sam
p.s. Time for our Would You Rather o' the Week! Would you rather…play every good game or play every bad game, but get $1,000 for every bad game you play? Respond in the comments below or by any other purposes: mail, email, owls, I dunno. 😀


text:
Looks like you really do get what you pay for.
Continue Reading Below
A new study from app analysis firm Appthority finds that 95% of the top 100 free apps for both iOS and Android exhibited at least one kind of privacy-compromising behavior, compared to 78% of the top paid apps.
These freebie apps are putting users' privacy at risk with behaviors like tracking location, leaking address book contacts and identifying the user or using single sign-on (SSO)--which allows a single company to track users across multiple applications, according to Appthority.
The biggest disparity between free and paid apps is that more free apps (73%) track for location, compared to less than half of paid apps (41%). Sixty seven percent of free apps use SSO and half will share data with ad networks and analytics.
For iOS, 36% of free apps are games, 14% are social networking apps and 10% are music apps. This compares to Android, with 43% of free apps being games, 11% social media apps and 10% communication apps.
For paid iOS top apps, 52% are games, 13% are photo apps and 5% are entertainment apps. On the Android side, 38% of the top apps are games, 15% are tools and 10% are productivity apps.
The average consumer doesn't realize downloads can compromise personal data, says Ari Zoldan, CEO of consulting firm Quantum Media Holdings.
"It's not even a thought that there is potential for data leakage," Zoldan says. "I think the phone is something very personal, so people don't realize that when they download an app, something may be taken out of their phone—it's not on anyone's radar."
Consumers will likely be even more surprised that nearly 80% of top paid apps leak data in some way, he says.
"I think that if you are going to pay, rather than get something for free, the effort will always be there [to have a better-developed product]. If you are putting money down to purchase a product, at the very least you should get security in return, that should be No.1."
Part of the reason consumers are so unaware is that apps are stress-tested by and large by those in the tech community.
He explains that data leakages often aren't caught until an app hits the market because they tend to be stress tested by those in the tech community.
"Apps are developed to perform a function and only under serious 'stress test' environments and conditions do flaws become readily available," Zoldan says. "If you design an app to track your mother, especially if she frequently forgets where she is, then it might seem that the app is flawless until your neighbor says that they too can access the information. Once the problem is recognized, then you can fix it. Paid for apps typical don't have ads, which may or may not track user information more readily."
iOS users may be at greater risk for data leaks, Appthority reported, with 91% of iOS apps exhibiting at least one risky behavior, compared to 80% of Android apps.


text:
San Francisco Condo Prices Continue to Rise: $1,144 per sqft (new condo), $953 per sqft (resale)
According to The Mark Company Trend Sheet, the value of new construction condominiums in San Francisco was $1,144 per square foot in June, up 13 percent year over year, and the value of resale condominiums was $953 per square foot, up 23 percent year over year.
Below you will find the recent new construction and resale condominium report from the Mark Company, one of the leaders in new development sales in San Francisco, and the market guys behind the enormously successful Amero, Arden, 8 Octavia, Park 181, as well as past home runs at The Brannan and 733 Front. They have extensive knowledge and analysis on our real estate market for high rise, luxury, and new constructions, as well as how these properties are being resold.
San Francisco condominium prices rose 13 percent in June 2014 over the previous year, according to the Condominium Pricing Index released by The Mark Company.
The Condominium Pricing Index for June was $1,144 per square foot, which is up 2 percent from May. New construction inventory was 63 percent higher than a year ago, but down 2 percent from the previous month, with 401 units now available.
"While several new developments have begun selling recently in San Francisco, including Arden by Bosa and 8 Octavia, the additional inventory has not been sufficient to stop the persistent appreciation in prices in recent months," noted Erin Kennelly, senior director of research, The Mark Company.
The Condominium Pricing Index, part of the firm's monthly Trend Sheet (available at www.themarkcompany.com), represents the price per square foot of a new 10th floor, 1,000-square-foot condominium. It is based on recent sales data, and uses a proprietary quantitative method to measure trends in market demand. It tracks the value of a new construction condominium without the volatility of inventory changes.
The Mark Company Penthouse Pricing Index, which applies the same methodology to a new 30th floor, 2,000-square-foot condominium, was $1,964 per square foot in June, up 13 percent year over year.
The condominium price per square foot was $953 for resales, up 23 percent year over year and up 2 percent from May 2014, according to The Mark Company Trend Sheet for San Francisco. In addition, there were 268 condominium resales in San Francisco in June, 274 active condominium listings representing approximately one month of inventory, and 168 pending condominium listings, the Trend Sheet found.
Available units include less than 117 residences at Arden in Mission Bay, 29 residences at 8 Octavia in Hayes Valley, 16 condominiums at 1645 Pacific in Nob Hill, 23 units at Fifteen Fifteen in the Mission District, 20 condominiums at Millwheel North in the Dogpatch, 11 units at the Mint Collection in the South of Market neighborhood, and 74 residences at Vida in the Mission District.


text:
Fourteen activists of the Patriotic Union of Cuba (UNPACU) were violently arrested by the political police this past week in the Eastern provinces of Santiago de Cuba and Guantanamo, said Jose Daniel Ferrer Garcia, general coordinator of the mentioned pro-freedom group.
"Specifically, there were 13 human rights activists detained and one relative", explained the dissident, "3 of these are being held in the Third Police Unit of Santiago de Cuba, confined in very harsh conditions since last Monday when they carried out a public protest demanding respect for the citizens affected by Hurricane Sandy in Santiago".
Another 6 detainees, arrested on Tuesday, November 27th, were beaten, according to witnesses. One of them- Lazaro Romero-suffered a severe head injury, added Ferrer. This occurred when the group was on its way to greet Lady in White Adriana Nunez Pascual, who was celebrating her birthday that day. It was also reported that Alexei Varga Martin suffered violent physical aggressions.
"Meanwhile, last Friday- the 23rd- Francisco Claro Osorio was arrested after he was accused by policemen of putting up signs with anti-Castro messages throughout the city", said Ferrer Garcia, "afterward, they detained his brother- Ruben Claro- when he was taking him some products for his personal hygiene in the police unit".
This 30th of November, Abel Lopez Perez was also detained. "His brother- Hector Lopez Perez- was also detained. Police agents searched his home and we still have not been able to confirm if they occupied some materials or equipment which we use to record or publish denouncements, etc".
Ferrer assures that this wave of arrests- as well as many others being reported throughout the country- is attributed to the increase of pro-democracy activism in the streets of Cuba.
"In addition, all these repressive actions indicate that the tyranny is more fearful every time because they know that the majority of Cubans no longer withstand the lack of freedom, the oppression, and the misery in which they are subjected", he affirmed. "All of this plus that fact that, for example, in Santiago de Cuba, as well as many other regions of Eastern Cuba, after more than a month of hurricane Sandy, there are still hundreds of families without roofs, who barely even have enough food for their children, and there is a worrying outbreak of diseases like dengue and cholera due to a sanitary and hygienic crisis".
The former political prisoner points out that the Cuban regime, instead of assisting citizens in reconstructing their homes after the storm, responds with "agents of the political police and other repressive organisms in the street so that they patrol the entire region, always ready to oppress, because there is much discontent and spontaneous protests are taking place throughout different spots where they are supposed to instead be selling materials for the reconstruction of homes".
Many of these protests have occurred, according to Ferrer Garcia, because "there is a horrible bureaucracy, which is very complex, very complicated and full of lots of corruption. Functionaries only give materials to their own relatives and friends, while the rest of the people- the everyday citizens- are the ones who suffer the most and are those whose problems are not solved and that's why these repressive actions occur. When they see 3 or 4 activists congregated who try to film a citizen protest or documenting a difficult social situation, then the repressive agents are there, rapidly mobilizing to beat, detain, and take them to dungeons for numerous days".
UNPACU recently published a video on their YouTube account of a protest carried out by citizens affected by the hurricane. See the video here.
And it is precisely these kinds of protests, as well as other peaceful demonstrations by human rights activists throughout the island, which Ferrer Garcia affirms bring much fear to the dictatorship, signaling that they have very little time left.
For more information from Cuba:
Jose Daniel Ferrer Garcia – Cell Phone: +5353-146-740 // Twitter: @jdanielferrer


text:
Save More with AMTA
$4.99 Shipping
| To Order 1-888-918-2253
Save More with AMTA
$4.99 Shipping
| To Order 1-888-918-2253
Lovely fragrance, light and clean, glides on smoothly and allows for myofascial work too. Not greasy, client enjoys absorption of this creme into their skin for a soft,refreshed skin feel after massage.
Love the glide of this massage creme...lightly scented but refreshing! Clients love this product!
Still my favorite massage cream. I get compliments on the nice light scent. The cream didn't ball up or feel gritty on the skin. Has great glide. Also a good value.
il sent bon en plus
Translation: it smells good and more


text: Hello, I have just brought a Abit VP6 online with 2x 1000mhz and 256mb of ram.. The SCYLD#2 distro was slammed on and a few Compaq desktops were recruited as workers (1 450 int and the other a 380 AMD). A Cisco 3524 rounds out the connections as it hangs on my DSL here at home. I am letting it burn in for awhile and during that time, I would like to open it up to few folks to maybe test you app or favorite benchmarks. Drop me an email off the list and I will be more than happy to try and accomodate you. Bill -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20010329/9b794ba4/attachment.html>


text:
Player stats are complete back to 1992-93, with notable players prior to that.
Every Sports Reference Social Media Account
Site Last Updated: Tuesday, April 23, 6:08AM
Question, Comment, Feedback, or Correction?
Are you a Stathead, too? Subscribe to our Newsletter
All logos are the trademark & property of their owners and not Sports Reference LLC. We present them here for purely educational purposes.
Our reasoning for presenting offensive logos.
Logos were compiled by the amazing SportsLogos.net.
Copyright © 2000-2019 Sports Reference LLC. All rights reserved.


text:
TenonTours necessitava di un nuovo design di tema di wordpress e ha lanciato un contest su 99designs.
È stato scelto un vincitore tra 9 design presentati da 5 designer.
Irish Pub Pass (IrishPubPass.com)
We're designing a site which will serve as THE central destination for Irish Pubs and their loyal patrons all over the world. The idea is to market and sell an Irish Pub Pass, which will be a physical membership card that will entitle patrons to exclusive specials at participating Irish pubs. In addition, Irish Pub Pass will host a number of local events for members in Boston (for starters, will eventually expand), sell Irish-themed merchandise online, and promote tour packages to Ireland through travel partner Tenon Tours (http://www.tenontours.com)
Our target market is 25-45, very social, mostly men, who would rather have a beer at an old pub with beaten wood floors than go to a trendy club or loud obnoxious bar. The type of person who would find value in a loyalty card of sorts, but true to the authentic Irish Pub. He who appreciates a rainy day, a good game of chess, or even a walk through the countryside.
We're looking for a clean, dynamic site with an old-world feel. Rustic, lots of browns and art deco green as in the logo provided, but not drab. Visitors should feel as if they are sitting in an Irish Pub that's been around since 1890. Charm and character throughout. This should not have blog look or feel to it, although we do intend to have a rolling scroll of recent posts, which we will use to welcome new pubs, announce local events, etc.
The site should properly promote the following:
Header Tabs: Home, How it Works, Member Benefits, Pub Directory, Order Your Pass, Merchandise, Events
Home Page:
- Main Image and Call to Action to the Pub Patron (end buyer)
---> Focus on what it gets you and how to get it (Attention Irish Pub Patrons! Save an average of $900/year for only $25! Get yours today)
- Call out to Irish Pub Owners/Managers
---> Register your Irish Pub to join the exclusive network for Irish Pub Pass Members
- Events
---> An area to display an image for events such as "Boston's only St. Patrick's Day Pub Challenge"
- Video
--> Featured Video
- Rotating Photos
--> We'd like to rotate photos of participating pubs
- Rolling Scroll of recent posts
--> We'll use posts to announce new pubs, specials, events, etc.
3 Partner Ads


text:
Threat modelling using attack trees
Session: Security risk & compliance assessment, Tue., Sep. 15, 15:00 - 15:30
The concept of hierarchical risk assessment has been around a few decades, but the corresponding methods for this kind of approach are still very immature. In this talk we will take a particular look at attack trees and the challenges one has to tackle when trying to build an attack tree based threat model. We will talk about the root node identification, choosing the correct level of abstraction, quantitative risk assessment and the limitations of the attack tree methodology.
About Jan Willemson
Jan Willemson has been working on data security and cryptography since 1998 when he joined Cybernetica. He defended his PhD thesis on digital time-stamping at Tartu University (Estonia) in 2002 and has since been active in a variety of research areas including socio-technical risk analysis, secret-shared multi-party computations, security economics and attack trees. He is an author of more than 40 research papers published in major international venues.


text:
Senate moves forward on flood insurance bill
The Senate cleared a procedural hurdle on legislation to delay steep premium hikes for a federal flood insurance program.
WASHINGTON — The Senate cleared a procedural hurdle Monday to advance a bipartisan bill to delay higher premiums under the federal flood insurance program for four years.
The Senate voted overwhelming, 86-13, to overcome a 60-vote threshold in order to begin debate on the bill.
The bill would keep in place current flood insurance rates until the Federal Emergency Management Agency submits a plan to keep premium rates manageable for homeowners and businesses affected by the new rates.
"The country needs to wake up. This issue will affect everyone in many places," said Sen. Mary Landrieu, D-La., a lead sponsor of the legislation. The bill is in response to a 2012 law that allows for premiums to rise to more accurately reflect costs under the National Flood Insurance Program, which is more than $20 billion in debt.
Sen. Bob Menendez, D-N.J., also a lead sponsor, said some 5.5 million properties across all 50 states will be affected. "Every state in the nation will see premiums on some of those properties increase."
The law's effect on certain homeowners in flood risk areas is severe: they could see premiums rise ten-fold or more if Congress does not act to mitigate the increases. New premiums threaten to force people out of their homes and dampen sales in a recovering real estate market.
STORY: Voters have flood of concerns in House race in Florida
"It's hurting our economic recovery just at the moment in which the real estate market is coming back all along the coast of America, as well as along the rivers and lakes, the very places that flood insurance is necessary for a homeowner or business," said Sen. Bill Nelson, D-Fla., who supported the Senate bill.
The legislation faces headwinds in the GOP-controlled House, where leading Republicans want to overhaul the flood insurance program and transition to a private market system for flood coverage. House Speaker John Boehner, R-Ohio, does not support the Senate bill, nor does House Financial Service Chairman Jeb Hensarling, R-Texas, whose panel has jurisdiction over the program.
"The problem is going to be down at the other end of that hallway," Nelson said on the Senate floor, referencing the House. "Because the speaker of the House has already said that he doesn't like it, but what he's going to find out that he doesn't like is a lot of the members of the House of Representatives whose constituents are facing tenfold increases in their flood insurance."


text:
Be with us anywhere:
Abit AB9 Pro driver download Motherboard for windows free
Driver for Motherboard Abit AB9 Pro
On this page you are offered with driver for AB9 Pro Motherboard existing in our database. Icons placed on the left of file name will prompt you in which format and in what language driver download Abit AB9 Pro Motherboard are represented in this file.
If the needed file doesn't exist, therefore the desired driver is missed in our database. It can be ordered in the File Request section.
You can also try to find the appropriate driver for kindred Motherboard Abit models by clicking on the links shown below.
|A-N68SV, A-N78HD, A-S78H, AA8-3rd Eye, AA8-DuraMAX, AA8/AA8XE, AA8XE, AA8XE-3rd Eye, AB9, AB9 Pro, AB9 QuadGT, AB9 Wi-Fi, AG8, AG8 series, AG8-3rd Eye, AG8-V, AH6, AI7, AL8, AL8-V, AN-M2, AN-M2HD, AN4R2, AN52, AN52 V2.0, AN52D, AN52S, AN52V, AN6, AN68SD


text:
True enough.Topper wrote:They were fair and reasonable deals that did not upset the payroll structure. I said nothing of GMMG limiting himself to guys willing to take a discount. Nor did I say anything about BC boys coming home.
(BC boys are the obvious candidates for the "take less to play here" types of deals, or at least the only players one can reasonably assume to be, is why I brought that into this.)
I expect the team to be making a deal or two like that this offseason, particularly if they can't find a trade they like ahead of July 1st.


text:
Jim Dale Not Talking the End of "Deathly Hallows"
Jul 17, 2007
The New York Times has a new interview with actor Jim Dale about the work he does recording the audio books of the US editions of the Harry Potter novels. In this new article, Mr. Dale says after completing his work for the Harry Potter and the Deathly Hallows audiobook, he of course knows the ending to the series ("It's a surprise ending,Let's say that") but says he will not be spoiling anyone by revealing the outcome of the book.
"Mr. Dale signed a confidentiality agreement so that he will not breathe a word of the plot.
But after spending eight years creating more than 200 voices for all the characters in the "Harry Potter" books, Mr. Dale really believes that readers " and listeners " should discover the end for themselves.
"For those people who say, ˜C'mon, Jim, how does it end?,' it's like parents who say: ˜There's a surprise gift for you in the next room. It's a bicycle,' " said Mr. Dale, whose apartment could easily make a Hogwarts professor feel at home with its eclectic collections of Victorian cake decorations, pewter plates and Persian swords. "Let the child find out for himself by opening this gift."
Hear hear!
The piece continues on to provide some insights into the process the actor uses while recording the books, and says the following about how he approached recording Harry Potter and the Deathly Hallows
"Deathly Hallows' which runs to 784 pages in the ink-and-paper version, took about two and a half weeks, working six-and-a-half-hour days, recording about 18 to 20 pages an hour, to finish. As with the other books, Mr. Dale received the manuscript only two or three days before he was scheduled to begin recording.
"That makes it impossible for me to actually read it before recording it' said Mr. Dale, who does not possess the 13-year-old megafan's ability to inhale the book in a weekend.
So he read about 100 pages ahead, and noted all the different voices he needed for the first few days of recording. The benefit of reading in chunks, Mr. Dale said, is that: "I don't ever know how the book is going to end so I can't unconsciously lead you in the direction that the book is going. I don't know who the villain is because I am just reading 100 pages at a time."


text:
Stones Throw Store
Madvillainy Instrumentals
Album Stones Throw STH2099
Description: Madvillainy without the raps is still a classic. Double vinyl now with cover sleeve, Madlib taking his place on the cover with a photo of Doom's mask during the making of the album on back. Pics: Eric Coleman. Design: Jeff Jank
Store info: Payment & shipping
Artist page: Madvillain
Listen to samples and buy Individual MP3s
Digital MP3 Downloads: 320 kbps, non-DRM, playable in any mp3 player.


text:
Rehabbing Georgia QB Murray expects to be ready for pro day
Aaron Murray said Friday his recovery from knee surgery is going "extremely well" and he expects to participate in Georgia's pro day so he can show NFL teams he is "on the right track."
Murray captured most of the Southeastern Conference's major passing records in four years as Georgia's quarterback before he tore the anterior cruciate ligament in his left knee against Kentucky on Nov. 23 and had surgery three days later.
Murray said Georgia director of sports medicine Ron Courson is supervising his rehabilitation. Murray said he plans to be ready to join Georgia's draft-eligible players when they work out for NFL coaches and scouts in April.
"My goal is to be back for my pro day," Murray said. "We're going to push it back as far as possible. I was just talking with Ron and they really believe I'm going to be looking pretty good to go out there and do drops and roll-outs and run the 40 if I want to and things like that. That's my goal. I want to be ready for pro day."
Asked his chances to meet that goal, Murray said "very high."
He said he was emotional when first told the ACL was torn but said he quickly moved on to preparing for the surgery and recovery.
"I felt sorry for myself for about 20, 30 minutes at the stadium and then like I said, it was on to the next thing, figure out what we needed to do to get better, to heal up and get stronger and get going in the right direction," he said.
Murray, who walked without crutches on Friday, said he'll be on the sideline when No. 25 Georgia plays Nebraska in the Gator Bowl.
He said he plans to attend the Senior Bowl and NFL combine.
"I don't know what I'll be able to do physically but just go out there and meet with the people and talk and get on the board," he said.
"My goal right now is to get healthy, to be able to go out there and do as much as I can for pro day and show the teams I'm on the right track right now for recovery and go from there."
Murray started all 52 games of his four seasons. He holds SEC career records for yards passing, touchdown passes, completions and total offense. He became the first quarterback in SEC history to pass for at least 3,000 yards in four seasons.


text:
Nov 11th Regarding DDoS Attacks
Thank you for your interest in 1776 Hosting. If you are a VPS customer, you should be aware that this service is a hardline freedom of speech provider and a small company. We are frequently the target of DDoS attacks and port scans on our IP ranges. You should host here if you need speech protection more than you need 100% uptime, and you should ... Read More »


text:
Pure Leaf Iced Tea from Lipton Contains Just a Hint of Sugar
Pure Leaf Iced Tea, a product of The Pepsi Lipton Tea Partnership, debuts a Not Too Sweet line of ready-to-drink iced tea. Just a bit of added sugar gives this brewed tea a hint of sweetness. The Not Too Sweet lineup includes two flavors: Peach and Honey Green. Each 18.5-ounce single-serve bottle contains 100 calories and retails for $1.66 to $1.79.


text:
CAIRO - An Egyptian court handed down prison sentences to three of the country's most prominent youth activists Sunday in the first use of a controversial new protest law, a harsh warning to the secular groups that supported the military's ouster of Islamist president Mohammed Morsi but have since grown critical of the army-backed government that replaced him.
Ahmed Maher, Ahmed Douma and Mohammed Adel, founders of the April 6 movement, each received three years in prison on charges of holding an illegal rally and assaulting police. According to their lawyers, prosecutors said they had thrown rocks at police, but their defense disputed that they had done the throwing.
It was the first prosecution under a protest law passed last month as part of the government's efforts to rein in near-daily street demonstrations by Morsi supporters. Rights groups say the law, which levies harsh penalties for a variety of offenses linked to protests, shows intent to suppress all dissent. The government says the statute is necessary after three years of unrest that have devastated the economy.
April 6 spearheaded the protests against longtime authoritarian leader Hosni Mubarak that began on Jan. 25, 2011, and led to his overthrow. They also backed the military's July 3 ouster of Morsi after another round of mass protests. But they were alarmed by the new protest law, many arguing it was more repressive than the laws in place during Mubarak's time.
Amr Ali, coordinator for April 6, said the new statute, under which another dozen members of the group face charges, is a continuation of a Mubarak-era policy, turning to a "security solution" to deal with political problems.
"The youth of the revolution who call for freedom, democracy and their right to protest … are today tried unfairly and according to a dictatorial law that reflects this current regime and this current phase— basically turning against the ideals of the revolution," Ali said in a news conference after the verdict.
"We will continue to escalate against the protest law, against this repressive regime," he said. He appealed to Cabinet ministers critical of the law to resign in protest.
Defense lawyer Alaa Abdel-Tawab said he will appeal the court decision, describing it as "political" and "exceptionally harsh" for a misdemeanor court. The three were each fined $7,250.
The New York-based Human Rights Watch said the law, coupled with a recent raid on a local NGO and the continued crackdown on Islamist protesters, were strong signals that the government was in "no mood for dissent of any kind."
Heba Morayef, the group's Egypt Director, said the prosecutions were the "beginning of a serious crackdown on the Jan. 25 generation of protesters." She said the Interior Ministry, which is in charge of the police, blames them for its "loss of status" during the 2011 unrest, which saw the police routed in street battles and police stations attacked.
The government for its part has described the law as an attempt to bring order and stability to the streets in the face of months of continued protests by Morsi's supporters, and the security agencies have strongly rallied for it.
The judges defended the law in court Sunday, rebuffing a challenge by the lawyers that it is unconstitutional.
"The law was not drafted to deprive the people of their right to organize public meetings, and peaceful protests. It was drafted to organize this right" in accordance with the constitution currently in place, according to details of the ruling published on the state news agency.
During the debate over the passage of the law, officials pledged that it will only be used to crack down on violent protests.
The three activists were charged with holding an illegal demonstration and assaulting policemen in connection to a Nov. 30 protest.
Maher went that day to a courtroom to turn himself in for questioning because he was wanted for holding an earlier protest. A crowd of supporters gathered outside, leading to scuffles with the police officers who later fired tear gas.
Egypt's state news agency said the ruling also included putting the three under surveillance for three years after they serve their term— an unusual decision, particularly against political activists.
They had already been in detention and will now begin serving their sentences.
Mostafa Alnagar, a prominent protest leader and former lawmaker in the first parliament after the 2011 uprising, said on his Twitter account that the verdict was "the launch of the period of revenge against the revolution."
Other secular groups planned protests Monday against the verdict and the law.
Growing secular disenchantment with the government has been overshadowed by the confrontation between Morsi's Muslim Brotherhood and authorities. Hundreds of Islamists have been killed and thousands jailed in the crackdown, with strong support from most of the media.
Reflecting the general mood, most of Egypt's private TV stations gave little airtime to the verdict. During an initial period of rule by military generals after Mubarak's overthrow and under Morsi, arrests and trials of activists were extensively covered.
Newspaper columnist Abdullah el-Sinawi said that after years of turmoil, a growing segment of the public has little understanding for the reasons behind continued protests, and little sympathy for the Brotherhood.
"The right of peaceful protesting has been abused by the Brotherhood. A large sector of the public is yearning for the presence of a strong and attentive state … They have no understanding of the reasons of the activists for protesting," he said. "Activists are not aware that they need popular support."
Egypt is currently gearing up for a referendum on the constitution amended after Morsi's ouster, and the third anniversary of the Jan. 25 revolution.
In both events, Morsi supporters had said they will organize rallies. A coalition of his supporters led by the Muslim Brotherhood said Sunday it was calling for a boycott of the referendum, describing the amendment of the constitution as an attempt to bestow legitimacy on the military coup.
On Sunday, TV channels quoted government officials urging people to vote in the referendum and warning against attempts to derail voting. Interior Minister Mohammed Ibrahim, speaking to police officers Sunday, said a plan to secure the voting was in place in coordination with the armed forces, and "any attempt to break the law will be dealt with decisively."
The country's Prime Minister Hazem el-Beblawi told a public gathering that it was time to rally behind the authorities' plans, and put aside differences.
"This is not the time to make demands, or to settle scores. This is the time to gather around Egypt and serve it, to sacrifice, to build," el-Beblawi said.


text:
A story in the New York Daily News over the weekend entitled "Hip households in New York are installing tepees as places of play and reflection" documented the phenomenon of indoor tepees, which are "taking off in New York."
The story highlights tepees built by young urban parents in their homes in Brooklyn, as well as one belonging to a young woman who enjoys sitting inside it and writing poetry. Also mentioned are a couple of tepees built to add ambience to commercial spaces in Manhattan. But the Daily News article doesn't forget to give some cultural context: "Of course, Brooklyn hipsters didn't invent tepees, and their significance in Native American culture can't be ignored" it says, then goes on to quote Ines Hernandez-Avila, Native American Studies department chair at the University of California, Davis.
Her view: "It's a really strange thing to do."
And New Yorkers wonder why the rest of the country hates them sometimes. But it makes us wonder—when enough Brooklyn hipsters do something to justify articles in the local press, are we deeper into the trend than we might have imagined? Have we arrived at, or passed, the tepee tipping point?
Whatever the case, we're bracing for tepee mania. Here's a quick look at what's already out there:
The Brooklyn Indoor Tepee
A tepee in Brooklyn, from the New York Daily News article "Hip households in New York are installing tepees as places of play and reflection."
A Tepee for your Special Day
Site OneWed.com says a tepee is a cool alternative to a bland tent at weddings. OneWed points to the kids' tents at Kate Moss's 2011 wedding as key to the trend, but the New York Times says that Euros in tepeesgoes back perhaps as much as a decade.
Tepee for Squeamish Parents
The Pee-pee Teepee. This product claims it's "for the sprinkling wee-wee"—although, let's face it, wee-wees have been sprinkling since the dawn of time. This is not a new problem. A parent who carries around a sack of these felt cones to avoid contact with baby pee—as if that were even possible—is kind of a wimp.
Feline Tepee
With canvas panels and birch poles, CatTipi is the fancy tepee for cats. Much fancier than the cardboard cat tepee. Although you just have to wonder: Does a cat in a tepee—even a very smart cat—know he's in a tepee? With no sense of human culture or history (much less cultural appropriation), this furry fella might be just as happy in a cardboard box that says "SEARS" on the side.
Tepee in Denial
This tepee is designed by Cath Kidston and sold by Free People, and curiously described as a "retro inspired tent." Looks like a tepee-inspired tepee to us, but what do we know. Wait a minute, Free People… why is that name familiar? Oh, right—it's a sub-brand of Urban Outfitters, the company that got in trouble for selling Indian-ish things as Indian. No wonder this tepee wants to be a "retro inspired tent."
It's cool, Mr. Te—er, Mr. Retro Inspired Tent, your secret is safe with us.
Ink Tepee
Tepee with Crudeetees
We have to hand it to the food blogger at RookNo17—making a tepee out of a quesadilla and carrots is pretty clever. But without the Li'l Red Sambo figure (really?) we might not have recognized them as tepees.
This isn't your typical tepee interior—for starters, it's in Portugal. This picture comes from Tipi Algarve, a resort where visitors pay to stay in gussied-up tepees, safari tents, and yurts. This is the interior of the Buddha Tipi, which can be yours for about $500/week. It's all part of a trend in vacationing called "glamping"—glamorous camping. (Yes, this is a real thing—visit glamping.com for a wide selection of high-end getaways featuring huts, treehouses, and eco-pods.)
Sweet Tepee
We found these Ice Cream Cone Tepees at Quick Dish, and they look delicious! They don't really look like tepees, but your stomach doesn't really care. (Note: they are filled with cake, not ice cream.)
Roadside Tepees
The Teepee Motel & RV Park of Wharton, Texas, a landmark/eyesore since 1942, restored and modernized by Texas Lottery winner Bryon Woods in the 21st century.


text:
A Dallas councilman says pants are still sagging and he's rolling out another push to get people to "pull 'em up."
Councilman Dwaine Caraway attracted national attention a few years ago when he first asked men to quit showing their underwear with low-hanging pants.
Some publicity was not positive. President Barack Obama gave Caraway heat, saying city leaders should have other things to worry about.
But on Wednesday, Caraway had a response for the president and his daughters.
"Tasha and Malia [Obama] -- they don't ride the DART bus here in Dallas, and they have Secret Service," he said. "And they're not walking through Walmart over on Wheatland dealing with these issues on a daily basis."
Caraway had support this time from most of the City Council and dozens of other city leaders at a press conference Wednesday to announce his campaign.
He said sagging pants are disrespectful to women. Caraway also said exposed underwear could even be a health hazard on Dallas Area Rapid Transit bus seats and in food stores.
"When they take care of that uncomfortable moment, they will be touching on the grapes, the apples, the lemons and everything else," Caraway said.
Men who wore their pants low in downtown Dallas on Wednesday said it's a matter of style and comfort that is not harmful to anyone.
"You know, this is the new generation; people got to understand," DART passenger Daroius Favors said.
Chris Anderson, another passenger, said buses have far more offensive passengers.
"A lot of people get on the bus [smelling] like piss and be musty," he said. "What they going to do about that?"
Most of the men with sagging pants also wore long shirts that covered their midsection.
"There's plenty of girls out there with their short dresses, showing more body than what we're showing," Anderson said.
Caraway and his supporters also said women should also show more respect with their clothing.
Councilwoman Carolyn Davis said women can help end sagging by telling guys to pull their pants up.
"Ladies, we have to stop it," she said. "They only do it because we accept it."
Caraway is asking DART to adopt a policy similar to Fort Worth's The T, which does not allow people with exposed underwear to ride the bus.
He said donated billboards would once again carry a "pull 'em up" message. And signs would be printed for stores willing to forbid sagging customers.
Caraway also plans a June 23 "Sagging Summit" to include former Dallas Cowboy Deion Sanders.
"It's imperative that this issue is addressed as we continue to grow our city," Caraway said.


text:
Creating Your Own Exceptions with the SIGNAL Statement
So far in this chapter, we have talked about how you can handle errors raised by MySQL as it executes SQL statements within the stored program. In addition to these system-raised exceptions, however, you will surely have to deal with errors that are specific to an application's domain of requirements and rules. If that rule is violated in your code, you may want to raise your own error and communicate this problem back to the user. The SQL:2003 specification provides the SIGNAL statement for this purpose.
The SIGNAL statement allows you to raise your own error conditions. Unfortunately, at the time of writing, the SIGNAL statement is not implemented within the MySQL stored program language (it is currently scheduled for MySQL 5.2).
You can't use the SIGNAL statement in MySQL 5.0, but we are going to describe it here, in case you are using a later version of MySQL in which the statement has been implemented. Visit this book's web site (see the Preface for details) to check on the status of this and other enhancements to the MySQL stored program language.
So let's say that we are creating a stored procedure to process employee date-of-birth changes, as shown in Example 6-16. Our company never employs people under the age of 16, so we put a check in the stored procedure to ensure that the updated date of birth is more than 16 years ago (the curdate() function returns the current timestamp).
Missing SQL:2003 Features
Example 6-16. Example stored procedure with date-of-birth validation
CREATE PROCEDURE sp_update_employee_dob
(p_employee_id INT, p_dob DATE, OUT p_status varchar(30))
IF DATE_SUB(curdate(), INTERVAL 16 YEAR) <p_dob THEN
SET p_status='Employee must be 16 years or older';
UPDATE employees
SET date_of_birth=p_dob
WHERE employee_id=p_employee_id;
SET p_status='Ok';
This implementation will work, but it has a few disadvantages. The most significant problem is that if the procedure is called from another program, the procedure will return success (at least, it will not raise an error) even if the update was actually rejected. Of course, the calling program could detect this by examining the p_status variable, but there is a good chance that the program will assume that the procedure succeeded since the procedure call itself does not raise an exception.
We have designed the procedure so that it depends on the diligence of the programmer calling the procedure to check the value of the returning status argument. It is all too tempting and easy to assume that everything went fine, since there was no error.
To illustrate, if we try to set an employee's date of birth to the current date from the MySQL command line, everything seems OK:
mysql> CALL sp_update_employee_dob(1,now(),@status);
Query OK, 0 rows affected (0.01 sec)
It is only if we examine the status variable that we realize that the update did not complete:
mysql> SELECT @status;
| @status |
| Employee must be 16 years or older |
1 row in set (0.00 sec)
This stored procedure would be more robust, and less likely to allow errors to slip by, if it actually raised an error condition when the date of birth was invalid. The ANSI SQL:2003 SIGNAL statement allows you to do this:
SIGNAL takes the following form:
SIGNAL SQLSTATE sqlstate_code|condition_name [SET MESSAGE_TEXT=string_or_variable];
You can create your own SQLSTATE codes (there are some rules for the numbers you are allowed to use) or use an existing SQLSTATE code or named condition. When MySQL implements SIGNAL , you will probably be allowed to use a MySQL error code (within designated ranges) as well.
When the SIGNAL statement is executed, a database error condition is raised that acts in exactly the same way as an error that might be raised by an invalid SQL statement or a constraint violation. This error could be returned to the calling program or could be trapped by a handler in this or another stored program. If SIGNAL were available to us, we might write the employee date-of-birth birth procedure, as shown in Example 6-17.
Example 6-17. Using the SIGNAL statement (expected to be implemented in MySQL 5.2)
CREATE PROCEDURE sp_update_employee_dob
(p_employee_id int, p_dob date)
DECLARE employee_is_too_young CONDITION FOR SQLSTATE '99001';
IF DATE_SUB(curdate(), INTERVAL 16 YEAR) <P_DOB THEN
SIGNAL employee_is_too_young
SET MESSAGE_TEST='Employee must be 16 years or older';
UPDATE employees
SET date_of_birth=p_dob
WHERE employee_id=p_employee_id;
If we ran this new procedure from the MySQL command line (when MySQL implements SIGNAL ), we would expect the following output:
mysql> CALL sp_update_employee(1,now());
ERROR 90001 (99001): Employee must be 16 years or older
Using SIGNAL , we could make it completely obvious to the user or calling program that the stored program execution failed.
{mospagebreak title=Emulating the SIGNAL Statement}
The absence of the SIGNAL statement makes some stored program logic awkward, and in some cases demands that calling applications examine OUT variables, rather than SQL return codes, to check the results of some operations.
There is, however, a way to force an error to occur and pass some diagnostic information back to the calling application. You can, in other words, emulate SIGNAL in MySQL 5.0, but we warn you: this solution is not pretty!
Where we would otherwise want to use the SIGNAL statement to return an error to the calling application, we can instead issue a SQL statement that will fail—and fail in such a way that we can embed our error message within the standard error message.
Missing SQL:2003 Features
The best way to do this is to issue a SQL statement that attempts to reference a nonexistent table or column. The name of the nonexistent column or table can include the error message itself, which will be useful because the name of the column or table is included in the error message.
Example 6-18 shows how we can do this. We try to select a nonexistent column name from a table and we make the nonexistent column name comprise our error message. Note that in order for a string to be interpreted as a column name, it must be enclosed by backquotes (these are the quote characters normally found on your keyboard to the left of the 1 key).
Example 6-18. Using a nonexistent column name to force an error to the calling program
CREATE PROCEDURE sp_update_employee_dob2
(p_employee_id INT, p_dob DATE)
IF datediff(curdate(),p_dob)<(16*365) THEN
UPDATE `Error: employee_is_too_young; Employee must be 16 years or older`
SET x=1;
UPDATE employees
SET date_of_birth=p_dob
WHERE employee_id=p_dob;
If we try to run the stored procedure from the MySQL command line, passing in an invalid date of birth, we get a somewhat informative error message:
MySQL> CALL sp_update_employee_dob2(2,now());
ERROR 1054 (42S22): Unknown column 'Error: employee_is_too_young; Employee must be 16
years or older' in 'field list'
The error code is somewhat garbled, and the error code is not in itself accurate, but at least we have managed to signal to the calling application that the procedure did not execute successfully and we have at least provided some helpful information.
We can somewhat improve the reliability of our error handling—and also prepare for a future in which the SIGNAL statement is implemented—by creating a generic procedure to implement our SIGNAL workaround. Example 6-19 shows a procedure that accepts an error message and then constructs dynamic SQL that includes that message within an invalid table name error.
Example 6-19. Standard procedure to emulate SIGNAL
CREATE PROCEDURE `my_signal`(in_errortext VARCHAR(255))
SET @sql=CONCAT('UPDATE `',
'` SET x=1');
PREPARE my_signal_stmt FROM @sql;
EXECUTE my_signal_stmt;
DEALLOCATE PREPARE my_signal_stmt;
We could now implement our employee date-of-birth update routine to call this routine, as shown in Example 6-20.
Example 6-20. Using our SIGNAL emulation procedure to raise an error
CREATE PROCEDURE sp_update_employee_dob2(p_employee_id INT, p_dob DATE)
IF datediff(curdate(),p_dob)<(16*365) THEN
CALL my_signal('Error: employee_is_too_young; Employee must be 16
years or older');
UPDATE employees
SET date_of_birth=p_dob
WHERE employee_id=p_employee_id;
Not only does this routine result in cleaner code that is easier to maintain, but when MySQL does implement SIGNAL , we will only need to update our code in a single procedure.
{mospagebreak title=Putting It All Together}
We have now covered in detail the error-handling features of MySQL. We'll finish up this discussion by offering an example that puts all of these features together. We will take a simple stored procedure that contains no exception handling and apply the concepts from this chapter to ensure that it will not raise any unhandled exceptions for all problems that we can reasonably anticipate.
The example stored procedure creates a new departments row. It takes the names of the new department, the manager of the department, and the depar
tment's location. It retrieves the appropriate employee_id from the employees table using the manager's name. Example 6-21 shows the version of the stored procedure without exception handling.
Example 6-21. Stored procedure without error handling
CREATE PROCEDURE sp_add_department
(p_department_name VARCHAR(30),
p_manager_surname VARCHAR(30),
p_manager_firstname VARCHAR(30),
p_location VARCHAR(30) ,
out p_sqlcode INT,
out p_status_message VARCHAR(100))
DECLARE l_manager_id INT;
DECLARE csr_mgr_id cursor for
SELECT employee_id
FROM employees
WHERE surname=UPPER(p_manager_surname)
AND firstname=UPPER(p_manager_firstname);
OPEN csr_mgr_id;
FETCH csr_mgr_id INTO l_manager_id;
INSERT INTO departments (department_name,manager_id,location)
CLOSE csr_mgr_id;
This program reflects the typical development process for many of us: we concen trate on implementing the required functionality (the "positive") and generally pay little attention to (or more likely, want to avoid thinking about) what could possibly go wrong. The end result is a stored program that contains no error handling.
So either before you write the program (ideally) or after the first iteration is done, you should sit down and list out all the errors that might be raised by MySQL when the program is run.
Here are several of the failure points of this stored procedure:
- If the manager's name is incorrect, we will fail to find a matching manager in the employees table. We will then attempt to insert a NULL value for the MANAGER_ID column, which will violate its NOT NULL constraint.
- If the location argument does not match a location in the locations table, the foreign key constraint between the two tables will be violated.
- If we specify a department_name that already exists, we will violate the unique constraint on the department_name .
The code in Example 6-22 demonstrates these failure scenarios.
Example 6-22. Some of the errors generated by a stored procedure without error handling
mysql> CALL sp_add_department
('Optimizer Research','Yan','Bianca','Berkshire',
ERROR 1062 (23000): Duplicate entry 'OPTIMIZER RESEARCH'
for key 2
mysql> CALL sp_add_department
('Optimizer Research','Yan','Binca','Berkshire',
ERROR 1048 (23000): Column 'MANAGER_ID' cannot be null
mysql> CALL sp_add_department('Advanced
ERROR 1216 (23000): Cannot add or update a child row: a
foreign key constraint fails
The good news is that MySQL detects these problems and will not allow bad data to be placed into the table. If this stored procedure will be called only by the host language, such as PHP or Java, we could declare ourselves done. If, on the other hand, this program might be called from another MySQL stored program, then we need to handle the errors and return status information so that the calling stored program can take appropriate action. Example 6-23 shows a version of the stored procedure that handles all the errors shown in Example 6-22.
Example 6-23. Stored procedure with error handling
1 CREATE PROCEDURE sp_add_department 2
2 (p_department_name VARCHAR(30),
3 p_manager_surname VARCHAR(30),
4 p_manager_firstname VARCHAR(30),
5 p_location VARCHAR(30),
6 OUT p_sqlcode INT,
7 OUT p_status_message VARCHAR(100))
10 /* START Declare Conditions * /
1 1
12 DECLARE duplicate_key CONDITION FOR 1062 ;
13 DECLARE foreign_key_violated CONDITION FOR 1216;
1 4
15 /* END Declare Conditions * /
1 6
17 /* START Declare variables and cursors * / 1 8
19 DECLARE l_manager_id INT ;
2 0
21 DECLARE csr_mgr_id CURSOR FO R
22 SELECT employee_id
23 FROM employees
24 WHERE surname=UPPER(p_manager_surname)
25 AND firstname=UPPER(p_manager_firstname);
2 6
27 /* END Declare variables and cursors * / 2 8
29 /* START Declare Exception Handlers * /
3 0
31 DECLARE CONTINUE HANDLER FOR duplicate_ke y
33 SET p_sqlcode=1052;
34 SET p_status_message='Duplicate key error';
3 6
37 DECLARE CONTINUE HANDLER FOR foreign_key_violate d
39 SET p_sqlcode=1216;
40 SET p_status_message='Foreign key violated';
4 2
43 DECLARE CONTINUE HANDLER FOR not FOUN D
45 SET p_sqlcode=1329;
46 SET p_status_message='No record found';
4 8
49 /* END Declare Exception Handlers * /
5 0
51 /* START Execution * /
5 2
53 SET p_sqlcode=0 ;
54 OPEN csr_mgr_id;
55 FETCH csr_mgr_id INTO l_manager_id;
5 6
57 IF p_sqlcode<>0 THEN /* Failed to get manager id* /
58 SET p_status_message=CONCAT(p_status_message,' when
fetching manager id');
60 /* Got manager id, we can try and
insert */
61 INSERT INTO departments
62 VALUES(UPPER(p_department_name),l_manager_id,UPPER
63 IF p_sqlcode<>0 THEN/* Failed to insert new department */
64 SET p_status_message=CONCAT(p_status_message,
65 ' when inserting new department');
6 8
69 CLOSE csr_mgr_id ;
7 0
71 / * END Execution * /
7 2
Let's go through Example 6-23 and review the error-handling code we have added.
12 and 13
Create condition declarations for duplicate key (1062) and foreign key (1216) errors. As we noted earlier, these declarations are not strictly necessary, but they improve the readability of the condition handlers we will declare later.
Define handlers for each of the exceptions we think might occur. The condition names match those we defined in lines 10 and 11. We didn't have to create a NOTFOUNDcondition, since this is a predefined condition name. Each handler sets an appropriate value for the output status variables p_sqlcodeand p_status_message.
|On this line we check the value of the p_sqlcode variable following our fetch from the cursor that retrieves the manager's employee_id . If p_sqlcode is not 0, then we know that one of our exception handlers has fired. We add some context information to the message—identifying the statement we were executing—and avoid attempting to execute the insert into the departments table.
|Check the value of the p_sqlcode variable following our insert operation. Again, if the value is nonzero, we know that an error has occurred, and we add some context information to the error message. At line 53, we don't know what error has occurred—it could be either the foreign key or the unique index constraint. The handler itself controls the error message returned to the user, and so we could add handling for more error conditions by adding additional handlers without having to amend this section of code.
Running the stored procedure from the MySQL command line shows us that all the exceptions are now correctly handled. Example 6-24 shows the output generated by various invalid inputs.
Example 6-24. Output from stored procedure with exception handling
mysql> CALL sp_add_department2('Optimizer
Query OK, 0 rows affected (0.17 sec)
mysql> SELECT @p_sqlcode,@p_status_message
+————+—————————–+ | @p_sqlcode | @p_status_message |
+————+—————————–+ | 1052 | Duplicate key error when inserting new
department |
+————+—————————–+ 1 row in set (0.00
mysql> CALL sp_add_department2('Optimizer
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @p_sqlcode,@p_status_message
+————+—————————–+ | @p_sqlcode | @p_status_message |
+————+—————————–+ | 1329 | No
record found when fetching manager id | +————+————–
—————+ 1 row in set (0.00 sec)
mysql> call sp_add_department2('Advanced
Query OK, 0 rows affected (0.12 sec)
mysql> SELECT @p_sqlcode,@p_status_message
+————+—————————–+ | @p_sqlcode |
@p_status_message |
+————+—————————–+ | 1216 |
Foreign key violated when inserting new
department | +————+——————–
———+ 1 row in set (0.00 sec)
{mospagebreak title=Handling Stored Program Errors in the Calling Application}
Throughout this chapter, we've often talked about "returning the error to the calling application." In our examples we have used the MySQL command-line client to represent the calling application since this client is common to all environments and readers, and it allows you (and us) to quickly test out the stored program.
In production environments, however, the calling application will not be the MySQL command-line program, but possibly a web-based application using PHP, Perl, Java, Python, or .NET (C# or Visual Basic) to interface with the MySQL stored program. In Chapters 12 through 17, we look in detail at how to invoke stored programs from a variety of languages. We also cover various techniques for retrieving status and error messages from these languages. However, since we're on the topic of error handling, let's briefly look at how we can process errors generated by a stored program called from each of these languages.
PHP provides a variety of ways of interacting with MySQL. There are four major interfaces available:
PEAR (PHP Extension and Application Repository)
The PEAR repository includes a standard, database-independent module called PEAR DB that can be used to interface with almost any relational database.
PHP includes a MySQL-specific interface inventively called the mysql extension.
Commencing with PHP 5, a new interface— mysqli —was introduced (according to the developer, the " i " stands for "any one of: improved, interface, ingenious, incompatible, or incomplete"). This interface provides better support for new features of MySQL.
PDO (PHP Data Objects)
PDO, a new interface with PHP 5.1, provides a PHP 5N compatible, object-oriented, database-independent interface.
The mysqli and PDO interfaces provide the best support for MySQL stored programs and other new features of MySQL 5.0.
In Chapter 13, we show in detail how to use stored programs with each of the major PHP interfaces and provide examples of both procedural and nonprocedural styles. For now, let's look at a simple example showing how to process errors using the object-oriented variant of the mysqli interface.
In Example 6-25, a simple stored procedure—one without OUT parameters or result sets—is executed on line 8. If the method call returns failure, we can examine various properties of the database connection object ( $dbh in this example). $dbh->errno contains the MySQL error code, $ dbh->error contains the error message, and $dbh-> sqlstate contains the SQLSTATE code.
Example 6-25. Error handling in the PHP 5 mysqli interface
1 $dbh = new mysqli($hostname, $username, $password, $database) ;
2 /* check connection */
3 if (mysqli_connect_errno()) {
4 printf("Connect failed: %sn", mysqli_connect_error());
5 exit();
6 }
8 if ($dbh->query("call error_test_proc(1)")) /*execute stored
procedure* /
9 {
10 printf("Stored procedure execution succeeded");
11 }
12 else // Stored procedure failed – show error
13 {
14 printf("<p>Stored procedure error: MySQL error %d (SQLSTATE
%s)n %sn",
15 $dbh->errno,$dbh->sqlstate,$dbh->error);
16 }
The Perl DBI interface provides a consistent interface to various relational databases. The error-handling techniques for Perl are very similar to those of PHP.
DBI objects—such as database and statement handles—include the following properties:
Contains the database-specific return code (in our
case, the MySQL error code).
Contains the full message text.
Contains the SQLSTATE variable. However, the
SQLSTATE variable usually includes only a generic
success or failure code.
Each of these items can be referenced as a method or a property, so, for instance, you can reference the last MySQL error code for the connect handle $dbh as either $dbh::err or $dbh->err .
Example 6-26 shows a simple Perl code fragment that executes a stored procedure and checks the error status. On line 5 we execute a simple stored procedure (one without parameters or result sets). If the stored procedure call fails, we interrogate the error methods from the database handle.
Example 6-26. Error handling in Perl DBI
1 $dbh = DBI->connect("DBI:mysql:$database:$host:$port",
2 "$user", "$password",
3 { PrintError => 0}) || die $DBI::errstr;
5 if ($dbh->do("call error_test_proc(1)") )
6 {
7 printf("Stored procedure execution succeededn");
8 }
9 else
10 {
11 printf("Error executing stored procedure: MySQL error %d
(SQLSTATE %s)n %sn",
12 $dbh->err,$dbh->state,$dbh->errstr);
13 }
MySQL provides a Java JDBC 3.0 driver—MySQL Connector/J—that allows Java programs to interact with a MySQL server.
Like most modern object-oriented languages, Java uses structured exception han dling to allow for flexible and efficient interception and handling of runtime errors. Rather than check the error status of every database call, we enclose our JDBC statements within a try block. If any of these statements causes a SQLException error, then the catch handler will be invoked to handle the error.
The catch handler has access to a SQLException object that provides various methods and properties for diagnosing and interpreting the error. Of most interest to us are these three methods:
Returns the MySQL-specific error code
Returns the ANSI-standard SQLSTATE code
Returns the full text of the error message
Example 6-27 shows an example of invoking a simple stored procedure that involves no OUT parameters or result sets. On line 8 we create a statement object, and on line 9 we use the execute method of that object to execute the stored procedure. If an error occurs, the catch block on line 11 is invoked, and the relevant methods of the SQLException object are used to display the details of the error.
Example 6-27. Stored procedure error handling in Java/JDBC
1 try {
2 Class.forName("com.mysql.jdbc.Driver").newInstance();
4 String ConnectionString="jdbc:mysql://" + hostname + "/" +
database + "?user=" +
5 username + "&password=" + password;
6 System.out.println(ConnectionString); 7 Connection conn
= DriverManager.getConnection(ConnectionString);
8 Statement stmt=conn.createStatement(); 9 stmt.execute
("call error_test_proc(1)");
10 }
11 catch(SQLException SQLEx) {
12 System.out.println("MySQL error: "+SQLEx.getErrorCode()+
13 " SQLSTATE:" +SQLEx.getSQLState());
14 System.out.println(SQLEx.getMessage());
15 }
Python can connect to MySQL using the MySQLdb extension. This extension generates Python exceptions if any MySQL errors are raised during execution. We enclose our calls to MySQL in a try block and catch any errors in an except block.
Example 6-28 shows how we can connect to MySQL and execute a stored procedure in Python. Line 1 commences the try block, which contains our calls to MySQL. On line 2 we connect to MySQL. On line 7 we create a cursor (SQL statement handle), and on line 8 we execute a stored procedure call.
Example 6-28. Stored procedure error handling in Python
1 try:
2 conn = MySQLdb.connect (host = 'localhost',
3 user = 'root',
4 passwd = 'secret', 5 db = 'prod',
6 port=3306)
7 cursor1=conn.cursor()
8 cursor1.execute("CALL error_test_proc()")
9 cursor1.close()
11 except MySQLdb.Error, e:
12 print "Mysql Error %d: %s" % (e.args[0], e.args
If any of these calls generates a MySQL error condition, we jump to the except block on line 11. The MySQLdb.Error object (aliased here as e ) contains two elements: element 0 is the MySQL error code, and element 1 is the MySQL error message.
MySQL provides an ADO.NET connector—MySQL Connector/Net—that allows any .NET-compatible language to interact with a MySQL server.
In this chapter we provide a short example of handling stored procedure errors from a C# program. More details are provided in Chapter 17.
As in Java, C# provides an exception-handling model that relieves the developer of the necessity of checking for error conditions after every statement execution. Instead, commands to be executed are included within a try block. If an error occurs for any of these statements, execution switches to the catch block, in which appropriate error handling can be implemented.
Example 6-29 shows an example of error handling for a simple stored procedure (one without output parameters or result sets) in C#. A statement object for the stored procedure is created on line 15, and the statement is executed on line 17. If a MySqlException (essentially any MySQL error) occurs, the error handler defined on line 19 is invoked.
Example 6-29. Error handling in C#/ADO.NET
1 MySqlConnection myConnection ;
2 myConnection = new MySqlConnection();
3 myConnection.ConnectionString =
4 ";user
5 try {
6 myConnection.Open();
7 }
8 catch (MySqlException MyException) {
9 Console.WriteLine("Connection error: MySQL code:
10 +" "+ MyException.Message);
11 }
1 2
13 try {
1 4
15 MySqlCommand myCommand = new MySqlCommand("call
error_test_proc(1)" , 16 myConnection);
17 myCommand.ExecuteNonQuery(); 18 }
19 catch (MySqlException MyException) {
20 Console.WriteLine("Stored procedure error: MySQL code: "
+ MyException.Number 21 + " " +
MyException.Message) ;
22 }
catch blocks have access to a MySQLException object; this object includes Message and Number properties, which contain the MySQL error message and error number, respectively.
Visual Basic .NET
The process for handling stored program errors in Visual Basic .NET (VB.NET) is practically identical to that of C#.
Example 6-30 shows an example of error handling for a simple stored procedure (one without output parameters or result sets) in VB.NET. A statement object for the stored procedure is created on lines 16 and 17, and the statement is executed on line 18. If a MySqlException (essentially any MySQL error) occurs, the error handler defined in lines 20-24 is invoked.
Example 6-30. Stored procedure error handling in VB.NET
1 Dim myConnectionString As String = "Database=" & myDatabase & _
2 " ;Data Source=" & myHost & _
3 ";User Id=" & myUserId & ";Password=" & myPassword
5 Dim myConnection As New MySqlConnection(myConnectionString)
7 Try
8 myConnection.Open()
9 Catch MyException As MySqlException
10 Console.WriteLine("Connection error: MySQL code: " &
MyException.Number & _
11 " " + MyException.Message)
12 End Try
14 Try
16 Dim myCommand As New MySqlCommand("call
17 myCommand.Connection = myConnection 18 myCommand.ExecuteNonQuery()
1 9
20 Catch MyException As MySqlExceptio n
21 Console.WriteLine("Stored procedure error: MySQL code:
" & _
22 MyException.Number & " " & _
23 MyException.Message)
24 End Try
Catch blocks have access to a MySQLException object; this object includes Message and Number properties, which contain the MySQL error message and error number, respectively.
{mospagebreak title=Conclusion}
In this chapter we examined the MySQL error handlers that allow you to catch error conditions and take appropriate corrective actions. Without error handlers, your stored programs will abort whenever they encounter SQL errors, returning control to the calling program. While this might be acceptable for some simple stored programs, it is more likely that you will want to trap and handle errors within the stored program environment, especially if you plan to call one stored program from another. In addition, you need to declare handlers for cursor loops so that an error is not thrown when the last row is retrieved from the cursor.
Handlers can be constructed to catch all errors, although this is currently not best practice in MySQL, since you do not have access to an error code variable that would allow you to differentiate between possible error conditions or to report an appropriate diagnostic to the calling program. Instead, you should declare individual handlers for error conditions that can reasonably be anticipated. When an unexpected error occurs, it is best to let the stored program abort so that the calling program has access to the error codes and messages.
Handlers can be constructed that catch either ANSI-standard SQLSTATE codes or MySQL-specific error codes. Using the SQLSTATE codes leads to more portable code, but because specific SQLSTATE codes are not available for all MySQL error conditions, you should feel free to construct handlers against MySQL-specific error conditions.
To improve the readability of your code, you will normally want to declare named conditions against the error codes you are handling, so that the intention of your handlers is clear. It is far easier to understand a handler that traps DUPLICATE_KEY_VALUE than one that checks for MySQL error code 1062.
At the time of writing, some critical SQL:2003 error-handling functionality has yet to be implemented in MySQL, most notably the ability to directly access the SQLSTATE or SQLSTATE variables, as well as the ability to raise an error condition using the SIGNAL statement. In the absence of a SQLSTATE or SQLCODE variable, it is good practice for you to define handlers against all error conditions that can reasonably be anticipated that populate a SQLCODE -like variable that you can use within your program code to detect errors and take appropriate action. We expect MySQL to add these "missing" features in version 5.2—you should check to see if they have been implemented in the time since this book was written (see the book's web site for details). Note also that it is currently possible to provide a workaround (though a somewhat awkward one) for the missing SIGNAL statement if you find that it is absolutely necessary in your programs.


text:
The Montreal Canadiens struggled down the stretch but still earned the No. 2 seed in the Eastern Conference thanks in part to a key victory over Toronto in the regular-season finale. The Habs will get a date with the surprising Ottawa Senators, who took the seventh seed despite injuries to several key players this season. With the cities just a two-hour drive apart, expect an electric atmosphere in both rinks as fans of both teams fill the seats. The pressure in this series seems to be squarely on Montreal. Making it to the post-season was a significant accomplishment for the banged-up Senators, who are playing with house money and have nothing to lose. With star defenceman Erik Karlsson now back on the blue-line, Ottawa could give Montreal all it can handle and then some.
As a No. 8 seed last year, the Los Angeles Kings went about their business and kept upsetting teams en route to their first Stanley Cup title. The pressure will be more intense this year as they go for back-to-back championships. Los Angeles was steady throughout the season and will be brimming with confidence entering its first-round series with St. Louis. The Kings swept the Blues last year and Los Angeles won all three regular-season meetings this year. In addition, Kings goaltender Jonathan Quick has shown he can thrive in the playoff spotlight. Los Angeles is looking to become the first team to repeat since the Detroit Red Wings won a second straight title in 1998.
The lone Canadian team to make the playoffs in the Western Conference, the Vancouver Canucks have a few question marks entering their first-round matchup with the San Jose Sharks. Chief among them is the status of netminder Cory Schneider. Has he fully recovered from the undisclosed "body injury" he was nursing down the stretch? Will Roberto Luongo be in form to carry the load if needed? Luongo served in a limited role this season and is coming off a 7-2 shellacking in the regular-season finale at Edmonton. Vancouver is the third seed in the West but the two teams have virtually identical records. The Canucks had trouble with San Jose this season, losing all three of their regular-season games to the Sharks.
The Chicago Blackhawks showed early on that they are the team to beat in the West. The Pittsburgh Penguins weren't fazed by injury issues and surged to top spot in the East. Both teams had comfortable leads in their respective conference standings and are good bets to meet in the Stanley Cup final. Will anyone come close to knocking them off early? Chicago opens against the eighth-seeded Minnesota Wild while Pittsburgh takes on the eighth-seeded New York Islanders. Penguins captain Sidney Crosby missed the final 12 games of the regular season after breaking his jaw but Pittsburgh has been strong without him. Hockey fans might just be treated to a couple of No. 1 seeds squaring off for the championship.
It has been almost four decades since the Toronto Maple Leafs and Boston Bruins last met in the playoffs. The two teams still have a strong connection though. The Original Six rivals hooked up for a major trade in 2009, which significantly changed the look of both teams. Boston gave up sniper Phil Kessel in exchange for three draft picks, including two first-round selections. The Bruins used the first-rounders to take Tyler Seguin and Dougie Hamilton and both have been key contributors. Kessel, who has averaged over a point a game the last two seasons, is a big reason why Toronto is making its first playoff appearance in nine years. Expect the vocal fans at Boston's TD Garden to give him the gears this series.
Also on HuffPost


text:
Partner with glass specialists who can help you at every phase of your project. Browse the InGlass Supply Network »
Experience and share how glass can transform an interior space with our InGlass Visualizer »
Use this tool to evaluate, select and document our glass products based on environmental attributes. Search »