text:
Today I purchased the SSD drive, Bios See its, Windows 7 see's its. Device Manager see's it along side my 2 other Sata drives with the names - No errors, Device is working properly, driver for win 7 is current but I cant use it.
It has no Disk Drive Lable. I cant get access to it
I have Sata drives both as C: and E: and where is the SSD Drive?
This is my setup.
O/S - Win7 32bit
How do I get it to work?
I attached a picture of what everything looks like.
Some help would be great. Thank you.


text:
Like to get our newsletters or join our delivery mailing lists?
Select your groups here
Regina, Ft Qu'Appelle, Yorkton,Canora
Saturday, September 8
1:00 - 3:00 pm
Trinity Lutheran Church
Order from August 30-Sept 5
Saskatoon, Humboldt, Watson, Kelvington
Saturday, August 25
Lakeview Church, HWY 16
Order from Aug 16-22
Please order in your city's "order window week". (or we may not get your order!) See the Calendar The last day to order is the Wednesday before the Delivery Day. You can select your city from the mailing list page - then you will get the right emails.
For more information, read the Buying Club Info to understand how it works!
All content property of:
Cool Springs Ranch
Box 184
Endeavour, SK S0A 0W0
This page was created using the Small Farm Central web development service.

subset: commoncrawl


text:
Some people think that Karate involves punching, striking, blocks, and kicks, while Judo and Aikido involve throws and joint locks. This may be true of the modern versions of these arts. However, the old form of Karate was a complete art encompassing all of the above techniques.
Throws present a particular problem in Karate. Of course, before one can learn to throw, one must first learn to fall and roll. This takes time and mats are required for safety.
Aside from this practical consideration, there is a general bias in Karate toward fast techniques. It is generally preferrable to strike or kick rather than throw because this minimizes the contact time with the attacker. The longer the contact, the greater the possibility that the attacker can injure you, pull a knife or other weapon, or that another attacker can appear. This last reason is always a concern. We are always on the outlook for additional attackers and do not want to be tied up with one attacker giving another the opportunity to attack us... maybe hit us in the back of the head with a brick!
But throws do have an important place in Karate. The type of throw, however, differs from modern Judo in one important respect -- in modern Judo, the throws are designed for the partner's safety. Old time Karate throws were far less kind to the attacker. After all, it makes no sense at all to throw an attacker to the ground if he can just get up and continue the attack.
Karate throws are useful in certain situation. A "safe" throw can be used to give the attacker a chance to calm down or possibly to present an opportunity for the defender to escape. An attacker can also be thrown into another attacker. Using one attacker as a shield or obstruction is a good use of a throw. This can often be seen in the Pinan kata. A throw can also be used to throw the attacker into an object, such as a wall, corner of a wall, fire hydrant, or other object.
Finally, a throw can also change into a joint lock, joint dislocation, bone break, choke, etc. Many common throws are the "safe" version of a much more dangerous techniques.
There is another reason to practice throws -- the attacker might try to throw or grab you. If you have ever tried to throw a skilled Judo expert, you know that it is next to impossible. A Judo expert can reverse almost any throw or joint lock you attempt. This is a good reason to practice throwing techniques.
To be honest, most Karate students are terrible at throws (and falling)... unless they also practiced Judo, Aikido, Ju Jitsu, or wrestling. High kicks in kumite make little sense if throws, sweeps, and trips, are allowed (not to mention kicks to the groin or knees).
Kenpo students do incorporate throws and joint locks in their techniques. When I practiced Kenpo, we often ended a technique with a throw or joint lock. I mentioned that we "ended" the technique because we usually kicked and punched the attacker first, only afterwards did we throw. This is one of the rules I always mention in my dojo:
"Whack the attacker first, then throw. Never start off with a throw."But once we did throw in Kenpo, we also kicked and punched the attacker on the ground. Sometimes we also applied locking techniques. We always kicked the attacker once he was down.
Throws are an important part of Karate. Because modern Karate generally lacked throws, many modern students supplied the missing material with Judo or Aikido techniques. This is kind of like the frog DNA used to make dinosaurs in Jurassic Park. The dinosaurs looked authentic but were not quite right.
Old style Karate throws were just as brutal as striking techniques. They were designed for speed and made so that the attacker could not get back up and continue the fight.
There is another reason that throws are lacking in modern Karate. Old Karate techniques were executed at a very close distance. The engagement distance tends to be greater in modern Karate. I always say that the engagement distance in our form of Karate is where your elbow can touch the attacker. At this distance, it is very easy to switch to throwing, sweeping, tripping, joint locking, and similar technques. Just about every elbow strike or block presents an opportunity for such a technique.
See Throwing Without A Gi.
Charles C. Goodin


text:
Italy in autumn is a beautiful place – and what better opportunity was there to parade European club football's top prize, the UEFA Champions League trophy, through several major cities in this football-mad country.
From 13 September to 22 October, the UEFA Champions League Trophy Tour, presented by UniCredit, passed through Milan, Turin, Bologna, Palermo, Naples and Rome, with other stops in Verona, Venice and Florence. The silverware proved a premium attraction for thousands of fans, while stars who had graced the competition were present as trophy tour and UniCredit ambassadors to stoke up the atmosphere.
The fans who flocked to the venues were able to have their photo taken with the trophy and meet the ambassadors. No fewer than 164,850 football enthusiasts attended the tour stops, with 37,956 photos being snapped. By focusing on Italy alone, tour organisers could deliver the UEFA Champions League experience to some of Europe's most passionate fans, linked to many of the clubs and players who have helped write the history of the competition.
A glittering lineup welcomed the supporters along the way as ambassadors. The list was a prestigious one: Ruud Gullit and Luís Figo in Milan; Christian Karembeu, Gianluca Vialli and Francesco Graziani in Turin; Fabrizio Ravanelli and Gianluca Pagliuca in Bologna; Predrag Mijatović and Angelo Di Livio in Palermo; Careca and Ciro Ferrara in Naples; and Cafu and Christian Vieri in Rome.
The former players recognised the attraction of the tour and the appeal of the trophy. "It has been a great response," said Vieri. "They all want to see this trophy. All the kids in Italy follow football, so everybody watches the Champions League." Ravanelli added: "I think it's a dream; it's very important to do this tour through Italy. The cities that host the event can be really happy. The people are so passionate about this competition, so just imagine the players on the pitch who fight every day to win the trophy – and are able to say one day, 'I lifted this trophy.'"
Visitors and ambassadors alike went away with an unforgettable memory. "There can't be many better occasions for fans who are passionate about football than to see the Champions League trophy close up," Graziani said. "It's the most prestigious trophy there is at club level. You have the chance to touch it, to have a picture with it, to experience it personally."
Some of the great players felt moved to be reacquainted with the prize that brought them such glory. "It's an honour," Gullit reflected. "I won this trophy twice and I know what it means to me – to win the Champions League as a person and as a footballer is the maximum. I feel a bit of nostalgia – it was 25, 26 years ago that I arrived here [in Milan]. It feels like yesterday. I lived in Italy for eight years. It was the nicest time I had as a player."
Thanks to UniCredit's involvement as sponsors, the tour afforded the public the chance to see an iconic piece of modern sporting culture, in addition to the photo opportunities and appearances by the likes of Gullit and Figo. The goal was to make the trophy accessible and engage supporters – especially families and children – through grassroots activities. A big focus for UniCredit was to make the experience relevant to each individual city, and the ambassadors in particular helped bring a local flavour to the event.
The UniCredit Arena, a large pop-up stadium complete with entrance tunnel, was a resounding success at the major stopovers. Here fans were offered computer-simulated shots on goal, allowing them to experience how it feels to take part in a UEFA Champions League match. A video cube, comprising four giant television screens, added to the atmosphere, while the memorabilia exhibition included players' boots, jerseys and a changing room with kits from all 13 UEFA Champions League-winning clubs.
One new initiative for the tour was the UniCredit Cup, a youth football tournament played, over 192 matches, on six Sundays at the tour's main destinations. It featured 1,600 children born in 2000/01 who belong to sides associated with the Centro Sportivo Italiano, which trains youngsters in different sports.
All in all, it was a magical experience, with Karembeu summing up the feel and flavour of a fantastic Italian adventure. "I think it's an amazing idea that was created by UEFA and UniCredit to make a dream come true for the fans."
©UEFA.com 1998-2017. All rights reserved.


text:
The IKVM FAQ says that one of the main reasons for its existance is that it "just seems obvious that something like this should exist". That phrase struck a chord with me because I completely agree - if it didn't exist, I have the impression that the universe would have a distinctly IKVM-shaped hole in it.
In the last couple of weeks I've been working on a couple of possible small features (coincidentally, for IKVM) which leave me with the same impression.
The first one I only implemented a tiny fraction of - which happens to be the exact tiny fraction I need.
Some background: nrdo (which I run through IKVM) connects to your database at compiletime and creates your tables for you. However, since it's a Java program, it does that through JDBC, which isn't ideal if you're working on a .NET project for several reasons. Firstly, you need an IKVM-compiled version of the JDBC driver for your database. If your database (and driver) are proprietary, this constitutes a modified version of proprietary code and is therefore probably illegal to redistribute. Secondly, you need to specify your database connection information twice, once as a JDBC URL for use at compiletime, and once as an ADO.NET ConnectionString for use at runtime. And thirdly (at least if SQL Server is your database), the JDBC driver requires you to enable TCP/IP connections, while the ADO.NET provider can use some magic Windows protocol which can be better in various ways from a security standpoint (unlikely as that sounds).
So what I implemented was an implementation of the (very few... okay three) JDBC functions that nrdo actually calls, implementing them using ADO.NET underneath. Just stick "jdbc:sharp:System.Data.SqlClient:" in front of your ADO ConnectionString and you have a JDBC URL for the same database, as long as you don't want to do anything overly complicated like, I dunno, getting any results back from your queries.
This definitely seems like "something that just obviously should exist", but since it met my immediate need I don't have any time or motivation to add the other 99% of the JDBC driver API. I offered it to Jeroen for inclusion (and possible further development) as part of IKVM proper, but he (reasonably enough) doesn't want perpetually unfinished code rotting in his CVS repository. From his email (quoted with permission):
I have had the opposite (an ADO.NET wrapper for JDBC drivers, written by
Mainsoft) sitting in my mailbox for a long time. It would definitely be
nice to include both of these, but realistically, I don't have time to
maintain them (which is why I never got around to doing anything with
the ADO.NET wrapper) and I don't want to put them in cvs just to sit
there and rot away.
So, yes I'd like it, but you'd also need to volunteer to maintain it ;-)
So if anyone has the need, interest or motivation to maintain and finish that code, there's a JdbcSharp-shaped hole in the universe waiting for you ;)
The second hole in the universe I'm trying to fill is something I noticed the very first time I ever used IKVM. I immediately wrote a comment on the IKVM blog about how schizophrenic it seemed to be writing code in C# that looked like this:
for (Iterator i = myList.iterator(); i.hasNext(); ) { object o = i.next(); ...}
It's marginally weird working with Java APIs through IKVM in general because they adhere to a different naming convention than other .NET APIs, but you can at least pretend the author just didn't read the Framework Design Guidelines. And if you're working in an IDE you don't even need to change the way you type - the casing will be corrected for you. But the moment you need to deal with any kind of Java collection you slam into a mental speedbump - you can't get at the data in the list in any way that any .NET programmer would ever think of. You have to switch gears and - for all practical purposes - write two lines of Java code in the middle of your C# program.
Congratulations, you just hit a foreach-shaped hole in the universe.
So I've been working with Jeroen to figure out what would be necessary to make C# foreach (and VB "For Each") work on Java collections when exposed through IKVM. We've got the code working to the extent that this code works:
java.util.ArrayList list = new java.util.ArrayList();foreach (object o in list) { ...}
But this code doesn't:
java.util.List list = new java.util.ArrayList();foreach (object o in list) { ...}
because the extra mapping is only done on classes, not interfaces. Stay tuned: I'm also planning on tackling the other direction (which is harder), so that if you have a 1.5-compatible Java compiler you'll be able to do:
cli.System.ArrayList list = new cli.System.ArrayList();for (Object o : list) { ...}


text:
Obsessed with her face
It's been building for weeks now - this fascination of mine with what's different about Jennifer Aniston's face. Through the Just Go With It press tour, and yesterday in Mexico to promote her fragrance with the dumb name Lola Vie, there's a fullness to it, right? Some padding? And not like weight padding either, obviously. I mean it's Jen. She's as fit as ever. And as tanned as ever. The legs are scrubbed with sparkle moisturiser, the skin is glowing and Fabulous at 40(s)!, the hair in the new bob is perfectly highlighted...
But is there something more going on? Many of you have emailed me already gasping at it. The lips? Or something? Nothing? Just the way she's smiling? Again... The lips? No?
It's a fullblown obsession now. Also, have you smelled Lola Vie? Hit me back. Tell me what it's like.
Photos from Clasos.com/Splashnewsonline.com and LUIS ACOSTA/Gettyimages.com


text: Job Discussion Forums :: View topic - Köln/Düsseldorf Get TEFL Certified & Start Your Adventure Today! Job Discussion Forums"The Internet's Meeting Place for ESL/EFL Students and Teachers from Around the World!" FAQ Search Memberlist Usergroups Register Profile Log in to check your private messages Log in Köln/Düsseldorf Job Discussion Forums Forum Index -> Germany View previous topic :: View next topic Author Message DeegeeJoined: 21 Nov 2005Posts: 1Location: Hove Posted: Fri Dec 02, 2005 5:52 pm Post subject: Köln/Düsseldorf Hi Guys, Appears that word on the street recommends avoiding Germany as a TEFL teacher..great ! I'm going to be moving to Germany in the region of Köln/Düsseldorf in April 2006! By then, I should have around 2 years' teaching experience (with a little business exp.). The best foot in the door for me (as far as I'm aware) still remains TEFL. I'm seriously considering the business English route and would like any great advice on offer. Especially if anyone has any idea about Linguarama (ie Yes/No; wages; conditions; progression etc.) as at the moment they appear to be my best option. Truth be told, I would like to move out of TEFL in the future and might be interested 'going somewhere' within a company. Would Linguarama be a good step in this case? Or is there any other advice? I don't just want to be a 'taker' of information, so if you need any advice about Brighton, England, for example, please don't hesitate to ask! Many thanks! Deegee Back to top Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First Job Discussion Forums Forum Index -> Germany All times are GMT Page 1 of 1 Jump to: Select a forum Where to Begin----------------General DiscussionNewbie ForumCurrent Events ForumTechnology ForumOnline Teaching Forum Africa Forums----------------General Africa Forum Asia Forums----------------CambodiaChina (Job-related Posts Only)China (Off-Topic)Hong KongIndiaIndonesiaJapanMalaysiaPhilippinesSingaporeTaiwanThailandGeneral Asia ForumVietnam Caribbean Forums----------------General Caribbean Forum Europe Forums----------------Czech RepublicFranceGermanyGreeceItalyMacedonia and the BalkansPolandRomaniaRussia & C.I.S.SpainTurkeyUkraineUnited KingdomGeneral Europe Forum Latin America Forums----------------ArgentinaBrazilChileColombiaCosta RicaMexicoMexico (off-topic)PeruGeneral Latin America Forum The Middle East Forums----------------BahrainEgyptIsraelKuwaitOmanQatarSaudi ArabiaUnited Arab EmiratesGeneral Middle East Forum North America Forums----------------General North America Forum Oceania----------------Australia/New Zealand You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forum This page is maintained by the one and only Dave Sperling. Contact Dave's ESL Cafe Copyright © 2018 Dave Sperling. All Rights Reserved. Powered by phpBB © 2001, 2002 phpBB Group Teaching Jobs in China


text:
It's a flashback to the golden age of 1970s workplace sitcoms: In a desperate attempt to save their failing Chicago music studio, two brothers, Gary and Felix, resort to luring naive—and terrible—would-be songwriters into hiring the studio to record their "song poems."
This is the premise of "B-Side Studio," a four-episode serial sitcom created collaboratively by two young yet prominent Chicago theater companies, The New Colony and The Inconvenience. While each episode is designed to stand alone, the performances are also filmed to air online the following Monday.


text:
Share this:
Get all the major supplies needed to make these projects with the Holographic Collection or you can order them separately.
Let it snow! By Susan Cobb
Designer Tip: I paper-pieced the color portions of the snowmen and mittens by backing them with holographic cardstock. I used tracing paper to trace the shapes, then turned it over and onto the back of the holographic cardstock, and traced over the outline. Then I cut out the shape and attached it to the back of the sticker.
Trim the Tree! By Susan Cobb
Designer Tip: I used a punch to create the red backing for the round tree ornaments.
'Tis the Season!By Susan Cobb


text:
|$ Retail Promo
|$ Monthly Promo
|$ Retail
|$ Monthly
Add Products to your cart before checking out
|$ Retail Promo
|$ Monthly Promo
|$ Retail
|$ Monthly
Add Products to your cart before checking out
We say it over and over again: LifeVantage® is a different kind of company. It is evident in our people, in our products and especially in our science. Science is our foundation. Our science sets us apart from other healthy living companies.
Throughout its history, LifeVantage was honored to have Dr. Joe McCord, a world-renowned scientist, co-discoverer of superoxide dismutase and the pioneer of Free Radical Biology, leading the scientific efforts of LifeVantage products. Dr. McCord is at the forefront of today's cutting-edge research and new discoveries related to the groundbreaking new science of oxidative stress.
Always read the label. Use as directed. if symptoms persist seek the advice of your health practitioner.
Dr. Joe McCord, the scientist behind Protandim, devoted his life to the role of free radicals and the problems associated with aging.
For his work, Dr. McCord was awarded the Elliott Cresson Medal from The Franklin Institute, presented to distinguished inventors and scientists, putting Dr. McCord in the same company as Pierre and Marier Curie, Alexander Graham Bell, Orville Wright and Henry Ford.
That's why we've combined cutting-edge research in the field of nutrigenomics with a powerful entrepreneurial vehicle.
Welcome to LifeVantage!
Please select your market so we can match your experience with products available in your area.
You Are Visiting
Australia - English
Wrong Turn Somewhere?
Your Market Is Set to
You Are Visiting
Australia - English
Products and content vary per market.
Not all products are available in every market.


text:
Trying to figure out new ways to honor the president.
My wife recreates a wonky rendition of the family crest complete with all its wonkiness.
New project: photos from the desk.
Look how concerned Poo is in the background.
A lot of people came through to view Mel Kadel's show including some nice folks from Jonathan Levine in NYC.
Nothing like coming home to find this guy on your dish sponge.
Golfing in sunny San Francisco.
Our window cleaner is intense... He can hardly walk and manages to make a business out of cleaning windows... He does an OK job.
Have you ever visited the Cable Car Museum? It's rad.
Coming up in a couple weeks... Good time indeed.
I had no idea that chicken and waffles taste so good together. Go here in Oakland and try some.
For Sexy Bitches ONLY - not for me
The food issue: cheese steak shop on Divis = good good, although my stomach has been a little on ease since.
Found a new favorite place to sail to.
stray cat
The Coast Guard left about this time to look for a reported body under the Golden Gate Bridge.
Speaking of that... have you seen Inglourious Basterds yet? Really great film.
Howdy, Isaac
So you may have seen a ride along blog post a few days back... I was asked to remove it by a concerned member of the ride along... Here are a few photos from my time with the SFFD.
It was a very unique experience and I wish I could tell you all about it... Maybe over a beer sometime soon?
Very excited for this weekend. We'll be covering the Treasure Island Music Festival. All sorts of good good.
|< Prev
|Next >


text:
A Facebook friend that you do not know, and only added them because of mutual friends. Usually done to beef up one's profile.
DAVID: "Sean Westford" hhmm, 146 friends in common, I'll add him with a friend request. SEAN: *IGNORE* David:*Sends Message* "Dude did you ignore my friend request" Sean: I don't want a Facebook Friend, not a Facebook aquaintance


text:
Tease Studio is Denver's most GLAM adult dance & fitness space, Colorado's leading studio in flirty style fitness. We offer the most unique & tempting fitness classes, led by an elite team of instructors.
Tease Studio is conveniently located in downtown Denver's Golden Triangle neighborhood between 10th & 11th on Bannock.
At 5000 sq feet of total girl space spanning over 2 floors of flirty fitness, Tease Studio boasts the most chic venue to get your workout ON. You'll enter into the reception and retail area, where you will be greeted by our reception team and will check in for classes. Browse through our retail boutique, featuring the industry leaders in pole fitness and dance fitness brands.
Pictures of clients from our past showcases grace our staple plum-toned walls throughout our studio space. The chic waiting areas in each studio space are stocked with all of your fav girly magazines, comfy seating and bins for client belongings, all in contemporary burlesque style.
Our downstairs locker room includes two showers – and we provide hot pink towels to dry off with. All studio locker and powder rooms are stocked with delicious body sprays and hair tools, complimentary for client use.
Both the downstairs "dance fit" studio and the upstairs "pole fit" studio boast beautiful wooden floors, custom designed boutique-style mirrors, ample lighting and state of the art sound systems. Complimentary yoga mats are provided for in-studio use. The pole fit studio space features 8 spin and static poles.
Tease Studio was created in August of 2007, the dream of an ex-ballet dancer wanting to offer the women of Denver a fun way to love fitness and feel more confident about themselves than ever…Tease Studio is now the workout addiction for thousands of women throughout the Denver area. Team Tease remains progressive with their knowledge of the fitness industry as well as the classes it offers for its clients. There are roughly 65 classes a week consistently on the schedule and more added every month. Team Tease makes it easy for its clientele to take class – no workshops or series of classes are required, you can choose the schedule that works best for you.
Get addicted to Denver's HOTTEST new fitness concept today.
Tease Studio is a proud member of the USPDF and PFA.


text:
National 4/5 Science Tuition in Lough Road
The cost-effective way to find National 4/5 Science Tutors in Lough Road.
Unlike a private tuition agency, tutors advertise with us, meaning you can contact them for free. It's never been easier to learn National 4/5 Science in Lough Road!
- No agency fees
- Deal directly with the tutor
- Good Schools Guide recommends
Search for UK Private Tuition
Looking for online tuition?
Filter By: Clear
Price Range:
Nearby Areas:
- Armagh, Banbridge and Craigavon
- Lisburn and Castlereagh
- Mid Ulster
- Newry, Mourne and Down
Related Subjects
Latest Reviews
We have no tutors in Lough Road or nearby with the filters you selected.
You may also like to consider posting a Tutors Wanted request.


text:
Table of Contents
Design proposals
In Derby 10.3, a user might create a table with CHAR datatypes along with other datatypes. The task at hand is if the user has asked for territory based collation, then we want these CHAR datatypes to collate differently than the CHAR datatypes that exist today in 10.2 And if the user hasn't requested territory based collation, then we want these CHAR datatypes to collate the way they do in 10.2 today. So, in short, the CHAR datatype in 10.3 will have different collation behavior depending on what user has requested at the database create time. But as far as the user is concerned, they are just SQL CHAR datatypes and not new SQL datatypes.
In the original proposal, the intention was to introduce new internal CHAR datatype which extended current CHAR datatype in Derby. This would have been implemented by having a new format id associated with the new internal CHAR datatypes. But with that proposal, there was overhead associated with implementing new getter methods in DataValueFactory for this new internal datatype and the type compiler associated with the new internal datatype etc. The other issue with the proposal was that there are many places in the code today where we get character datatypes and all of those cases will have to be inidividually investigated to see which CHAR datatype implementation they should use. So, if the character datatype is getting instantiated for CHAR columns in system tables, then we should use existing CHAR datatype implementation. But, if they were getting instantiated for user table, then the new internal CHAR datatype should be instantiated. AND there will be places where we can't determine which one of the two CHAR implementations should we use, for eg a string value in a query 'abc'.
The second proposal(current) was based on the idea that CHAR with territory based collation differs from the CHAR with default collation in only one aspect and ie how they are collated. Rest everything is same. So, as long as we know at the collation time, which kind of collation we are dealing with, we should be fine and hence there is no need to generate new internal CHAR datatypes. With that proposal, at compile time, when we associate a DataTypeDescriptor (DTD) with a character string type, we tell what kind of collation should be associated with that DTD and how was that collation derived "collation derivation". If the collation derivation is "none", then the collation type should be ignored. Otherwise, the collation type associated with DTD can be UCS_BASIC/TERRITORY_BASED. Char columns associated with SYS schemas will always have UCS_BASIC in DTD associated with them. Char columns from user schema will have UCS_BASIC/TERRITORY_BASED depending on what user has requested through COLLATION attribute in the jdbc url at database create time. Char columns that are not associated with a specific schema will have their DTD marked with collation as described by the rules in the section "Collation Determination" later on in this page. So, as you can see, collation information will be saved at the column level in language layer. Store will follow the same granularity and it will write the collation type for each and every column in it's metadata (ie for char datatypes as well as non-char datatypes). This collation type will make sense for only char datatypes. For the other datatypes, collation type will be ignored.
Some of the complexity is coming from the fact that a single database can have 2 different collations associated with it's columns, ie, SYS schema will always use UCS_BASIC for it's collation. But all the user schemas will use either UCS_BASIC/TERRITORY_BASED collation. If the collation was of only one type for the entire database, the design/implementation would have been far easier and we could keep collation information at database level rather than column level.
The thread for these design proposals can be found on Derby Dev list at http://www.nabble.com/Collation-feature-discussion-p9526316.html and http://www.nabble.com/Collation-implementation-WAS-Re%3A-Should-COLLATION-attribute-related-code-go-in-BasicDatabase--p9496608.html
Collation Determination
In Derby 10.3, there will be two character sets associated with the database. These 2 character sets will have identical character repertoire(UCS) but they may have different default collation associated with them depending on the value of JDBC url attribute COLLATION. The 2 character sets will be
a)USER character set - default collation of UCS_BASIC/TERRITORY_BASED depending on the value of jdbc url attribute COLLATION specified at create database time.
b)SQL_IDENTIFIER character set - default collation of UCS_BASIC.
(Section 4.2.7 indicates a character set has a default collation).
As per SQL spec, Section 11.1<schema definition>, there is an optional syntax to associate a character set for a schema at create schema time. Syntax Rule 5 says that if a character set is not specified by the user, then the character set associated with schema is implementation defined. In Derby 10.3, system schemas will be associated with SQL_IDENTIFER character set and all the user schemas will be associated with USER character set. Futher on, General Rule 3 specifies that the character set associated with schema is used as the default character set for all <column definitions>. Based on this, all the user character columns will pick up the collation associated with USER character set and all the system character columns will pick the up the collation associated with SQL_IDENTIFIER character set.
Following section 11.4 SR10b) it is as though any user character column is defined using CHARACTER SET USER and any system column using CHARACTER SET SQL_IDENTIFIER. E.g.
is equivalent for the purposes of the SQL Standard to this:
Note Derby does not actually support the CHARACTER SET clause.
The character set specification for string literals in SQL specification is not as well defined as for <column definitions>. SQL spec Section 5.3<literal>, Syntax Rule 14b says that if the character set is not specified for character string literal, then character string literal's character set will be the character set of the SQL-client module. Derby does not implement SQL-client module, but definition of SQL-client module in Section 13.1 says that SQL-client module definition has mandatory <module name clause> which is defined in Section 13.2 <module name clause>. The Syntax Rule 4 in this section says that if a character set is not specified for the SQL-client module, then it's character set is "implementation-defined". For Derby, this implementation-defined character set for SQL-client module will be USER. And hence the string literals will have the USER character set associated with them. June 4th 2007 The current code in Derby 10.3 uses the collation type of current compilation schema for string literals rather than using the collation type associated with USER character set. There is a Jira entry DERBY-2731 and a thread http://www.nabble.com/Collation-and-string-literals-limitation-in-SQL-standard--tf3868448.html#a10959872 started by Dan to see what should be the correct collation type for string literals.
Some other background information on collation derivation and collation type from SQL spec : SQL spec talks about character string types having collation type and collation derivation associated with them (SQL spec Section 4.2.2 Comparison of character strings). If collation derivation says explicit or implicit, then it means that there is a valid collation type associated with the charcter string type. If the collation derivation is none, then it means that collation type can't be established for the character string type.
a)Collation derivation will be explicit if COLLATE clause has been used for character string type (this is not a possibility for Derby 10.3, because we are not planning to support SQL COLLATE clause in this release).
b)Collation derivation will be implicit if the collation can be determined w/o the COLLATE clause eg CREATE TABLE t1(c11 char(4)) then c11 will have collation of USER character set. Another eg, TRIM(c11) then the result character string of TRIM operation will have collation of the operand, c11.
c)Collation derivation will be none if the aggregate methods are dealing with character strings with different collations (Section 9.3 Data types of results of aggregations Syntax Rule 3aii).
Following lists the collation type association for various occurences of character string types and for operations involving character string types in Derby 10.3
1)String literal - USER will be the character set of string literals. And collation type will be the default collation of USER which can be UCS_BASIC/TERRITORY_BASED. The collation derivation will be implicit. June 4th 2007 The current code in Derby 10.3 uses the collation type of current compilation schema for string literals rather than using the collation type associated with USER character set. There is a Jira entry DERBY-2731 and a thread http://www.nabble.com/Collation-and-string-literals-limitation-in-SQL-standard--tf3868448.html#a10959872 started by Dan to see what should be the correct collation type for string literals.
2)<column definition> (of character string type) SQL spec Section 11.1 <schema definition>, General Rule 3 specifies that the character set associated with schema is used as the default character set for all <column definitions>. Based on this, character columns in user tables will have USER character set associated with them and hence collation type of UCS_BASIC/TERRITORY_BASED. The collation derivation will be implicit.
3)<character string type> (SQL spec section 6.1 <data type> Syntax Rule 3b and 16) - Rule 3b says that collation type of character string type is the character set's collation AND rule 16 says that if <character string type> is not contained in a <column definition>, then an implementation-defined character set is associated with the <character string type>. We define Derby's implementation-defined character set for such <character string type> to be current compilation schema's character set. The collation derivation will be implicit.
4)<cast specification> Section 6.12 Syntax Rule 10 says that if the target data type of CAST is character string type, then collation type of result character string of CAST specification is the collation of the character set of the target data type. Based on 3) above, that will be the collation of the current compilation schema's character set. The collation derivation will be implicit.
5)Result character string types from UPPER, LOWER, TRIM(LTRIM, RTRIM), SUBSTR will have the same collation type and derivation as their operand. This comes from SQL spec Section 6.29 <string value function> Syntax Rules 8, 8, 11d, 4 respectively).
6)CHAR, VARCHAR functions do not look like they are defined in the SQL spec. Their behavior can be defined as similar to CAST ie, the result character string of CHAR/VARCHAR will have the same collation as current compilation schema's character set. The collation derivation will be implicit.
6a) XMLSERIALIZE (defined in SQL Standard Part 14) has the declared type of the explicit character type in the function and thus falls under the rules defined in 3).
7)For user defined functions' that return character string type, the return type's collation will have the same collation as of the character set of the schema that the function is defined in. The collation derivation will be implicit.
8)JDBC parameters (ie. ?) where the type of the parameter is a character type will get their collation from the context, just like it is done for other attributes of a character type (like nullability, length etc. More info about how this works can be found at http://db.apache.org/derby/docs/10.2/ref/rrefsqlj1083019.html). Also look at the thread http://www.nabble.com/Collation-and-parameter-markers-%28-%29-tf3866040.html#a10952369
9)For CURRENT_USER, SESSION_USER, SYSTEM_USER, SQL spec Section 6.4 Syntax Rule 4 says that their collation type is the collation of character set SQL_IDENTIFIER. In Derby's case, that will mean, the collation of these functions will be UCS_BASIC. The collation derivation will be implicit.
10)CURRENT ISOLATION, CURRENT SCHEMA and CURRENT SQLID seem to be Derby specific functions, I didn't find them in the SQL spec. But in order to match their behavior with the other functions covered in 9) above, their return character string type's collation will be the collation of character set SQL_IDENTIFIER. The collation derivation will be implicit.
11)Aggregate operators involving all character string type operands(Concatenation (see 6.28SR5b), CASE, NULLIF, COALESCE) will follow SQL spec Section 9.3 Data types of results of aggregations. In other words, if all the operands have the collation derivation of IMPLICIT and same collation type is associated with them, then the collation type of resultant character string type will be same and it's collation derivation will be IMPLICIT. But if this criteria for equality is not satisfied, then the resultant character string type will have collation derivation of NONE. For CASE, NULLIF and COALESCE, this behavior is implemented in ValueNodeList.getDominantTypeServices() and for CONCAT, the behavior is implemented in ConcatenationOperatorNode.resolveConcatOperation().
12)And last but not least, the collation methods will follow the rules defined by SQL spec in Section 9.13 Collation determination Syntax Rules 2 and 3e. In other words, at least one operand shall have a declared type collation (that means if the comparison is sysChar1|userChar1 > sysChar2|userChar2, then such a comparison will fail because both sides of > operator have collation derivation of none after applying the rules of 10 above) AND every operand whose collation derivation is implicit shall have the same declared type collation (that means if the comparison is sysChar1 > userChar1WithTerritoryBasedCollation, then such a comparison will fail because left operand has collation derivation as implicit and collation type as UCS_BASIC and the right operand has collation derivation implicit and collation type as TERRITORY_BASED)
Outstanding items
Language changes
1)Set the correct collation type for return parameter from user defined functions when the return type is a character string type.
2)Some of the numbered Rules in Collation Derivation sections on this page need to be discussed to make sure we are setting the collation right. This will make sure that in future, when we do start to support different collation for different user schemas, things don't fall apart. The discussion has been started by Dan in couple threads (http://www.nabble.com/Collation-and-parameter-markers-%28-%29-tf3866040.html#a10952369 and http://www.nabble.com/Collation-and-string-literals-limitation-in-SQL-standard--tf3868448.html#a10959872).
3)DERBY-2765 Make sure that all the DTDs for character string types have correct collation assigned to them. Just to be sure that we have not missed anything, we should go through the Derby code and look for character string DTD creation and see if the collation is set correctly for them.
Store changes
o All store releated code changes have been implemented.
1)Add tests for this feature. This a broad umbrella task but I do want to mention some specific tests that we should be testing. Currently tests for this feature can be found in java/testing/org/apache/derbyTesting/functionTests/tests/lang/CollationTest.java and java/testing/org/apache/derbyTesting/functionTests/tests/lang/CollationTest2.java. Below are test cases that need to be verified, as they are verified will move them below to the completed task section.
a)For both a newly created 10.3 database and an upgraded 10.3 database, make sure that metadata continues to show the scale for character datatypes as 0 (rather than the collation type value). That is, test that the scale of the character datatypes is always 0 and it didn't get impacted negatively by the overloading of scale field as collation type in TypeDescriptor.
b)Test case for recovery - have an outstanding transaction with insert/delete/updates that affect one or more character indexes (all with a collation setting that is different from default collation). Make sure those log records get to the log and then crash the server. Restarting the server will then run through the recovery code and will ensure that we test for correct collation usage at recovery time. Mike has put more info about this in DERBY-2336.
c)CREATE VIEW should have collation type UCS_BASIC/TERRIOTRY_BASED assocatied with it's character columns. The exact collation will be determined by what is the value of the COLLATION attribute. This is same as what would happen for CREATE TABLE. Have a test for global temporary tables with character colums too.
d)Write a test case for store btree recovery which will ensure that Locale info in correctly set in DVF by BasicDatabase during recovery case.
e)Make sure that a soft-upgraded pre-10.3 database continues to work with pre-10.3 release, ie the store level column metadata structure should remain unchanged. This ties in with item 1) under Store section above.
f)Add a test case for hard-upgrade of pre-10.3 database. This will cause a change in store level column metadata structure. This ties in with item 1) under Store section above.
g)Add tests for sorts that can fit in memory and the sorts that have to spill over to disk. It will be good to make sure that correction collation get used for them.
h)Add tests to set the collation attribute on the jbdc url and testing it later with VALUES SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.collation') Some possible tests are
h1)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it'; //no collaiton attribute but is should get set to UCS_BASIC.
h2)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=UCS_BASIC';
h3)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=CUSTOM_COLLATION'; //invalid value for collation attribute
h4)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=TERRITORY_BASED;collation=TERRITORY_BASED';//give same value twice
h5)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=TERRITORY_BASED;collation=UCS_BASIC';//give 2 different values. The last value should get picked
h6)connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=UCS_BASIC;collation=TERRITORY_BASED';//same as vi but valid values in different order
h7)After database create time, try to give collation attribute again. It should get quitely ignored. connect 'jdbc:derby:c:/dellater/db1;create=true;territory=it;collation=TERRITORY_BASED'; connect 'jdbc:derby:c:/dellater/db1;collation=UCS_BASIC';
i)When adding tests for ALTER TABLE, try both add character column AND increase the length of an existing character column.
j)Upgrade a pre-10.3 database and make sure the upgraded database continues to use UCS_BASIC for all collations.
Metadata query changes
1)Fix the metadata queries so that string literals can be compared with character columns from system schema. String literals will have the USER character set associated with them and system character columns will have SQL_IDENTIFIER associated with them. In order to compare them, both the sides of the comparison should come from same character set. Following casting of string literal will achieve that. syscharcol = CAST(string_literal as varchar(128)).
Network Server
o No network server changes are planned as part of the 10.3 Collation project.
Miscellaneous item
1)Make sure the space padding at the end of various character datatypes is implemented commented correctly in javadocs. This padding is used in collation related methods. For eg check SQLChar.stringCompare method.
Implemented items
Type system
1)Subclasses with non-default-collation have been implemented for character types SQLChar, SQLVarchar, SQLLongvarchar and SQLClob. The new subcalsses are called CollatorSQLChar, CollatorSQLVarchar, CollatorSQLLongvarchar and CollatorSQLClob, respectively. They reside in derby.iapi.types package. This work was done by revisions 516864, 516869 and 518479, 524545.
2)The type definition of a data type is described by DTD (DataTypeDescriptor). This DTD will have two additional attributes called collation type and collation derivation. DTD probably will need getter and setter for the 2 additional attributes.(These new attributes only apply to collation sensitive types, namely char datatypes. For other data types, these attributes will be ignored.) As per SQL spec, the collation derivation can hold 3 values, "explicit", "implicit" and "none". In Derby 10.3, the collation derivation will never be "explicit" because Derby 10.3 does not support SQL Standard's COLLATE clause. In Derby 10.3, the collation derivation can be "implicit" or "none". If collation derivation is "none", then it means the collation type can't be determined. This can happen when an aggregate function is working with operands of different collation types. If the result of such an aggregate function is character string type, then it's collation derivation will be "none", ie it can not be determined. Other than this aggregate "none" case, the collation derivation will always be "implicit" and collation type will be (0)UCS_BASIC/(1)TERRITORY_BASED. Which one of the 2 collation types is picked for a character string type is explained in detail in section "Collation Determination". This work was done by revisions 525568 and 525729, 527033, 527250. The work for this line item went in as part Jira entry DERBY-2524.
3)BasicDatabase needs to set the Locale value in the DVF after DVF has booted. DERBY-2535 Make Locale available in DataValueFactory(DVF). This Locale object will be used to construct Collator object if the user has requested territory based collation. Changes went in as part of revision 527034
4)The check to see if two types are comparable or not has been moved out from TypeCompiler into DTD. The new interface in DTD is aptly called "comparable". The reason for this move is while comparing 2 types, now we should check that collations match too when dealing with string types. TypeCompiler does not have collation information and hence the comparable method in it couldn't use collation in determining the result of the comparable method. That is why the comparable method got removed from TypeCompiler. DTD has the collation information and hence it is the right candidate for the comparable method. DERBY-2569 revision 530910
5)WorkHorseForCollatorDatatypes overrides all the collation related methods so that it uses the non-default Collator. All the non-default-collation-sensitive classes have an instance of WorkHorseForCollatorDatatypes which is used to call the collation related methods. This ensures that these collation related methods are implemented in one central place rather than in all the collation-sensitive classes.
6)Cleanedup the new interface DTD.comparable to use isXXX methods rather than looking for StoredFormatIds. DERBY-2569
Code Generation
1)At compile time, we make sure that the correct character class (ex SQLChar vs CollatorSQLChar) is generated so at run time, we do not need to check what kind of Collator object need to be used for character types. It is all handled at the code generation time and the appropriate runtime methods (ex like method in SQLChar vs like method in WorkHorseForCollatorDatatypes) get called at runtime. The changes for this went in as part of DERBY-2583.
Data Dictionary
1)Set the correct collation type in SchemaDescriptor. On this page, Section Collation Determination, item 2) says that column definitions pick up their collation from the schema that they are defined in. In order for that to happen, schema should have the right collaiton type associated with it. This work of attaching right collation type to a schema went in as part of DERBY-2528 with revision 526237, 526243 and 526313.
2)If collation attribute is specified without the territory attribute, then the territory defaults to the locale of the JVM. DERBY-2669
System catalog
1)The TypeDescriptor for a character column always has 0 for scale because scale does not apply to character datatypes. Starting Derby 10.3, this scale field in TypeDescriptor will be overloaded to indicate the collate type of the character. So, if user has requested for TERRITORY_BASED collation, then the scale in TypeDescriptor for user columns(character) will be 1(TERRITORY_BASED). The scale will be always 0(UCS_BASIC) for SYS schema character columns and for databases with collation set to UCS_BASIC. These changes will go in readExternal and writeExternal methods of TypeDescriptor. Using the value 0 for UCS_BASIC will ensure that pre-10.3 databases with scale field as 0 in TypeDescriptor will continue to use UCS_BASIC after upgrade to 10.3, because 0 in scale field corresponds to UCS_BASIC collation type. This work was done by revisions 525568 and 525729. The work for this line item went in as part Jira entry DERBY-2524.
Boot time
1)At the time of database create time, optional JDBC url attribute COLLATION is validated by the boot code in data dictionary and the validated value of COLLATION(if none specified by user, then it will default to UCS_BASIC which is also the only collation available on pre-10.3 databases) attribute is saved as derby.database.collation property in the properties conglomerate. This work was done by revisions 511283, 527199, 527235.
Type system
1)DERBY-2534 Add new api "public StringDataValue getValue(RuleBasedCollator)" on StringDataValue. This method will return either the base DVDs for char datatypes or it will return collation sensitive DVD for char datatypes. As part of this Jira entry, added api which will allow Derby's store code to construct the right character type DVD based on the collation type. The changes for this went in as revision 526668.
1)In Derby 10.2, store uses Monitor to create DVD template rows. The logic of creating DVDs using formatids has been factored out from Monitor into DataValueFactory. This way, all data type related code will go in DVF. More discussion on this topic can be found at http://www.nabble.com/how-should-store-get-an-object-based-on-format-id-and-collation-id--tf3562574.html#a9950394
2)This item is related to item 1. With Derby 10.3, collation type will be the additional metadata in store for each column. So, when store calls DVF to create DVD template row, it passes the formatids and the collation types. DVF assoicates the correct Collator with the DVD for Char datatypes depending on the collation type. And in order to find the correct Collator, DVF needs to know the locale of the database. This locale information is set on DVF using a new method on DVF called void setLocale(Locale). This call is made by BasicDatabase after DVF has finished booting and before store starts booting.
3)This item is related to item 2. When DVF gets called by store to create right DVD for given formatid and collation type, for formatids associated with character datatypes, it first creates the base character datatype class which is say SQLChar. Then it calls getValue method on the DVD with the RuleBasedCollator corresponding to the collation type as the parameter. (This RuleBasedCollator will be null for UCS_BASIC collation). The getValue method returns SQLChar or CollatorSQLChar depending on whether RuleBasedCollator is null or not. getValue is the new method which has been added to the interface StringDataValue.
4)When a character column is added using CREATE TABLE/ALTER TABLE, make sure that the correct collate type is populated in the TypeDescriptor's scale field in the SYS.SYSCOLUMNS table. In order to do this, CREATE TABLE/ALTER TABLE need to get their schema descriptor's collation type. The collation type of the schema descriptor will decide the collation type of the character columns defined in CREATE TABLE/ALTER TABLE. This comes from item 2 under Collation Determination section on this page. ALTER TABLE changes should work for both ADD COLUMN and MODIFY character column increase length. Part of the code changes required for this item has gone in revision 526385 and 526454 as part of DERBY-2530. Some more language changes and some store changes need to go in for this task to finish. Those changes involve passing the collation type from language to the store layer as part of CREATE TABLE and ALTER TABLE.
5)Store column level metadata for collate in Store. Store keeps a version number that describes the structure of column level metadata. For existing pre-10.3 databases which get soft upgraded to 10.3, the structure of column level metadata will remain same as 10.2 structure of column level metadata, ie they will not include collate information in their store metadata. For any conglomerate created in a 10.3 new database or a 10.3 hard upgraded database a new version would be used in Store to include information about the collation for each column's metadata stored. This means that during upgrade, store needs to change the sturcture of column level metadata to include collate information.
6)Calls to sorter did not need to change. The current interface requires that a non-empty template be passed in. That template can be used by the sorter to create new objects with correct collation.
Tests 1)Add tests for this feature. This a broad umbrella task but I do want to mention some specific tests that we should be testing. Currently tests for this feature can be found in java/testing/org/apache/derbyTesting/functionTests/tests/lang/CollationTest.java and java/testing/org/apache/derbyTesting/functionTests/tests/lang/CollationTest2.java. Below are test cases that have been implemented.
e)Make sure that a soft-upgraded pre-10.3 database continues to work with pre-10.3 release, ie the store level column metadata structure should remain unchanged. This ties in with item 1) under Store section above. Upgrade tests pass, we could add more test cases but the basic change is to base table and index level metadata which gets exercised by existing cases.
h8)Connect to a pre-10.3 database in soft upgrade mode (tested for all pre 10.3 db's by upgrade suite) connect 'jdbc:derby:c:/dellater/db102';
h9)Upgrade a pre-10.3 database (tested for app pre 10.3 db's by upgrade suite) connect 'jdbc:derby:c:/dellater/db102;upgrade=true';
Related Bugs/Improvements currently not planned for 10.3 release
Type Bugs Type Improvements
1)CollatorSQLChar has a method called getCollationElementsForString which currently gets called by like method. getCollationElementsForString gets the collation elements for the value of CollatorSQLChar class. But say like method is looking for pattern 'A%' and the value of CollatorSQLChar is 'BXXXXXXXXXXXXXXXXXXXXXXX'. This is eg of one case where it would have been better to get collation element one character of CollatorSQLChar value at a time so we don't go through the process of getting collation elements for the entire string when we don't really need. This is a performance issue and could be taken up at the end of the implementation. Comments on this from Dan and Dag can be found in DERBY-2416.
2)TypeDescriptorImpl's readExternal and writeExternal methods currently save only collation type of a character string type column in SYSCOLUMNS's COLUMNDATATYPE column. Collation derivation of character string type column does not get saved anywhere. In this release of Derby, collation derivation of these persistent character string type columns is always "implicit" and hence it is safe even if we don't save the collation derivation anywhere. In readExternal method, we can always initialize the collation derivation to be "implicit" for character string type columns. But in some future release of Derby, it might be possible to define an explicit collation type for a column using SQL's COLLATE clause. In such a case, the collation derivation of persistent column's won't be implicit, rather it will be explicit. In order to support that, may be we should consider saving the collation derivation starting Derby 10.3 itself. Look at thread http://www.nabble.com/-jira--Created%3A-%28DERBY-2524%29-DataTypeDescriptor%28DTD%29-needs-to-have-collation-type-and-collation-derivation.-These-new-fields-will-apply-only-for-character-string-types.-Other-types-should-ignore-them.-p9842379.html
Related Pages
Until DERBY-1478 is implemented, LanguageBasedOrdering page provides an intermediate solution to achieve language based ordering.


text:
Ingram: The Push Is On To Fix The COTs
By Jonathan Ingram | Senior Writer
From the Monday Morning Crew Chief:
When Smokey Yunick brought his Chevy to Daytona in 1968, the year after his little ol' Chevelle beat the mighty factory teams of Chrysler and Ford to the pole for the 500, he ran into some opposition from Bill Gazaway, the director of the NASCAR garage.
After an extensive inspection, Gazaway called Yunick into his office and gave him a long list of changes before his car would be declared legal. When Yunick protested, Gazaway's answer was brief.
Fix it, he said.
An angry Yunick then stormed back into the garage, jumped into the Chevelle, fired it up and drove his racing machine out of the track through the tunnel under Turn 4. According to legend, Yunick drove his race car all the way down Volusia Boulevard and back to his garage near the Halifax River without any fuel in a tank drained by inspectors.
Perhaps what goes around comes around. Over the past several months and on New Year's wish lists, the officials of NASCAR have been hearing much the same message from fans and the media about its COT chassis that Yunick heard that day in Daytona.
Fix it.
If only there was an easy list of things that can be done to change the COT for the better.
You won't find a soul who believes the COT is a good-looking car, because of a front splitter held in place by brackets, a 2-inch-taller greenhouse, a short front overhang and a long rear overhang that carries a wing. But appearance wasn't at the top of the list of criteria established by NASCAR. Improved safety, lower cost and better racing because of changes in aerodynamics were the primary goals.
Is the COT certifiably safer? Yes.
Has it saved money for teams with smaller budgets? Yes. (But there's an asterisk here. Most of the teams in the back of the pack have "used cars" from the major teams, who continue to churn out new chassis in an effort to get weight lower down in the top-heavy COT.)
Has the COT produced better racing than its predecessor?
That's the tough question.
There are no longer any "cars of yesterday" in Cup competition to which to compare the COT, now entering its third full year. In some key respects, though, the COT has proven to be a better car.
The reign of the COT's immediate predecessor included relatively few last-lap passes at Daytona or Talladega, for instance. On the intermediate speedways, there was a constant situation of a faster car catching the leader and then not being able to pass because of "aero push." From the perspective of drivers, the old cars were finicky when it came to mid-race adjustments, because of the use of coil-bound front springs that made the cars so dependent on aerodynamics in the corners.
The COT has resolved the problem of overtaking on the superspeedways, at least. In 2009, three of the four races at Daytona and Talladega were decided by last-lap passes under green while the last race at Talladega ended under caution. If anything, the chief complaint now is that it's too easy to pass, which allows drivers to hang at the rear to avoid wrecks. Another complaint is that the COT's ability to bump-draft so effectively has been curtailed by NASCAR.
On the intermediate speedways, there's also been some improvement. You don't hear drivers complain about not being able to pass because of "aero push." Now that the asphalt has cured at places like Charlotte, Chicago and Kansas City, high and low grooves have created more side-by-side racing at those facilities with the COT as well.
The biggest problems with the COT remain the same as with its predecessor. If one team hits the combination correctly, then it's tough for anybody else to catch the leader, much less pass him. The other problem: difficulty in making chassis adjustments on the pit road while maintaining track position, which reinforces the first problem.
Gary Nelson was the COT designer. His concept was to put an end to "aero push" by removing nearly 20 percent of the downforce with changes to the body and by the removal of the rear spoiler in favor of a rear wing. The extended rear quarterpanels and the end plates on the wing, meanwhile, provided enough sideforce in the corners to prevent a 20-percent drop in over-all lap speeds.
Nelson hoped that teams would need to rely more on mechanical grip to get through the corners. Teams have indeed resorted to many different tactics with anti-roll bars, bump stops, shocks and coil-bound front springs. But they continue to rely on aerodynamics for cornering speeds despite the considerable reduction in downforce.
It's like the old adage about once the genie is out of the bottle and the difficulty of putting it back in. Despite the loss in downforce and an increase in right-side weight caused by safety features, the successful teams are still relying primarily on aerodynamics for cornering speed with little leeway for getting it right or wrong. Getting it right on the pit road during races also remains difficult.
The relatively abysmal records of Roush Fenway Racing and Richard Childress Racing in 2009 underscored the problem even veteran teams have experienced in hitting the right combination with the COT chassis.
It's worth pointing out that the racing in mid-pack – where the aerodynamics are unsettled by so much dirty air – is incredibly furious and full of overtaking as drivers fight to get back to the cleaner air up front.
If this year's season finale at Homestead-Miami Speedway was any indication, more teams (particularly Roush and Childress) are figuring out how to make the COT work in order to get to the clean air at the front. The double-file restarts and pit lane tactics have helped contribute to more competitive racing as well, although to some extent they disguise the technical conundrum.
Tire development from Goodyear, which has come up with a more durable yet softer left side tire, and drivers who have gotten used to a car that is more difficult to turn in the middle of the corners, have also helped the COT, if only by reducing the verbal complaints about it from the cockpit.
In the end, much of the perception of the COT comes down to just that, perception.
Given it's ungainly appearance and the arrival of what is regarded as an attractive new generation of Nationwide Series cars, appearance alone could be the biggest hurdle of them all for the COT to overcome no matter how well it performs.
Quotes of the week: We caught up with NASCAR President Mike Helton shortly before the end of the season and asked him about the COT and overtaking.
RacinToday: The teams seem to be getting better compliance out of the front end of the COT by doing things with the anti-roll bars, bump stops and so forth. Do you think that's led to better racing and will we continue to see more of that?
Helton: I would say the continuity of this car has allowed the teams to do things within the regulations that we allow them to do, which is a small band. The box we've built around (the regulations) was done on purpose. The continuity with this car has given teams the time and the ability to learn the chemistry and architecture and the tastes of the drivers, which differs. That along with earlier this year giving them the ability to implement the adjustments around the sway bar, those things have helped a good deal with the latitude it takes to customize the feeling of a race car.
RacinToday: Good teams will figure it out over time and will figure it out at different rates. That's probably not a bad thing.
Helton: History shows us that the nature of our garage area is someone figures out something first and then everybody else catches up with it. That goes in part behind the philosophy of building the box very small to play in. When somebody finds something, others can catch up with it much quicker.
RacinToday: We've seen that passing and overtaking have changed over the years in the sport. What's your take on passing and overtaking in general across different tracks?
Helton: I think the level of quality in the garage today is much deeper, which puts most teams very close to each other. You see it in qualifying speeds and race speeds. There's a wide range of tracks in the Sprint Cup Series. You will see the drivers' ability play out at different levels at different race tracks. You also see at different race tracks the machine part of it making a much bigger difference and the parity of those machines. I think it starts with the fact that the parity is so much deeper. People say they liked it in the old days, but in the old days guys were winning by four or five laps.
Quick hit: During the holiday season's multitude of college bowl games and NFL match-ups, TV cameras often caught sections of open seats. But you don't hear nearly as much about attendance problems in college or pro football as in NASCAR's Sprint Cup.
The opinion here: both football and the Sprint Cup are suffering from being over-built in the last 10 years, in no small part because both share a "big event" mentality.
See ya! …At the races.
– Jonathan Ingram can be reached at firstname.lastname@example.com Comments


text:
Bill Russell's career
Bill Russell's career
Jack O'Connell/Globe staff
December 26, 1956: Bill Russell and Celtics coach Red Auerbach watched a game in Boston Garden. Russell debuted with the team four days earlier.
April 8, 1958: Bill Russell and his five-month-old son, William Jr., looked on Russell's wife, Rose, tended to his right ankle. The injury suffered in the third game of the playoff series against St. Louis resulted in a badly sprained ankle, which doomed the Celtics' chances against the Hawks. Even though Russell returned to action, he was limping badly could not contain the Hawks' Bob Petit, who scored 50 points in the sixth and decisive game.
June 6, 1966: Bill Russell grabbed a rebound during a game.
May 6, 1969: Bill Russell greeted fans after the Celtics won the NBA title.
One of two vintage color photos of Bill Russell (seen here in an undated image with rival Wilt Chamberlain) during his playing days.
June 22, 1966: Bill Russell was mobbed by young fans after he gave the commencement address at the Patrick Campbell Junior High School's "Freedom Graduation." This was the second graduation ceremony after the original commencement was disrupted when Rev. Virgil Wood took over the auditorium to protest the presence of School Committee-woman Louise Day Hicks at the predominantly black junior high. Louise Day Hicks was to many blacks the symbol of resistance to integration in Boston. Russell's speech proclaimed, "there's a fire here in Roxbury that the school committee refuses to acknowledge... I do not say we have to love each other, but we must try to understand and respect each other."
July 16, 1967: Football star Jim Brown and Bill Russell. A month earlier, the pair had joined in support of boxer Muhammad Ali's decision not to fight in the war in Vietnam.
October 9, 1968: Actor Robert Wagner coached Bill Russell for his initiation into the thespian ranks with his appearance in an upcoming ABC-TV "It takes a Thief" segment. Wagner was assisted by actress Sharon Harvey. The title of the episode was "The Thingamabob Heist." The Celtics player-coach played the butler of a very fancy "fence" Ricardo Montalban. Only in this case the butler didn't do it. He couldn't do a thing right. Russell's character was supposed to keep Wagner, a visiting thief, locked up in his room, but Russell gets conked with a piece of statuary and Wagner takes off with the loot.
May 6, 1969: Bill Russell and and his wife, Rose, were greeted at Logan Airport by Governor Francis Sargent as they returned home after the Celtics won their 11th World Championship title. They defeated the Los Angeles Lakers 108-106 in a Game 7 win. The total playoff earnings for the team was $93,000. When asked what he would do with the cash, Russell replied, "The money? I'm going to spend it. I still haven't figured out a way where I can send it ahead or take it with me, so I'm going to spend it."
June 2, 1999: Celtics legends Larry Bird and Bill Russell shared a laugh during a ceremony celebrating the closing of Boston Garden.
February 15, 2011: Bill Russell was awarded the Presidential Medal of Freedom from President Obama at the White House in Washington, D.C.


text:
The Office of the Chief Privacy Officer (OCPO) provides technical assistance and guidance, preservation and retention, and Records Management Training is currently underway in TMS to the education community on a variety of topics relating to the privacy, confidentiality, and security of education records.
Selected Past Events | Leadership Biographies
Selected Past Events
- Joint Statistical Meetings (August 2015)
- Oklahoma Reverse Transfer Conference (July 2015)
- OSEP Leadership Conference Session (July 2015)
- SHEEO Annual Meeting (July 2015)
- REL Mid-Atlantic Meeting (June 2015)
- FERPA Training – Mississippi Data Conference (June 2015)
In addition to these Webinars and presentations, OCPO performs additional outreach and provides guidance and technical assistance to the broader education community through the Family Policy Compliance Office and the Privacy Technical Assistance Center.
Family Policy Compliance Office
The Family Policy Compliance Office (FPCO) offers a variety of guidance and information resources on the FERPA and the Protection of Pupil Rights Amendment (PPRA) as well as prevalent court cases and hot topics.
Privacy Technical Assistance Center
Privacy Technical Assistance Center (PTAC) offers training, timely information, and updated guidance on privacy, confidentiality, and security practices. PTAC achieves this through a variety of resources, including instructional materials and opportunities to receive direct assistance with privacy, security, and confidentiality of longitudinal data systems.
Home | Leadership | Organization | Outreach | Other Useful Links


text:
If you wish to make a complaint about the care or service provided by your dentist or dental surgery, contact the person responsible for the practice complaints procedure. Your dentist will try to resolve your complaint.
If you wish to make a complaint about a dentist or dental practice, try to resolve it directly with them first. Contact the dental surgery's practice manager with details of your complaint. You can complain in writing, by email or by speaking to someone.
Your complaint must be made within 12 months of receiving treatment.
If you would rather not go directly to the practice, you can contact NHS England, which is responsible for NHS dental services.
If you're not happy with the way your complaint was handled – either by the dental practice or NHS England – you may wish to contact the Parliamentary and Health Service Ombudsman (PHSO).
The PHSO makes the final decision on complaints that haven't been resolved by NHS England. You can call on 0345 015 4033 or use the PHSO's secure online form to raise your complaint (this only applies to NHS services in England).
You can find further information and support for making a complaint from:
If you wish to make a complaint about private dental services, contact the practice manager of the private dental surgery. Your complaint must be made within 12 months of receiving treatment.
If your complaint is not resolved satisfactorily, you may want to consider contacting the General Dental Council, which sets standards of conduct and regulates all dental professionals in the UK. It may be able to investigate your concerns.
You can also contact the Dental Complaints Service on 020 8253 0800 (Monday to Friday, 9am to 5pm) or visit its website for more information.
Read the answers to more questions about dental health.


text:
UH campuses to reduce operations during holiday breakUniversity of Hawaiʻi
Lynne Waters, (808) 956-9803
Associate Vice President, External Affairs & University Relations, UH System
Associate Vice President, External Affairs & University Relations, UH System
Posted: Dec 13, 2011
HONOLULU (December 13, 2011) - The University of Hawai'i's 10 campuses will be reducing or suspending operations on non-instructional days from December 17, 2011 through January 2, 2012. The reduction in operations is in support of continuing efforts to reduce energy consumption and recover cost savings.
Monday, Dec. 26, and Monday, Jan. 2, are state holidays and all offices will be closed on those days.
Certain critical or time sensitive functions or specialized facilities, such as research laboratories, may continue to operate. Athletic events at UH Mānoa and UH Hilo will also be held as scheduled.
More details and specific information on how individual campus functions and activities may be affected are available online at http://www.hawaii.edu/news/closures.html.


text:
Motorcycle racer Luis Carreira of Portugal, shown in a photo from 2009, died Thursday during qualifying for the Macau Grand Prix.
Motorcycle racer Luis Carreira dies during China qualifying
November 14, 2012
Motorcycle racer Luis Carreira of Portugal died Thursday following a crash in qualifying for the Macau Grand Prix.
The Guia street circuit in China is considered one of the most demanding in the world, and it features car and motorcycle races. Ayrton Senna and Michael Schumacher won there in junior formulas.
Carreira, 35, crashed on Fisherman's Bend, a fast right-handed corner. No other riders were involved in the incident.
The tragedy comes a year after Marco Simoncelli died in a crash in Malaysia.


text:
Mary Wright Gilliland
Mary Wright Gilliland, 85, died Thursday, October 31, 2013 in Amarillo.Services will be at 11:00 AM Monday, November 4, 2013, at Carmichael-Whatley Colonial Chapel, with Rev. Aaron Giesler, her grandson and assistant pastor of Grace Church of Albuquerque, New Mexico, officiating. Burial will follow at Memory Gardens Cemetery under the direction of Carmichael-Whatley Funeral Directors.Mary was born July 27, 1928 in Wheeler to Leonard and Zelma Reid and was a graduate of Wheeler High School. She received a B.A. degree in education from West Texas State Teachers College in Canyon. She married Billy Ray Wright in 1950 in Clovis, New Mexico. She later married Cody Gilliland on October 20, 1972 in Clovis, New Mexico. Cody preceded her in death on August 5, 1989. Mary taught high school English and Spanish for 27 years in Gruver and Pampa. She was a member of First Baptist Church. She was preceded in death by her parents, a sister, Ruby Francis, a grandson, Chris King, and a great-grandson, Aiden Marshall. Survivors include two daughters, Anne Gomez and husband Al of Amarillo, and Sue Giesler and husband Mike of Fritch, two stepdaughters, Nita Aderholt and husband Pat of Pampa, and Nancy Rice and husband Emmett of Amarillo, two sisters, Gena Zybach and husband Bob of Briscoe, and Sally Dillman of Carrollton, eleven grandchildren and several great-grandchildren.Memorials may be made to First Baptist Church, P.O. Box 621, Pampa, Texas 79066-0621.Sign the on-guest register at www.carmichael-whatley.com


text: Live physics demos like you have never seen before! What do balloons, bicycle wheels, liquid nitrogen, flowers and a vacuum pump have in common? Ask our Phun with Physics scientists, Patrick Wiggins, Tori Spratling, and Jayceen Craven from the University of Utah's Department of Physics & Astronomy. Their energetic and interactive live physics demonstration will reveal science at work to both kids and adults. Every Museum Free Day!