text:
GHC/Type families
From HaskellWiki
The GHC Users Guide has a Type Family section.
Indexed type families, or type families for short, are a Haskell extension supporting ad-hoc overloading of data types. Type families are parametric types that can be assigned specialized representations based on the type parameters they are instantiated with. They are the data type analogue of type classes: families are used to define overloaded data in the same way that classes are used to define overloaded functions. Type families are useful for generic programming, for creating highly parameterised library interfaces, and for creating interfaces with enhanced static information, much like dependent types.
Type families come in two flavors: data families and type synonym families. Data families are the indexed form of data and newtype definitions. Type synonym families are the indexed form of type synonyms. Each of these flavors can be defined in a standalone manner or associated with a type class. Standalone definitions are more general, while associated types can more clearly express how a type is used and lead to better error messages.
NB: see also Simon's blog entry on let generalisation for a significant change in the policy for let generalisation, driven by the type family extension. In brief: a few programs will puzzlingly fail to compile with -XTypeFamilies even though the code is legal Haskell 98.
1 What are type families?
The concept of a type family comes from type theory. An indexed type family in type theory is a partial function at the type level. Applying the function to parameters (called type indices) yields a type. Type families permit a program to compute what data constructors it will operate on, rather than having them fixed statically (as with simple type systems) or treated as opaque unknowns (as with parametrically polymorphic types).
Type families are to vanilla data types what type class methods are to regular functions. Vanilla polymorphic data types and functions have a single definition, which is used at all type instances. Classes and type families, on the other hand, have an interface definition and any number of instance definitions. A type family's interface definition declares its kind and its arity, or the number of type indices it takes. Instance definitions define the type family over some part of the domain.As a simple example of how type families differ from ordinary parametric data types, consider a strict list type. We can represent a list of
-- Declare a list-like data family data family XList a -- Declare a list-like instance for Char data instance XList Char = XCons !Char !(XList Char) | XNil -- Declare a number-like instance for () data instance XList () = XListUnit !Int
data instance declarations are exactly ordinary data definitions. In fact, a
data instance declaration is nothing more than a shorthand for a
data declaration followed by a
type instance (see below) declaration. However, they define two instances of the same parametric data type,
GADTs bear some similarity to type families, in the sense that they allow a parametric type's constructors to depend on the type's parameters. However, all GADT constructors must be defined in one place, whereas type families can be extended. Functional dependencies are similar to type families, and many type classes that use functional dependencies can be equivalently expressed with type families. Type families provide a more functional style of type-level programming than the relational style of functional dependencies.
2 What do I need to use type families?
Type families are a GHC extension enabled with the
-XTypeFamilies flag or the
{-# LANGUAGE TypeFamilies #-} pragma. The first stable release of GHC that properly supports type families is 6.10.1. (The 6.8 release included an early partial implementation, but its use is deprecated.) Please report bugs via the GHC bug tracker, ideally accompanied by a small example program that demonstrates the problem. Use the GHC mailing list for questions or for a discussion of this language extension and its description on this wiki page.
3 An associated data type example
As an example, consider Ralf Hinze's generalised tries, a form of generic finite maps.
3.1 The class declaration
We define a type class whose instances are the types that we can use as keys in our generic maps:
class GMapKey k where data GMap k :: * -> * empty :: GMap k v lookup :: k -> GMap k v -> Maybe v insert :: k -> v -> GMap k v -> GMap k v
3.2 An Int instanceTo use Ints as keys into generic maps, we declare an instance that simply uses
instance GMapKey Int where data GMap Int v = GMapInt (Data.IntMap.IntMap v) empty = GMapInt Data.IntMap.empty lookup k (GMapInt m) = Data.IntMap.lookup k m insert k v (GMapInt m) = GMapInt (Data.IntMap.insert k v m)
NB: At the moment, GADT syntax is not allowed for associated data types (or other indexed types). This is not a fundamental limitation, but just a shortcoming of the current implementation, which we expect to lift in the future.As an exercise, implement an instance for
3.3 A unit instanceGeneric definitions, apart from elementary types, typically cover units, products, and sums. We start here with the unit instance for
instance GMapKey () where data GMap () v = GMapUnit (Maybe v) empty = GMapUnit Nothing lookup () (GMapUnit v) = v insert () v (GMapUnit _) = GMapUnit $ Just v
3.4 Product and sum instancesNext, let us define the instances for pairs and sums (i.e.,
instance (GMapKey a, GMapKey b) => GMapKey (a, b) where data GMap (a, b) v = GMapPair (GMap a (GMap b v)) empty = GMapPair empty lookup (a, b) (GMapPair gm) = lookup a gm >>= lookup b insert (a, b) v (GMapPair gm) = GMapPair $ case lookup a gm of Nothing -> insert a (insert b v empty) gm Just gm2 -> insert a (insert b v gm2 ) gm instance (GMapKey a, GMapKey b) => GMapKey (Either a b) where data GMap (Either a b) v = GMapEither (GMap a v) (GMap b v) empty = GMapEither empty empty lookup (Left a) (GMapEither gm1 _gm2) = lookup a gm1 lookup (Right b) (GMapEither _gm1 gm2 ) = lookup b gm2 insert (Left a) v (GMapEither gm1 gm2) = GMapEither (insert a v gm1) gm2 insert (Right b) v (GMapEither gm1 gm2) = GMapEither gm1 (insert b v gm2)
3.5 Using a generic map
Finally, some code building and querying a generic map:
myGMap :: GMap (Int, Either Char ()) String myGMap = insert (5, Left 'c') "(5, Left 'c')" $ insert (4, Right ()) "(4, Right ())" $ insert (5, Right ()) "This is the one!" $ insert (5, Right ()) "This is the two!" $ insert (6, Right ()) "(6, Right ())" $ insert (5, Left 'a') "(5, Left 'a')" $ empty main = putStrLn $ maybe "Couldn't find key!" id $ lookup (5, Right ()) myGMap
3.6 Download the codeIf you want to play with this example without copying it off the wiki, just download the source code[1] for
4 Detailed definition of data families
Data families appear in two flavours: (1) they can be defined on the toplevel or (2) they can appear inside type classes (in which case they are known as associated types). The former is the more general variant, as it lacks the requirement for the type-indices to coincide with the class parameters. However, the latter can lead to more clearly structured code and compiler warnings if some type instances were - possibly accidentally - omitted. In the following, we always discuss the general toplevel form first and then cover the additional constraints placed on associated types.
4.1 Family declarations
Indexed data families are introduced by a signature, such as
data family GMap k :: * -> *
data family Array e
data family Array :: * -> *
4.1.1 Associated family declarationsWhen a data family is declared as part of a type class, we drop the
class GMapKey k where data GMap k :: * -> * ...
In contrast to toplevel declarations, named arguments must be used for all type parameters that are to be used as type-indices. Moreover, the argument names must be class parameters. Each class parameter may only be used at most once per associated type, but some may be omitted and they may be in an order other than in the class head. In other words: the named type parameters of the data declaration must be a permutation of a subset of the class variables.
Example is admissible:
class C a b c where { data T c a :: * } -- OK class C a b c where { data T a a :: * } -- Bad: repeated variable class D a where { data T a x :: * } -- Bad: x is not a class variable class D a where { data T a :: * -> * } -- OK
4.2 Instance declarationsInstance declarations of data and newtype families are very similar to standard data and newtype declarations. The only two differences are that the keyword
data instance GMap (Either a b) v = GMapEither (GMap a v) (GMap b v)
In this example, the declaration has only one variant. In general, it can be any number.Data and newtype instance declarations are only legit when an appropriate family declaration is in scope - just like class instances require the class declaration to be visible. Moreover, each instance declaration has to conform to the kind determined by its family declaration. This implies that the number of parameters of an instance declaration matches the arity determined by the kind of the family. Although all data families are declared with the
Even if type families are defined as toplevel declarations, functions that perform different computations for different family instances still need to be defined as methods of type classes. In particular, the following is not possible:
data family T a data instance T Int = A data instance T Char = B nonsense :: T a -> Int nonsense A = 1 -- WRONG: These two equations together... nonsense B = 2 -- ...will produce a type error.
Given the functionality provided by GADTs (Generalised Algebraic Data Types), it might seem as if a definition, such as the above, should be feasible. However, type families - in contrast to GADTs - are open; i.e., new instances can always be added, possibly in other modules. Supporting pattern matching across different data instances would require a form of extensible case construct.
4.2.1 Associated type instancesWhen an associated family instance is declared within a type class instance, we drop the
instance (GMapKey a, GMapKey b) => GMapKey (Either a b) where data GMap (Either a b) v = GMapEither (GMap a v) (GMap b v) ...
4.2.2 Scoping of class parameters
In the case of multi-parameter type classes, the visibility of class parameters in the right-hand side of associated family instances depends solely on the parameters of the data family. As an example, consider the simple class declaration
class C a b where data T a
Only one of the two class parameters is a parameter to the data family. Hence, the following instance declaration is invalid:
instance C [c] d where data T [c] = MkT (c, d) -- WRONG!! 'd' is not in scope
4.2.3 Type class instances of family instancesType class instances of instances of data families can be defined as usual, and in particular data instance declarations can have
data GMap () v = GMapUnit (Maybe v) deriving Show
which implicitly defines an instance of the form
instance Show v => Show (GMap () v) where ...
Note that class instances are always for particular instances of a data family and never for an entire family as a whole. This is for essentially the same reasons that we cannot define a toplevel function that performs pattern matching on the data constructors of different instances of a single type family. It would require a form of extensible case construct.
4.2.4 Overlap
The instance declarations of a data family used in a single program may not overlap at all, independent of whether they are associated or not. In contrast to type class instances, this is not only a matter of consistency, but one of type safety.
4.3 Import and exportThe association of data constructors with type families is more dynamic than that is the case with standard data and newtype declarations. In the standard case, the notation
4.3.1 Associated familiesAs expected, an import or export item of the form
4.3.2 ExamplesAssuming our running
- : Exports just the class name.module GMap (GMapKey) where...
- : Exports the class, the associated typemodule GMap (GMapKey(..)) where...and the member functionsGMap,empty, andlookup. None of the data constructors is exported.insert
- : As before, but also exports all the data constructorsmodule GMap (GMapKey(..), GMap(..)) where...,GMapInt,GMapChar,GMapUnit, andGMapPair.GMapEither
- : As before.module GMap (GMapKey(empty, lookup, insert), GMap(..)) where...
- : As before.module GMap (GMapKey, empty, lookup, insert, GMap(..)) where...
4.3.3 Instances
Family instances are implicitly exported, just like class instances. However, this applies only to the heads of instances, not to the data constructors an instance defines.
5 An associated type synonym example
Type synonym families are an alternative to functional dependencies, which makes functional dependency examples well suited to introduce type synonym families. In fact, type families are a more functional way to express the same as functional dependencies (despite the name!), as they replace the relational notation of functional dependencies by an expression-oriented notation; i.e., functions on types are really represented by functions and not relations.
5.1 The class declaration
Here's an example from Mark Jones' seminal paper on functional dependencies:
class Collects e ce | ce -> e where empty :: ce insert :: e -> ce -> ce member :: e -> ce -> Bool toList :: ce -> [e]
With associated type synonyms we can write this as
class Collects ce where type Elem ce empty :: ce insert :: Elem ce -> ce -> ce member :: Elem ce -> ce -> Bool toList :: ce -> [Elem ce]
5.2 An instance
Instances change correspondingly. An instance of the two-parameter class
instance Eq e => Collects e [e] where empty = [] insert e l = (e:l) member e [] = False member e (x:xs) | e == x = True | otherwise = member e xs toList l = l
becomes an instance of a single-parameter class, where the dependent type parameter turns into an associated type instance declaration:
instance Eq e => Collects [e] where type Elem [e] = e empty = [] insert e l = (e:l) member e [] = False member e (x:xs) | e == x = True | otherwise = member e xs toList l = l
5.3 Using generic collections
With Functional Dependencies the code would be:
sumCollects :: (Collects e c1, Collects e c2) => c1 -> c2 -> c2 sumCollects c1 c2 = foldr insert c2 (toList c1)
In contrast, with associated type synonyms, we get:
sumCollects :: (Collects c1, Collects c2, Elem c1 ~ Elem c2) => c1 -> c2 -> c2 sumCollects c1 c2 = foldr insert c2 (toList c1)
6 Detailed definition of type synonym families
Type families appear in two flavours: (1) they can be defined on the toplevel or (2) they can appear inside type classes (in which case they are known as associated type synonyms). The former is the more general variant, as it lacks the requirement for the type-indices to coincide with the class parameters. However, the latter can lead to more clearly structured code and compiler warnings if some type instances were - possibly accidentally - omitted. In the following, we always discuss the general toplevel form first and then cover the additional constraints placed on associated types.
6.1 Family declarations
Indexed type families are introduced by a signature, such as
type family Elem c :: *
type family Elem c
Parameters can also be given explicit kind signatures if needed. We call the number of parameters in a type family declaration, the family's arity, and all applications of a type family must be fully saturated w.r.t. to that arity. This requirement is unlike ordinary type synonyms and it implies that the kind of a type family is not sufficient to determine a family's arity, and hence in general, also insufficient to determine whether a type family application is well formed. As an example, consider the following declaration:
type family F a b :: * -> * -- F's arity is 2, -- although its overall kind is * -> * -> * -> *
Given this declaration the following are examples of well-formed and malformed types:
F Char [Int] -- OK! Kind: * -> * F Char [Int] Bool -- OK! Kind: * F IO Bool -- WRONG: kind mismatch in the first argument F Bool -- WRONG: unsaturated application
A top-level type family can be declared as open or closed. (Associated type families are always open.) A closed type family has all of its equations defined in one place and cannot be extended, whereas an open family can have instances spread across modules. The advantage of a closed family is that its equations are tried in order, similar to a term-level function definition:
type family G a where G Int = Bool G a = Char
6.1.1 Associated family declarationsWhen a type family is declared as part of a type class, we drop the
class Collects ce where type Elem ce :: * ...
Exactly as in the case of an associated data declaration, the named type parameters must be a permutation of a subset of the class parameters. Examples
class C a b c where { type T c a :: * } -- OK class D a where { type T a x :: * } -- No: x is not a class parameter class D a where { type T a :: * -> * } -- OK
6.2 Type instance declarationsInstance declarations of open type families are very similar to standard type synonym declarations. The only two differences are that the keyword
type instance Elem [e] = e
A type family instance declaration must satisfy the following rules:
- An appropriate family declaration is in scope - just like class instances require the class declaration to be visible.
- The instance declaration conforms to the kind determined by its family declaration
- The number of type parameters in an instance declaration matches the number of type parameters in the family declaration.
- The right-hand side of a type instance must be a monotype (i.e., it may not include foralls) and after the expansion of all saturated vanilla type synonyms, no synonyms, except family synonyms may remain.
Here are some examples of admissible and illegal type instances and closed families:
type family F a :: * type instance F [Int] = Int -- OK! type instance F String = Char -- OK! type instance F (F a) = a -- WRONG: type parameter mentions a type family type instance F (forall a. (a, b)) = b -- WRONG: a forall type appears in a type parameter type instance F Float = forall a.a -- WRONG: right-hand side may not be a forall type type family F2 a where -- OK! F2 (Maybe Int) = Int F2 (Maybe Bool) = Bool F2 (Maybe a) = String type family G a b :: * -> * type instance G Int = (,) -- WRONG: must be two type parameters type instance G Int Char Float = Double -- WRONG: must be two type parameters
6.2.1 Closed family simplification
Included in ghc starting 7.8.1.
When dealing with closed families, simplifying the type is harder than just finding a left-hand side that matches and replacing that with a right-hand side. GHC will select an equation to use in a given type family application (the "target") if and only if the following 2 conditions hold:
- There is a substitution from the variables in the equation's LHS that makes the left-hand side of the branch coincide with the target.
- For each previous equation in the family: either the LHS of that equation is apart from the type family application, or the equation is compatible with the chosen equation.
Now, we define apart and compatible:
- Two types are apart when one cannot simplify to the other, even after arbitrary type-family simplifications
- Two equations are compatible if, either, their LHSs are apart or their LHSs unify and their RHSs are the same under the substitution induced by the unification.
Some examples are in order:
type family F a where F Int = Bool F Bool = Char F a = Bool type family And (a :: Bool) (b :: Bool) :: Bool where And False c = False And True d = d And e False = False And f True = f And g g = g
Why do all of this? It's a matter of type safety. Consider this example:
type family J a b where J a a = Int J a b = Bool
It gets worse. GHC has no internal notion of inequality, so it can't use previous, failed term-level GADT pattern matches to refine its type assumptions. For example:
data G :: * -> * where GInt :: G Int GBool :: G Bool type family Foo (a :: *) :: * where Foo Int = Char Foo a = Double bar :: G a -> Foo a bar GInt = 'x' bar _ = 3.14
6.2.2 Associated type instancesWhen an associated family instance is declared within a type class instance, we drop the
instance (Eq (Elem [e])) => Collects ([e]) where type Elem [e] = e ...
6.2.3 Overlap
The instance declarations of an open type family used in a single program must be compatible, in the form defined above. This condition is independent of whether the type family is associated or not, and it is not only a matter of consistency, but one of type safety.
Here are two examples to illustrate the condition under which overlap is permitted.
type instance F (a, Int) = [a] type instance F (Int, b) = [b] -- overlap permitted type instance G (a, Int) = [a] type instance G (Char, a) = [a] -- ILLEGAL overlap, as [Char] /= [Int]
6.2.4 Decidability
In order to guarantee that type inference in the presence of type families is decidable, we need to place a number of additional restrictions on the formation of type instance declarations (c.f., Definition 5 (Relaxed Conditions) of Type Checking with Open Type Functions). Instance declarations have the general form
type instance F t1 .. tn = t
- do not contain any type family constructors,s1 .. sm
- the total number of symbols (data type constructors and type variables) in is strictly smaller than ins1 .. sm, andt1 .. tn
- for every type variable ,aoccurs inaat most as often as ins1 .. sm.t1 .. tn
If the option -XUndecidableInstances is passed to the compiler, the above restrictions are not enforced and it is on the programmer to ensure termination of the normalisation of type families during type inference.
6.3 Equality constraintsType context can include equality constraints of the form
sumCollects :: (Collects c1, Collects c2, Elem c1 ~ Elem c2) => c1 -> c2 -> c2
Equality constraints can also appear in class and instance contexts. The former enable a simple translation of programs using functional dependencies into programs using family synonyms instead. The general idea is to rewrite a class declaration of the form
class C a b | a -> b
class (F a ~ b) => C a b where type F a
7 Frequently asked questions
7.1 Comparing type families and functional dependencies
Functional dependencies cover some of the same territory as type families. How do the two compare? There are some articles about this question:
- Experiences in converting functional dependencies to type families: "Functional dependencies vs. type families"
- GHC trac on a comparison of functional dependencies and type families
7.2 Injectivity, type inference, and ambiguity
A common problem is this
type family F a f :: F a -> F a f = undefined g :: F Int -> F Int g x = f x
The compiler complains about the definition of g saying
Couldn't match expected type `F Int' against inferred type `F a1'
In type-checking g's right hand side GHC discovers (by instantiating f's type with a fresh type variable) that it has type F a1 -> F a1 for some as-yet-unknown type a1. Now it tries to make the inferred type match g's type signature. Well, you say, just make a1 equal to Int and you are done. True, but what if there were these instances
type instance F Int = Bool type instance F Char = Bool
Then making a1 equal to Char would also make the two types equal. Because there is (potentially) more than one choice, the program is rejected.
However (and confusingly) if you omit the type signature on g altogether, thus
f :: F a -> F a f = undefined g x = f x
GHC will happily infer the type g :: F a -> F a. But you can't write that type signature or, indeed, the more specific one above. (Arguably this behaviour, where GHC infers a type it can't check, is very confusing. I suppose we could make GHC reject both programs, with and without type signatures.)
What is the problem? The nub of the issue is this: knowing that F t1=F t2 does not imply that t1 = t2. The difficulty is that the type function F need not be injective; it can map two distinct types to the same type. For an injective type constructor like Maybe, if we know that Maybe t1 = Maybe t2, then we know that t1 = t2. But not so for non-injective type functions.
The problem starts with f. Its type is ambiguous; even if I know the argument and result types for f, I cannot use that to find the type at which a should be instantiated. (So arguably, f should be rejected as having an ambiguous type, and probably will be in future.) The situation is well known in type classes:
bad :: (Read a, Show a) => String -> String bad x = show (read x)
At a call of bad one cannot tell at what type a should be instantiated.
The only solution is to avoid ambiguous types. In the type signature of a function,
- Ensure that every type variable occurs in the part after the "=>"
- Ensure that every type variable appears at least once outside a type function call.
Alternatively, you can use data families, which create new types and are therefore injective. The following code works:
data family F a f :: F a -> F a f = undefined g :: F Int -> F Int g x = f x
8 References
- Associated Types with Class. Manuel M. T. Chakravarty, Gabriele Keller, Simon Peyton Jones, and Simon Marlow. In Proceedings of The 32nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'05), pages 1-13, ACM Press, 2005.
- Associated Type Synonyms. Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones. In Proceedings of The Tenth ACM SIGPLAN International Conference on Functional Programming, ACM Press, pages 241-253, 2005.
- System F with Type Equality Coercions. Martin Sulzmann, Manuel M. T. Chakravarty, Simon Peyton Jones, and Kevin Donnelly. In Proceedings of The Third ACM SIGPLAN Workshop on Types in Language Design and Implementation, ACM Press, 2007.
- Type Checking With Open Type Functions. Tom Schrijvers, Simon Peyton-Jones, Manuel M. T. Chakravarty, Martin Sulzmann. In Proceedings of The 13th ACM SIGPLAN International Conference on Functional Programming, ACM Press, pages 51-62, 2008.
- Fun with Type Functions Oleg Kiselyov, Simon Peyton Jones, Chung-chieh Shan (the source for this paper can be found at http://patch-tag.com/r/schoenfinkel/typefunctions/wiki )


text:
Vehicle crime
Vehicle crime is a highly organized criminal activity affecting all regions of the whole world and with clear links to organized crime and terrorism. Vehicles are not only stolen for their own sake, but are also trafficked to finance other crimes. They can also be used as bomb carriers or in the perpetration of other crimes.
Stolen Motor Vehicle Database
The INTERPOL Stolen Motor Vehicle (SMV) database is a vital tool in the fight against international vehicle theft and trafficking.
It allows police in our member countries to run a check against a suspicious vehicle and find out instantly whether it has been reported as stolen. An international database of this nature is crucial as vehicles are often trafficked across national borders, sometimes ending up thousands of miles away from the location where they were stolen.
In 2017, around 118,000 motor vehicles worldwide were identified as stolen, thanks to the SMV database. By the end of the year, the number of database records stood at almost 7.2 million.
Global initiatives
At INTERPOL, we have set up a number of working groups, bringing together experts from across the world. These working groups have developed a range of projects focusing on specific issues, for example:
- Delivering training (Project Formatrain)
- Working with car manufacturers (Project INVEX)
- Supporting operations (SMV Task Force)
We also organize the Global Conference on Vehicle Crime, bringing together the law enforcement community, international organizations and the private sector in order to share expertise and best practices. The most recent edition of the conference took place in Thailand in February 2016.
Analytical report
This report presents an analytical overview of vehicle crime in a global perspective. The findings are based on a joint initiative with Europol in which information was submitted by more than 50 member countries. The report will serve as a starting point for future in-depth analysis of the different aspects of international car trafficking.

subset: commoncrawl


text:
What's the value of
your home?
Use our tools
to find out
Neighborhood reports
Get a detailed report showing market trends in your neighborhood, including recent listings, sales prices and average time on market.Get a report
Find a Mover
Find a Mover
Mortgage rates
Powered by thefinancials.com
Mortgage calculator
Get a detailed report showing market trends in your neighborhood, including recent listings, sales prices and average time on market.Get a report
Rent vs buy
How big is an acre? What is an option?
Do I need hazard insurance?
Take a look at our real estate glossary to learn definitions of common words and phrases used in the industry.
National market update
Existing-Home Sales Bounce Back Strongly in May as First-time Buyers Return
WASHINGTON (June 22, 2015) — Fueled partly by an increase in the share of sales to first-time buyers, existing-home sales increased in May to their highest pace in nearly six years, according to the National Association of Realtors®. Led by the Northeast, all major regions experienced sales increases in May.
Read more
Midyear Report: The Housing Market Is on Track for Its Best Year Since 2006 (and It Ain't a Bubble)
As we approach the midpoint of 2015, the residential real estate market is on track for its best year since 2006, the peak of the housing bubble. (This time, though, it's no bubble.)
Read more
National housing indicators
Existing home sales ()
5.35 millions units*
Existing home median price ()
Housing Starts ()
10.36 millions units*
New home sales ()
5.17 millions units*
*Seasonally adjusted annual rate. Source: NATIONAL ASSOCIATION OF REALTORS®.
National economic indicators
Home ownership
1st Qtr 2015
1st Qtr 2014
The homeownership rate in the first quarter 2015 was 63.7 percent, down 1.1 (+/- 0.4) percentage points from the first quarter 2014 rate of 64.8 percent. The homeownership rates in the Northeast, South and West were lower than the rates in the first quarter 2014, while the rate in the Midwest was not statistically different from the rate a year ago.
New home sales
May 2015
April 2015
Sales of new single-family houses in May 2015 were at a seasonally adjusted annual rate of 546,000. This is 2.2 percent (+/- 16.7%)* above the revised April 2015 estimate of 534,000.
Source: U.S. CENSUS BUREAU
How much is your home worth? Get a real-time report on the value of your home. Start now
Regional market updates
View market statistics for your region.
Click on the links below to view data from two different industry sources. Choose information on local prices & state sales from any of 178 metropolitan housing markets prepared by the National Association of REALTORS® or information on sales & price activity from local area markets in 25 states prepared by Clarus MarketMetrics.
Local Prices & State Sales
Local Sales & Price Activity
Disclaimer: The views, opinions, statements and/or ideas expressed in this Message Section do not reflect the ideas, policy, position, views or opinion of Move,Inc.
Consumer tips & hot properties
$217,726: That's What You'll Save (Give or Take) If You Buy a Home Now
You probably know it's better to buy than rent, but our data team calculated just how much you can save over 30 years: more than $200,000. With home prices rising, the time to buy is now.
Read more
What Plumbers Wish You Knew
Know the deal, and you can avoid a misunderstanding—or even a crisis.
Read more
How to Sell a Home in Just 5 Days
It helps if you've got a modernist masterpiece, but it helps more to take a creative approach to marketing.
Read more
I Hate the Open-Plan Kitchen—and Amazingly, I'm No Longer the Only One
Everyone loves an open kitchen–except for a growing number of home cooks who want a whole room to themselves.
Read more
Roomie Wanted—How Do I Choose From 100+ Desperate Applicants?
When one writer posted a new-roommate ad, she was inundated by emails from over 100 applicants—including whole families and retirees.
Read more
Existing Home Statistics
View statistics based on national data, regional data and data gathered from 159 cities & metropolitan areas.
National Statistics
Statistics by City or Metropolitan Area
Regional Statistics
Source: NATIONAL ASSOCIATION OF REALTORS®.


text:
We are a small group of designers and we want to share our art with you. Here are some fantastic gifts that have been purchased consistently. We hope you will find something special for you and your loved ones.
Artwork designed by Bebop's Place. Made by Zazzle Greeting Cards in Reno, NV. Sold by Zazzle.
Baseball Stitching Sport Themed Wedding
Cooperstown baseball postcard
The Expert -- Baseball T
We promise 100% satisfaction. If you don't absolutely love it, we'll take it back!
Unsubscribe | Privacy Policy | User Agreement | Contact Us
© 2018 Zazzle Inc. All Rights Reserved. Zazzle Inc, 1800 Seaport Blvd. Redwood City, CA 94063
Zazzle, the Zazzle logo, Zazzle Custom Stamps, and Zazzle Profile Cards are registered trademarks or trademarks of Zazzle Inc. in the United States and other countries.


text:
We have decided to skip CSA this year and concentrate on the farmers' market. Please look for us at the markets at Poplar Grove Plantation on Wednesdays and Riverfront Downtown Wilmington on Saturdays, starting in April...thank you!
The farm is run with help from an excellent seasonal staff that lives and works on the farm. During the height of the harvest, additional seasonal help comes in to harvest crops every week. Fresh produce is packed and shipped with care and speed to deliver delicious products from the field to your table at their peak of flavor and freshness.
For over fifteen years, Black River has been committed to producing the best organically grown vegetables in the area. Each season, a selection of traditional and heirloom vegetables is grown on this 16 acre certified organic farm using carefully selected varieties and timetested growing methods to provide you with the highest quality and greatest taste. Vegetables are available at several regional farmers markets, are sold wholesale to restaurants and organic produce distributors, and are distributed through the CSA program.
Joining a CSA is one of the best ways to feed your passion for healthy, delicious, nutritious foods, and support local farmers and sustainable agriculture at the same time!
Black River Organic Farm is certified as an organic grower under the USDA. This means that we use specific growing methods and materials that minimize impacts to the environment and maximize our stewardship of the land and water.
We use only approved organic fertilizers and organic pesticides. We build our soil with natural compost and we never treat our seeds, plants, or harvested produce with any synthetic herbicides, pesticides, or fungicides.
We farm because we love the natural world. We see it as our job to take care of the world in ways that will ensure a sustainable future.
CSA is a commitment between a farm and a community of consumers. By purchasing a share of the season's harvest, CSA members support the farm throughout the season, and assume the costs, risks and bounty of growing food along with the farmer or grower. In return, the farm provides a healthy supply of seasonal fresh produce throughout the growing season.
This mutually supportive relationship between local growers and community members helps create an economically stable farm operation in which members are assured the highest quality produce at excellent prices. And farmers are guaranteed a reliable market for a diverse selection of crops.
The farmer or grower draws up a budget reflecting the production costs for the year, including labor and distribution costs, investments for seeds and tools, and machinery and land maintenance costs. A portion of the budget is then provided for by the sale of shares of the harvest. One share is usually designed to provide the weekly vegetable needs for a family of four and may range in price from $200 to $600, depending on available products.
Community members sign up and purchase their shares, either in a lump sum in early spring, or in several installments throughout the growing season. Production expenses are thereby guaranteed and the farmer or grower starts receiving income as soon as work begins.
In return for their investment, CSA members receive a box of fresh, locally grown, typically organic produce once a week throughout the season. Typically, a wide variety of vegetables and herbs is grown, encouraging integrated cropping and companion planting, which reduces risk factors and gives multiple benefits to the soil. Crops are often planted in succession in order to provide a continuous weekly supply of mixed vegetables. As crops rotate throughout the season, weekly shares vary by size and types of produce, reflecting local growing seasons and conditions.
CSA provide a direct marketing distribution system. Advantages to the direct marketing approach of CSA include minimal loss and waste of harvested farm produce, little or reduced need for longterm storage, and a willingness by members to accept produce with natural cosmetic imperfections.


text:
Marcin's portfolio.
Keywords: concept spaceship train vehicles professional illustrator marcin jakubowski living in poland a.k.a. balloontree.com
Thursday, October 23, 2008
Subscribe to: Post Comments (Atom)
Popular Posts
Scott has been crazy busy on his book BLAST which will drop around March of 2012. It will feature art from Scott as well as Danny Gardner ...
Spaceship art by Shane Molina. Keywords: modified airplane plane p-51 mustang rear facing gunner cockpit addition concept digital technic...
Destroyer spaceship model and render by Drew Pace. Keywords: concept spaceship space destroyer model render sci-fi science fiction a...
The results of the THRUST competition are in! Thanks for everyone who entered and all of the wonderful people that helped make THRUST a suc...
Spaceship art by Antoine Giampaolo for the game Beyond Dark. Keywords: beyond dark syntis digital technical concept spaceship art illust...
Awesome art drop on CGSociety by our really good friend Sergio Botero. Keywords: Wells-class interplanetary...
The Starlifter by Crusader Industries is the second ship concept design created for the Star Citizen universe by Michael Oberschneider. ...
Spaceship art by Shane Molina. Keywords: star wars x-wing tie fighter a-wing u-wing digital technical concept spaceship a...
TIE Interceptor art by John Liberto. Keywords: star wars tie fighter interceptor spaceship art illustration by john wallin liberto art
Gravity sketch and octane renders by Pablo Dominguez Aguilar. Keywords: vr sketches concept spaceship flying vehicle art design...
Blog Archive
- ► 2018 (79)
- ► 2017 (106)
- ► 2016 (73)
- ► 2015 (172)
- ► 2014 (167)
- ► 2013 (186)
- ► 2012 (194)
- ► 2011 (136)
- ► 2010 (157)
- ► 2009 (156)
- Tenjin Hidetaka art works of Macross Valkyries
- Concept ships by Bruno Werneck
- Concept ship designs from Motorsports 2025
- Anthony Colard concept ships
- Concept ship sketches by Mikko Kinnunen
- Concept helicopter gunships from Bolt
- Concept ships by Marcin Jakubowski
- SketchUp concept ship model by Mack Sztaba
- Industrial motion art concept spaceship clip
- Eric Robison on concept ships
- Jabba's palace on concept ships
- SketchUp concept ship 3D model by Eric Brown
- Speed concept ship sketches from Paul Chadeisson
- Concept spaceship scene by Cliff Cramp
- Marco Mazzoni concept ship art
- Daniel Dociu concept ships
- Concept ships by Jon McCoy
- Concept ships on Wired 2!
- Code Guardian from Marco Spitoni on concept ships
- Chris Thunig concept ship art
- Homeworld 2 concept spaceship art
- Concept ships from Phil Saunders
- Sean Jeon concept ships
- ▼ October (23)


text:
Plans for this weekend
I know. I'm behind on this thing.
This weekend. I need help deciding what to do. I can either drive up to Akron (Ohio) or stay in town. Here are the things I would be doing in both places:
If I stay home in Baltimore…
- Go to see Dylan Bundy pitch in Wilmington on Friday
- Go to Nats game Saturday to see Chipper plus a Dierks Bentley postgame concert
- Relax before next big O's home stand
- Go to Phillies game Monday for Cliff Lee bobblehead
If I go to Akron…
- See my grandmother and aunt
- Aeros/Baysox game Thursday night and see Zach Britton pitch
- Indians games Friday and Sunday, including an MLB Network drawstring bag plus a Carlos Baerga bobblehead
- Lake County Captains game Saturday night is possible (Low-A ball)
Let me add this: I am able to go up to Ohio in a few weeks as well to see family, so that's not what this trip is about. This is baseball and hobby focused. So vote based on the events, not just that I'm seeing family.
And as I'm typing this, I came to see option C:
- go to Akron Wednesday, be with family Wednesday night and Thursday daytime
- Aeros game Thursday night to see Zach Britton pitch
- Drive back Friday and pursue all events on option A
While option C includes no Indians games, it does give me some family time and a minor league game. Though no Indians bobblehead included, and that's what I'd really like.
And I have to consider that a trip to Akron means gas money, money for tickets, food, and random other stuff. Plan B only needs money for a few cheap game tickets.
Or I could splurge and randomly decide to fly down to Tampa for the O's series…
I have no idea what to do!


text:
With soaring real estate prices, families looking for newer or bigger homes are increasingly faced with a dilemma: take on a renovation project or move to another house.
HGTV's new series Reno vs. Relocate focuses on that exact issue. With the help of style-savvy designer Robin Lewis and property guru Vanessa Roman, the shows encourage fence-sitting homeowners to take action and move on with their lives.
The episodes, shot in the Toronto area, typically involve two people living together who are on opposite sides of the fence when it comes to what to do with their home. One may be scouring the MLS daily while the other is emotionally attached to their current home and is looking for a solution to help them stay put.
Many viewers will relate to families who stew over the fact that they have dysfunctional kitchens and bathrooms, no space for their kids to play, half-finished basements that look like '70s time capsules or clothes bursting in closets the size of telephone booths.
In each show, homeowners are presented with two options: a state-of-the-art graphic simulation of a renovation of their home from Lewis, and a tour of one house that perfectly matches their wish list and budget from Roman. Armed with this information, the homeowners have to choose before any hard work begins.
"At that point, if they decide to come with me and do the reno, then it becomes a reno show, and if they decide to go with Vanessa and find a new place, it becomes a property or real estate show," says Lewis.
If they choose to renovate, Lewis transforms their home into a functional, fabulous space. If they choose to relocate, Roman takes them to two more properties that fit their wish list.
Even when the homeowners pick one host over the other to take on their project, the two still work as a team.
So if it's a reno, Roman crunches numbers to see how the reno has added equity to the home. If the couple chooses to buy a new home, Lewis executes a mini makeover to stage the house in preparation for resale.
Lewis says it works out about 50/50 whether the owners choose reno or relocation.
"It's all solutions-based. We're problem solvers. We get the house and we're like, 'Hey, you guys have a problem, we're going to do whatever it takes to help you fix it. We don't care - whatever you decide to do, we are going to give you the best that we can to solve your problem.' "


text:
Wednesday, May 16, 2007
Just Like That...Bestwick Gone Again From ESPN/ABC
"NASCAR has always interested me," said Suzy Kolber, ESPN's Monday Night Football sidelines reporter. That's a good thing. Beginning June 2nd at Dover, Delaware, Kolber will replace Alan Bestwick as the host of ESPN's Busch Series pre-race show called NASCAR Countdown. That's a bad thing.
Added to this shocking change is the fact that Kolber will also host the NASCAR NEXTEL Cup pre-race show on ABC Sports when the network takes over the Cup Series. So, she is in as the Busch Series and the NEXTEL Cup Series pre-race host for the stretch run of the season. Alan Bestwick...out.
Finally, saving the best for last is the news that Brent Musburger will be returning to thrill NASCAR fans with his racing knowledge. "Brent's big event presence combined with Suzy's reporting and anchoring skills will set the stage for NASCAR's exciting stretch run," says Norby Williamson, ESPN's VP of such things.
So, its official. Musburger and Kolber will lead fans down the homestretch and through the "Chase for the Cup." This news comes only two races after Alan Bestwick was installed as the NASCAR Countdown host because of the disaster that the pre-race show had become.
Bestwick's credibility and popularity with the fans was an instant relief to the attempts to host this show with Musburger, Chris Fowler, and Erik Kuselias. Now, Bestwick is gone and another ESPN in-house announcer with absolutely no NASCAR experience will be the face of the pre-race show for the network. This is a network in its first "new" year of NASCAR coverage and struggling for credibility with the pre-race broadcasts.
Certainly, ESPN has every right to put together its own team for this sport. But, with Mike Massaro and Alan Bestwick on pit road, its downright amazing that anyone believes the sport will be better served by a non-racing announcer with no NASCAR experience. If Kolber is teamed with Brad Daugherty alone on the set as the NEXTEL Cup pre-race team, someone is going to have a whole lot explaining to do to NASCAR fans nationwide.
The Daly Planet welcomes comments from readers. Simply click on the COMMENTS button below or email email@example.com if you wish not to be published. Thanks again for stopping by.
35 comments:
- Anonymous said...
Unbelievable, what is ESPN thinking? The ratings keep going downhill and this will continue when its shifted to ABC/ESPN. I'm not going to watch these silly pre-race shows now. I'll just put my tv on mute, put on trackpass scanner, live leaderboard, and I'm set. Back into NASCAR, and they're making one mistake after another.
- May 16, 2007 at 8:41 PM
- Tim said...
Every announcement like this makes me wonder what Allen Bestwick did to piss off the entire television world.
- May 16, 2007 at 8:42 PM
- Anonymous said...
I remember when Brian Williams announced the last race of the year for NBC from Homestead a few years ago. Where was his credibility? ESPN is unbelievable! I have lost all interest in this sport and it started with the TV network deal.
- May 16, 2007 at 9:08 PM
- Uncle Bo said...
John, have you been able to get any reliable ratings info on these shows? Any idea if they're trending up, down or flat?
I guess I'm just shocked that ESPN continues to exercise questionable judgment when it comes to hiring on-air talent for NASCAR programming. I mean, would ESPN ever place an anchor in NFL Countdown or Baseball Tonight who did not know the sport intimately and have instant credibility with the viewers? As much as I like Chris Berman, I watch Countdown for insights from acknowledged experts like Tom Jackson, Chris Mortensen and Ron Jaworski. Remember when Rush Limbaugh was a analyst on the show? He didn't last long and he knows football well. What the heck does Suzi Colber know about NASCAR
- May 16, 2007 at 9:52 PM
- Anonymous said...
Na$car and ESPN are resorting to cleavage to try to win back viewers.
The networks are killing the sport, and NA$car will let them as long as the money flows into Daytona Beach.
- May 16, 2007 at 11:02 PM
- napagirl said...
Allen is the best reporter in the Sport and really belongs in the booth rather than in the pits. Without him, I will also be muting ESPN and listening to the radio broadcasts of the races.
What are they thinking?
- May 16, 2007 at 11:09 PM
- Bobby said...
Brian Williams was called for the 1999 Pennzoil 400 (Homestead) for NBC as a huge fan of The Intimidator. He drove his Tahoe with a big #3 decal on the back of his truck, and wasn't afraid to show off his pure Earnhardt Fan attitude. They thought it was just "another Earnhardt fan".
In 2006, he was the one who inducted Dale into Talladega.
ESPN has gone out of control with their pre-race show. Tim Brewer is just "the demo man" on pit road when Scott Ackerson on Fox keeps their show running on just two full-time pre-race hosts -- Myers and Hammond. Hammond admitted during Year One that Myers was the man who taught the Fox rookie analysts how to deal with journalism's fine lines. That proved itself at Rockingham after the Daytona tragedy. Myers and Ackerson let Darrell Waltrip hit Mike Helton hard with questions about NASCAR safety.
Whoever is running the ESPN coverage seems not to understand once you hit the setup, you go with what works. They think elsewhere.
- May 16, 2007 at 11:41 PM
- Bevo said...
Heck if they wanted someone who sounds like Jim Rome why didn't they just hire him?
No prerace for me, thank God for HotPass on DirecTV and the team audio - no need to listen to these idiots
- May 17, 2007 at 4:27 AM
- vroom said...
I wonder if we'll be seeing Broadway Joe at the races now that Suzie will be in the announcer's booth!!!
- May 17, 2007 at 7:18 AM
- Anonymous said...
It's as if ESPN is actually saying, "Don't watch us!" Every move they make seems designed to show their lack of commitment to accurate, informative coverage of NASCAR. They add Bestwick, NASCAR fans are pleased, and they suddenly yank him and replace him with someone who doesn't know the sport at all. Mybe NASCAR will refuse to let them bid for the next contract.
- May 17, 2007 at 7:28 AM
- kswheels said...
Hate to get picky but I must comment on this line...
"A network in its first year of NASCAR coverage and struggling for credibility with the pre-race broadcasts."
ESPN and ABC are hardly in their first year of NASCAR coverage. You have a somewhat valid point, but you ruin it by showing your own lack of NASCAR experience.
Believe it or not NASCAR existed before 2001, and for many years ESPN covered the majority of NASCAR races.
Besides, Bestwick is no prize.
- May 17, 2007 at 7:33 AM
- kral said...
Another reason not to watch prerace.first Spencer now her.She not very good in football either!!!!!
- May 17, 2007 at 7:42 AM
- Joe from Philly said...
ESPN ego strikes again!
Well, the only thing I can say is she'll look MUCH better than Chris Myers as I fast forward through the pre-race "show" on my DVR.
ESPN seems to be giving Nascar fans a big dose of "Be careful what you wish for"
- May 17, 2007 at 8:42 AM
- Dale Hall said...
I almost feel sorry for Brad Daugherty when he is on. It is impossible to respect any comment he makes when there are so many NASCAR experts surrounding him on the set. Now, they replace Bestwick with another rookie? What are they thinking? Perhaps it would be best if she comes in not acting as an "expert" herself. It would be a lot more refresshing if she would be the inquisitive type. Asking real experts in the sport questions that most newcomers would have would be a big plus. It would help anyone who is exposed to NASCAR for the first time. I could handle and beleve that. Otherwise, she will be just another Brad Daugherty.
- May 17, 2007 at 8:53 AM
- fish said...
Makes you wonder if someone at Sirius has a hold on the brass at ESPN. ESPN seems to be intentionally killing off their NASCAR audience and the world is going to Sirius to get the things you mention in this column and your prior one about Eli Gold.
I just discovered your blog (through a Dave Moody connection) and, so far, have to agree with 100% of what I've read. Thanks.
- May 17, 2007 at 9:10 AM
- Anonymous said...
I agree with everyone,what is ESPN thinking.I say bring on Buddy Baker and put him in the booth.He is not only entertaining but also has an huge amount of knowledge of the sport.Even with there choice of Dr.Jerry Punch has flopped in my opionion.They seem to have him on a puppet string.Not the same old Jerry.ESPN will never get back to the top of there game with there choices.Heck,put me in the booth,I can top Bad Brad.
- May 17, 2007 at 9:28 AM
- Anonymous said...
Sure do wish Benny were still around...
- May 17, 2007 at 10:22 AM
- Anonymous said...
ESPN's coverage and choice of hosts is terrible. They need to get their head out of their a$$. Allen and Dave Despain are about the only ones I can stand to listen to. All these others need to go back to reporting on the stick and ball sports they're familiar with.
- May 17, 2007 at 11:48 AM
- Anonymous said...
I suppose ABC/ESPN is following in the failed path of NASCAR. Munsberger is a football announcer and doesn't do anything for NASCAR. Bestwick was the best announcer NASCAR ever had and, like everything else they do these days, they screwed this up too.
- May 17, 2007 at 11:57 AM
- Anonymous said...
Why? Why does Brad D. sound so angry all the time? He does not come across well just angry.
- May 17, 2007 at 12:16 PM
- Anonymous said...
It seems like ESPN is showing their elitism and that they are out of touch with red state America which includes most Nascar fans. Nascar on ESPN will fail if they don't accept who the Nascar fans really are.
- May 17, 2007 at 12:23 PM
- Jaybo said...
Let's face it: ESPN has dropped the ball.
Yes, ESPN did cover NASCAR before. In fact, it was ESPN that helped bring NASCAR to where it is today. Early ESPN NASCAR coverage defined racing coverage as it is today. They brought technology and combined it with a seasoned team that included Bob Jenkins, Benny Parsons, and Ned Jarrett in the both and Bill Webber & Dr Jerry Punch on pit road. The ESPN team of the 90s was, without a doubt (IMHO), the best NASCAR TV reporting and coverage: ever.
HOWEVER: ESPN's current coverage is a far cry from those glory years. It absolutely shocks me that ESPN has forgotten what put them on top and is throwing baseball and football jocks at this sport. There are a long lines of amateurs: Their NASCAR Now daily show is more like a Nextel Cup version of E!TV and does not even compare to their previous show, RPM2Nite. Their seasoned NASCAR reporters like Marty Smith are constantly correcting and setting the on-air personalities (and that's all they are) straight on points of fact. The show almost never shows anything on the Busch Series, even though ESPN is the exclusive home to every Busch Series event. Pretty sad...
It's sad to say: ESPN's current NASCAR coverage is a far cry from where the network was at the height of their NASCAR expertise in the late 90s. I can only hope that they take some time to read their history books and head back to their roots.
BP - we sure do miss ya!
- May 17, 2007 at 12:52 PM
- 24_Fan said...
I can't believe this. I like Bestwick and always thought he did a great job..... Does this give me hope that I could be a Reporter on ESPN for NASCAR events? I probably know more than this woman.... Booo - ESPN - I won't be watching pre-race shows now!
- May 17, 2007 at 1:06 PM
- Anonymous said...
Wait. Is this April 1st?? You've GOT to be kidding?? Who is the moron(s) at ESPN making these idiotic calls????
- May 17, 2007 at 1:14 PM
- dc said...
Maybe Bestwick is going to broadcast Hockey? He does have a past with that sport!
I really enjoy Allen Bestwick in the booth. He seems to really like the sport and the drivers. Maybe ESPN thinks that Suzy Creamcheese can do a better job at bringing in new fans to the sport.
Just some manager showing they can manage.
- May 17, 2007 at 1:46 PM
- Anonymous said...
Sad to see ESPN drop to a new low. What I remember of ESPN is the GREAT coverage of Nascar a few years back before Nascar split the season.
Now we have people reporing that have no clue or passion for the sport.
I like chamge and it is usually good, but in this instance it is a huge mistake and I for one won't be watching.
- May 17, 2007 at 2:47 PM
- Anonymous said...
ESPN's decision is just plain dumb.
Having watched NASCAR on the tube since the Great American Race of '79 thru the great early broadcasts of CBS/ESPN (80's & 90's), my viewing interest has started to delcine. This sport is becoming to homoginized & dull. Now the annoucers are falling
into the same catagory.
- May 17, 2007 at 5:00 PM
- Anonymous said...
In watching ESPN it is important to keep in mind that the N is not for NEWS. When in doubt, ESPN will often give you news - unless some ESPN media jerk thinks something else would be more Entertaining. At least I do believe Suzy Kolber tries hard. Bent Musberger on the other hand does not need to try since he knows it all - just ask him. Wonder what Rusty thinks?
- May 17, 2007 at 6:07 PM
- Anonymous said...
Musberger don't know squat about NASCAR - - - - get him out of there !!! I've already muted the TV so it's really no big deal for me MRN does a FANTASTIC job and you even know what's going on on the backstretch !!!
- May 17, 2007 at 8:42 PM
- projectpappy09 said...
I am on the opposite side of most of these comments posted so far. I really do think that Kolber will be a great host, as she is one who will ask questions if she does not know something, looking at her work on NFL Live and SportsCenter. She also does her research, like Ryan Burr, attempting to be as knowledgeable as possible.
- May 17, 2007 at 9:44 PM
- Anonymous said...
They need to hire Marty Smith as prerace announcer! That dude would get the job done better than anyone!!! Go Marty.....
- May 17, 2007 at 9:55 PM
- duff said...
Poor Allen. That man has done nothing but good for nascar. Screwed by speed and screwed by espn. This is one of the reasons I watch the race muted and listen to MRN. I know more about nascar than the people you hire. I would work for you but I'm afraid I would get replaced by a pretty girl that knows nothing about the sport.
- May 17, 2007 at 11:46 PM
- Anonymous said...
Hey ESPN: Use Marty Smith and Allen Bestwick all you can. They know what they are talking about and are informative.
Take a poll and ask fans of ANY sport if they want Brent Mussberger on the broadcast. Prediction: a resounding NO!!
P.S. Call Eli Gold and put him to work now.
- May 18, 2007 at 1:03 AM
- wickedj said...
Duff you forgot to mention Allen getting screwed by TNT/NBC after Big Mouth Bill Webber got the cushy booth job when Allen got hurt
maybe FOX will hire him to replace Myers
- May 18, 2007 at 1:18 AM
- Busch Babe 0199 said...
I guess I'll go back to sleeping through the pre-race coverage, as I usually do to save my sanity when Weber and Chris Meyers are on...as for the team Alan replaced??? So unimpressive, I didn't even know their names....
- May 28, 2007 at 2:12 PM


text:
And Curtis Martin rushes for 1,287 yards and 8 TDs, catches 43 passes for 365 yards and misses 1 game.
1999 - Y2K concerns abound, Columbine High School makes headlines for all the wrong reasons, The Phantom Menace tarnishes the Star Wars legacy, Christina Aguilera lets the genie out of the bottle, Regis asks who wants to be a millionaire, Joltin' Joe has left and gone away, Connecticut beats Duke for its first NCAA championship, Leon Hess passes away and the Jets go 8-8 with Ray Lucas behind center.
And Curtis Martin rushes for 1,464 yards and 5 TDs, catches 45 passes for 259 yards and misses no games.
2000 – The millennium arrives without chaos, Elian Gonzalez returns to Cuba, George W. Bush (eventually) becomes the president, Matchbox Twenty hits No. 1 with "Bent," Russell Crowe becomes a gladiator, Larry David curbs his enthusiasm (but not for the Jets), Charles M. Schulz and "Peanuts" end within a day of each other, the Mets inexplicably lose to the Yanks in the Subway Series and the Jets go 9-7 in Al Groh's lone season at the helm, missing out on the playoffs despite the Monday Night Miracle.
And Curtis Martin rushes for 1,204 yards and 9 TDs, catches 70 passes for 508 yards and misses no games.
2001 – The Twin Towers fall . . . . no odysseys in space, Wikipedia is founded, Apple releases the iPod, Dale Earnhardt Sr. is killed during a crash at the Daytona 500, Mr. Rogers shuts down the neighborhood, the WWF buys out WCW, Alicia Keys falls in and out of love, the first of the The Lord of the Rings trilogy conquers movie theaters, the Arizona Diamondbacks stun Mariano Rivera and the Yanks in the World Series and the Jets go 10-6 in Herm Edwards' first year as coach before losing in the first round of the playoffs against the Oakland Raiders.
And Curtis Martin rushes for 1,513 yards and 10 TDs, catches 53 passes for 320 yards and misses no games.
2002 – President Bush creats the Department of Homeland Security, the beltway in Washington D.C. is terrorized by snipers, the Queen Mother dies at 101, Kelly Clarkson becomes the first American Idol, Avril Lavigne is complicated, "The X-Files" finds out the end is out there, Spider-Man swings into theaters, the Mets lose every home game in the month of August and the Jets go 9-7 in Chad Pennington's debut season, sneak into the playoffs on the last Sunday of the season, whip the Colts 41-0 in the Wild Card round before losing to the Raiders (again).
And Curtis Martin rushes for 1,094 yards and 7 TDs, catches 49 passes for 362 yards and misses no games.
2003 - The U.S. invades Iraq and quickly declares "Mission Accomplished," the space shuttle Columbia is lost upon re-entry from space, the Concorde makes its last flight, Johnny and June Carter Cash pass away within four months of each other, Pixar finds Nemo, the San Antonio Spurs beat the New Jersey Nets to win the NBA title, Jose Reyes makes his debut with the Mets and the Jets go 6-10 after Pennington breaks his wrist in the preseason, resulting in Edwards' first losing season.
And Curtis Martin rushes for 1,308 yards and 2 TDs, catches 42 passes for 262 yards and misses no games.
2004 - George W. Bush is somehow re-elected president, the last Oldsmobile rolls off the line, Ronald Reagan passes away, a giant tsunami devastates southeast Asia, "Friends" says goodbye, Lance Armstrong wins his sixth straight Tour de France, the Yanks have the greatest collapse in the history of MLB playoffs allowing the Red Sox to break The Curse of the Bambino and the Jets go 10-6 as they find their way back into the playoffs, beat San Diego on an overtime kick and then play to lose against the Pittsburgh Steelers after two Doug Brien misses.
And Curtis Martin rushes for NFL-leading 1,697 yards and 12 TDs, catches 41 passes for 245 yards and misses no games.
2005 - After 10 terrific seasons in the NFL, time and injury finally catch up to the steady and dependable Martin, and he is forced to the sidelines after only a dozen games and 735 yards . . .
When Jets fans hear the name "Curtis Martin" a lot of accolades come to mind: "consistent greatness," "a warrior," "classy and humble," "a true professional," "selfless teammate," "lead by example," "hardworking," "dedicated," "loyal," and of course, "future Hall-of-Famer." Well, the future is now as Martin becomes a member of the TJB Hall of Fame.
When Bill Parcells left the New England Patriots for the New York Jets following the 1996 season, one of the first things he regretted was not be able to bring along prized young running back -- and why not? Not only did Martin win offensive rookie of the year and go to a pair of Pro Bowls, he had also strung together three 1,000-yard seasons during his time in New England (which you can add to the years above).
As soon as Martin reached his 4th year in 1998 -- and restricted free agency -- Parcells wasted no time in signing him to a six-year, $36 million deal, and happily gave up a first- and third-round draft pick to land Martin. In retrospect, it's the greatest free agent signing in the history of Jets football. And it's when the true greatness of Curtis Martin began (as far as Jets fans are concerned).
Anything positive you can say about a football player -- or about a human being, for that matter -- can pretty much be attribued to Martin. I know we often say children should look to their parents as role models, but I think if there's one NFL player that it would be more-than-acceptable to emulate, Martin would be that player.
Born in a tough neighborhood in Pittsburgh, PA, Martin was witness to more than one misfortune, including discovering his murdered grandmother and having a childhood friend killed in front of him. He often says he never expected to see 21, and credits football and his strong faith for putting him on a path to survival and success. He's also claimed that although he enjoyed his time in the NFL, his real goals didn't include attaining records or amassing personal wealth — he wanted to use football a way to reach out and help others, which he has done, not only by establishing his own charitable organization, but by also donating his money and time to other numerous charities.
But all that wouldn't be possible if he hadn't been so consistently great on the field of play.
Having had the great fortune of seeing every game he played for the Jets, it's hard to come up with one defining play or game — which is a testament to his entire career. (Although I really enjoyed his memorable 174-yard effort in 2003 against the Steelers in the snow.) Very few times did he break off long runs, but I can't count how many times he just took the ball, made a quick cut at the line, slipped past a few defenders, made another cut before being brought down — and then the referees would have to move the chains. Never flashy, never boastful, never screaming "look at me," he carried himself as the truly great ones always do — with confidence, with humility and with grace. Even when his career came to a premature end, he quietly worked hard to try and return, and when he realized he couldn't, he retired with little fanfare (or second thoughts).
Cinderella (the hair band) famously sang, "You don't know what you got, till it's gone," but Jets fans have always known — and appreciated — what they had in Curtis Martin. And it was only after he was gone (leaving a tremendous void both on and off the field), that the NFL realized what Martin had accomplished.
He is 4th all-time with 14,101 rushing yards, 12th all-time in rushing TDs with 90, 10th all-time in all-purpose with 17,430 yards. He is also 3rd in the history of the NFL in touches with 4,002, only behind Walter Payton and Emmitt Smith, and had 8 seasons with over 300 carries, which is tied for 2nd all-time. He made All-Pro five times and five Pro Bowls. And he is only one of two players (the other is Barry Sanders) to start his career with 10 consecutive 1,000-yard seasons.
Curtis Martin is the all-time Jets leader in almost every rushing category, including yards (10,302), touchdowns (58) and yards per game (83.8). He started in a mind-boggling 119 consecutive games as a running back. He also was a flawless as a passer, going 2 for 2 with 2 TDs and a perfect 158.3 passer rating -- including one of my all-time favorite plays, the pass to Wayne Chrebet against the Tampa Bay Buccaneers.
During his tenure with the Jets, Martin was voted MVP four times, and showered with numerous awards for outstanding character, leadership, service and inspiration, both on and off the field. Upon his retirement, he said, "Retirement is not an end, but a beginning." I have no doubt that as the years go on, Martin will only make Jets fans more proud to say that he played for our team.
As Eric Mangini said upon Martin's retirement: "If you are looking for a hero, you don't have to look any further than Curtis Martin."


text:
Providing the speed, scale, and centralized management you need to build an Enterprise Data Hub.
Start here »
Get the highest level of technical insight to help you move your cluster from proof of concept to production quickly, at peak performance.
Cloudera offers the industry's highest quality technical support for Apache Hadoop.
Learn how Cloudera helps you solve data management challenges with Apache Hadoop.
See our list of the best complementary solutions for Cloudera Enterprise available.
Learn about Cloudera use cases across several major industries.
Explore the largest partner ecosystem developing, integrating and deploying technology on Hadoop.
Please login to access your Cloudera Connect Partner benefits, exclusive content, tools, training and more.
Enter your account e-mail into the field below.
Back to Login


text:
Covercraft SeatSaver Seat Covers SS2516PCCH
- Custom made for your exact vehicle for perfect fit
- Constructed of a heavy duty poly-cotton or waterproof polyester fabric
- Both fabrics are UV, and dirt resistant
- Poly-cotton fabric is more breathable and help you keep cool
- Polyester fabric is completely waterproof
- Poly-cotton material is available in charcoal, grey, misty grey, tan, taupe, and wet sand
- Polyester material is available in grey and taupe
- Includes headrest, map pockets, armrest, and airbag cutouts, if applicable to vehicle
- Features double stitched seams
- Machine washable and dryer friendly
- One year warranty
Covercraft SeatSaver seat covers will keep your seats looking great for years, offering custom fitted protection from sun, dirt, and anything else you can throw at them. SeatSavers are custom fitted for each vehicle and are designed to simply slip on and off without requiring any tools. This makes the occasional clean up a breeze. These car seat covers are machine washable and dryer friendly, just run them through your washer, dryer, and put them back on!
Covercraft truck seat covers are available in two different fabrics. Choose either a breathable poly cotton fabric that is protected with a DWR (durable water repellency) finish that keeps grease and other staining materials from ever reaching your seats. If you're looking for a water proof material you'll want the polyester fabric which is heavy duty and dense and will keep all liquids off your seat. The coating also protects against damaging UV rays keeping the color you selected the color you keep. Choose from charcoal black, grey, misty grey, tan, taupe, west sand.
SeatSaver car seat covers become softer and even more comfortable with each washing and unlike neoprene or vinyl seat covers, SeatSaver truck seat covers won't give you that "sticky" feeling. Convenient, comfy, and easy to deal with is hard to beat. Order your new seat covers today!
Order Notes**Covercraft DOES NOT recommend installation of dark colored Seat Savers on light colored seats**
View Available Part Numbers For This Product Line
Product Reviews Summary
|Price / Value
|Ease of Installation
|1 Customer Review
|5 Star
|4 Star
|3 Star
|2 Star
|1 Star
1 Year Warranty
Covercraft offers a one year warranty on all SeatSaver car seat covers, truck seat covers, and custom seat covers.