text:
Can Java Be Saved?
The Java language has been around for a pretty long time, and in my view is now a stagnant language. I don't consider it dead because I believe it will be around for probably decades if not longer. But it appears to have reached its evolutionary peak, and it doesn't look it's going to be evolved any further. This is not due to problems inherent in the language itself. Instead it seems the problem lies with Java's stewards (Sun and the JCP) and their unwillingness to evolve the language to keep it current and modern, and more importantly the goal to keep backward compatibility at all costs. Not just Sun, but also it seems the large corporations with correspondingly large investments in Java like IBM and Oracle aren't exactly chomping at the bit to improve Java. I don't even know if they think it even needs improvement at all. So really, the ultra-conservative attitude towards change and evolution is the problem with Java from my admittedly limited view of things.
That's why I don't hate Java. But, I do hate the way it has been treated by the people charged with improving it. It is clear many in the Java community want things like closures and a native property syntax but instead we got Project Coin. This, to me, is sad really. It is a shame that things like closures and native properties were not addressed in Java/JDK/whatever-it-is-called 7.
Why Not?
I want to know why Java can't be improved. We have concrete examples that it is possible to change a major language in major ways. Even in ways that break backward compatibility in order to evolve and improve. Out with the old, in with the new. Microsoft with C# showed that you can successfully evolve a language over time in major ways. For example C# has always had a property syntax but it now also has many features found in dynamically typed and functional languages such as type inference and, effectively, closures. With LINQ it introduced functional concepts. When C# added generics they did it correctly and retained the type information in the compiled IL, whereas Java used type-erasure and simply dropped the types from the compiled bytecode. There is a great irony here: though C# began life about five or six years after Java, it not only has caught up but has surpassed Java in most if not all ways, and has continued to evolve while Java has become stagnant.
C# is not the only example. Python 3 is a major overhaul of the Python language, and it introduced breaking changes that are not backwards compatible. I believe they provide a migration tool to assist you should you want to move from the 2.x series to version 3 and beyond. Microsoft has done this kind of thing as well. I remember when they made Visual Basic conform to the .NET platform and introduced some rather gut wrenching (for VB developers anyway) changes, and they also provided a tool to aid the transition. One more recent example is Objective-C which has experienced a resurgence in importance mainly because of the iPhone. Objective-C has been around longer than all of Java, C#, Ruby, Python, etc. since the 1980s. Apple has made improvements to Objective-C and it now sports a way to define and synthesize properties and most recently added blocks (effectively closures). If a language that pre-dates Java (Python also pre-dates Java by the way) can evolve, I just don't get why Java can't.
While it is certainly possible to remain on older versions of software, forcing yourself to upgrade can be a Good Thing, because it ensures you don't get the "COBOL Syndrome" where you end up with nothing but binaries that have to run on a specific hardware platform forever and you are trapped until you rewrite or you go out of business. The other side of this, of course, is that organizations don't have infinite time, money, and resources to update every single application. Sometimes this too can be good, because it forces you to triage older systems, and possibly consolidate or outright eliminate them if they have outlived their usefulness. In order to facilitate large transitions, I believe it is very important to use tools that help automate the upgrade process, e.g. tools that analyze code and fix it if possible (reporting all changes in a log) and which provide warnings and guidance when a simple fix isn't possible.
The JVM Platform
Before I get into the changes I'd make to Java to make it not feel like I'm developing with a straightjacket on while having to type masses of unnecessary boilerplate code, I want to say that I think the JVM is a great place to be. Obviously the JVM itself facilitates developing all kinds of languages as evidenced by the huge number of languages that run on the JVM. The most popular ones and most interesting ones these days are probably JRuby, Scala, Groovy, and Clojure though there are probably hundreds more. So I suppose you could make an argument that Java doesn't need to evolve any more because we can simply use a more modern language that runs on the JVM.
The main problem I have with that argument is simply that there is already a ton of Java code out there, and there are many organizations who are simply not going to allow other JVM-based languages; they're going to stick with Java for the long haul, right or wrong. This means there is a good chance that even if you can manage convince someone to try writing that shiny new web app using Scala and its Lift framework, JRuby on Rails, Grails, or Clojure, chances are at some point you'll also need to maintain or enhance existing large Java codebases. Wouldn't you like to be able to first upgrade to a version of Java that has closures, native property syntax, method/property handles, etc?
Next I'll choose what would be my top three choices to make Java much better immediately.
Top Three Java Improvements
If given the chance to change just three things about Java to make it better, I would choose these:
- Remove checked exceptions
- Add closures
- Add formal property support
I think these three changes along would make coding in Java much, much better. Let's see how.
Remove Checked ExceptionsBy removing checked exceptions you eliminate a ton of boilerplate try/catch clauses that do nothing except log a message, wrap and re-throw as a RuntimeException, pollute the API with throws clauses all over the place, or worst of all empty catch blocks that can cause very subtle and evil bugs. With unchecked exceptions, developers still have the option to catch exceptions that they can actually handle. It would be interesting to see how many times in a typical Java codebase people actually handle exceptions and do something at the point of exception, or whether they simply punt it away for the caller to handle, who in turn also punts, and so forth all the way up the call stack until some global handler catches it or the program crashes. If I were a betting man, I'd bet a lot of money that for most applications, developers punt the vast majority of the time. So why force people to handle something they cannot possible handle?
Add ClosuresI specifically listed removing checked exceptions first, because to me it is the first step to being able to have a closure/block syntax that isn't totally horrendous. If you remove checked exceptions, then adding closures would seem to be much easier since you don't need to worry at all about what exceptions could possibly be thrown and there is obviously no need to declare exceptions. Closures/blocks would lead to better ability to handle collections, for example as in Groovy but in Java you would still have types (note I'm also using a literal property syntax here):
// Find all people whose last name is "Smith" List<Person> peeps = people.findAll { Person person -> person.lastName.equals("Smith"); }or
// Create a list of names by projecting the name property of a bunch of Person objects List<String> names = people.collect { Person person -> person.name; }
Not quite as clean as Groovy but still much better than the for loops that would traditionally be required (or trying to shoehorn functional-style into Java using the Jakarta Commons Collections or Google Collections). Removal of checked exceptions would allow, as mentioned earlier, the block syntax to not have to deal with declaring exceptions all over the place. Having to declare checked exceptions in blocks makes the syntax worse instead of better, at least when I saw the various closure proposals for Java/JDK/whatever 7 which did not get included. Requiring types in the blocks is still annoying, especially once you get used to Ruby and Groovy, but it would be passable.
Native Property SyntaxThe third change should do essentially what Groovy for properties does but should introduce a "property" keyword (i.e. don't rely on whether someone accidentally put an access modifier in there as Groovy does). The syntax could be very clean:
property String firstName; property String lastName; property Date dateOfBirth;
The compiler could automatically generate the appropriate getter/setter for you like Groovy does. This obviates the need to manually code the getter/setter. Like Groovy you should be able to override either or both. It de-clutters code enormously and removes a ton of lines of silly getter/setter code (plus JavaDocs if you are actually still writing them for every get/set method). Then you could reference properties as you would expect: person.name is the "getter" and person.name = "Fred" is the "setter." Much cleaner syntax, way less boilerplate code. By the way, if someone used the word "property" in their code, i.e. as a variable name, it is just not that difficult to rename refactor, especially with all the advanced IDEs in the Java community that do this kind of thing in their sleep.
Lots of other things could certainly be done, but if just these three were done I think Java would be much better off, and maybe it would even come into the 21st century like Objective-C. (See the very long but very good Ars Technica Snow Leopard review for information on Objective-C's new blocks feature.)
Dessert Improvements
If (as I suspect they certainly will :-) ) Sun/Oracle/whoever takes my suggestions and makes these changes and improves Java, then I'm sure they'll want to add in a few more for dessert. After the main course which removes checked exceptions, adds closures, and adds native property support, dessert includes the following:
- Remove type-erasure and clean up generics
- Add property/method handles
- String interpolation
- Type inference
- Remove "new" keyword
Generics should simply not remove type information when compiled. If you're going to have generics in the first place, do it correctly and stop worrying about backward compatibility. Keep type information in the bytecode, allow reflection on it, and allow me to instantiate a "new T()" where T is some type passed into a factory method, for example. I think an improved generics implementation could basically copy the way C# does it and be done.
Property/Method HandlesProperty/method handles would allow you to reference a property or method directly. They would make code that now must use strings strongly typed and refactoring-safe (IDEs like IntelliJ already know how to search in text and strings but can never be perfect) much nicer. For example, a particular pet peeve of mine and I'm sure a lot of other developers is writing Criteria queries in Hibernate. You are forced to reference properties as simple strings. If the lastName property is changed to surname then you better make sure to catch all the places the String "lastName" is referenced. So you could replace code like this:
session.createCriteria(Person.class) .add(Restrictions.eq("lastName", "Smith") .addOrder(Order.asc("firstName") .list();
with this using method/property handles:
session.createCriteria(Person.class) .add(Restrictions.eq(Person.lastName, "Smith") .addOrder(Order.asc(Person.firstName) .list();
Now the code is strongly-typed and refactoring-safe. JPA 2.0 tries mightily to overcome having strings in the new criteria query API with its metamodel. But I find it pretty much appalling to even look at, what with having to create or code-generate a separate "metamodel" class which you reference like "_Person.lastName" or some similar awful way. This metamodel class lives only to represent properties on your real model object for the sole purpose of making JPA 2.0 criteria queries strongly typed. It just isn't worth it and is total overkill. In fact, it reminds me of the bad-old days of rampant over-engineering in Java (which apparently is still alive and well in many circles but I try to avoid it as best I can). The right thing is to fix the language, not to invent something that adds yet more boilerplate and more complexity to an already overcomplicated ecosystem.
Method handles could also be used to make calling methods using reflection much cleaner than it currently is, among other things. Similarly it would make accessing properties via reflection easier and cleaner. And with only unchecked exceptions you would not need to catch the four or five kinds of exceptions reflective code can throw.
String InterpolationString interpolation is like the sorbet that you get at fancy restaurants to cleanse your palate. This would seem to be a no-brainer to add. You could make code like:
log.error("The object of type [" + foo.getClass().getName() + "] and identifier [" + foo.getId() + "] does not exist.", cause);
turn into this much more palatable version (using the native property syntax I mentioned earlier):
log.error("The object of type [${foo.class.name}] and identifier [${foo.id}] does not exist.", cause);Type Inference
I'd also suggest adding type inference, if only for local variables like C# does. Why do we have to repeat ourselves? Instead of writing:
Person person = new Person();
why can't we just write:
var person = new Person();
I have to believe the compiler and all the tools are smart enough to infer the type from the "new Person()". Especially since other strongly-typed JVM languages like Scala do exactly this kind of thing.
Elminate "new"Last but not least, and actually not the last thing I can think of but definitely the last I'm writing about here, let's get rid of the "new" keyword and either go with Ruby's new method or Python's constructor syntax, like so:
// Ruby-like new method var person = Person.new() // or Python-like construction var person = Person()
This one came to me recently after hearing Bruce Eckel give an excellent talk on language evolution and archaeology. He had a ton of really interesting examples of why things are they way they are, and how Java and other languages like C++ evolved from C. One example was the reason for "new" in Java. In C++ you can allocate objects on the stack or the heap, so there is a stack-based constructor syntax that does not use "new" while the heap-based constructor syntax uses the "new" operator. Even though Java only has heap-based object allocation, it retained the "new" keyword which is not only boilerplate code but also makes the entire process of object construction pretty much immutable: you cannot change anything about it nor can you easily add hooks into the object creation process.
I am not an expert at all in the low-level details, and Bruce obviously knows what he is talking about way more than I do, but I can say that I believe the Ruby and Python syntaxes are not only nicer but more internally consistent, especially in the Ruby case because there is no special magic or sauce going on. In Ruby, new is just a method, on a class, just like everything else.
Conclusion to this Way Too Long Blog Entry
I did not actually set out to write a blog whose length is worthy of a Ted Neward blog. It just turned out that way. (And I do in fact like reading Ted's long blogs!) Plus, I found out that speculative fiction can be pretty fun to write, since I don't think pretty much any of these things are going to make it into Java anytime soon, if ever, and I'm sure there are lots of people in the Java world who hate things like Ruby won't agree anyway.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Liam Knox replied on Tue, 2009/11/10 - 6:58pm in response to: Thomas Mueller
Should Java have closures?, yes I feel so but obviously it is contencious still. Is Java dead?, no not by along shot, but its evolution is obviously a little slower than many would like. I do feel it is evolving in a controlled, sensible manner especially with regards to backward compatability.
I also agree with many of the posts, its a fantastic language overall, and just look what has been built with it. Given its usage now I would much rather control in the evolution rather than some free for all.
Joakim Ohlrogge replied on Wed, 2009/11/11 - 2:04am
I couldn't agree less on the proposed property syntax (advocates mutability), in fact, properties would be pretty far down on my list. I'd much rather have named constructor arguments + default constructor arguments like Scala 2.8 does. One thing that scala does that removes a lot of code is to declare constructor arguments as field in the class.
Closures would be useful in any programming language but there are a lot of things in Java that would make them feel pretty odd. For one thing, nothing returns a value in java. Would closures return the last value in the closure or would we use return? Would return exit the whole closure? If not, will if's return? What do we do about void?
I disagree that moving to Scala is such a big deal. Scala coexists nicely with java. You can still use java as is for legacy. Strangle the modules you want to convert to scala and do your new development in scala. I don't see that java as a language has a future other than the next cobol. It had a nice 13 or so years and it will exist for much longer but too many things in the language are wrong from a modern language perspective. The sooner we realize this and move to something with a future such as scala, the better.
Java is dead, long live the JVM!
Stefan Langer replied on Wed, 2009/11/11 - 3:38am in response to: Loren Kratzke
And in what way can a RuntimeException not be handled by a transaction? All you have to do is use a try catch block and voila you have handled all Exceptions you ever wanted.
Lets pick up the example with the FileNotFoundException. You are saying it is perfectly allright to use a CheckedException since the Compiler enforces you to handle it but in most use cases the non existence of a file is a fatal error since there is something wrong with the expectations you have for the program. It would be better to check that the file exists before expecting it to exist and then provide a sane alternative in case it doesn't exist or fail.
The problem with checked exceptions is not the exception per se but that a checked exception becomes part of the API. And if there is one thing I learned from experience then it is that you will never know in what way your API is being used in the future. So saying that somebody somewhere MUST handle your exception is a very broad assumption to make on all code that ever uses your API. Now in contrast to that a RuntimeException will simply propagate up the call stack and anybody who WANTS to handle it MAY handle it or ignore it. If nobody handles it it is finally handled by the runtime and the process of execution is halted. No guessing at what to do without knowing exactly what cause the exception or do you know where each exception from further up the call stack actually originated? Just one clean solution namly killing execution and making who ever is responsible start over.
Now the problem arises that in most Java programs there is no concept of a failing process so there is no backup that can replace the first one. There are frameworks that actually handle this quite well. E.g. EJBs if an exception is encountered by the container the bean is thrown out and not used anymore and the exception is logged to inform others.
Handling Exception by making assumptions about the cause of the error can be a dangerouse thing and a CheckedException is actually a definite way of making somebody handle the Exception in a possible bad way. (This is not a general rule but one that I encountered frequently in code)
Another problem with CheckedExceptions is that they tend to occlude existing code bases and since they are part of the API they cannot be removed from the API without breaking backwards compatibility. Even in cases where the clientcode is not actually handling the exception but simply rethrowing it you will have to change the client code. So you are producing potential upgrade problems for your users.
A RuntimeException can be handled just as can be any CheckedException it can even be declared on the method that is throwing it using throws which clearly documents it without leaking any information to classes that are further up the callstack that take no interest whatsoever in the exception.
And as a last point please show me a code base that is more robust because of using CheckedException instead of RuntimeExceptions.
Stefan Langer replied on Wed, 2009/11/11 - 3:54am
Btw my comment on the blog is:
Let Java be and let it die or prosper the way it is now. If you are interested in advanced concepts and better abstractions then go use one of the newer languages like Groovy, JRuby and Scala, ... if not then code the way you always have.
I strongly believe you are missing out if you stick to Java all the time and you are limiting yourself in ways that inhibit your ability to produce better code.
Choose the tool best suited for the job and stop spreading fud or bashing stuff you do not know or have no experience with (this is intended as a pun so do not take it personally, but if you do then you have a bigger problem then Java having or not having closures)
And one more thing I do not buy for one minute that more expressive code is more clear to read. You can always produce unreadable code in any language and each language takes a certain amount of experience until reading the source code becomes second nature but once it is then precise and concise definitions are easier to read.
List myResult = new ArrayList();
foreach(SomeClass myClass : someObjects) {
//do something with the filtered result
and now in Scala
val result = someObjects.filter( _.isTrue() )
// do something with result
with for comprehensions
val result = for( el <- someObjects if el.isTrue())
//do something with result
or in ruby
result = someObjects {|el| el.isTrue }
//do something with result
I personally favour the closure or block code over the standard java way and find it easier to read and because these constructs are part of the language you do not have to use libraries to get them. But then again this is me and I will surly not convince you if you have never actually used closures or blocks in code. This is actually kind of like trying to explain to a blind person what colors are. (Not ment as an offense)
Armin Ehrenreich replied on Wed, 2009/11/11 - 5:20am in response to: Stefan Langer
Yes it is the best reason to reject something beside backwards compatibility! Java is a language that is used by many people for everyday problems with a focus on maintainability of code by different persons. Many of them are not even computer scientists. Java is also a tool for many persons from physicists to molecular biologists. Of course such a language has to be different in the concepts it uses to a language that is exclusively used by a small group of computer scientists like Erlang. So in sharp contrast to oh so many utterances it is not a concern of Java to formulate code as concise as possible but instead as understandable as possible for many persons. Look in every beginners textbook for programming that this includes a verbose style of programming, expressive variable names, many comments and so on. Take a short look at the examples discussed at the mailing lists at the Scala site. It will take quite a while until the majority of developers can understand many of them if this day will come at all. And by the way, arrogance is also a bad fundament for working in a team.
Armin Ehrenreich replied on Wed, 2009/11/11 - 5:47am in response to: Stefan Langer
But the point is that Java and it APIs have been build without closures. That is not the case for Ruby. If you look at the APIs and the language (how it is used) there are profound differences. It is in my opinion a bad idea to try to change the basic concept of Java. This is the mess that the BGGA proposal would have created. Especially as inner classes are already present in Java. I think using CICE would have enabled many fundamental use cases of closures at very moderate complexity. All the advanced stuff is for languages build around functional concepts.
Java proved to be very useful as it is, and can be improved by small tweaks here and there (Project Coin) out of practical experience. But be careful, as a feature that is introduced, can never be removed again.
Scala, Erlang and the most recent C# versions still have to prove their usability in the real world. In my opinion it is a wise approach to watch how they are doing and what their pitfalls are in reality. In my experience the most "elegant" C# constructs are not used yet or are ignored by many developers.
Stefan Langer replied on Wed, 2009/11/11 - 6:39am in response to: Armin Ehrenreich
Ok what exactly is arrogant when I say that I expect a certain professionalism when working with people. You wouldn't bring you car to just any guy would you?
You wouldn't get heart surgery from a noob just because he is inexpensive would you?
Then please tell me why you would let the same noob code software your business depends on
So what I'm trying to say is that the noob has to gain the experience necessary to do his job properly and this includes learning stuff like closures and computer science stuff. What does this mean? It means that the beginners or average Joe should be taken by the hand and led the way in order to develope craftmansship which by no means has anything to do with a degree. If you are willing to learn you can grasp any of these concepts with ease. Just go out there and ask.
If you are not willing to learn these concepts then I do not think that you should be in this profession.
One counter example I can come up with is Rails. It is used by a lot of none computer scientists and average Joes who somehow manage to use blocks. So I guess they can't be that hard to understand.
It is funny you mention physicist and biologist using Java as I see a lot of those folks turning up in the Scala community to learn the language because they are sick of the way Java does certain things. I mean physicist or biologist do not seem to be the persons that are not capable of grasping something like closures or higher order functions...
And the notion of understandable code is one which isn't quite as easy to answer as writing lots of comments and writing lots of boilerplate code.
By the way I never said that code which is as concise as possible is easy to understand and I agree that there is a certain degree at which point conciseness undermines understandability but having to code out every iterator is not helping understandability in a code base nor is having to use anonymous inner classes or 3-5 helper classes in order to build useful abstractions over lists. And I don't even want to start talking about writing concurrent stuff in Java...
And giving the Scala list as a counter example is a bit awkward as the language is pretty new and the stuff that is discussed on there is from people who have high experience so the discussion tend to be on advanced topics and not on beginners stuff. Read Programming in Scala and you will discover that you do not need to understand all the high level features of the language and all the gory details in order to use the language. But if you want to you can. Nobody is keeping you from writing the same code you do in Java when using Scala although I wouldn't see the reason why you would do this once you get a grasp of the more advanced stuff.
Stefan Langer replied on Wed, 2009/11/11 - 6:37am in response to: Armin Ehrenreich
Ok so I think we agree on one point that it is probably fruitless to try to introduce language level changes at this point into what we know as Java. I think it is best to let other languages take over from here and let Java do what is is capable of performing and possibly die in dignity
About proof of Scala: Twitter is build on Scala which definetly shows that it is capable to deliver... but it will be a couple of years til it will get into the mainstream application market if it ever does or if it will be replaced by something different. But it is nice to know that there are options out there.
Erlang is actually used in high availability Telecommunication Switches and has therefor long proven that it is capable of bringing business value in industrial settings. With high availability we are talking about no downtime in a couple of years thanks to the upgrade capabilities built into the language itself. There is also Wing3D written in Erlang or CouchDB.
Can't comment on C# since I haven't looked into it too closely yet.
Bruno Sofiato replied on Wed, 2009/11/11 - 8:44pm
Why there's is this trend that every knew breakthrough must be done at language level ? Java already has a richful set of features that is UNDERUSED, like the annotation's metadata facility, which became just a gloryfied, high-coupling configuration mechanism.
Java needs a new wave of frameworks/libraries who makes better use of this facility.
The real stagnation isn't at the language level, but at the framework/library level.
Stefan Langer replied on Thu, 2009/11/12 - 3:29am in response to: Bruno Sofiato
Frameworks and DesignPatterns are always developed when the things they provide cannot be expressed elegantly with the language itself.
And annotations are basically a different way of preprocessing either at compile or runtime which in my eyes has never been so great. Now I do think annotations have their place but when they become the syntax of the language then it is questionable whether the resulting code is still readable and maintainable.
Just my 2cts.


text:
Since Change by Us launched two years ago, residents have used the platform to help organize projects from community gardens to nutrition classes that are increasing the quality of life in their neighborhoods. Just how many projects? Visit our Tumblr to take a look at our project map of the city.
Neighborhoods like Bedford Stuyvesant and Jackson Heights show impressive activity, and people across the five boroughs have started hundreds of grassroots projects that contribute to our city's efforts to build a healthier, greener future for all. Stop by our homepage to join one of these fantastic projects, or start your own!
Greening NYC's buildings and infrastructure isn't just a job for the professionals—you can join our city's efforts by signing up to volunteer with NYC °CoolRoofs!
A collaboration between NYC Service and the New York City Department of Buildings, NYC °CoolRoofs promotes and facilitates the cooling of NYC rooftops. Applying a reflective surface to a roof helps reduce cooling costs, cut energy usage and lower greenhouse gas emissions (the City has already reduced its emissions by 16 percent since launching PlaNYC six years ago). To date, the program has coated almost four million square feet of roof space. Check out photos of volunteers in action on our Tumblr.
The next volunteer opportunity is tomorrow morning, August 4. Stop by the NYC °CoolRoofs Change by Us project page to learn about upcoming events and to RSVP on their Facebook page. Join other green-minded New Yorkers as we make a greener, greater NYC!
Spring is finally here! March 20 marks the first day of the season, and more sun means more opportunities to get outside and help our city become a better place to live. Here are some of our suggestions for making springtime count:
1. Spend time in a community garden through the New York Botanical Garden's Bronx Green-Up initiative or, if you're in Brooklyn, the GreenBridge Community Garden Alliance. Some great volunteer opportunities are also available at the Queens Botanical Garden and the Snug Harbor Cultural Center & Botanical Garden on Staten Island.
2. Enjoy a late sunset while learning how to do your own outdoor composting.
3. Grow what you eat and eat what you grow by joining Just Food's City Farms Program.
4. Find a service opportunity that gets you out into the fresh air.
5. Sunny walks through farmers markets aren't just for the weekend—see which Greenmarkets are open after you get off of work.
These are only a few ways to take advantage of the longer, balmier days of spring and summer. Have a new idea for improving your community? Create a project on Change By Us!
Citizens Committee for New York City—which supports resident-led community improvement initiatives across the five boroughs—has announced that it is making $100,000 in emergency grants available to support volunteer-led relief groups helping neighborhoods recover from the storm.
Neighborhood rebuilding and cleanup projects centered on the storm's hardest-hit neighborhoods will be given priority. Citizens Committee also notes that volunteer groups working in city-designated Zone A evacuation areas, Hurricane Sandy-affected NYCHA developments (its Tenants Associations and Resident Green Committees), as well as community gardens, schools, and "Friends of" parks groups are encouraged to apply.
Citizens Committee CEO Peter H. Kostmayer explains: "These grants go up to $5,000 and our grant decision process will be expedited. Groups will be notified of our grant decision within a week of application submission and grant checks will be issued shortly thereafter."
For more information on applying for a grant and donating to the Citizens Committee for New York City's Hurricane Relief Fund, visit www.citizensnyc.org.
Staten Island was hit hard by Hurricane Sandy, and many compassionate individuals are hard at work helping the borough to recover from the storm. Where to Turn is maintaining a Sandy Support message board, which is full of announcements detailing where volunteers are needed, information for those in need of assistance, and important announcements for residents affected by the storm. And over on Facebook, the Save Our Shores group frequently updates its page with useful items—questions are being answered and people are finding out how to get involved in the relief effort. Visit them here.
New York has experienced an inspiring outpouring of support as the City continues to recover from the effects of Hurricane Sandy, but there is still much to be done. Looking to help New York City emerge stronger than ever? Here are three great ideas:
-The Mayor's Fund to Advance New York City is accepting financial donations which are then dispersed to relief efforts and organizations. Find out more and donate here.
-NYC Service, launched by Mayor Bloomberg in 2009, is the City's official volunteer office. It's easy to find out how you can help New Yorkers in need after Hurricane Sandy by visiting the office online here.
-The New York Blood Center is in need of donations. Hurricane Sandy had a tremendous impact on the blood supply in New York City. Find out where you can give blood to help end the shortage here.
Red Hook Initiative stands tall as a leader in helping the Southern Brooklyn community recover from Hurricane Sandy. This terrific youth development organization has been enlisting volunteers to distribute food and other necessities, and has spearheaded an amazing supply donations effort. Their great work continues to help residents in need; read more and learn how to lend your support here.
596 Acres—a fantastic organization that helps communities across New York City transform vacant public land into sustainable neighborhood resources—has been doing great work assisting the Rockaways to rebuild and recover from the aftermath of Hurricane Sandy. They have partnered with UnLocal, CAAAV: Organizing Asian Communities, and the Gowanus Studio Space to bring food, medical care, legal assistance, much-needed supplies, and more to residents that were among the hardest hit by the storm. Learn more and find out how you can get involved here.
Are you looking for volunteer opportunities and CBU events taking place near you? Check out the new Events Calendar by clicking "Calendar" at the top of the CBU homepage. You'll find listings for CBU project-hosted events taking place all over the City – and you might even discover a new project that you want to get involved with. Head over here and take a look at all the great things that CBU'ers across New York are working on.
Two of our CBU projects have joined Love Your Block to beautify and improve their neighborhoods, and their block-rejuvenation events are taking place this weekend. Join Unify and Beautify West 150th Street for a planting, cleaning, and mulching event between Amsterdam Avenue and Broadway, and visit Harlem's Rock Your Block for a tree planting, care, and stewardship workshop. These are terrific opportunities to make a huge impact on Upper Manhattan, and will help us make New York City greener and greater – one block at a time. And don't forget to check out the Love Your Block website to learn more about this initiative of NYC Service and Citizens Committee for New York City and to get involved with projects like these in your area.
Design and Development
© 2011 Local Projects, LLC.
All rights reserved.
Content and NYC Logo
© 2011 Mayor's Fund to
Advance the City of New York
All rights reserved.

subset: commoncrawl


text:
Situated at the foot of Taygetos Mountain, the Elite City Resort is a 4 star hotel near Kalamata City Centre. With the whole of the Messinian Bay to explore, you will be able to find plenty of great beaches for sunbathing and swimming, including the one belonging to the Elite City Resort Hotel itself. Kalamata International Airport and Kalamata Port are also within easy driving distance from the hotel. This luxury Messinian Bay hotel is ideal for travellers searching for a deluxe summer holiday destination in the Peloponnese as well as companies and organisations looking for a beach-side venue for their next conference. The Elite City Resort Hotel underwent a substantial renovation in 2008, bringing all of its facilities in line with the highest standards. The Elite City Resort Hotel has a restaurant with a terrace, bar and a café. Another one of the hotel's highlights is the Olympic-size swimming pool, which provides a nice alternative to the calm sea, and the state-of-the-art conference facilities. Free wireless internet access is available in the hotel lobby too.
Show reviews
Rooms: | 157 |
Important information & conditions: | Municipal Railway Park of Kalamata - 0.6 km / 0.4 mi Pantazopoulio Cultural Center - 1.7 km / 1 mi Kalamata Municipal Central Library - 2.1 km / 1.3 mi Military Museum of Kalamata - 2.1 km / 1.3 mi Archaeological Museum of Messenia - 2.1 km / 1.3 mi Koroni Castle - 28.8 km / 17.9 mi Pylos Castle - 39.5 km / 24.5 mi Methoni Castle - 43 km / 26.7 mi Lagouvardo Beach - 47.7 km / 29.6 mi Marathoupoli Marina - 47.9 km / 29.7 mi White Stone Lookout - 47.9 km / 29.8 mi Temple of Apollo Epicurius - 48.8 km / 30.3 mi The preferred airport for Elite City Resort is Kalamata (KLX-Kalamata Intl.) - 7.8 km / 4.9 mi. Distances are calculated in a straight line from the property's location to the point of interest or airport and may not reflect actual travel distance. Distances are displayed to the nearest 0.1 mile and kilometre. |
Cancellation policy: | You can change or cancel this deal free of charge up to 168 hours before your check-in date. Please take into account that the check-in date starts at 00:00 (local time). Free cancellation can be made up until 7 days before the check-in day. For cancellations made after this time a cancellation fee of 100% of the first night will be charged. All times refer to the local time at the property. For no-show, 100% of the first night will be charged. |
Note: It is the responsibility of the hotel chain and/or the individual property to ensure the accuracy of the photos displayed. We are not responsible for any inaccuracies in the photos. | |
Please provide this reference number to our customer service center representative on request, so we can help you better


text:
Date: 2 years ago
Runtime: 4:57
Views: 90,290
this guy has been on the net for a long time. 9" at least and what a super cummer. About 10 spurts each time but each spurt is so strong shoots so far. I'd love to deep throat that big cock and have him shoot all over my face.
Wish there was a way to find these guys to meet them! I like the two guys covering their faces. Hate to see their loads go to waste.
Dude - would totally suck that meat "balls deep" and swallow your loads anytime! email@example.com - get to me when in san francisco and/or send me your big dicked bros
That would be sooo awesome in my mouth , my ass , my face anywhere you want to put it
this horny stroker with his huge cock and incredible hard spurting cum loads always gets me hard and ready to shoot. Image those cum spurts hitting the back of your throat, hot!
wish u were fuckin those loads down my throat, deep and hard, using it for your pleasure
HOT HUGE cock! Would like to feel it in my pussy! AMAZING cumshots (especially in slowmotion)!
Ad by Traffic Junky
Ad by Traffic Junky


text:
Adidas Pure Lightness Perfume
By Adidas for Women
Adidas Pure Lightness Perfume by Adidas, This is a floral fruity fragrance for women on the go, and is perfect for sports or day activities . Top notes are succulent melon and red apple; middle notes are heady jasmine, lovely magnolia, violet and innocent lily-of-the-valley; grounded in a light musk base. All products are original, authentic name brands. We do not sell knockoffs or imitations.
- H Alpert Company
- Habanita
- Habanita L'esprit
- Halle
- Halle Berry
- Halle Berry Pure Orchid
- Halloween
- Halloween Bubbles
- Halloween Fever
- Halloween Freesia
- Halloween Kiss
- Halloween Kiss Sexy
- Halloween Sun
- Halloween Water Lilly
- Halston
- Halston Couture
- Hampton Sun
- Hamptons
- Hamsa
- Hanae Mori
- Hanae Mori Eau De Collection No 1
- Hanae Mori Eau De Collection No 2
- Hanae Mori Eau De Collection No 3
- Hanae Mori Haute Couture
- Hang Ten
- Hannah Montana
- Happy
- Happy Heart
- Happy In Bloom
- Happy Paris
- Happy Pillow
- Happy Spirit
- Happy To Be
- Harajuku Lovers Baby
- Harajuku Lovers G
- Harajuku Lovers G Of The Sea
- Harajuku Lovers Lil' Angel
- Harajuku Lovers Love
- Harajuku Lovers Music
- Harajuku Lovers Snow Bunnies G
- Harajuku Lovers Snow Bunnies Lil' Angel
- Harajuku Lovers Snow Bunnies Love
- Harajuku Lovers Snow Bunnies Music
- Harajuku Lovers Sunshine Cuties Angel
- Harajuku Lovers Sunshine Cuties Baby
- Harajuku Lovers Sunshine Cuties G
- Harajuku Lovers Sunshine Cuties Love
- Harajuku Lovers Sunshine Cuties Music
- Harajuku Lovers Super G
- Harajuku Lovers Wicked Style Baby
- Harajuku Lovers Wicked Style G
- Harajuku Lovers Wicked Style Lil' Angel
- Harajuku Lovers Wicked Style Love
- Harajuku Lovers Wicked Style Music
- Hard Candy
- Harem
- Harley Davidson
- Harmattan
- Harrods
- Harrods Amber
- Harrods Oud
- Harrods Rose
- Harvey Prince
- Havana
- Head Over Heels
- Healing Garden Waters Sheer Passion
- Health & Beauty Focus
- Heartbreaker
- Heaven
- Heaven Sent
- Heaven Sent Vanilla
- Heidi Klum
- Helene
- Heliotrope
- Heliotrope Blanc
- Hello Kitty
- Helmut Lang
- Her Golden Secret
- Her Majesty
- Her Money
- Her Secret
- Hermes
- Herve Leger
- Heure Exquise
- Hexy
- Hidden Fantasy
- High School Musical
- High School Musical 3
- Hilary Duff
- Himalaya
- Hip
- Hiris
- Hiroko Koshino
- Histoire D'amour
- Histoire D'amour 2
- Histoire D'amour Cherie
- Histoire D'eau
- Histoire D'eau Amethyste
- Hodo
- Hollister
- Hollister California
- Hollywood
- Hollywood Star
- Hot
- Hot Always
- Hot Bill Blass
- Hot Couture
- Hot Couture White
- Hot Gold
- Houbigant
- Hugh Parsons
- Hugo
- Hugo Boss
- Hugo Deep Red
- Hugo Element
- Hugo Xx
- Hyacinth
- Hypnose
- Hypnose Senses
- Hypnotic Poison
- Hypnotic Poison Eau Secrete
- Hypnotic Poison Eau Sensuelle
1.7 oz Eau De Toilette Spray
Item #461370
In Stock & Ready to Ship!
1.7 oz Eau De Toilette Spray (unboxed)
Item #497132
Unboxed items are a great way to save! They are the same as the boxed version, always original, fresh and authentic.In Stock & Ready to Ship!
Hurry! Only 15 in stock
Gift Set - 1 oz Eau De Toilette Spray + 5 oz Shower Gel
Item #501473
In Stock & Ready to Ship!
This product has 1 Out of Stock items |
2.5 oz Eau De Toilette Spray
Item #502014
Customers Who Bought This Item Also Bought
About Adidas
History and background of Adidas. In 1925, in a small German village, the world got it's first taste of Adidas. It was there, in a village by the name of Herzogenaurach, located 12 miles to the north and the west of Nuremberg, that those simple three stripes were brought to life by adidas' founder, Adolf "Adi" Dassler. Adi created adidas after realizing the need for performance athletic shoes. Read more about Adidas
More Adidas fragrances
for Women: Adidas Fruity Rhythm , Adidas Moves Pulse , Adidas Natural Vitality , Adidas Free Emotion , Adidas Fresh Escape , morefor Men: Adidas Deep Energy , Adidas Fresh Impact , Adidas Moves 001 , Adidas Victory League , Adidas Dynamic Pulse , more
See all Adidas products
Customer Comments
Time from order placed to receipt of product was outstanding. Product just what I wanted and prices are the best. I notice FragranceX prices for merchandise I've previously bought at dept. stores are 50% less!!!
C. Myslewski (Harrisburg, PA)
by PowerReviewsPros
- Clean & fresh (3)
- Great smell (3)
Best Uses
- Reviewer Profile:
- Natural style (3)
Reviewed by 4 customers
Sort by
Displaying reviews 1-4
- Clean & Fresh
- Great Smell
- Great Value
- Its Great For The Money
- Doesn't Hold
- Too Cheap Finishing
Best Uses
- Anytime
Comments about Adidas Pure Lightness Perfume:
It's great
- Clean & Fresh
- Great Smell
Best Uses
- Daily Use
Comments about Adidas Pure Lightness Perfume:
This is great :D
- Fragrance Type:
- Fresh/Aquatic
- Clean & Fresh
- Clean and pure
- Great Smell
- Long-Lasting
- Not Overpowering
- None
Best Uses
- Anytime
- Daily Use
- Evening Use
- Forever perfect
- Signature Fragrance
- Special Occasions
Comments about Adidas Pure Lightness Perfume:
Just the most spirit lifting and calming clean scent that makes you feel so good. Can be used anytime and it lasts all day and into the night. I cant think of anything wrong with this cologne. It is one of the most enjoyable scents I have ever purchased....sure will be ordering again and again. It is also very affordable.
- Fragrance Type:
- Clean and fresh, Fresh/Aquatic
- Smell
- none
Best Uses
- Any time
Comments about Adidas Pure Lightness Perfume:
This perfume is absolutely Gorgeous, it is fresh but leaves a beautifull aroma when wearing it. If you love Ralpy by Ralph Lauren you will love this, it isn't the same but quite similar in smell, I wouold totally reccommend it and I am hooked for life, Thanks Fragrancex from jennyXXX
- Gift:
- No
Displaying reviews 1-4


text:
Mar 17 | 7:00 PM | Oceano / Kublai Khan / Eat A Helicopter / Ruse / Inhuman Hands | Find Tickets |
Mar 18 | 7:00 PM | Hopsin | Find Tickets |
Mar 19 | 7:00 PM | Nekromantix | Get Details |
Mar 23 | 7:00 PM | DELTRON 3030 | Find Tickets |
Mar 28 | 7:00 PM | SCHOOLBOY Q w/ Isaiah Rashad & Vince Staples | Find Tickets |
Mar 30 | 7:30 PM | Taking Back Sunday | Find Tickets |
Mar 31 | 6:30 PM | Emmure / Volumes / Thy Art Is Murder / Gideon / Sworn In / Here Comes The Kraken | Find Tickets |
Apr 3 | 8:00 PM | Lacuna Coil / Kyng / Eve To Adam / Cilver | Get Details |
Apr 5 | 7:30 PM | Silverstein / My Heart The Hero / Empty Sails / Good As Dead | Find Tickets |
Apr 9 | 7:00 PM | Snow Tha Product / Caskey | Find Tickets |
Sunshine Theater has become one of the most popular live music venues in Albuquerque due, in part, to their schedule of hugely popular musicians and some extremely underrated ones. Instead of booking musicians that the music industry tells them that people want to listen to, Sunshine Theater features artists that people really want to see. Though the club is standing room only, audiences have no problem watching with a drink or dancing in the pit to the talented musicians only Sunshine Theater provides.
Sunshine Theater is located in the Sunshine Building on the corner of Central and Second downtown. The venue is fairly simple, with an open dance floor, a bar area, and a few popular balcony areas that contain a few tables. The club schedules slightly larger and more popular musicians than some of the other smaller venues downtown, including The Smashing Pumpkins, Deftones, Danzig, and Deadmau5. While audiences love to watch a show and enjoy a cocktail, Sunshine Theater is also well known in Albuquerque for its all-ages shows that don't just cater to a younger crowd.
The schedule is full of great, popular bands every week at one of Albuquerque's top live music venues. Check the calendar above to see who's upcoming this week, and buy your tickets on Eventful!
Manage your venue info, images and keep your venue's schedule up to date on Eventful.
Get Started Now!Fall Out Boy with Paramore
Warped Tour 2014
Tim McGraw with Kip Moore
Blake Shelton with The Band...
Journey and Steve Miller Band
Motley Crue
OneRepublic and The Script
Rockstar Energy Mayhem Fest...
Dodge Presents: M\u00f6tley...
2014 Country Megaticket
OneRepublic Native Summer T...
Jason Aldean
Chical Haystack 2014 Countr...
Thanks, your request has been submitted. You will be contacted by Eventful shortly.


text:
Welcome to the World Indoor Cricket Federation Website |
Welcome to the World Indoor Cricket Federation Website. Indoor Cricket as it is now known, was started in Australia in 1984 after it was brought over from Germany. The nets were introduced as only difference and this successful formula has grown from strength to stength in various countries around the world. Played in countries like Australia, New Zealand, England, South Africa, India and few other countries, this great sport has its various levels from social matches to league matches to Provincial or State tournaments all the way uup to international matches including World Cups and Masters Series.
The growth of this sport has led to a Junior World Series being added to the international calendar and in 2012 was first Junior World Series hosted in South Africa.
Indoor Cricket World Cup New Zealand 2014 |
In October 2014 New Zealand plays host to the World Indoor Cricket World Cup. Teams will compete across four categories; Men's, Women's, Boys U20's and Girls U20's.
Indoor Cricket Masters World Series South Africa 2013 |
After a successful World Cup 2011 and Junior World Series in 2012, it gave us great pleasure in bringing the Masters World Series to South Africa for what we expected as another fine hosting performance from our South African delegates.
The Venue was in Fourways, in the Gauteng province the categories that competed at this world class event were: 30 & Over Mens, 35 & Over Mens, 40 & Over Mens, 45 and Over Mens, and 30 & Over Ladies.
The Event took place over 7 days from Sunday 20 October 2013 until Saturday 26 October 2013.
Participating Countries were Australia, England, India, New Zealand, Singapore, Sri Lanka and the Hosting Country South Africa.
Well done to all....
Thank You South Africa!
ICL TRI NATIONS AUSTASIA 2013 - Sri Lanka |
The Indoor Cricket League Tri-Nation Series 2013, the first ever subcontinental series of a fast spreading format of cricket at the Austasia Sports Complex, Thalawathugoda with the participation of men's and women's teams from Australia, India and Sri Lanka.
Hosts Sri Lanka fielded two teams including Development Squads in both men's and women's tournaments while India will not compete in the women's division leaving it a Kangaroo- Lion affair.
View the Opening Ceremony, Mens Final and Ladies Final matches of the Tournament
share this with your friends.


text:
— Larry Jack
In the Aug. 6 cover story "Atheist" (News, Carmel Perez Snyder, Aug. 12, Oklahoma Gazette), Ms. Rebecca Vitsmun said, "I still believe that as long as people believe goodness is the thing they are striving for, then we are on the same page."
— Larry Jack
Atheists do not do good to please god. The do it because of a sense of empathy for a fellow human who is struggling. The do not believe in god. It would be like you saying that Christians do good to please Budha. They don't believe in Budha, so what they do has nothing to do with Budha.
As a Christian, it is pretty clear you do not understand that they are good without god because of their human sense of empathy.
Apparently, this Christian only does good because he thinks someone is watching or because he will get a reward out of it later.
Atheists do it KNOWING there is no reward and the only thing that they get out of it is knowing that the sufferer is no longer in pain.
Says something doesn't it?
It is really very sad that Christians are conditioned to believe that they are fundementally sinners. That is the crux of the problem here. Most of the population in this country believes they are incapable of being good people without their giant father figure in the sky watching over them. It is pretty obvious by the way they behave outside of Church a lot of times. It takes a lot more genuine goodness to be the type of person who strives to do good deeds without the promise of a reward or the threat of a punishment.


text:
South Carolina Gamecocks
- Year: Junior
As a Recruit: Gresham was recruited from Apalachee (Winder, GA) class of 2009. He committed to South Carolina on 2/4/2009.
This profile currently has no timeline events.
- Follow Teddy Heffner @Teddy_Heffner
RT @JoshatTheState: DeAngelo Smith and Chaun Gresham last minute adds to Senior Day, signaling either end of their careers or Kenny Mile ...
- Edit
Why is USC so thin at linebacker?
15 months agoThere are some reinforcements coming over the summer in time to help in the 2013 season but the numbers are, well, light at linebacker. How and why did it happen? More
- Edit
Senior class one to remember
16 months agoThe 29 seniors honored prior to the Gamecocks' 24-7 victory over Wofford Saturday have left a legacy at South Carolina. Look inside for a closer look at all 29 players. More
- Edit
Turnovers crucial as USC survives
16 months agoSouth Carolina skirted a major upset and notched a 24-7, closer-than-expected victory over Wofford on Saturday afternoon at Williams-Brice Stadium. More
- Edit
Spurnotes - Testing Results
2 years agoIn today's edition of Spurnotes, the daily "War Room" exclusively for TBS V.I.P. Members, we offer you a look at who the standouts were in the recent football team testing. More
- Edit
Pre-Spring Primer: Linebackers
2 years agoAs we continue our position-by-position breakdown, here's a look at how the linebackers will look this spring. More
Recruits Predict Chaun Gresham
This profile currently has no predictions.
COLLEGE: Sophomore who made the transition from defensive line to tight end in the spring... has been a solid contributor on special teams. 2010: Played in 12 of 14 games, primarily on special teams... missed the Troy and Clemson games after suffering concussion on opening kickoff at Florida. 2009: Redshirted as a true freshman. HIGH SCHOOL: Played for head coach Shane Davis at Apalachee High School in Winder, Ga., graduating in 2009... the Wildcats went 7-4 in his senior season, the winningest season in school history (they began competing at the varsity level in 2000)...returned two interceptions for touchdowns against Monroe Area in 2006... originally committed to Georgia Tech before selecting the Gamecocks. PERSONAL: Chauntil D. Gresham is pursuing a degree in criminal justice... is the nephew of Gamecock great George Rogers.
- Early Enrollee
- Walk-On
- Gray Shirt
- Video Highlights
- Medical Redshirt
- Primary
- Secondary
- Keeper
- Primary (Inactive)
- Secondary (Inactive)
- Keeper (Inactive)


text:
My Stats
Contributor Since: | February 2012 |
Location: | Malibu, CA |
About Me
I cover law, public policy, security and technology. My academic research focuses on matters related to security and international affairs. My writing has appeared in publications such as The New York Times, The Washington Times, The Baltimore Sun, National Review and The Weekly Standard. You can follow me on Twitter @GregoryMcNeal.


text:
Script First? Or Art?
For those working already in the comics industry, you're undoubtably familiar with the traditional flow of process: Editors come up with an idea, writer takes the idea and writes the script, artist pencils, inker inks, colorist colors, and then everything's lettered and sent off to press. Not to mention the million-and-one edits that happen every step of the way. It's a very simple process that's been worked a thousand times over.
But what about those who are their own writer, their own idea-maker, their own artist, director, and producer? The path isn't always quite so clear cut! There's nobody saying, "Draw this script!" "Ink this line!" There are a million and one ways to approach an idea, so why not take the path of least resistance?
When I first got started out in comics, a script was a vague idea. I knew what was in my head, I knew what I wanted it to say, I knew how it was supposed to look.
Well, at least I thought I did.
A seventeen-page short story and a hundred-sixty-page book later, I . . . somewhat quickly learned the appalling side effects of jumping into art unprepared. A well laid-out story takes planning and plotting and a lot of forethought of exactly where it's going, otherwise you're left with a lot of false leads and loose ends.
One of the most common questions I get when speaking to young artists--especially those influenced by manga and epic-length stories--is whether I write a script first. If you had asked me a few years ago, I would have said, "No." Ask me today, and you'll get a resounding, "Yes!!!"
Scripts don't have to be set in stone, but they are the building-blocks to a smooth, well thought out, and planned graphic novel. Perhaps, with a shorter story, you can get away with leaving the planning to the side, but with graphic novels, you're SOL unless you have a map and a few clear directions. It's easy to get lost in the moment of a scene and lose sight of the big picture, creating moments that speed up and slow down according not to the timing of the scene, but to necessity of the art instead.
Think of this: the more difficult the art is to draw, the more time you spend on it, the longer it feels like you've been working on the scene, and relative time according to the story becomes distorted.
However to a reader who's reading at the same steady pace--whether it be an easy close-up shot or a difficult crowd scene--time is relative to how long it takes their eye to travel across the page, not how difficult the art is. For many artists, this creates a "staccato/legato" effect where scenes feel either too short or too long.
Musical terms aside, think of your longer stories as a giant tapestry, where threads of a story interweave in and out of one another, sometimes one color disappearing behind another to reappear once again at the end. The design must be planned beforehand, and if you want there to be red at the end, then you must start the thread somewhere at the beginning. Story elements that play a major role at the end of the book must first be introduced (even if in a mere drop of a word or hint of a color) at the beginning in order to work.
I have a couple of friends working on story pitches right now who know what happens in the first book and they know all about the characters, but . . . "I don't know where it's going! Except that they save the world. Somehow." Don't start drawing until you know. Maybe not every last detail, but plan out the path and let the characters roam will they will. They'll decide for themselves where exactly to go and what to say.
So if you've never written a full script before, where to start?
Something I've taken up lately is an idea yanked from the movie and television industry. I sit down and write down on little note cards where the plot is going. I write down key moments and dialog. Nothing fancy. Then I pin 'em up to a wall (usually in my kitchen) and read straight through them, looking for plot holes and noting pacing. I sit down on the counter, pen in one hand, note cards in the other, jotting down changes as I spring back up to switch out cards, take one down, pin up another . . . or three. Slowly, the story starts to fill out, take shape and form. The characters haven't quite yet come to life yet, but the path of their life has been determined and they're now let loose to wander within their set confines.
After that, I sit down and write. And write, and write, and write. Being both artist and writer, I take no hesitancy in describing the scene and the details. Other writers prefer to leave out the details, resorting instead to dialog alone and key camera points. Everybody has their own approach, but for a very visual person, I describe where the characters look, how they move, their expressions, their body language, and their environment and how they interact with it.
Being halfway through my third graphic novel and halfway through my first book, I can say for me, personally, scripting and plotting have been quite literally, a godsend. It will always be a struggle to create, but in reading over what I've produced, the improvement is visible even to me, the artist's harshest critic. Perhaps practice has aided in that improvement as well, but figuring out a system that works for me, personally, has helped to improve dialog, pacing, and voice.
Everybody has to figure out what system works best for them. Everybody has to go through their own period of trial and error to discover what exactly that system is. Everybody has to find their own way, no one can take you there. But perhaps with a few pointers and guidelines from others, the going could be a little less tough.
So put down those easels and try writing for a change. Go out to a park or a cafe and sit and descriptively write about what the people around you are doing instead of just drawing them. How is he wearing his red leather cap? Does she walk with a sway in her hip? Jot down dialog. Observe and reflect. If you want to be a creator drawing your own stories rather than somebody else's, then you're going to have to learn to write eventually, anyway.
Not that drawing somebody else's story can't be fun, as well. But let's save that discussion for another day. ;)
And, as always, others are welcome to disagree. :) I'm speaking only from my side of the wall. Oh yeah, and there's some of that Steady Beat volume 3 art, I promised. Yummy pencils. I've a thing for drawing music in this chapter. :D They're also some of the few pages that don't give everything away! O_O
*5 lb. Hero is my band. If I had a band. Which I'll never have a band because comics eats your soul and I'll be drawing and writing 'till I the day I die. That, and I can't sing worth a copper penny. But at least I'm honest.
- Post a new comment
- 21 comments
- Post a new comment
- 21 comments


text:
Two arrested in robberies
Published 08/14/2012 at 11:51 a.m.
Two men were charged with four counts of aggravated robbery each in connection to two crimes this summer.
Fighting back by having fun
Published 07/08/2012 at midnight
First Step fought back against violence Saturday afternoon with a bit of music, smiles, food and fun.
View all stories for this staff member.


text:
- Filter:
- Most Recent
- Greatest
- Orphans
"Does the middle-aged or older, naked body of your long-time spouse still attract you?"?
Asked by Hypocrisy_Central | 24 responses -
What bothers you that you purposely stifle around your spouse?
Asked by JLeslie | 22 responses -
Does your spouse have a hobby or interest that makes life more complicated?
Asked by JLeslie | 28 responses -
When children are concerned is it better to live with a husband/wife or baby-mama, or baby-daddy?
Asked by Hypocrisy_Central | 16 responses -
When you moved in with your partner, is there anything about them that you found to be irritating?
Asked by Mama_Cakes | 39 responses -
Will you go to dinners and parties without your spouse?
Asked by JLeslie | 28 responses -
Would you divorce a spouse who got too fat for you AND refused to make adjustments?
Asked by TripleCrazyEights | 15 responses -
Is it normal for grief (loss of a loved one) to hit you full-on years after your loss?
Asked by Mama_Cakes | 19 responses -
Anything about your partner that annoys you a bit?
Asked by Mama_Cakes | 38 responses -
Men: do you want other men to check out your wife?
Asked by JLeslie | 11 responses -
One thing that your partner does to calm you down (when needed)
Asked by Mama_Cakes | 30 responses -
(NSFW) Do you and your spouse/partner often laugh while lovemaking?
Asked by WillWorkForChocolate | 16 responses -
How does one describe a deceased spouse when explaining to someone else your spouse died?
Asked by AshlynM | 16 responses -
What is something surprising you learned about your SO after years of being together?
Asked by JLeslie | 15 responses -
Do you think it's possible to 'not be cut out' for monogamy?
Asked by thesparrow | 78 responses -
What extreme you would go to, in order to catch your partner/spouse cheating?
Asked by john65pennington | 14 responses -
Do you see any correlation between people who got along very well with their siblings in childhood, and those who get along well with their spouses?
Asked by JLeslie | 11 responses -
Why did you fall in love with your ex?
Asked by wundayatta | 17 responses -
Does your spouse or significant other come to work with you? (Details inside)
Asked by smilingheart1 | 10 responses -
If you were the president's wife, would you want him to run again?
Asked by Jeruba | 10 responses -
Married jellies- how has your spouse changed through your marriage?
Asked by WillWorkForChocolate | 11 responses -
Do you have an odd item of your deceased loved one?
Asked by Jude | 23 responses -
What are some of the qualities of an excellent friendship between you and your spouse or partner?
Asked by john65pennington | 12 responses -
Your spouse does not like your pet and one has to go, which do you keep?
Asked by Hypocrisy_Central | 46 responses -
What is the sweetest, yet, oddest thing that someone has ever said to you?
Asked by Jude | 14 responses


text:
Ugandan minister raids gay-rights workshop
Uganda's parliament has taken up once more a bill that imposes tough sentences on homosexuals. A raid on a gay-rights workshop may show government support for the bill.
As Uganda's parliament begins discussions once more on an antihomosexuality bill, the Ugandan minister of ethics has accompanied police to shut down a workshop in Entebbe for gay rights activists and to arrest its organizer.
Skip to next paragraphSubscribe Today to the Monitor
During the raid of the workshop, organized by Freedom and Roam Uganda, Ethics Minister Simon Lokodo told participants to leave or he would order the police to use force.
"I have closed this conference because it's illegal," Mr. Lokodo was quoted as saying by the Daily Monitor, a Ugandan newspaper. "We do not accept homosexuality in Uganda. So go back home."
Public assembly of gay people is not a crime under Ugandan law, although homosexuality itself is. Bans against homosexuality in Uganda, and in many other countries of Africa, go back as far as the British colonial government, which was guided heavily on social issues by Christian missionaries. A few African countries, such as South Africa, have stripped away colonial-era prohibitions against homosexuality, but other countries, such as Uganda, are working in the opposite direction, adding heavier penalties to the laws that currently exist.
The current antihomosexuality bill under consideration would impose the death penalty for "aggravated homosexuality" committed by "serial offenders." The bill made its first appearance in 2009, but was withdrawn last year after significant pressure from donor nations such as the United States, Britain and Sweden. President Obama called the bill "odious."
Amnesty International condemned the raid of the gay-rights workshop and called on the Ugandan government to "end its outrageous harassment of people involved in lawful activities."


text:
Graduate Teacher Program TIGER Workshop Series
All workshops count toward GTP certificate requirements.
All graduate students, undergraduate teaching & learning assistants, postdoctoral fellows, faculty, and staff are welcome at GTP events and activities.
For further information, please call 303-492-4902.
TIGER Workshop Archives
Fall: T1-2013, T2-2013, 2012, 2011, 2010
Spring: 2013, 2012, 2011, 2010
Summer: 2012
TIGER 1: Workshops on Teaching - Thursdays 4:00 - 5:00PM ScheduleTIGER 2: Workshops on Research - Tuesdays 9:30 - 10:30AM Schedule |
January 21 How to Write a STEM Grant Proposal Eric Frew, Associate Professor, Aerospace Engineering Granting groups have different requirements, guidelines, length limits, and submission guidelines for proposals. Professor Frew will help graduate students better understand how to take the challenge and write a STEM grant proposal. January 23 Framing Labs with a Big and Intriguing Question Dmitry Baranov, Research Assistant, Chemistry Having students relate their lab work to real-life laboratories can intrigue and engage them in the questions being addressed in the lab. Using humor, analogies, and even CSI examples can help students pursue answers to lab questions and experiments. January 28 Research on Human Subjects in STEM Disciplines Claire Dunne, IRB Manager, Office of Research Integrity Dr. Dunne discusses how graduate students and faculty can prepare their research projects according to the requirements of the Human Research Committee to move their requests expeditiously through the IRB process. January 30 Working with Students with Disabilities in Labs Cath Stager, Academic Technology Access Coordinator, Disability Services Sometimes students who may be hard of hearing, deaf or blind could be taking your lab. Cath Stager will discuss how you can help students succeed and accommodations that you are required to make. February 4 The Benefits of Mentoring Student Researchers Melissa A. Foster, Lead 2012-14, Geology This workshop will focus how to find mentees and the how the mentoring process benefits both you and your student researcher. We will cover available funding for student mentees, how to maximize your student's experience, how to tailor student projects to your February 6 Building Student Success in Lab Settings Beverly Louie, BOLD Center, Engineering Professor Louie has worked with many students in Engineering to assure their success in difficult science courses and labs. She will share her experiences, discuss proven methods, and make suggestions that will help you engage students— even the disinterested or scared ones in your labs. February 11 Using STEM Library Research Sources Effectively Jack Maness, Assistant Professor and Director, Sciences Department, University Libraries Scholarly literature in STEM fields is a multi-billion dollar international industry. CU Libraries alone spend nearly $7M annually on STEM resources, and much of it is simply not discoverable through Google. Come learn how to navigate this expanding and fractured information universe so you can ensure your literature review (and thus your thesis or dissertation) is as well vetted in the literature of your field as possible. February 13 Conflict Management in Labs Nancy Guild, Lab Coordinator, MCDB In science labs students often work in groups, thus conflicts about responsibilities, tasks, and timing can arise. Professor Guild addresses how best to prevent such conflicts and handle them when they arise. February 18 Working on a Research Team Lorine Giangola, Lead Coordinator, Graduate Teacher Program More and more research is carried out in teams. What kinds of roles do scientists play on research teams? How can one work effectively with others to accomplish a successful research project? Dr. Giangola has some good ideas. February 20 Teaching Students to Write Outstanding Lab Reports & Papers Lorine Giangola, Lead Coordinator, Graduate Teacher Program Writing is difficult. Science writing has its own conventions and expectations. Dr. Giangola will discuss how instructors can help students produce good work that cuts down on grading time! Februray 25 No Workshop This Week February 27 Writing Effective Teaching Statement for STEM Laura L. B. Border, Director, Graduate Teacher Program Sample Philsophies of Teaching & Learning Many STEM departments across the country are engaged in improving student learning. How can you best write your teaching statement or your philosophy of teaching and learning to reflect how you teach for student learning? Sample statements will be discussed. March 4 Writing Your Research Statement for Your Teaching Portfolio Laura L. B. Border, Director, Graduate Teacher Program Applying for an academic teaching position in a STEM field or for a postdoctoral position may require March 6 Grading Effectively in Labs John Basey, Senior Instructor, EBIO Students often have trouble understanding how much each lab counts toward the final lab grade and how they are graded in labs. Professor Basey provides guidance on how to communicate your grading standards and methods clearly to students. |


text:
- Home
- Events & Classes
- About
- Locations
- Kids
- Teens
- Adults
- Using the Library
Basics of Ghost Hunting
Join Tommy Jones from the Kentucky Area Paranormal Society for the basics of ghost hunting. Topics include theories on ghosts and hauntings, techniques for researching and investigating paranormal activity, and equipment used in investigations. Also included will be audio and video evidence recorded on various investigations across the country.


text:
Since yesterday, 06-28-2011, whenever I power up AutoCad 2011 I do not see the ribbon where I think it should be. Attached below is a picture of the AutoCad 2011 screen, I have a blue arrow showing where I think the ribbon shoud be.
Solved! Go to Solution.
Yes, but no ribbon(s) showed up.
Try these two options:
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.


text:
Mercure Hotel Munchen am Olympiapark
Travel Blogs from Munich
Day 2 arrived to Munich today via Train!
Short snooze we almost miss our wake up time due time Kim setting here alarm for 6pm instead of 6 am. We traveled by train to the main train station where we said bye to Kate and we officially on our own. Yikes! We successfully made it to our train and found our seats in the right train car. Our goal was to stay awake on the train to try and …
Day Twenty Seven
... was missing so it took us a little bit longer to get to the station, but we made it in the end, found out where we had to go and jumped on the train. The compartment was very small, (yet much bigger and nicer than chinas) we had to put all three big suitcases in plus our three little ones. After a bit of Tetris we managed to all make it in. We then got ready for bed hoping that we could sleep most of the train ride to make it go ...
Travel to Munich
... walked back to the station caught the train to Marienplatz (Town Square)in search of the beer houses & gardens. Came up from the subway & saw the most amazing building...we went in search of lunch found a table for 8 ( which is very hard to do) at a pub with tables on the footpath...food & Drinks were ordered wieners..scnitzels etc and eaten.... then we went in search of the big ...
Lego and Beer
... rides) We had just over 6 hours to explore, have rides, look at stuff, they even sell lego by the kilo! It was fun and the weather was fantastic - I think Ieven got a bit burned, just on my forearms. Sam went on all the crazy rides, Gem was a bit more timid and I only went on a few (my job was to hold bags and take photo's I think - I don't really like roller coasters) After a long day it was back onto ...
Autobahn Blues/Beers in Munich
... rent it.
Dinner was at a sidewalk cafe, Italian for tonight. Like all our meals so far, it was quite good. We wandered back towards our hotel near the train station stopping for ice cream along the way. We passed one of the neighboring businesses to the hotel...a topless bar called "Sexyland", knowing we were nearly there. I'm looking forward to sleeping....I've been fighting a cold and/or respiratory infection. It sort of saps the energy from me.


text:
© OpenStreetMap contributors
Tiles Courtesy of MapQuest
Start: Wednesday, December 5, 2012
Chamber music is an opportunity for students to hone their musical skills in a social setting that promotes teamwork, leadership, and individual responsibility. Participating students will be placed in small groups, ranging from trio to sextet, according to age and ability. These chamber ensembles will explore the range of chamber music repertoire in a way that provides technical and artistic growth. Students will be coached by members of prominent Cleveland-based chamber ensembles, including The Almeda Trio, No Exit, and Pizzicato 4.
There will be three main chamber recitals throughout the year that will showcase the progress of each group. These will occur in late fall, early spring, and at the end of the school year.
Scholarship auditions for Honors Ensembles will be held in June and August. For more information, contact Cara Tweed at email@example.com.
"I took a look at Active Advantage and simple math won me over. I've already made back the cost of the membership in savings."
- LeeAnn L.
"Whenever I'm shopping for something, I check Active.com Advantage first. Great merchants! Great products! Great value!"
- Ashley R.
"I took a look at Active Advantage and simple math won me over. I've already made back the cost of the membership in savings."
- LeeAnn L.


text:
Best of Total Beauty: All Our Best Beauty Product Stories in One Place
citrusc3 hasn't written anything yet.
Redken Color Extend Conditioner
color stays!!
Posted 4 years, 2 months ago
Arbonne Bio Nutria Herbal Colon Cleanse
gentle and good
Posted 4 years, 3 months ago
Peter Lamas Repair Me Conditioning Detangling Mist
conditioning excellence
Posted 4 years, 4 months ago
mark Scanda-Lash Hook Up Mascara
full lashes
Posted 4 years, 4 months ago
Arbonne Virtual Illusion Makeup Primer
can't say enough
Posted 4 years, 7 months ago


text: C. Barnes wrote: > Hi, I'm in the process of writing a Python linear > algebra module. > > The current targeted interface is: > http://oregonstate.edu/~barnesc/temp/linalg/ Is this going to become free software. If yes, what license will you use? So my suggestions: In cases like these ones: random_matrix(m, n=-1) zero_matrix(m, n=-1) .. I think it's better to set the default value to "None" instead of a number: random_matrix(m, n=None) zero_matrix(m, n=None) IMHO, this is more intuitive and more "pythonic". I also suggest to make the "random function" choosable: random_matrix(m, n=None, randfunc=random.random) random_vector(n, randfunc=random.random) This way it's more easy for those who want another range of numbers, or want another kind of distribution of the random numbers. At the top of your documentation, there is a link "overview", which is broken: See _overview_ for a quick start. Greets, Volker -- Volker Grabsch ---<<(())>>--- \frac{\left|\vartheta_0\times\{\ell,\kappa\in\Re\}\right|}{\sqrt [G]{-\Gamma(\alpha)\cdot\mathcal{B}^{\left[\oint\!c_\hbar\right]}}}


text:
December 18 2013
Vivian holds business appreciation
Posted by Lucy
Members of the Vivian Community Club, l-r; Keith Patrick, Kathie Diedrich, Terri Severyn and Marlene Patrick serve up roast beef, turkey, potatoes, gravy and corn to those attending the annual event hosted by area businesses. The meal was served at the Vivian Fire Hall to approximately 125 people.
- Garnos inducted into Hall of Fame
- Playing at the farm and home show
- Garnos to be inducted into SD Amateur Basketball Hall of Fame
- Curtain to go up SATURDAY night on 20th play
- Group organizes to promote rail line rehab
- Vacancies open on city and town boards
- First year of Jr. Kindergarten program exceeds expectations
- Rails to the future
- Berg to retire from Reliance Post Office
- Weighing In
- A monster of a tournament


text:
SIGN IN to access Harper's Magazine
Need to create a login? Want to change your email address or password? Forgot your password?
1. Sign in to Customer Care using your account number or postal address.
2. Select Email/Password Information.
3. Enter your new information and click on Save My Changes.
Subscribers can find additional help here. Not a subscriber? Subscribe today!
Liberty cannot be preserved without a general knowledge among the people, who have a right, from the frame of their nature, to knowledge, as their great Creator, who does nothing in vain, has given them understandings, and a desire to know; but besides this, they have a right, an indisputable, unalienable, indefeasible, divine right to that most dreaded and envied kind of knowledge, I mean, of the characters and conduct of their rulers.
–John Adams, A Dissertation on the Canon and Feudal Law (1765)
More from Scott Horton:
No Comment — November 4, 2013, 5:17 pm
An expert panel concludes that the Pentagon and the CIA ordered physicians to violate the Hippocratic Oath
No Comment — August 12, 2013, 7:55 am
How will the Obama Administration handle Edward Snowden's case in the long term?
No Comment — July 29, 2013, 11:36 am
Is it possible to simply disband the partisan FISA court?
Chances that a deep breath inhaled today will contain a molecule from Julius Caesar's dying breath:
Innumeracy: Mathematical Illiteracy and Its Consequences, by John Allen Paulos, Hill and Wang (N.Y.C.)
The earth once had three moons; the two lost moons may have crashed into the surviving moon, or been sucked into the sun, or flung out of the solar system to drift through deep space.
In Florida, an 87-year-old World War II veteran flying touch-and-go drills in a Cessna collided with an airborne skydiver. "There was a 'woof' sound," said a witness, "like falling on your face into your pillow."
"American politics has often been an arena for angry minds."


text:
The Leading eBooks Store Online
for Kindle Fire, Apple, Android, Nook, Kobo, PC, Mac, Sony Reader ...
Trends in Constraint Programming
(If any tax is payable it will be calculated and shown at checkout.)
Preview (read now)
Add to my own site
Give this ebook to a friend
Add to my wishlist
Author's page
Publisher's page
- iPad
- e-readers with Adobe Digital Editions installed
- Mac
See the full list
Available Devices
This ebook is available for the following devices:
- iPad
- Windows
- Mac
- Sony Reader
- Cool-er Reader
- Nook
- Kobo Reader
- iRiver Story
File Formats
Download: secure PDF.
You can also read this ebook online in eb20 format without having to download anything.
You can also read this ebook online in eb20 format without having to download anything.
Read Aloud
Read Aloud
Constraint programming is a constantly evolving field, something which is explored at the annual International Conference on Principles and Practice of Constraint Programming. This conference provides papers and workshops which produce new insights, concepts and results which those involved in this area can then use to develop their own work. This title provides an accessible overview of this by bringing together the best papers on a range of topics within this subject area, thus allowing those involved in constraint programming to benefit from the new innovations and results created as a result of the conference.
Subject categories
- Academic > Mathematics > General > Mathematics
- Academic > Computer Science > Computer science
- Academic > Computer Science > Electronic data processing
- Academic > Computer Science > Computer programming
- Academic > Computer Science > Constraint programming
- Academic > Mathematics > Instruments and machines
- Academic > Mathematics > Geometry. Trigonometry.Topology
- Technology
- Science


text:
NetBeans Dominates Developer.com's 2009 Product Awards!
The NetBeans Team is thrilled to announce five big wins for NetBeans in Developer.com's 2009 Product of the Year Awards.
The NetBeans IDE was voted the top Java Tool and Open Source Tool. In the category that received the most votes: Development Tool, the NetBeans Platform was the favored product. Win number four was delivered by the NetBeans Profiler in the Development Utilities race. And for a third straight year, the NetBeans Mobility Pack beat out other finalists to hold on to top billing in the Wireless/Mobile Tool showdown.
To the NetBeans Community and our supporters for turning out to vote and helping to deliver these great wins, we say: THANK YOU!
Attachment | Size |
fig.jpg | 6.21 KB |


text:
Reader Comments (Page 1 of 1)
I think she's a beautiful girl, even with the slightly messed up teeth. She photographs beautifully. Looking at some of the shots I was surprised at how pretty she is, because the picture with the article didn't make me see it. Her features are stunning. She reminds me of my best friend who tried to become a model at 15, but wasn't tall enough for runway and while they wanted her for catalog, her mom never motivated her or helped her to accomplish it. Sad. Very symmetrical features and beautiful bone structure do a lot in the modeling world, and I know what perfect teeth would look like on her [as they do on my friend], her's actually will make her stand out.


text:
Pirates attack ship off Nigeria, kidnap four foreigners
PORT HARCOURT, Nigeria
- Tweet
- Share this
PORT HARCOURT, Nigeria (Reuters) - Pirates attacked a ship being used by an oil servicing company in the waters off southeastern Nigeria on Saturday, killing two Nigerian naval guards and kidnapping four foreigners, the Navy and the boat's shipping firm said.
"An oil servicing company was attacked by gunmen. We lost two of our men and four expatriates were abducted, one Malaysian, one Iranian," Navy spokesman Commodore Kabir Aliyu said, adding that a Thai and an Indonesian were also taken.
He said the attack took place around 33 nautical miles off the coast of Bonny, Nigeria's main oil export terminal.
Netherlands-based Sea Trucks Group, whose boat Jascon was attacked, confirmed that four of its staff had been seized and that two other security guards were also wounded in the attack.
"The two remaining injured security personnel are now in Port Harcourt hospital for treatment," spokeswoman Corrie van Kessel said in a statement.
"Sea Trucks Group is making every effort to find out where the kidnappers".
Security in the Delta has improved since militant activity shut down nearly half of Nigeria's oil output around the middle of the last decade, thanks to an amnesty between various militant factions and the government.
But the situation remains volatile and inflamed by organized crime and local political rivalries.
Piracy and kidnapping in the Delta and offshore are common, and West Africa's oil-rich Gulf of Guinea is second only to the waters off Somalia for the risk of pirate attacks, which drives up shipping insurance costs.
They are seen as more of a criminal enterprise making huge sums for armed gangs than as anything political. Nigerian pirates usually release kidnapped crew members after their cargo has been looted, rather than held for ransom.
(Reporting by Austin Ekiende, Tim Cocks and Tife Owolabi; Writing by Tim Cocks; Editing by Jon Boyle)
- Man called Bitcoin's father denies ties, leads LA car chase
- Ukraine standoff intensifies, Russia says sanctions will 'boomerang' |
- Florida mayor fights backyard gun ranges in 'Gunshine State'
- Apple loses bid for U.S. ban on Samsung smartphone sales
- 'Everything is fine', Pistorius told guard after shooting girlfriend |


text:
Grid is 1 inch square
RepairClinic Item #2313946 (OEM Part)
$43.25Hazardous Material – Special Shipping Required EcoVantage high efficiency laundry detergent, 110 loads, contains an oxygenated cleaning agent that helps remove stains, protects colors and is completely environmentally safe. Manufacturer Number 1800902 |
Click for shipping speed calculator.
Order now and this item will ship out today - or it's FREE!